]> git.proxmox.com Git - grub2.git/blob - ChangeLog
ExFAT support.
[grub2.git] / ChangeLog
1 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2
3 ExFAT support.
4
5 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6 * grub-core/Makefile.core.def (exfat): New module.
7 * grub-core/fs/exfat.c: New file.
8 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9 (GRUB_FAT_ATTR_*): Make into an enum.
10 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13 (GRUB_FAT_MAXFILE): Removed.
14 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15 (grub_current_fat_bpb_t): New type.
16 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
18 (grub_fat_dir_node_t): New type.
19 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
20 (fat_log2) [MODE_EXFAT]: Removed.
21 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
22 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
23 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
24 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
25 (grub_fat_label) [MODE_EXFAT]: New function.
26 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
27 reserved_first_sector to 0.
28
29 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Move grub_reboot out of the kernel.
32
33 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
34 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
35 * grub-core/lib/efi/reboot.c: ... here.
36 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
37 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
38 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
39 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
40 * grub-core/lib/i386/reboot_trampoline.S: ... here.
41 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
42 * grub-core/lib/ieee1275/reboot.c: ... here.
43 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
44 * grub-core/lib/mips/arc/reboot.c: ... here.
45 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
46 * grub-core/lib/mips/loongson/reboot.c: ...here.
47 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
48 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
49 * include/grub/emu/misc.h (grub_reboot): New function declaration.
50 * include/grub/i386/reboot.h: New file.
51 * include/grub/mips/loongson/ec.h: Fix includes.
52 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
53 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
54 * grub-core/lib/i386/reboot.c: New file.
55
56 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Make grub_prefix into module to fix the arbitrary limit and save
59 some space.
60
61 * grub-core/kern/emu/main.c (grub_prefix): Removed.
62 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
63 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
64 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
65 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
66 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
67 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
68 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
69 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
70 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
71 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
72 * include/grub/ia64/efi/kernel.h: Removed.
73 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
74 (grub_prefix): Removed.
75 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
76 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
77 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
78 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
79 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
80 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
81 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
82 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
83 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
84 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
85 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
86 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
87 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
88 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
89 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
90 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
91 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
92 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
93 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
94 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
95 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
96 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
97 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
98 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
99 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
100 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
101 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
102 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
103 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
104 from module.
105 * util/grub-mkimage.c (image_target_desc): Removed prefix and
106 prefix_end.
107 (image_targets): Likewise.
108 (generate_image): Put prefix as a module.
109
110 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Replace grub_module_iterate with FOR_MODULES.
113
114 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
115 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
116 (grub_efi_modules_addr): ...this.
117 * grub-core/kern/efi/init.c (grub_modbase): New variable.
118 (grub_efi_init): Set grub_modbase.
119 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
120 (grub_modbase): New variable.
121 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
122 (grub_modbase): New variable.
123 (grub_machine_init): Set grub_modbase.
124 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
125 (grub_modbase): New variable.
126 (grub_machine_init): Set grub_modbase.
127 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
128 (grub_modbase): New variable.
129 (grub_machine_init): Set grub_modbase.
130 * grub-core/kern/main.c (grub_module_iterate): Remove.
131 (grub_modules_get_end): Use grub_modbase.
132 (grub_load_modules): Use FOR_MODULES.
133 (grub_load_config): Likewise.
134 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
135 (grub_modbase): New variable.
136 (grub_machine_init): Set grub_modbase.
137 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
138 (grub_modbase): New variable.
139 (grub_machine_init): Set grub_modbase.
140 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
141 Removed.
142 (grub_modbase): New variable.
143 (grub_machine_init): Set grub_modbase.
144 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
145 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
146 (grub_module_iterate): Likewise.
147 (grub_modbase): New variable declaration.
148 (FOR_MODULES): New macro.
149
150 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * configure.ac: Check for __ctzdi2 and __ctzsi2.
153 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
154
155 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
156
157 Fix few obvious type discrepancies.
158
159 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
160 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
161 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
162 variable.
163 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
164 and connected types.
165 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
166 offset.
167 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
168 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
169 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
170 and connected types.
171
172 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Fix python 3.x incompatibilities.
175
176 * gentpl.py: Put brackets around print strings.
177 * util/import_gcry.py: Open explicitly as utf-8.
178 Use in instead of has_key.
179
180 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
183 (GRUB_XFS_INO_AGBITS): Make into inline function.
184 (GRUB_XFS_INO_INOINAG): Likewise.
185 (GRUB_XFS_INO_AG): Likewise.
186 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
187 (GRUB_XFS_EXTENT_OFFSET): Likewise.
188 (GRUB_XFS_EXTENT_BLOCK): Likewise.
189 (GRUB_XFS_EXTENT_SIZE): Likewise.
190 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
191 (GRUB_XFS_NEXT_DIRENT): Likewise.
192 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
193 (grub_xfs_read_file): Fix offset type.
194
195 2011-10-15 Robert Millan <rmh@gnu.org>
196
197 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
198
199 2011-10-15 Robert Millan <rmh@gnu.org>
200
201 Fix build problem on FreeBSD and GNU/kFreeBSD.
202
203 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
204
205 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
208
209 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
210 types.
211 (grub_hfsplus_btree_recoffset): Likewise.
212 (grub_hfsplus_btree_recptr): Likewise.
213 (grub_hfsplus_find_block): Likewise.
214 (grub_hfsplus_btree_search): Likewise.
215 (grub_hfsplus_read_block): Likewise.
216 (grub_hfsplus_read_file): Likewise.
217 (grub_hfsplus_mount): Likewise.
218 (grub_hfsplus_btree_iterate_node): Likewise.
219 (grub_hfsplus_btree_search): Likewise.
220 (grub_hfsplus_iterate_dir): Likewise.
221 (grub_hfsplus_read): A small code simplification.
222
223 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/kern/emu/hostdisk.c
226 (convert_system_partition_to_system_disk): Don't assume that children
227 of mapper nodes are mapper nodes.
228
229 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
232 * include/grub/misc.h (grub_isxdigit): New function.
233 * grub-core/video/colors.c (my_isxdigit): Removed. All users
234 switched to grub_isxdigit.
235 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
236 number starting with a letter.
237
238 2011-10-09 Robert Millan <rmh@gnu.org>
239
240 LVM support for FreeBSD and GNU/kFreeBSD.
241
242 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
243 GNU/kFreeBSD.
244 (LVM_DEV_MAPPER_STRING): Move from here ...
245 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
246 * util/getroot.c: Include `<grub/util/lvm.h>'.
247 (grub_util_get_dev_abstraction): Enable
248 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
249 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
250 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
251 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
252 support it.
253 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
254 GNU/kFreeBSD.
255 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
256 when LVM abstraction is required for ${GRUB_DEVICE}.
257
258 2011-10-06 Szymon Janc <szymon@janc.net.pl>
259
260 Add support for LZO compression in GRUB:
261 - import of minilzo library,
262 - LZO decompression for btrfs,
263 - lzop files decompression.
264
265 * grub-core/io/lzopio.c: New file.
266 * grub-core/lib/adler32.c: Likewise.
267 * grub-core/lib/minilzo/lzoconf.h: Likewise.
268 * grub-core/lib/minilzo/lzodefs.h: Likewise.
269 * grub-core/lib/minilzo/minilzo.c: Likewise.
270 * grub-core/lib/minilzo/minilzo.h: Likewise.
271 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
272 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
273 grub-core/lib/minilzo/minilzo.c to common.
274 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
275 cflags in cppflags.
276 * grub-core/Makefile.core.def (btrfs): Likewise.
277 * grub-core/Makefile.core.def (lzopio): New module.
278 (adler32): Likewise.
279 * grub-core/fs/btrfs.c: Include minilzo.h.
280 (GRUB_BTRFS_COMPRESSION_LZO): New define.
281 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
282 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
283 (grub_btrfs_lzo_decompress): New function.
284 (grub_btrfs_extent_read): Add support for LZO compression type.
285 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
286 (GRUB_USHRT_MAX): Likewise.
287 (GRUB_UINT_MAX): Likewise.
288 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
289 (UINT_MAX): Likewise.
290 (CHAR_BIT): Likewise.
291 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
292 grub-core/lib/posix_wrap/limits.h
293 (UCHAR_MAX): Likewise.
294 * include/grub/file.h (grub_file_filter_id): New compression filter
295 GRUB_FILE_FILTER_LZOPIO.
296 * include/grub/file.h (grub_file_filter_id): Set
297 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
298 * include/grub/types.h (grub_get_unaligned16): New function.
299 (grub_get_unaligned32): Likewise.
300 (grub_get_unaligned64): Likewise.
301 * util/import_gcry.py (cryptolist): Add adler32.
302
303 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
306 in perspective decreases the complexity of build system and fixes
307 compilation right now.
308
309 2011-10-01 Ales Nesrsta <starous@volny.cz>
310
311 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
312 (fixed problem related to using UHCI with coreboot).
313
314 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
315
316 * gentpl.py: Use Autogen macros so that the output template file
317 (Makefile.tpl) size is reduced.
318
319 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
320
321 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
322 extra_dist.
323
324 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
325
326 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
327 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
328
329 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
330
331 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
332 _fullpath.
333
334 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
335
336 Remove extra declaration of sleep for mingw32.
337
338 * util/misc.c (sleep) [__MINGW32__]: Removed.
339 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
340
341 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
342
343 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
344 type and packname.
345 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
346 Resurrected.
347 (NETBSD_BTINFO_BOOTWEDGE): New definition.
348 (grub_netbsd_btinfo_bootwedge): New struct.
349 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
350 New function.
351 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
352
353 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
354
355 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
356 loader.
357
358 2011-09-28 Andreas Born <futur.andy@googlemail.com>
359
360 Fix incorrect identifiers in bash-completion.
361
362 * util/bash-completion.d/grub-completion.bash.in
363 (_grub_mkpasswd-pbkdf2): Rename to ...
364 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
365 (_grub_script-check): Rename to ...
366 (_grub_script_check): ... this. All users updated.
367
368 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
371 Return 0 if disk isn't biosdisk.
372
373 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
374
375 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
376 on NetBSD.
377 * Makefile.util.def (grub-fstest): Likewise.
378
379 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
380
381 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
382 Get sector size from disk label.
383
384 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
385
386 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
387 */README* as well as README*.
388 Reported by: Axel Beckert.
389
390 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
393 case of less than 256 MiB of RAM.
394
395 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/commands/wildcard.c (make_regex): Handle @.
398
399 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * util/grub-install.in: Move cryptodisk logic to appropriate place.
402
403 2011-08-21 Szymon Janc <szymon@janc.net.pl>
404
405 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
406 AC_LANG_CONFTEST macros.
407
408 2011-08-20 Szymon Janc <szymon@janc.net.pl>
409
410 Add grub-fstest option to uncompress data for commands.
411
412 * util/grub-fstest.c (uncompress): New var.
413 (options): New option -u.
414
415 2011-08-20 Szymon Janc <szymon@janc.net.pl>
416
417 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
418 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
419
420 2011-08-20 Szymon Janc <szymon@janc.net.pl>
421
422 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
423 file type was not recognized correctly (not gzip or corrupted).
424
425 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
428 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
429
430 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
433 loongson.
434 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
435 video_radeon_fuloong2e.
436 * grub-core/video/radeon_fuloong2e.c: New file.
437 * include/grub/video.h (grub_video_id_t): Add new ID
438 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
439
440 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
443 define.
444 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
445 that PRID matches the detected subplatform and reset the subplatform
446 if it doesn't.
447
448 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
451
452 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
453
454 Fix PCI iterating on functions >= 4.
455
456 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
457 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
458 Removed.
459 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
460 (grub_pci_read): Fix bitmask.
461 (grub_pci_read_word): Likewise.
462 (grub_pci_read_byte): Likewise.
463 (grub_pci_write): Likewise.
464 (grub_pci_write_word): Likewise.
465 (grub_pci_write_byte): Likewise.
466
467 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
470 can still be specified in TARGET_CFLAGS)
471
472 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
475
476 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
477 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
478 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
479 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
480 (FULOONG): Rename to ...
481 (FULOONG2F): ... this. All users updated.
482 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
483 (machtype_fuloong2f_str): ... this.
484 (machtype_fuloong2e_str): New string.
485 Check for machtype_fuloong2e_str.
486 * grub-core/loader/mips/linux.c (loongson_machtypes)
487 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
488 * grub-core/term/serial.c (loongson_defserial)
489 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
490 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
491 loongson_defserial.
492 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
493 Rename to ...
494 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
495 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
496 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
497 to IMAGE_FULOONG2F_FLASH. All users updated.
498 (image_targets): Rename images.
499 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
500
501 2011-08-19 Szymon Janc <szymon@janc.net.pl>
502
503 Make enable of disk cache statistics code configurable.
504
505 * configure.ac: --enable-cache-stats added.
506 * config.h.in (DISK_CACHE_STATS): New define.
507 * grub-core/Makefile.core.def (cacheinfo): New command.
508 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
509 * grub-core/commands/cacheinfo.c: New file.
510 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
511 moved to cacheinfo.c.
512 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
513 debug code.
514 * include/grub/disk.h: Likewise.
515
516 2011-08-19 Szymon Janc <szymon@janc.net.pl>
517
518 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
519 * grub-core/Makefile.am: Likewise.
520
521 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
524 non-zero pull.
525
526 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
529 All users updated.
530 (grub_jfs_lookup_symlink): Use correct starting inode.
531
532 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * util/grub-setup.c (main): Add missing gcry initialisation.
535
536 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Don't accept text modes on EFI when booting Linux.
539
540 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
541 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
542
543 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
544 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
545
546 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
547 use of "/path/.." as in grub-install for EFI as well as handling
548 symlinks correctly.
549 Fixes Debian bug #637768.
550
551 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
552
553 * util/grub-probe.c: Remove duplicate #include.
554
555 2011-08-10 Robert Millan <rmh@gnu.org>
556
557 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
558
559 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
560 function.
561 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
562 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
563
564 2011-08-03 Robert Millan <rmh@gnu.org>
565
566 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
567 la_array as packed.
568 Reported by: Zachary Bedell
569
570 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
571
572 * configure.ac: The Loongson port requires grub-mkfont due to its
573 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
574 be built.
575
576 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
577
578 * util/grub-install.in: Don't source grub-mkconfig_lib until after
579 processing arguments (otherwise help2man fails when GRUB has not yet
580 been installed).
581
582 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
583
584 New script grub-mkstandalone.
585
586 * Makefile.util.def (grub-mkstandalone): New script.
587 * docs/man/grub-mkstandalone.h2m: New file.
588 * util/grub-mkstandalone.in: Likewise.
589
590 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Support ATA disks with 4K sectors.
593
594 * include/grub/ata.h (grub_ata): New member log_sector_size.
595 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
596 (grub_ata_identify): Read sector size.
597 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
598
599 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * util/grub-install.in: Don't use uhci outside of x86.
602
603 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-mkrescue.in: Add missing quotes.
606
607 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
610 dereference.
611
612 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
615
616 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * include/grub/video.h: add missing EXPORT_FUND on
619 grub_video_edid_checksum and grub_video_edid_preferred_mode.
620
621 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/mips/kernel.h: Fix define conflict.
624
625 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
628 all four ways.
629
630 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
631
632 Preferred resolution detection for VBE.
633
634 * grub-core/video/video.c (grub_video_edid_checksum): New function.
635 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
636 the Flat Panel extension, in line with the X.org VESA driver.
637 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
638 New function.
639 (grub_vbe_bios_get_ddc_capabilities): Likewise.
640 (grub_vbe_bios_read_edid): Likewise.
641 (grub_vbe_get_preferred_mode): Likewise.
642 (grub_video_vbe_setup): When the mode is "auto", try to get the
643 preferred mode from VBE, and use the largest mode that is no larger
644 than the preferred mode (some BIOSes expose a preferred mode that is
645 not in their mode list!). If this fails, fall back to 640x480 as a
646 safe conservative choice.
647 (grub_video_vbe_get_edid): New function.
648 (grub_video_vbe_adapter): Add get_edid.
649 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
650 (struct grub_video_adapter): Add get_edid.
651 (grub_video_edid_checksum): Add prototype.
652 (grub_video_edid_preferred_mode): Likewise.
653 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
654 structure.
655
656 * grub-core/commands/videoinfo.c (print_edid): New function.
657 (grub_cmd_videoinfo): Print EDID if available.
658
659 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
660 is more appropriate on a wider range of platforms than 640x480.
661 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
662 documentation.
663
664 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
667
668 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * po/POTFILES.in: Regenerate.
671
672 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
675 incorrect memory usage.
676
677 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * util/grub-install.in: Source grub-mkconfig_lib.
680
681 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Remove getroot.c from core on emu platform.
684
685 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
686 kern/emu/raid.c.
687 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
688 useless.
689 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
690 * util/getroot.c (get_win32_path): ... here.
691 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
692 * util/getroot.c (fini_libzfs): ... here.
693 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
694 * util/getroot.c (grub_get_libzfs_handle): ... here.
695 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
696 Moved from here...
697 * util/getroot.c (grub_find_zpool_from_dir): ... here.
698 * grub-core/kern/emu/misc.c
699 (grub_make_system_path_relative_to_its_root): Moved from here...
700 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
701 * grub-core/kern/emu/getroot.c: Moved from here ...
702 * util/getroot.c: ... here. All users updated.
703 * grub-core/kern/emu/raid.c: Moved from here ...
704 * util/raid.c: ... here. All users updated.
705
706 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * po/POTFILES.in: Regenerate.
709
710 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
711
712 Fix compilation on GNU/Linux.
713
714 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
715 Disable geli.
716 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
717 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
718 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
719
720 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
721 2011-07-07 Michael Gorven <michael@gorven.za.net>
722 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
723
724 LUKS and GELI support.
725
726 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
727 grub-core/disk/luks.c, grub-core/disk/geli.c,
728 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
729 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
730 grub-core/lib/arg.c.
731 (libgrubmods.a): Remove gcrypts cflags and cppflags.
732 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
733 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
734 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
735 (grub-bin2h): Add libgcry.a.
736 (grub-mkimage): Likewise.
737 (grub-mkrelpath): Likewise.
738 (grub-script-check): Likewise.
739 (grub-editenv): Likewise.
740 (grub-mkpasswd-pbkdf2): Likewise.
741 (grub-pe2elf): Likewise.
742 (grub-fstest): Likewise.
743 (grub-mkfont): Likewise.
744 (grub-mkdevicemap): Likewise.
745 (grub-probe): Likewise.
746 (grub-ofpath): Likewise.
747 (grub-mklayout): Likewise.
748 (example_unit_test): Likewise.
749 (grub-menulst2cfg): Likewise.
750 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
751 * grub-core/Makefile.core.def (cryptodisk): New module.
752 (luks): Likewise.
753 (geli): Likewise.
754 * grub-core/disk/AFSplitter.c: New file.
755 * grub-core/disk/cryptodisk.c: Likewise.
756 * grub-core/disk/geli.c: Likewise.
757 * grub-core/disk/luks.c: Likewise.
758 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
759 grub_util_is_lvm.
760 (grub_util_get_dm_abstraction): New function.
761 (grub_util_follow_gpart_up): Likewise.
762 (grub_util_get_geom_abstraction): Likewise.
763 (grub_util_get_dev_abstraction): Use new functions.
764 (grub_util_pull_device): Pull GELI and LUKS.
765 (grub_util_get_grub_dev): Handle LUKS and GELI.
766 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
767 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
768 (follow_geom_up): Removed.
769 (grub_util_fd_seek): New function.
770 (open_device): Use grub_util_fd_seek.
771 (nread): Rename to ..
772 (grub_util_fd_read): ... this. All users updated.
773 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
774 (grub_crypto_cbc_decrypt): Likewise.
775 (grub_crypto_hmac_write): Likewise.
776 (grub_crypto_hmac_buffer): Likewise.
777 (grub_password_get): Extend to util.
778 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
779 New member modname.
780 (gcry_md_spec) [GRUB_UTIL]: Likewise.
781 * include/grub/cryptodisk.h: New file.
782 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
783 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
784 LUKS and GELI.
785 (grub_util_follow_gpart_up): New proto.
786 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
787 (grub_util_fd_read): Likewise.
788 (grub_cryptodisk_cheat_mount): Likewise.
789 (grub_util_cryptodisk_print_uuid): Likewise.
790 (grub_util_get_fd_sectors): Likewise.
791 * util/grub-fstest.c (mount_crypt): New var.
792 (fstest): Mount crypto if requested.
793 (options): New option -C.
794 (argp_parser): Parse -C.
795 (main): Init and fini gcry.
796 * util/grub-install.in: Support cryptodisk install.
797 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
799 cryptodisk.
800 (prepare_grub_to_access_device): Likewise.
801 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
802 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
803 (probe_cryptodisk_uuid): New function.
804 (probe_abstraction): Likewise.
805 (probe): Use new functions.
806 * util/import_gcry.py: Create Makefile.utilgcry.def.
807 Add modname member.
808
809 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Lazy device scanning.
812
813 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
814 (grub-setup): Remove util/raid.c.
815 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
816 * grub-core/disk/lvm.c (scan_depth): New variable.
817 (grub_lvm_iterate): Rescan if necessary.
818 (find_lv): New function based on grub_lvm_open.
819 (grub_lvm_open): Use find_lv. Rescan on error.
820 (is_node_readable): New function.
821 (is_lv_readable): Likewise.
822 (grub_lvm_scan_device): Skip already found disks.
823 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
824 Stop if searched device is found and readable.
825 * grub-core/disk/raid.c (inscnt): New variable.
826 (scan_depth): Likewise.
827 (scan_devices): New function based on grub_raid_register. Abort if
828 looked for device is found.
829 (grub_raid_iterate): Rescan if needed.
830 (find_array): NEw function based on -grub_raid_open.
831 (grub_raid_open): Use find_array and rescan.
832 (insert_array): Set became_readable_at.
833 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
834 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
835 New function.
836 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
837 (grub_util_pull_device): New function.
838 (grub_util_get_grub_dev): Call grub_util_pull_device.
839 * util/raid.c: Moved to ..
840 * grub-core/kern/emu/raid.c: ... here.
841 (grub_util_raid_getmembers): New parameter "bootable".
842 All users updated. Support 1.x.
843 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
844 All users updated.
845 * include/grub/disk.h (grub_disk_pull_t): New enum.
846 (grub_disk_dev): Change iterate prototype.
847 All users updated.
848 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
849 New proto.
850 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
851 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
852 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
853 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
854 All users updated.
855 * include/grub/util/raid.h: Removed.
856
857 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * po/POTFILES.in: Regenerate.
860
861 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
862
863 Unify sparc init with other ieee1275.
864
865 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
866 instead of kern/sparc64/ieee1275/init.c.
867 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
868 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
869 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
870 grub/machine/kernel.h.
871 (grub_ieee1275_original_stack) [__sparc__]: New variable.
872 (grub_claim_heap) [__sparc__]: Use sparc version.
873 (grub_machine_init): Moved args parsing to
874 (grub_parse_cmdline): ...this.
875 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
876 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
877 New definition.
878 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
879
880 Move BOOTP to separate file.
881
882 * grub-core/Makefile.core.def (net): Add net/bootp.c.
883 * grub-core/net/net.c: Move all BOOTP functions to
884 * grub-core/net/bootp.c: ... here.
885
886 Use frame interface on PXE.
887
888 * grub-core/Makefile.core.def (pxecmd): Removed.
889 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
890 * grub-core/commands/i386/pc/pxecmd.c: Removed.
891 * grub-core/i386/pc/pxe.c: Moved from here ...
892 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
893 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
894 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
895
896 EFI network support.
897
898 * grub-core/Makefile.core.def (efinet): New module.
899 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
900 here...
901 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
902 All users updated.
903 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
904 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
905 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
906 * grub-core/net/drivers/efi/efinet.c: New file.
907 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
908 (grub_efi_net_config): New extern var.
909
910 Various cleanups and bugfixes.
911
912 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
913 error.
914 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
915 disk declared as partition.
916 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
917 leak on failure.
918 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
919 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
920 (grub_debug_zalloc): Likewise.
921 (grub_debug_realloc): Likewise.
922 (grub_debug_memalign): Likewise.
923 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
924 Check that target is IPv4.
925 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
926 local-mac-address as fallback.
927 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
928 memory leak.
929 * grub-core/net/ip.c (ipchksum): Rename to ...
930 (grub_net_ip_chksum): ... this. All users updated.
931 (grub_net_recv_ip_packets): Special handling for DHCP.
932 * util/grub-mkimage.c (generate_image): Zero-out aout header.
933
934 Unify prefix handling
935
936 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
937 (grub_machine_get_bootlocation): ... this.
938 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
939 (grub_machine_get_bootlocation): ... this.
940 (grub_prefix): New variable.
941 (prefix): Removed.
942 (root_dev): New variable.
943 (dir): Likewise.
944 (main): Use new variables.
945 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
946 Revamped into ...
947 (grub_machine_get_bootlocation): ... this.
948 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
949 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
950 (grub_machine_get_bootlocation): ... this.
951 (grub_machine_set_prefix): Removed.
952 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
953 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
954 Revamped into ...
955 (grub_machine_get_bootlocation): ... this.
956 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
957 (grub_set_prefix_and_root): ... this. All users updated.
958 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
959 Revamped into ...
960 (grub_machine_get_bootlocation): ... this.
961 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
962 (grub_machine_get_bootlocation): New proto.
963 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
964
965 Less intrusive and more reliable seek on network implementation.
966
967 * grub-core/kern/file.c (grub_file_net_seek): Removed.
968 (grub_file_seek): Don't call grub_file_net_seek.
969 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
970 (grub_net_fs_read_real): .. this.
971 (grub_net_seek_real): Use net->offset.
972 (grub_net_fs_read): Seek if necessary.
973
974 Unify IEEE1275 netwotk config with the other platforms.
975
976 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
977 New variable.
978 (grub_machine_get_bootlocation): Support network.
979 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
980 Support type and device parsing.
981 (grub_ieee1275_get_device_type): New function.
982 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
983 into ...
984 (grub_ieee1275_net_config_real): ... this.
985 (grub_ofnet_probecards): Removed.
986 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
987 * include/grub/ieee1275/ofnet.h: Removed.
988 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
989 extern var.
990 (grub_ieee1275_get_device_type): New function.
991
992 Unify network device closing across platforms and make more robust.
993
994 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
995 grub_grubnet_fini.
996 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
997 already.
998 * grub-core/net/net.c (grub_net_network_level_interface_register):
999 Update num_ifaces.
1000 (grub_net_card_unregister): Close all interfaces.
1001 (receive_packets): Don't poll if no iterfaces are registered.
1002 Open if necessary.
1003 (grub_net_fini_hw): New function.
1004 (grub_net_restore_hw): Likewise.
1005 (fini_hnd): New variable.
1006 (GRUB_MOD_INIT): Register preboot hook.
1007 (GRUB_MOD_FINI): Run and unregister preboot hook.
1008
1009 Poll network cards when idle.
1010
1011 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1012 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1013 * grub-core/net/net.c (receive_packets): Save last poll time.
1014 (grub_net_poll_cards_idle_real): New function.
1015 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1016 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1017 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1018
1019 Rename ofnet interfaces.
1020
1021 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1022 (grub_ofnet_findcards): Use ofnet_%s names.
1023
1024 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1025
1026 Cleanup socket opening.
1027
1028 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1029 (grub_net_fs_close): Likewise.
1030 (grub_net_fs_read_real): Use eof member.
1031 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1032 (+grub_net_udp_close): New inline function.
1033
1034 * include/grub/net/tftp.h: Moved to the top of ...
1035 * grub-core/net/tftp.c: ... here.
1036 * include/grub/net/ip.h: Moved mostly to the top of ...
1037 * grub-core/net/ip.c: ... here.
1038 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1039 * grub-core/net/ethernet.c: ... here.
1040
1041 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1042
1043 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1044 FS name.
1045
1046 * include/grub/net/ip.h (ipv4_ini): Removed.
1047 (ipv4_fini): Likewise.
1048
1049 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1050 (grub_net_send_ip_packets): Likewise.
1051
1052 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
1055 grub_read_cmos prototype.
1056
1057 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 VGA text support in qemu-mips
1060
1061 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
1062 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
1063 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
1064 text.
1065 * grub-core/kern/i386/qemu/init.c: Renamed to ...
1066 * grub-core/kern/vga_init.c: ... this.
1067 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
1068 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
1069 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
1070 Adjust.
1071 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
1072 GRUB_MACHINE_PCI_IO_BASE.
1073
1074 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 MIPS qemu flash support.
1077
1078 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
1079 magic.
1080 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
1081 (grub_machine_init): Probe memory if its size isn't known.
1082 * util/grub-mkimage.c (image_targets): Add flash targets.
1083 (generate_image): Handle flash targets.
1084
1085 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 MIPS qemu at_keyboard support.
1088
1089 * gentpl.py (videoinkernel): Add qemu-mips.
1090 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
1091 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
1092 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
1093 modules.
1094 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
1095 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
1096 * grub-core/term/serial.c (grub_serial_register)
1097 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
1098
1099 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 CMOS support on sparc.
1102
1103 * gentpl.py (cmos): Add powerpc and sparc.
1104 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
1105 powerpc and sparc.
1106 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
1107 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
1108 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
1109 grub_set_datetime_cmos.
1110 * grub-core/lib/ieee1275/cmos.c: New file.
1111 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
1112 (find_rtc): Set no_ieee1275_rtc on error.
1113 (grub_get_datetime): Call grub_get_datetime_cmos on error.
1114 (grub_set_datetime): Call grub_set_datetime_cmos on error.
1115 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
1116 fail. Move value to argument. All users updated
1117 (grub_cmos_write): Likewise.
1118 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
1119 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
1120 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
1121 grub_get_datetime_cmos and grub_set_datetime_cmos.
1122
1123 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1124
1125 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
1126 sourcing grub-mkconfig_lib.
1127 * util/update-grub_lib.in: Likewise.
1128 * util/grub.d/00_header.in: Likewise.
1129 * util/grub.d/10_hurd.in: Likewise.
1130 * util/grub.d/10_kfreebsd.in: Likewise.
1131 * util/grub.d/10_linux.in: Likewise.
1132 * util/grub.d/10_netbsd.in: Likewise.
1133 * util/grub.d/10_windows.in: Likewise.
1134 * util/grub.d/20_linux_xen.in: Likewise.
1135 * util/grub.d/30_os-prober.in: Likewise.
1136
1137 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
1138
1139 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1140 default_bg_color rather than black.
1141 (grub_gfxterm_fullscreen): Likewise.
1142 (grub_gfxterm_background_color_cmd): Save new background color in
1143 default_bg_color.
1144
1145 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
1148
1149 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
1152 mismerge.
1153
1154 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 Chainloading on coreboot support.
1157
1158 * grub-core/Makefile.core.def (chain): Add coreboot.
1159 * grub-core/loader/i386/coreboot/chainloader.c: New file.
1160
1161 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
1164 if it happens.
1165
1166 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 Implement time command.
1169
1170 * grub-core/Makefile.core.def (time): New module.
1171 * grub-core/commands/time.c: New file.
1172 * grub-core/script/parser.y: Remove "time" keyword.
1173 * grub-core/script/yylex.l: Likewise.
1174
1175 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
1178
1179 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
1182 when handling leftovers.
1183
1184 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
1187 so that help2man doesn't fail.
1188
1189 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
1192 type in pointers on sparc64.
1193 (get_card_packet): Likewise.
1194
1195 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
1196
1197 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
1198 with `*'.
1199 (grub_cmd_videoinfo): Fetch current video mode.
1200
1201 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
1204 because of underlying system restrictions.
1205
1206 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
1209 necessary.
1210
1211 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Coreboot video support.
1214
1215 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
1216 (vbe): Likewise.
1217 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
1218 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
1219 here ...
1220 * grub-core/kern/i386/int.S: ... here.
1221 * grub-core/video/i386/pc/vbe.c: Updated includes.
1222 * grub-core/video/i386/pc/vga.c: Likewise.
1223 * include/grub/i386/coreboot/memory.h
1224 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
1225 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
1226 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
1227 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
1228 Disable interrupts.
1229 * include/grub/i386/pc/vga.h: Removed. All users updated.
1230
1231 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
1234 definitions for dprintf.
1235 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
1236
1237 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
1240 prototype.
1241 (get_card_packet): Likewise.
1242
1243 2011-06-26 Yves Blusseau <blusseau@zetam.org>
1244
1245 Display the path of the file when file is not found
1246
1247 * grub-core/fs/fat.c: Display the filename when file is not found.
1248 * grub-core/fs/fshelp.c: Likewise.
1249 * grub-core/fs/hfs.c: Likewise.
1250 * grub-core/fs/jfs.c: Likewise.
1251 * grub-core/fs/minix.c: Likewise.
1252 * grub-core/fs/ufs.c: Likewise.
1253 * grub-core/fs/btrfs.c: Likewise.
1254 * grub-core/commands/i386/pc/play.c: Likewise.
1255
1256 2011-06-26 Szymon Janc <szymon@janc.net.pl>
1257
1258 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
1259 pointer checks before calling grub_free().
1260 * grub-core/commands/wildcard.c (match_devices): Likewise.
1261 * grub-core/commands/wildcard.c (match_files): Likewise.
1262 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
1263 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
1264 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
1265 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
1266 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
1267 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
1268 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
1269 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1270 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
1271
1272 2011-06-25 Patrick <p55@mailinator.com>
1273
1274 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
1275
1276 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
1279 (grub_pxe_send): Likewise.
1280 (GRUB_MOD_INIT): Fix types.
1281
1282 2011-06-24 Szymon Janc <szymon@janc.net.pl>
1283
1284 * grub-core/io/xzio.c: Fix code style issues
1285
1286 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1287 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
1288
1289 Network infrastructure.
1290 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
1291
1292 * include/grub/net/arp.h: New file.
1293 * include/grub/net/device.h: Likewise.
1294 * include/grub/net/ethernet.h: Likewise.
1295 * include/grub/net/ip.h: Likewise.
1296 * include/grub/net/netbuff.h: Likewise.
1297 * include/grub/net/tftp.h: Likewise.
1298 * include/grub/net/udp.h: Likewise.
1299 * include/grub/ieee1275/ofnet.h: Likewise.
1300 * include/grub/emu/export.h: Likewise.
1301 * include/grub/net.h: Likewise.
1302 * grub-core/net/arp.c: Likewise.
1303 * grub-core/net/ethernet.c: Likewise.
1304 * grub-core/net/ip.c: Likewise.
1305 * grub-core/net/udp.c: Likewise.
1306 * grub-core/net/tftp.c: Likewise.
1307 * grub-core/net/netbuff.c: Likewise.
1308 * grub-core/net/net.c: Likewise.
1309 * grub-core/net/drivers/emu/emunet.c: Likewise.
1310 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1311 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
1312 export.h.
1313 * grub-core/Makefile.core.def (net): New module.
1314 (tftp): Likewise.
1315 (ofnet): Likewise.
1316 (emunet): Likewise.
1317 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
1318 network protocols.
1319 * grub-core/kern/device.c (grub_net_open) : New variable.
1320 (grub_device_open): Handle network device.
1321 (grub_device_close): Likewise.
1322 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
1323 (grub_grubnet_fini): Likewise.
1324 (grub_file_seek): Seek in network device.
1325 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
1326 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
1327 network root.
1328 (grub_machine_fini): Call grub_grubnet_fini.
1329 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
1330 network.
1331 (grub_ieee1275_get_aliasdevname): New function.
1332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1333 Add unofficial Solaris network info.
1334 (grub_multiboot_make_mbi): Likewise.
1335 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
1336 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
1337 * include/grub/device.h (grub_fs): Removed.
1338 * include/grub/err.h (grub_err_t): Add network-related values.
1339 * include/grub/i386/pc/pxe.h: Removed bootp parts.
1340 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
1341 (grub_ieee1275_get_aliasdevname): New proto.
1342 * include/grub/net.h: Rewritten.
1343
1344 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
1347 names.
1348
1349 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1352 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1353 it truncates the output.
1354 Reported by: Ximin Luo.
1355
1356 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1359
1360 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1363 partmap before abstraction.
1364
1365 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1366
1367 * util/grub-mkconfig_lib.in: Add missing quotes.
1368
1369 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1372 old method if mountinfo would return /dev/root and /dev/root doesn't
1373 exist.
1374
1375 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 ZFS zlib support
1378
1379 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1380 (decomp_table): Add zlib entries.
1381 (zio_read): USe 8 bits for compression function rather than 3.
1382 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1383
1384 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/disk/ahci.c: Add missing license statements.
1387 * grub-core/fs/romfs.c: Likewise.
1388 * grub-core/lib/ia64/setjmp.S: Likewise.
1389 * grub-core/loader/i386/pc/freedos.c: Likewise.
1390 * grub-core/loader/ia64/efi/linux.c: Likewise.
1391 * grub-core/video/colors.c: Likewise.
1392 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1393
1394 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 AHCI support.
1397
1398 * grub-core/Makefile.core.def (ata_pthru): Removed.
1399 (ahci): New module.
1400 (pata): Likewise.
1401 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1402 on unload.
1403 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1404 readwrite.
1405 (grub_hdparm_do_check_powermode_cmd): Likewise.
1406 (grub_hdparm_do_smart_cmd): Likewise.
1407 (grub_hdparm_set_val_cmd): Likewise.
1408 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1409 * grub-core/disk/ahci.c: New file.
1410 * grub-core/disk/ata.c: Factor out the low-level part into ...
1411 * grub-core/disk/pata.c: ... here.
1412 * grub-core/disk/ata_pthru.c: Contents moved to ...
1413 * grub-core/disk/pata.c: ... here.
1414 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1415 (grub_scsi_iterate): Use grub_scsi_names.
1416 (grub_scsi_open): Likewise.
1417 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1418 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1419 (grub_ata_regs_t): New struct.
1420 (grub_disk_ata_pass_through_parms): Likewise.
1421 (grub_ata_device): Renamed to ...
1422 (grub_ata): ... this.
1423 (grub_ata_dev): New struct.
1424 Removed all low-level inline functions.
1425 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1426 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1427 iterate hooks and open. All users updated.
1428 * util/grub-install.in: Handle AHCI disk module.
1429
1430 2011-06-23 Szymon Janc <szymon@janc.net.pl>
1431
1432 Add support for DRI and RSTn markers in JPEG files.
1433
1434 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1435 (JPEG_MARKER_RST0): Likewise.
1436 (JPEG_MARKER_RST1): Likewise.
1437 (JPEG_MARKER_RST2): Likewise.
1438 (JPEG_MARKER_RST3): Likewise.
1439 (JPEG_MARKER_RST4): Likewise.
1440 (JPEG_MARKER_RST5): Likewise.
1441 (JPEG_MARKER_RST6): Likewise.
1442 (JPEG_MARKER_RST7): Likewise.
1443 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1444 (grub_jpeg_decode_dri): New function.
1445 (grub_jpeg_decode_sos): Move image data related part into
1446 grub_jpeg_decode_data function.
1447 (grub_jpeg_decode_data): New function.
1448 (grub_jpeg_reset): New function.
1449 (grub_jpeg_decode_jpeg): Handle new markers.
1450
1451 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * util/ieee1275/ofpath.c (check_sas): Close fd.
1454 (main): Free of_path.
1455 Reported by: David Volgyes <dvolgyes>.
1456
1457 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1460 Reported by: David Volgyes <dvolgyes>.
1461
1462 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1465 file after stat.
1466 Reported by: David Volgyes <dvolgyes>.
1467
1468 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1471
1472 Reported by: David Volgyes <dvolgyes>.
1473
1474 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1477 Prevent memory leak.
1478
1479 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1482 (main): Close file.
1483 Reported by: David Volgyes <dvolgyes>.
1484
1485 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1488 to continue if allocation is failed.
1489
1490 Reported by: David Volgyes <dvolgyes>.
1491
1492 2011-06-23 David Volgyes <dvolgyes>
1493
1494 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1495 dereference.
1496
1497 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 Fix spurious warning.
1500
1501 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1502 (acorn_partition_map_find): Use .bin member.
1503
1504 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1507 /dev/root as a valid device.
1508
1509 2011-06-23 Jim Meyering <meyering@redhat.com>
1510
1511 Avoid NULL deref in grub_device_open.
1512
1513 * grub-core/kern/device.c (grub_device_open): Don't dereference
1514 a NULL pointer upon failed grub_env_get.
1515
1516 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Support non-512B sectors and agglomerate reads.
1519
1520 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1521 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1522 (disk_io_guid): Removed.
1523 (make_devices): Locate solely by BlockIO.
1524 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1525 (grub_efidisk_read): Use read_blocks.
1526 (grub_efidisk_write): Use write_blocks.
1527 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1528 log_sector_size.
1529 (get_safe_sectors): Handle non-512B sectors.
1530 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1531 sectors.
1532 (grub_biosdisk_write): Handle non-512B sectors.
1533 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1534 (grub_scsi_read): Remove special non-512B block handling (now handled
1535 one level up).
1536 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1537 and do sanity checks.
1538 (grub_disk_adjust_range): Handle non-512B sectors.
1539 (transform_sector): New function.
1540 (grub_disk_read_small): Likewise.
1541 (grub_disk_read): Rewritten.
1542 (grub_disk_write): Handle non-512B sectors.
1543 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1544 log_sector_size.
1545 (open_device): Use log_sector_size.
1546 (grub_util_biosdisk_read): Likewise.
1547 (grub_util_biosdisk_write): Likewise.
1548 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1549 non-512B sectors.
1550 (pc_partition_map_embed): Likewise.
1551 * include/grub/disk.h (grub_disk): New field log_sector_size.
1552 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1553 (GRUB_DISK_CACHE_BITS): Increased to 6.
1554 * util/grub-fstest.c (fstest): New command testload.
1555 (argp_parser): Likewise.
1556
1557 2011-06-16 Robert Millan <rmh@gnu.org>
1558
1559 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1560 `ata' driver on kernel of FreeBSD 9.
1561
1562 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1563 (get_ataraid_disk_name): New functions.
1564 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1565 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1566 get_ataraid_disk_name() and get_ada_disk_name().
1567
1568 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
1569
1570 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1571 input format.
1572
1573 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
1574
1575 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1576 `ftp.gnu.org' for `alpha.gnu.org'.
1577
1578 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1579
1580 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1581 partitions under /dev/disk/by-id/.
1582
1583 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1584
1585 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1586 after ten consecutive open failures. Scanning all the way up to
1587 10000 is excessive and can cause serious performance problems in
1588 some configurations.
1589 Fixes Ubuntu bug #787461.
1590
1591 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1594 opening new one.
1595
1596 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
1597 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 Don't stat devices unless we have to.
1600
1601 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1602 dir == /dev/mapper.
1603 (grub_guess_root_device): Use already known os_dev if possible.
1604 * grub-core/kern/emu/hostdisk.c
1605 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1606 if device is known to be a dm one.
1607
1608 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
1609
1610 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1611 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1612 Reported by: Pawel Tecza.
1613
1614 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1617 (lsefisystab): Likewise.
1618 (lssal): Likewise.
1619 (lsefimmap): Likewise.
1620 (hdparm): Enable on qemu-mips.
1621 (setjmp): Add ia64 nodist.
1622 (serial): Simplify tags.
1623
1624 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1625
1626 * Makefile.util.def (grub-ofpathname): Install manual page.
1627
1628 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1629
1630 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1631
1632 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1633
1634 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1635
1636 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1639 into dprintf.
1640
1641 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Use full 64-bit division.
1644
1645 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1646 (grub_divmod64): ... this.
1647 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1648 version.
1649
1650 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1651
1652 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1653 `source'.
1654
1655 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1656
1657 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1658 to avoid accidents when debugging with 'sh -x'.
1659 * grub-core/gensyminfo.sh.in: Likewise.
1660 * tests/example_scripted_test.in: Likewise.
1661 * tests/grub_cmd_regexp.in: Likewise.
1662 * tests/grub_script_blanklines.in: Likewise.
1663 * tests/grub_script_dollar.in: Likewise.
1664 * tests/grub_script_expansion.in: Likewise.
1665 * tests/grub_script_final_semicolon.in: Likewise.
1666 * tests/partmap_test.in: Likewise.
1667 * tests/util/grub-shell-tester.in: Likewise.
1668 * tests/util/grub-shell.in: Likewise.
1669
1670 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1671
1672 Move gfxmenu color handling to video, so that gfxterm can use it
1673 too.
1674
1675 * grub-core/gfxmenu/named_colors.c: Move to ...
1676 * grub-core/video/colors.c: ... here. Rename
1677 grub_gui_get_named_color to grub_video_get_named_color.
1678 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1679 * grub-core/video/colors.c (my_isxdigit): ... here.
1680 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1681 Move to ...
1682 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1683 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1684 to ...
1685 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1686
1687 * include/grub/gui.h (grub_gui_color_t): Move to ...
1688 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1689 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1690 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1691 * include/grub/gui.h (grub_gui_map_color): Move to ...
1692 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1693 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1694 to ...
1695 * include/grub/video.h (grub_video_get_named_color): ... here.
1696 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1697 * include/grub/video.h (grub_video_parse_color): ... here.
1698
1699 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1700 video/colors.c.
1701 (gfxmenu): Remove gfxmenu/named_colors.c.
1702 (video) [videomodules]: Add video/colors.c.
1703
1704 Add a background_color command.
1705
1706 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1707 function.
1708 (GRUB_MOD_INIT): Register background_color command.
1709 (GRUB_MOD_FINI): Unregister background_color command.
1710 (redraw_screen_rect): Allow blend/replace of text layer to be
1711 controlled independently from whether there is a background bitmap.
1712 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1713 changing bitmap.
1714
1715 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 Patch BPB in ntldr and chainloader --bpb.
1718
1719 * grub-core/fs/fat.c: Include grub/fat.h.
1720 (grub_fat_bpb): Moved to ...
1721 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1722 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1723 grub/ntfs.h.
1724 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1725 Moved from here...
1726 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1727 here.
1728 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1729 New function.
1730 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1731 (GRUB_MOD_INIT): Show --bpb.
1732 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1733 * grub-core/normal/main.c (features): New variable.
1734 (GRUB_MOD_INIT): Set feature_* variables.
1735 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1736 proto.
1737 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1738
1739 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1742 for cleanness.
1743
1744 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 FreeDOS direct loading support.
1747
1748 * docs/grub.texi (Supported OS): Add FreeDOS.
1749 * grub-core/Makefile.core.def (freedos): New module.
1750 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1751 variable.
1752 (grub_relocator16_boot): Handle %ebx.
1753 * grub-core/lib/i386/relocator16.S: Likewise.
1754 * grub-core/loader/i386/pc/freedos.c: New file.
1755
1756 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Long Linux command line support.
1759
1760 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1761 (maximal_cmdline_size): New variable.
1762 (allocate_pages): Use maximal_cmdline_size.
1763 (grub_cmd_linux): Set and use maximal_cmdline_size.
1764 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1765 (allocate_pages): Use maximal_cmdline_size.
1766 (grub_cmd_linux): Set and use maximal_cmdline_size.
1767 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1768 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1769 and cmdline_size.
1770
1771 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1772 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1773
1774 Improve devmapper support
1775
1776 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1777 (grub_util_is_lvm): New function.
1778 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1779 than lvm if not dmraid.
1780 Handle mapped md nodes.
1781 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1782 (grub_util_device_is_mapped): ... this. Make always available. All users
1783 updated.
1784 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1785 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1786 dmraid nodes.
1787 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1788
1789 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1792
1793 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1794 * grub-core/modinfo.sh.in: New file.
1795 * grub-core/Makefile.core.def (modinfo.sh): New script.
1796 * util/grub-mknetdir.in: Use modinfo.sh.
1797 * util/grub-mkrescue.in: Likewise.
1798
1799 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1802 Fix potential usage of Elf32 instead of Elf64 when compiling on
1803 32-bit architecture. Add endianness macros while on it.
1804
1805 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Use mipsel- rather than mips- in directories involving mipsel ports to
1808 allow both endiannesses coexist.
1809
1810 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1811 mips. All conditions adjusted.
1812 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1813 variable.
1814 * util/grub-install.in: Adjust conditions to take renaming into account.
1815 * util/grub-mkimage.c (image_targets): Likewise. New target
1816 mips-qemu_mips-elf for bigendian mips.
1817
1818 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Avoid unnecessary copying on MIPS.
1821
1822 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1823 early if src == dest.
1824 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1825 compression is none.
1826
1827 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 Reduce memory footprint on SGI by putting modules before the kernel
1830 as opposed to after.
1831
1832 * grub-core/Makefile.core.def (kernel): Increase linking address.
1833 (none_decompress): Likewise.
1834 (xz_decompress): Likewise.
1835 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1836 address.
1837 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1838 layout change.
1839 (grub_arch_modules_addr): New function.
1840 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1841 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1842 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1843 here.
1844 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1845 (grub_total_modules_size): ... this. Make global.
1846 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1847 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1848 New definition.
1849 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1850 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1851 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1852 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1853 * util/grub-mkimage.c (image_target_desc): New flag
1854 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1855 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1856 (generate_image): Handle images with modules before kernel.
1857
1858 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Prevent potential loss of memory map by overwrite on qemu-mips.
1861
1862 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1863 Save ram size in $s4.
1864 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1865 All users changed to grub_arch_memsize.
1866 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1867 Loongson.
1868 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1869 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1870 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1871 external variable.
1872
1873 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1874
1875 * .bzrignore: Remove grub-dumpbios.
1876
1877 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1878
1879 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1880 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1881 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1882 existing options which append).
1883 * docs/grub.texi (Simple configuration): Document new options.
1884 Reported by: Ian Jackson. Fixes Debian bug #617538.
1885
1886 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * util/grub-fstest.c (cmd_cat): New function.
1889 (fstest): Handle CMD_CAT.
1890 (options): Add cat.
1891 (argp_parser): Handle cat.
1892
1893 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1894
1895 * Makefile.util.def (grub-bin2h): Don't install.
1896 * docs/man/grub-bin2h.h2m: Remove.
1897
1898 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1901 place.
1902
1903 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Reenable qemu-mips port.
1906
1907 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1908 Fix small arc bug while on it.
1909 * gentpl.py: Handle qemu_mips.
1910 * grub-core/Makefile.am: Likewise.
1911 * grub-core/Makefile.core.def: Likewise.
1912 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1913 inappropriate includes.
1914 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1915 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1916 * grub-core/kern/main.c (grub_modules_get_end)
1917 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1918 * grub-core/kern/mips/qemu-mips: Moved to ..
1919 * grub-core/kern/mips/qemu_mips: ... this.
1920 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1921 (grub_machine_init): Call terminfo_init and serial_init.
1922 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1923 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1924 New variable.
1925 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1926 parameter passing.
1927 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1928 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1929 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1930 * include/grub/mips/qemu_mips/cmos.h: New file.
1931 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1932 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1933 Removed.
1934 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1935 Use correct mips-style address.
1936 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1937 (GRUB_TICKS_PER_SECOND): Removed.
1938 (grub_get_rtc): Likewise.
1939 (grub_cpu_idle): Likewise.
1940 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1941 New definition.
1942 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1943 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1944 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1945 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1946 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1947 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1948 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1949 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1950
1951 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 SGI ARCS port.
1954
1955 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1956 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1957 platforms.
1958 * configure.ac: New target mips-arc.
1959 * gentpl.py: Likewise.
1960 * grub-core/Makefile.am: Likewise.
1961 * grub-core/Makefile.core.def: Likewise.
1962 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1963 (none_decompress): Likewise.
1964 (lsdev): New module.
1965 (datetime): Use lib/arc/datetime.c on ARC.
1966 (part_dvh): New module.
1967 * grub-core/commands/arc/lsdev.c: New file.
1968 * grub-core/disk/arc/arcdisk.c: Likewise.
1969 * grub-core/kern/mips/arc/init.c: Likewise.
1970 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1971 aligned addresses.
1972 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1973 support.
1974 (grub_arch_dl_relocate_symbols): Likewise.
1975 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1976 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1977 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1978 platforms.
1979 * grub-core/lib/arc/datetime.c: New file.
1980 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1981 pci.h on non-loongson.
1982 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1983 (grub_linux_boot): Set unused registers to 0.
1984 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1985 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1986 * grub-core/mmap/mips/uppermem.c: ...here.
1987 * grub-core/partmap/dvh.c: New file.
1988 * grub-core/term/arc/console.c: Likewise.
1989 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1990 (grub_terminfo_set_current): Add terminal "arc".
1991 (grub_terminfo_readkey): Support ARC sequences.
1992 * include/grub/arc/arc.h: New file.
1993 * include/grub/arc/console.h: Likewise.
1994 * include/grub/disk.h (grub_disk_dev_id): Add
1995 GRUB_DISK_DEVICE_ARCDISK_ID.
1996 * include/grub/mips/arc/kernel.h: New file.
1997 * include/grub/mips/arc/memory.h: Likewise.
1998 * include/grub/mips/arc/time.h: Likewise.
1999 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2000 * include/grub/mips/kernel.h (grub_halt): ... here.
2001 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2002 here...
2003 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2004 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2005 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2006 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2007 proto.
2008 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2009 from here ...
2010 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2011 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2012 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2013 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2014 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2015 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2016 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2017 (grub_phys_addr_t): Moved from here ...
2018 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2019 (grub_vtop): Moved from here ...
2020 * include/grub/mips/memory.h (grub_vtop): ... here.
2021 (grub_map_memory): Moved from here ...
2022 * include/grub/mips/memory.h (grub_map_memory): ... here.
2023 (grub_unmap_memory): Moved from here ...
2024 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2025 (grub_machine_mmap_iterate): Moved from here ...
2026 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2027 (grub_mmap_get_lower): Moved from here ...
2028 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2029 (grub_mmap_get_upper): Moved from here ...
2030 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2031 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2032 here ...
2033 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2034 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2035 here ...
2036 * include/grub/mips/time.h (grub_get_rtc): ... here.
2037 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2038 here ...
2039 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2040 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2041 here ...
2042 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2043 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2044 definition.
2045 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2046 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2047 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2048 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2049 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2050 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2051 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2052 (GRUB_MACHINE_LINK_ADDR): Likewise.
2053 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2054 to 6.
2055 * util/grub-install.in: Run dvhtool on ARC.
2056 * util/grub-mkimage.c (image_targets): Add mips-arc.
2057 (generate_image): Handle ECOFF output for mips-arc.
2058
2059 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
2062 blocks.
2063
2064 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
2067 after enabling port.
2068
2069 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 Skip incorrect USB devices.
2072
2073 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
2074 configcnt == 0.
2075 * include/grub/usb.h (grub_usb_err_t): New enum value
2076 GRUB_USB_ERR_BADDEVICE.
2077
2078 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Fuloong video init support.
2081
2082 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
2083 well.
2084 (grub_vga_read_arx): New function.
2085 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
2086 definition.
2087 (framebuffer): New members io, mmioptr and mmiobase.
2088 (read_sis_cmd): New function.
2089 (write_sis_cmd): Likewise.
2090 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
2091 rather than 640x400.
2092 * grub-core/video/sis315_init.c: New file.
2093
2094 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
2097 non-loongson.
2098 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
2099 to grub_dl_register_symbol.
2100
2101 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 Fix compilation errors.
2104
2105 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
2106 potentially unused.
2107 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
2108 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
2109 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
2110 to loongson machines.
2111
2112 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Several FS mtime support.
2115
2116 * grub-core/fs/affs.c (grub_affs_time): New struct.
2117 (grub_affs_file): New field mtime.
2118 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
2119 type. Removed 'size'. New field 'di'. All users updated.
2120 (grub_affs_mount): Simplify checsum checking.
2121 (grub_affs_iterate_dir): New helper grub_affs_create_node.
2122 (grub_affs_dir): Handle mtime.
2123 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
2124 (grub_cpio_dir): Likewise.
2125 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
2126 (grub_hfs_filerec): New field mtime.
2127 (grub_hfs_dir): Handle mtime.
2128 (grub_hfs_mtime): New function.
2129 (grub_hfs_fs): Register grub_hfs_mtime.
2130 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
2131 (grub_iso9660_dir): New field mtime.
2132 (grub_fshelp_node): New field dirent.
2133 (iso9660_to_unixtime): New function.
2134 (iso9660_to_unixtime2): Likewise.
2135 (grub_iso9660_read_symlink): Use node->dirent.
2136 (grub_iso9660_iterate_dir): Likewise.
2137 (grub_iso9660_dir): Set mtime.
2138 (grub_iso9660_mtime): New function.
2139 (grub_iso9660_fs): Register grub_iso9660_mtime.
2140 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
2141 (grub_jfs_inode): New fields atime, ctime and mtime.
2142 (grub_jfs_dir): Set mtime.
2143 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2144 * grub-core/fs/ntfs.c (list_file): Set mtime.
2145 (grub_ntfs_dir): Likewise.
2146 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
2147 (grub_reiserfs_iterate_dir): Set mtime.
2148 (grub_reiserfs_dir): Likewise.
2149 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
2150 (grub_fshelp_node): Likewise.
2151 (grub_sfs_iterate_dir): Set mtime.
2152 (grub_sfs_dir): Likewise.
2153 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
2154 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
2155 (grub_xfs_inode): New fields atime, mtime, ctime.
2156 (grub_xfs_dir): Set mtime.
2157 * include/grub/datetime.h (grub_datetime2unixtime): New function.
2158 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
2159 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
2160
2161 Support UDF symlinks.
2162
2163 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
2164 (grub_ufs_read_symlink): New function. All users updated.
2165
2166 Check amiga partmap checksum.
2167
2168 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
2169 (grub_amiga_partition): Likewise.
2170 (amiga_partition_map_checksum): New function.
2171 (amiga_partition_map_iterate): Check checksum.
2172
2173 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 ROMFS support.
2176
2177 * Makefile.util.def (libgrubmods.a): Add romfs.
2178 * grub-core/Makefile.core.def (romfs): New module.
2179 * grub-core/fs/romfs.c: New file.
2180
2181 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 Squashfs v4 support.
2184
2185 * Makefile.util.def (libgrubmods.a): Add squash4.
2186 * grub-core/Makefile.core.def (squash4): New module.
2187 * grub-core/fs/squash4.c: New file.
2188 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
2189 disk_input_start, disk_input.
2190 (get_byte): Handle disk_input.
2191 (grub_zlib_disk_read): New function.
2192 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
2193
2194 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2195 2011-05-15 Feiran Zheng <famcool@gmail.com>
2196
2197 * Makefile.util.def (libgrubmods.a): Add minix3.
2198 * grub-core/Makefile.core.def (minix3): New module.
2199 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
2200 (GRUB_MINIX_BSIZE): Removed.
2201 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
2202 (grub_minix_ino_t): New type.
2203 (grub_minix_le_to_cpu_ino): New macro.
2204 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
2205 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
2206 (grub_minix_data): New field block_size.
2207 (grub_minix_read_file): Handle 64-bit correctly.
2208 * grub-core/fs/minix3.c: New file.
2209
2210 2011-05-15 Tristan Gingold <gingold@free.fr>
2211 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
2212 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 IA64 support.
2215
2216 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
2217 * configure.ac: Add ia64-efi target.
2218 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
2219 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
2220 * gentpl.py: Add ia64_efi platform.
2221 Rename x86_efi to efi and Add ia64-efi. All users updated.
2222 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
2223 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
2224 Remove kern/generic/rtc_get_time_ms.c on EFI.
2225 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
2226 kern/ia64/dl_helper.c on ia64-efi.
2227 Add kern/emu/cache.c on emu.
2228 (linux): Use on loader/ia64/efi/linux.c on ia64.
2229 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
2230 whether symbol is a function.
2231 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
2232 (grub_symbol): New field 'isfunc'.
2233 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
2234 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
2235 (grub_dl_load_segments): Place all sections into the same region.
2236 [__ia64__]: Create trampolines and got.
2237 [GRUB_MACHINE_EMU]: Call mprotect.
2238 (grub_dl_resolve_symbols): Resolve symbol type as well.
2239 [__ia64__]: Create function descriptors.
2240 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
2241 (grub_rtc_get_time_ms): ... this. Expressions simplified.
2242 (grub_get_rtc): New function.
2243 * grub-core/kern/emu/cache.c [__ia64__]: New file.
2244 * grub-core/kern/emu/cache.S: Renamed to ...
2245 * grub-core/kern/emu/cache_s.S: ... this.
2246 [__ia64__]: Add a nop.
2247 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
2248 [__ia64__]: New function.
2249 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
2250 * grub-core/kern/ia64/dl.c: New file.
2251 * grub-core/kern/ia64/dl_helper.c: Likewise.
2252 * grub-core/kern/ia64/efi/init.c: New file.
2253 * grub-core/kern/ia64/efi/startup.S: Likewise.
2254 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
2255 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
2256 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
2257 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
2258 * grub-core/loader/ia64/efi/linux.c: New file.
2259 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
2260 (GRUB_MOD_DEP): Likewise.
2261 (grub_dl) [__ia64__]: New fields got and tramp.
2262 (grub_dl): New field 'base'.
2263 (grub_dl_register_symbol): New argument isfunc. All users updated.
2264 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
2265 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
2266 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
2267 (grub_ia64_dl_get_tramp_got_size): New proto.
2268 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
2269 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
2270 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
2271 * include/grub/efi/api.h: Skip call wrappers on ia64.
2272 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
2273 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
2274 * include/grub/elf.h (ELF_ST_INFO): New definition.
2275 * include/grub/ia64/efi/kernel.h: New file.
2276 * include/grub/ia64/efi/memory.h: Likewise.
2277 * include/grub/ia64/efi/time.h: Likewise.
2278 * include/grub/ia64/kernel.h: Likewise.
2279 * include/grub/ia64/setjmp.h: Likewise (from glibc).
2280 * include/grub/ia64/time.h: New file.
2281 * include/grub/ia64/types.h: Likewise.
2282 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
2283 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
2284 New protos.
2285 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
2286 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2287 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
2288 * util/grub-mkimage.c (image_target_desc): New field pe_target.
2289 All users updated.
2290 (EFI64_HEADER_SIZE): New definition. All users updated.
2291 (image_targets): Add ia64-efi.
2292 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
2293 jumpers_addr. All users updated.
2294 Create function descriptors.
2295 (count_funcs): New function.
2296 (unaligned_uint32): New struct.
2297 (MASK20): New definition.
2298 (MASK19): Likewise.
2299 (MASKF21): Likewise.
2300 (add_value_to_slot_20b): New function.
2301 (add_value_to_slot_21_real): Likewise.
2302 (add_value_to_slot_21): Likewise.
2303 (ia64_kernel_trampoline): New struct.
2304 (nopm): New variable.
2305 (jump): Likewise.
2306 (make_trampoline): New function.
2307 (relocate_addresses): Handle ia64.
2308 (make_reloc_section): Likewise.
2309 (load_image): Likewise.
2310
2311 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
2314 warning. Move variables before code while on it.
2315
2316 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 Fuloong support.
2319
2320 * configure.ac: Rename yeeloong platform to loongson. All users updated.
2321 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
2322 * grub-core/boot/mips/loongson/fuloong.S: New file.
2323 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
2324 Explicitly init CS5536.
2325 [FULOONG]: Don't use serial until CS5536 is available.
2326 Set GPIO based on dumps.
2327 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
2328 [FULOONG]: Handle GPIO and memory controller differences.
2329 Parse machine type in $a2.
2330 * grub-core/boot/mips/startup_raw.S: Determine and save the
2331 architecture.
2332 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
2333 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
2334 init on architecture type.
2335 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2336 SIS315E. Don't init at_keyboard on fuloong.
2337 (grub_halt): Support Fuloong.
2338 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
2339 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
2340 (loongson_machtypes): New array.
2341 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
2342 type.
2343 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
2344 config. All users updated. Handle CS5536 serial.
2345 * grub-core/term/serial.c (grub_serial_register): Conditionalise
2346 default port on machine type. Register serial as inactive.
2347 * grub-core/video/sis315pro.c: New file.
2348 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
2349 definition.
2350 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
2351 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2352 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2353 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2354 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2355 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2356 to ...
2357 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2358 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2359 definition.
2360 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2361 (grub_arch_machine): New extern var.
2362 * include/grub/mips/loongson/serial.h
2363 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2364 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2365 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2366 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2367 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2368 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2369 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2370 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2371 * include/grub/term.h (grub_term_register_input_inactive): New inline
2372 function.
2373 (grub_term_register_output_inactive): Likewise.
2374 * include/grub/video.h (grub_video_driver_id): New value
2375 GRUB_VIDEO_DRIVER_SIS315PRO.
2376 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2377 New field "names". All users updated.
2378 New field value IMAGE_FULOONG_FLASH.
2379 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2380
2381 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2382
2383 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2384 and add some clarification.
2385
2386 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2389 platforms if kernel is compressed.
2390
2391 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2394 unused modules since currently referrence counter isn't reliable and
2395 there isn't much memory to recover there anyway.
2396
2397 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2400 rather than resetting it to allow modules to reference themselves
2401 in init.
2402
2403 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2406 counter on dependencies since grub_dl_unref already handles this.
2407
2408 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2411 on error if not already done.
2412
2413 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 Fix few potential memory misusage.
2416
2417 * grub-core/font/font.c (load_font_index): Don't free char_index to
2418 avoid double free.
2419 (grub_font_load): Zero-fill font at alloc for safety.
2420 Close file on error.
2421 (free_font): Free bmp_idx.
2422
2423 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * docs/grub.texi (Installation): Fix several outdated claims.
2426
2427 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 Handle module_license on windows.
2430
2431 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2432 sections shifted.
2433 (insert_string): Make argument const char * instead of char *.
2434 (write_section_data): Handle long section names.
2435 Handle module_license.
2436
2437 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2440 handle class-free menuentries.
2441 (grub_normal_add_menu_entry): Add a check to be sure.
2442
2443 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2446 PgUp and PgDown.
2447
2448 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * configure.ac: Bump version to 1.99.
2451
2452 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 Give ATA device a bit more time on first try in order to allow disks
2455 to spin up.
2456
2457 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2458 if dev->present is 1. Reset dev->present on failure.
2459 (grub_ata_device_initialize): Set dev->present to 1.
2460 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2461 (grub_ata_device): New member 'present'.
2462
2463 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * util/grub-mkimage.c (generate_image): Update hash.
2466
2467 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Flush caches on DMA memory.
2470
2471 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2472 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2473 (grub_dma_free): Likewise.
2474 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2475
2476 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2479 to avoid asm treating ld and sd as macros.
2480
2481 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2484 decompressor.
2485
2486 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2489 grub_decompress_core since later would fail if grub_decompress_core
2490 is too far.
2491
2492 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2495 R_MIPS_JALR since it's used by newer compiler.
2496
2497 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2500
2501 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2504 file_path to 0 for surety.
2505 (grub_chainloader_boot): Set exit_data to NULL.
2506 Unset the loader once done.
2507 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2508
2509 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2512 unknown key into a dprintf.
2513
2514 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2517 on first non-existant partition.
2518
2519 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2522 openning fails.
2523 Reported by: Mark Korenberg.
2524
2525 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2528 overflow.
2529
2530 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2533 before closing to ensure that it will be readable by grub-setup.
2534
2535 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2538 (devpath_1): Use MAKE_PIWG_PATH.
2539 (devpath_2): Likewise.
2540 (devpath_3): Likewise.
2541 (devpath_4): Likewise.
2542 (devpath_5): Likewise.
2543 (devpath_6): Likewise.
2544
2545 The appleldr.mod was checked that to be binary identical to previous
2546 version.
2547
2548 2011-05-05 Zach <mikezackles>
2549
2550 Support 2010 Macbooks.
2551
2552 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2553 (devs): Add devpath_6.
2554
2555 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2558 /dev/random. /dev/urandom is good enough for our purposes (salting).
2559
2560 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2563
2564 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2567 hexadecimal.
2568
2569 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2572 and not 0 on failure.
2573
2574 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2577 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2578 disk; otherwise grub_fs_probe will not fall back to the next
2579 filesystem.
2580 (grub_pxefs_open): Likewise, for consistency.
2581 Reported and tested by: Ezekiel Grave.
2582
2583 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2584
2585 * tests/partmap_test.in: Don't hardcode path to parted.
2586 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2587
2588 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
2589
2590 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2591 of `ls' to find out which devices are available.
2592
2593 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2596 than source address for efi mmap buffer.
2597
2598 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2601 wrong action on non-detecting the magic.
2602
2603 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2606 already supplied by another part of the module (fixes compilation on
2607 FreeBSD).
2608
2609 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2612 match the one used by mdadm.
2613
2614 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2615
2616 * po/README: Add instructions for creating po/LINGUAS.
2617
2618 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2619
2620 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2621 #551428.
2622
2623 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2624 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2625 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2626 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2627 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2628 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2629 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2630 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2631 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2632 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2633 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2634 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2635 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2636 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2637 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2638 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2639 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2640 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2641 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2642 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2643 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2644 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2645
2646 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2647
2648 * grub-core/kern/emu/getroot.c
2649 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2650 test that was incorrectly reintroduced in r3214.
2651 Reported by: Ian Dall. Fixes Savannah bug #33133.
2652
2653 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2654
2655 Fix stack pointer handling in 16-bit relocator.
2656
2657 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2658 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2659 Fixes Ubuntu bug #683904.
2660
2661 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * configure.ac: Bump version to 1.99~rc2.
2664
2665 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2668 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2669 * grub-core/lib/x86_64/setjmp.S: Likewise.
2670 * grub-core/lib/mips/setjmp.S: Likewise.
2671 * grub-core/lib/powerpc/setjmp.S: Likewise.
2672 * grub-core/lib/sparc64/setjmp.S: Likewise.
2673
2674 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2677 * grub-core/lib/efi/datetime.c: Likewise.
2678
2679 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2682 New function.
2683 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2684 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2685 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2686
2687 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2690 bitmap.
2691 (grub_gfxterm_term_init): Likewise.
2692
2693 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Take into account the decorations the computing menu entry width.
2696
2697 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2698 (grub_gfxmenu_create_box): Register get_border_width.
2699 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2700 if available.
2701 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2702 get_border_width.
2703
2704 2011-04-18 Endres Puschner <code@e7p.de>
2705
2706 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2707 Don't skip first class.
2708
2709 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2712 chunks.
2713 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2714
2715 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 Complete 64-bit division support.
2718
2719 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2720 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2721 * include/grub/misc.h (grub_divmod64): Rename to ...
2722 (grub_divmod64_full): ... this.
2723 (grub_divmod64): New inline function.
2724
2725 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2728
2729 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2732 performing the necessary test.
2733
2734 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2737 (kfreebsd.elf): Likewise.
2738 (pc-chainloader.elf): Likewise.
2739 (ntldr.elf): Likewise.
2740
2741 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Identify RAID by its UUID rather than (guessed) name.
2744
2745 * grub-core/disk/raid.c (ascii2hex): New function.
2746 (grub_raid_open): Accept mduuid/%s specification.
2747 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2748 (get_mdadm_uuid): ... this.
2749 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2750
2751 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2754 to negative size.
2755
2756 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2757
2758 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2759 btrfs subvolume.
2760 * util/grub.d/20_linux_xen.in: Likewise.
2761
2762 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2763
2764 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2765 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2766
2767 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2768 Build a list of relevant visible mounts using the mnt_id and
2769 parent_mnt_id fields, and then scan that list at the end.
2770
2771 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2772
2773 * docs/grub.texi (normal): New section.
2774 (normal_exit): New section.
2775 (Embedded configuration): Add reference to normal.
2776 (GRUB only offers a rescue shell): Likewise.
2777 * docs/grub-dev.texi (Error Handling): Fix typo.
2778
2779 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2780
2781 * NEWS: Drop obsolete entry about probe-only btrfs support.
2782
2783 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2784
2785 * util/import_gcry.py: Fix typo.
2786
2787 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * NEWS: Add btrfs support.
2790
2791 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2792 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2793
2794 BtrFS support. Written by me (Vladimir) with important bugfixes and
2795 even more important testing by Colin.
2796
2797 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2798 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2799 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2800 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2801 mem_input_off and mem_input. All users updated to accept in-RAM input.
2802 (gzio_seek): New function.
2803 (test_zlib_header): Likewise.
2804 (grub_gzio_read): Likewise.
2805 (grub_zlib_decompress): Likewise.
2806 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2807 Accept partial and non-virtual mounts.
2808 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2809 avoid receiving /dev/dm-X as device.
2810 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2811 Handle bind and partial mounts.
2812 * grub-core/lib/crc.c: New file.
2813 * include/grub/deflate.h: Likewise.
2814 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2815 proto.
2816 * include/grub/lib/crc.h: New file.
2817
2818 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 Implement automatic module license checking according to new GNU
2821 guidelines.
2822
2823 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2824 (grub_dl_load_core): Use grub_dl_check_license.
2825 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2826 (GRUB_MOD_LICENSE): Likewise.
2827 (GRUB_MOD_DUAL_LICENSE): Likewise.
2828 All modules updated.
2829
2830 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2831
2832 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2833 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2834 loaders.
2835 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2836
2837 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2840
2841 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2844 failed.
2845
2846 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2849 parenthesis in the middle of the filename.
2850
2851 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2854 rather than trying to put initrd way too high.
2855 Reported by: Ryan Lortie <desrt@desrt.ca>
2856
2857 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2860 improperly removed string.
2861
2862 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2865 is_disk.
2866 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2867 (open_device) Likewise.
2868 (grub_util_biosdisk_close): Likewise.
2869 Reported by: Mark Korenberg.
2870
2871 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2872
2873 * util/grub-mkconfig_lib.in: Add missing quotes.
2874
2875 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
2876
2877 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2878 is NULL.
2879
2880 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 Dynamically count the number of lines for the lower banner.
2883
2884 * grub-core/normal/menu_entry.c (per_term_screen): New member
2885 num_entries.
2886 (print_down): Use num_entries.
2887 (update_screen): Likewise.
2888 (grub_menu_entry_run): Set num_entries.
2889 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2890 num_entries.
2891 (grub_print_message_indented): Move real part to ...
2892 (grub_print_message_indented_real): ... here. Additional argument
2893 dry_run.
2894 (draw_border): Additional argument num_entries.
2895 (print_message): Additional argument dry_run.
2896 (print_entries): Receive menu viewer data.
2897 (grub_menu_init_page): New argment num_entries.
2898 (menu_text_set_chosen_entry): Use num_entries.
2899 (grub_menu_try_text): Likewise.
2900 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2901 All users updated.
2902 (grub_ucs4_count_lines): New function.
2903 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2904 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2905 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2906 (grub_term_border_height): Likewise.
2907 (grub_term_num_entries): Likewise.
2908
2909 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2912 Remove now unused string.
2913
2914 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2915
2916 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2917 build system.
2918 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2919
2920 (Comment): Fix typo.
2921 (Getting started): General copy-editing.
2922 (Typical Development Experience): Likewise.
2923 (Error Handling): Likewise.
2924 (Video API): Likewise.
2925
2926 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2927
2928 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2929 throughout.
2930
2931 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2934 directory.
2935
2936 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2937
2938 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2939 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2940 "development".
2941
2942 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2945 grub_strcpy since the lines aren't necessarily 0-terminated.
2946
2947 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2950 root on legacy.
2951
2952 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2955 (GRUB_MOD_INIT): DEVICE isn't optional.
2956
2957 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2960 word on new line if it's too long anyway. Fixes a hang.
2961
2962 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2965 const.
2966 * util/grub-setup.c (main): Reuse md device name if available.
2967 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2968 not GRUB name as argument.
2969 Based on patch by: Florian Wagner <fwagner>.
2970
2971 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2974 Place mbi on low memory for better compatibility.
2975
2976 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2979
2980 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2981 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2982
2983 * autogen.sh: Ensure that collate and ctype locale is C.
2984 * conf/Makefile.common: Likewise.
2985
2986 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/normal/menu.c: Add missing include.
2989
2990 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2993
2994 2011-04-08 Martin Zuther <mzuther@mzuther.de>
2995
2996 * util/grub-mkconfig.in: Ignore emacsen backup.
2997
2998 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3001 on open.
3002 (grub_util_biosdisk_close): Likewise.
3003
3004 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3007 const attribute and use grub_isdigit.
3008
3009 2011-04-06 Andrey <dev_null@ukr.net>
3010
3011 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3012 gcc warning.
3013
3014 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3017 useful grub_dprintf's.
3018
3019 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3022
3023 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3026
3027 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 Output errors if theme loading failed.
3030
3031 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3032 grub_gfxterm_fullscreen on error paths to ...
3033 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3034 theme loading error.
3035
3036 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3039 space for older compilers.
3040 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3041
3042 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3045 and report them as not RAID members since they are useless for GRUB.
3046 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3047
3048 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 Increase LVM implementation robustness in order not to crash on
3051 configurations like pvmove. Previously code assumed that in some places
3052 only lvs or only pvs are used whereas it seems that they are used
3053 interchangeably.
3054
3055 * grub-core/disk/lvm.c (read_node): New function.
3056 (read_lv): Use read_node.
3057 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
3058 Match volumes only at the end when all lvs are found. Take both
3059 pvs (first) and lvs (second) into account.
3060 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
3061 mirror_* into node_*. All users updated.
3062 (grub_lvm_stripe): Merge this ...
3063 (grub_lvm_mirror): ... and this ...
3064 (grub_lvm_node): ... into this. All users updated.
3065
3066 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
3069 of function to allow further scanning for LVMs.
3070
3071 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
3074 on failed seek as it breaks open fd reusage.
3075
3076 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * util/grub-install.in: Add a recommendation to use --recheck before
3079 reporting bugs.
3080
3081 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
3084 are obtained.
3085
3086 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 GRUB developper manual based on existing Internals section and
3089 contributions by the various authors with active copyright assignment.
3090
3091 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
3092 * docs/font_char_metrics.png: New file.
3093 * docs/font_char_metrics.txt: Likewise.
3094 * docs/grub-dev.texi: Likewise.
3095 * docs/grub.texi (Internals): Move from here ...
3096 * docs/grub-dev.texi: ... here.
3097
3098 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3099
3100 Store the loopback device as data on loopback grub_disk structures,
3101 rather than the file it points to. This fixes use of freed memory
3102 if an existing loopback device is replaced.
3103
3104 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
3105 disk->data, not dev->file.
3106 (grub_loopback_read): Adjust file assignment to match.
3107 Fixes Ubuntu bug #742967.
3108
3109 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3110
3111 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
3112 when replacing an existing device.
3113
3114 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
3117 memory corruptions.
3118
3119 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
3120 unsigned.
3121 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
3122 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
3123 (grub_jfs_read_inode): Likewise.
3124 (grub_jfs_opendir): Likewise. Remove now useless casts.
3125 (grub_jfs_getent): Likewise.
3126 Make ino a grub_uint32_t rather than int.
3127 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
3128 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
3129 division and module with bit operations.
3130 (grub_jfs_find_file): Make ino a grub_uint32_t.
3131 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
3132
3133 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3134
3135 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
3136 warning. (This was in fact always initialised before use, but GCC
3137 wasn't smart enough to prove that.)
3138 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3139
3140 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
3143 stack alignment.
3144 (efi_wrap_1): Likewise.
3145 (efi_wrap_2): Likewise.
3146 (efi_wrap_3): Likewise.
3147 (efi_wrap_4): Likewise.
3148 (efi_wrap_5): Likewise.
3149 (efi_wrap_6): Likewise.
3150 (efi_wrap_10): Likewise.
3151 Based on information by: Red Hat/Peter Jones.
3152
3153 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
3154
3155 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
3156 set-but-not-used variable.
3157
3158 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
3159
3160 * docs/grub.texi (Simple configuration): Be more explicit about
3161 GRUB_DEFAULT, and add an example.
3162 Reported by: Leslie Rhorer.
3163
3164 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3165
3166 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
3167 shell".
3168
3169 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3170
3171 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
3172 * util/grub.d/20_linux_xen.in: Likewise.
3173
3174 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * util/grub.d/10_linux.in: Try alternative config filenames where
3177 we parse config file.
3178 * util/grub.d/20_linux_xen.in: Likewise.
3179
3180 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3181
3182 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
3183 * util/grub.d/20_linux_xen.in: Likewise.
3184
3185 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/disk/raid.c (insert_array): Add few potentially
3188 useful grub_util_info.
3189 (grub_raid_register): Likewise.
3190
3191 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
3194 Preserve partition number in mdadm code path.
3195
3196 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
3199 few potentially useful grub_util_info.
3200
3201 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
3204
3205 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * docs/grub.texi (default): Use @example rather than nested
3208 itemized lists to avoid breaking gendocs.
3209
3210 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3211
3212 * docs/grub.texi (Future): Update.
3213
3214 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3215
3216 * docs/grub.texi (Environment): New chapter.
3217 (Changes from GRUB Legacy): Link to "Environment block" section for
3218 details of limitations.
3219 (Simple configuration): Likewise. Link to documentation of gfxmode
3220 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
3221 respectively.
3222 (Shell-like scripting): Note that normal variables are stored in the
3223 environment.
3224 (gettext): Link to documentation of lang and locale_dir.
3225 (list_env): New section.
3226 (load_env): New section.
3227 (save_env): New section.
3228
3229 (Reporting bugs): Fix typo.
3230
3231 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
3234 the example.
3235
3236 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/term/at_keyboard.c (set_scancodes)
3239 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
3240
3241 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3242
3243 * docs/grub.texi (Menu-specific commands): Remove some semantics
3244 that were true in GRUB Legacy but not in GRUB 2.
3245 (submenu): New section.
3246 (false): New section.
3247 (read): New section.
3248 (true): New section.
3249
3250 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3251
3252 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
3253
3254 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3255
3256 * docs/grub.texi (Simple configuration): Explain some of the
3257 current limitations of grub-mkconfig.
3258 Reported by: Leslie Rhorer.
3259
3260 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Old macs search for boot.efi rather than for bootia32.efi.
3263
3264 * util/grub-install.in: Copy bootia32.efi to boot.efi.
3265 * util/grub-mkrescue.in: Likewise.
3266 Suggested by: Peter Jones.
3267
3268 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
3271
3272 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
3275 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
3276 (grub_lvm_mirror): New struct.
3277 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
3278 (grub_lvm_iterate): Iterate only visible volumes.
3279 (grub_lvm_read): Factor out to ..
3280 (read_lv): ... this. Support mirrors.
3281 (grub_lvm_read): New wrapper function.
3282 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
3283 stripped or mirrored.
3284
3285 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
3288
3289 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3290
3291 * docs/grub.texi (loopback): New section.
3292
3293 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3294
3295 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
3296 removed -p option.
3297
3298 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3299
3300 * docs/grub.texi (BIOS installation): New section, partly based on
3301 previous text in other sections.
3302 (Installing GRUB using grub-install): Replace BIOS discussion with a
3303 cross-reference.
3304 (Images): Likewise.
3305
3306 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * grub-core/kern/emu/hostdisk.c (find_partition_start)
3309 [HAVE_DIOCGDINFO]: Add safety checks.
3310
3311 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
3314 per default compiled in kernel and prior to 8.0 isn't shipped at all.
3315
3316 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3317
3318 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
3319 real_sb->size is zero (e.g. RAID-0), get the disk size from
3320 real_sb->data_size instead.
3321 Fixes Ubuntu bug #743136.
3322
3323 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
3326 printf clauses for printing size and start.
3327
3328 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
3331 Reported and tested by: Timothy Nikkel.
3332
3333 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
3336 (dirty_region_add_real): ... this.
3337 (dirty_region_add): Don't discard margin refresh when performing
3338 scheduled repaint.
3339
3340 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/lib/relocator.c (allocate_regstart)
3343 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
3344 terminals are capabple of malloc-free operation.
3345 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3346 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3347
3348 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
3349
3350 * util/grub-setup.c: Copy the partition table zone if floppy support
3351 is disabled, even if no partition table is found.
3352
3353 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3354 during POST if an invalid partition table is contained in the PBR
3355 of the active partition when GRUB is installed to a partition.
3356
3357 2011-03-28 Colin Watson <cjwatson@debian.org>
3358
3359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3360 comment.
3361
3362 2011-03-28 Colin Watson <cjwatson@debian.org>
3363
3364 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3365 to be specific about what kind of RAID device we're scanning for.
3366
3367 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3368
3369 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3370 return freed string.
3371
3372 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3375
3376 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Use libgeom on FreeBSD to detect partitions.
3379
3380 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3381 (grub-mkrelpath): Likewise.
3382 (grub-script-check): Likewise.
3383 (grub-editenv): Likewise.
3384 (grub-mkpasswd-pbkdf2): Likewise.
3385 (grub-fstest): Likewise.
3386 (grub-mkfont): Likewise.
3387 (grub-mkdevicemap): Likewise.
3388 (grub-probe): Likewise.
3389 (grub-setup): Likewise.
3390 (grub-ofpathname): Likewise.
3391 (grub-mklayout): Likewise.
3392 (example_unit_test): Likewise.
3393 (grub-menulst2cfg): Likewise.
3394 * grub-core/Makefile.core.def (grub-emu): Likewise.
3395 (grub-emu-lite): Likewise.
3396 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3397 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3398 define HAVE_DIOCGDINFO.
3399 (follow_geom_up) [FreeBSD]: New function.
3400 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3401 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3402 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3403 unconditionally of HAVE_DIOCGDINFO.
3404
3405 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 Fix FreeBSD compilation problem.
3408
3409 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3410 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3411
3412 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
3413
3414 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3415 Switch back to page zero before loading a kernel, since some kernel
3416 drivers expect that.
3417 Thanks to: Felix Kuehling.
3418
3419 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3422 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3423 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3424
3425 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3428 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3429
3430 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3433 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3434 malloc is disabled.
3435
3436 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3439 for modules headers when counting the needed allocation size.
3440
3441 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3444 if no ASCII character is found to prevent crash.
3445
3446 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3447
3448 * grub-core/video/bitmap.c (match_extension): Ignore case.
3449
3450 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3453
3454 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/script/parser.y: Declare "time" as valid argument.
3457
3458 2011-03-23 Peter Jones <pjones@redhat.com>
3459
3460 Fix incorrect assert failure reporting.
3461
3462 * grub-core/tests/example_functional_test.c (example_test): Add
3463 a failure comment.
3464 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3465 (failure_start): ...this. Check that malloc succeeded.
3466 Don't call xvasprintf. Return failure struct.
3467 (failure_append_vtext): New function.
3468 (failure_append_text): Likewise.
3469 (add_failure): Likewise.
3470 (grub_test_assert_helper): Likewise.
3471 * include/grub/test.h (grub_test_assert_helper): New declaration.
3472 (grub_test_assert): Macro rewritten.
3473
3474 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3477
3478 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3481
3482 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3485 into GRUB-style one.
3486
3487 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3490 error and not grub_errno.
3491 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3492
3493 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3496 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3497
3498 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/efiemu/i386/pc/cfgtables.c
3501 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3502 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3503 (grub_xnu_unlock): Likewise.
3504 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3505
3506 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3509 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3510 * grub-core/commands/hashsum.c (aliases): Likewise.
3511 * grub-core/commands/setpci.c (pci_registers): Likewise.
3512 * grub-core/disk/usbms.c (attach_hook): Likewise.
3513 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3514 (zio_checksum_table): Likewise.
3515 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3516 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3517 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3518 * grub-core/lib/relocator.c (leftovers): Likewise.
3519 (extra_blocks): Likewise.
3520 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3521 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3522 (modules_last): Likewise.
3523 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3524 (devices): Likewise.
3525 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3526 (modules_last): Likewise.
3527 * grub-core/normal/auth.c (users): Likewise.
3528 * grub-core/normal/context.c (initial_menu): Likewise.
3529 (current_menu): Likewise.
3530 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3531 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3532 (grub_serial_terminfo_input_template): Likewise.
3533 (grub_serial_terminfo_output_template): Likewise.
3534 (grub_serial_terminfo_input): Likewise.
3535 (grub_serial_terminfo_output): Likewise.
3536 (registered): Likewise.
3537 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3538
3539 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3542 grub_video_mode_type_t.
3543 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3544 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3545 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3546
3547 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * util/grub-install.in: Correct the x86-64 name as x86_64.
3550
3551 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
3552
3553 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3554 initial chunk read from the kernel always includes GRUB's multiboot
3555 header, which is now outside the first sector.
3556
3557 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3558
3559 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3560 cached mmap_size, so that this works correctly when called multiple
3561 times.
3562 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3563
3564 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3565
3566 * docs/grub.texi (Simple configuration): Tidy up formatting.
3567
3568 2011-03-07 Szymon Janc <szymon@janc.net.pl>
3569
3570 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3571 Set-but-not-used variable removed.
3572
3573 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Workaround yet another IEEE1275 bug.
3576
3577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3578 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3579 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3580 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3581 is set.
3582 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3583 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3584
3585 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3588 error.
3589
3590 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
3591
3592 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3593 empty, since in that case we can only generate either nothing or a
3594 syntactically invalid configuration file.
3595 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3596
3597 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3598
3599 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3600 (Making a GRUB bootable CD-ROM): Likewise.
3601 (Invoking grub-mkrescue): New section.
3602 Reported by: Yann Dirson. Fixes Debian bug #612585.
3603
3604 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3605
3606 * util/grub-install.in: Remove unnecessary brackets from tr
3607 arguments.
3608 * util/grub.d/10_hurd.in: Likewise.
3609 * util/grub.d/10_kfreebsd.in: Likewise.
3610 * util/grub.d/10_linux.in: Likewise.
3611 * util/grub.d/20_linux_xen.in: Likewise.
3612 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3613
3614 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
3615
3616 * include/grub/file.h (not_easly_seekable): Rename to ...
3617 (not_easily_seekable): ... this. Update all users.
3618
3619 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
3620
3621 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3622 grub-mkrescue.
3623
3624 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * util/grub-mkimage.c (generate_image): Refuse to create the images
3627 bigger than the actual flash (512K) in Loongson machines. 512K is also
3628 the biggest chip supported by them.
3629
3630 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3633
3634 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
3635
3636 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3637 super_offset field.
3638
3639 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * util/grub-install.in: Ignore install device on platforms
3642 where it doesn't make sense. Always use UUIDs except on pc, efi and
3643 sparc64.
3644 Reported by: Daniel Kahn Gillmor.
3645
3646 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3649
3650 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3653 (iterate_real): Don't rely on partition being non-NULL.
3654
3655 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3658 supported platforms. Put a compile time assert for this rather than
3659 generate a warning with 32-bit shift.
3660
3661 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3664 logical expression more readable.
3665
3666 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3669 even if some elements have a name.
3670 Reported by: Alexander GQ Gerasiov.
3671
3672 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3675 path unreadable if `grub-probe -t abstraction' fails, for example if
3676 memberlist fails on an LVM volume group.
3677 Reported by: Darius Jahandarie.
3678
3679 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3680
3681 * docs/grub.texi (Simple configuration): Document
3682 GRUB_PRELOAD_MODULES.
3683
3684 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
3685
3686 * .bzrignore: Remove nonexistent grub-pbkdf2.
3687
3688 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * configure.ac: Bump version to 1.99~rc1.
3691
3692 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3695 for safety.
3696
3697 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3700 module.
3701
3702 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3705
3706 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3709 diskdevid.
3710
3711 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 Fix compilation on cygwin.
3714
3715 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3716 -R .drectve on cygwin.
3717 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3718 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3719 (COND_CYGWIN): New condition.
3720 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3721 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3722 not @TARGET_OBJ2ELF@.
3723 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3724 type to determine whether aux is to be used.
3725
3726 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3729 realpath'ed device string.
3730 Handle floppy (somewhat).
3731 Issue error in unknown case rather than garbage.
3732 Reported by: Axel Beckert.
3733
3734 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * util/grub.d/00_header.in (load_video): Handle the case when no video
3737 drivers available.
3738 Thanks to: Axel Beckert.
3739
3740 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3743 variable. Fixes problem on big endian platforms.
3744
3745 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3748 It doesn't work well there.
3749
3750 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3753 warning.
3754 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3755 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3756 counter.
3757
3758 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 Use alias->path rather than buggy "canon".
3761
3762 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3763 (ofdisk_hash_add): New argument curcan. All users updated.
3764
3765 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3766
3767 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3768
3769 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3772 loadmask before doing any calculations. Use correct type for offset.
3773 (grub_linux_load64): Likewise.
3774
3775 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3776
3777 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3778 with NULL.
3779 (console_grub_equivalences_unshift): Likewise.
3780 Reported by: Daniel Dehennin.
3781
3782 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3785 (set_env_limn_ro): Likewise.
3786 (GRUB_MOD_INIT): Likewise.
3787 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3788 ARRAY_SIZE while on it.
3789 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3790 * grub-core/normal/context.c (grub_env_export): Move from here ...
3791 * grub-core/kern/env.c (grub_env_export): ... here.
3792 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3793 prefix.
3794 * grub-core/kern/main.c (grub_main): Export root and prefix.
3795 * include/grub/env.h (grub_env_export): Export.
3796 Reported by: Seth Goldberg.
3797
3798 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3801 Take into account space used by ELF sections and multiboot palette.
3802 Reported by: Grégoire Sutre.
3803
3804 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * BUGS: New file.
3807
3808 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Pass more appropriate video id to Linux.
3811
3812 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3813 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3814 fill have_vga.
3815 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3816 shift params->lfb_size.
3817 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3818
3819 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3822
3823 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3826 separator and pass bootpath/devid even if only one of them is available.
3827 Reported by: Seth Goldberg.
3828
3829 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3832 implementations bug on them.
3833
3834 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3835 memory.
3836 (filter_memory_map): Likewise.
3837
3838 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3841 Reported by: nebuchadnezzar.
3842
3843 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3846 Reported by: nebuchadnezzar.
3847
3848 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Submenu default support.
3851
3852 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3853 auto_boot. All users updated.
3854 Declared static.
3855 Handle chosen and default with submenus.
3856 (grub_menu_execute_with_fallback): Declared static.
3857 Don't notify failure if autobooted. Upper level does it.
3858 (menuentry_eq): New function.
3859 (get_entry_number): Use menuentry_eq.
3860 (show_menu): New parameter "autobooted". All users updated.
3861 (grub_show_menu): Likewise.
3862 * include/grub/normal.h (grub_show_menu): Likewise.
3863 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3864 (grub_menu_execute_with_fallback): Likewise.
3865
3866 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * util/grub-mklayout.c (usage): Update help text.
3869
3870 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3873
3874 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * util/grub-menulst2cfg.c (main): Trim the line.
3877
3878 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3881 (grub_machine_init): Don't check amount of low memory as reportedly
3882 INT 12h can be broken and if low memory is too low we wouldn't have
3883 gotten into grub_machine_init anyway.
3884
3885 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3888 (grub_machine_mmap_iterate): Take low memory into account
3889
3890 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3893 badfs.
3894 Reported by: TiCPU.
3895
3896 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3899 members errors.
3900
3901 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3902
3903 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3904 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3905
3906 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3907
3908 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3909 openbsd and netbsd types being in part_bsd module.
3910
3911 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3914 (_FILE_OFFSET_BITS): Likewise.
3915 Reported by: Seth Goldberg.
3916
3917 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3918
3919 * configure.ac: Check for libdevmapper header.
3920
3921 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3924 avoid aliasing.
3925 (fzap_lookup): Likewise.
3926 (dnode_get): Likewise.
3927 (make_mdn): Likewise.
3928 (zfs_mount): Likewise.
3929 (fzap_iterate): Use temporary pointer to avoid aliasing.
3930 (grub_zfs_read): Likewise.
3931 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3932 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3933 pointers to avoid aliasing.
3934 (grub_cmd_xnu_kernel64): Likewise.
3935 (grub_xnu_load_driver): Likewise.
3936
3937 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3940 aliasing warning.
3941 (grub_cmd_terminal_output): Likewise.
3942 Reported and tested by: Grégoire Sutre.
3943
3944 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3947 warning.
3948 Reported and tested by: Grégoire Sutre.
3949
3950 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * configure.ac: Do CPU substitution even if it's specified explicitly.
3953 Reported and tested by: Alain Greppin.
3954
3955 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3958 Reported and tested by: Alain Greppin.
3959
3960 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Satisfy some bison versions need for inttypes.h.
3963
3964 * grub-core/lib/posix_wrap/inttypes.h: New file.
3965 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3966 (int16_t): Likewise.
3967 (int32_t): Likewise.
3968 (int64_t): Likewise.
3969 Reported and tested by: Alain Greppin.
3970
3971 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3974 Silence spurious warning.
3975 Reported and tested by: Alain Greppin.
3976
3977 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3978
3979 * docs/grub.texi (Support automatic decompression): Update with xz
3980 decompression support.
3981
3982 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3983
3984 Improve loaders' kernel command line handling.
3985
3986 * grub-core/lib/cmdline.c: New file.
3987 * include/grub/lib/cmdline.h: Likewise.
3988 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3989 grub_create_loader_cmdline to create kernel command line.
3990 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3991 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3992 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3993 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3994 (linux): Add lib/cmdline.c on common.
3995
3996 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3999 inopos might be unaligned.
4000
4001 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4004 endian transformations.
4005 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4006 Based on report by: Doug Nazar.
4007
4008 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
4009
4010 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4011 array->members[i].start_sector.
4012 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4013
4014 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4017 Reported and tested by: Grégoire Sutre.
4018
4019 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
4020
4021 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4022 avoid causing test failures by clearing the screen.
4023
4024 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
4025
4026 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4027 Fix prefix check to handle the case where dir ends with a slash
4028 (most significantly, "/" itself).
4029 Reported by: Michael Vogt.
4030
4031 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Run terminfo_cls on initing terminfo output to clear the screen and
4034 move the cursor to (0,0).
4035
4036 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4037 Call grub_terminfo_output_init.
4038 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4039 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4040 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4041
4042 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4045 only when needed.
4046
4047 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4050 CTRL.
4051
4052 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 The E820 type 5 is BADRAM, not EXEC_CODE.
4055
4056 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4057 (GRUB_E820_BADRAM): New define.
4058 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
4059 into reserved. Propagate BADRAM.
4060 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4061 (GRUB_E820_BADRAM): New define.
4062
4063 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
4066 Ignore the memory post-4G.
4067 (grub_relocator_firmware_alloc_region): Additional debug statement.
4068
4069 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
4072 names.
4073 Reported by: David Pravec.
4074
4075 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
4078 BIOSes.
4079
4080 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
4083 Prevent overflow.
4084 (grub_reed_solomon_recover): Likewise.
4085
4086 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
4089
4090 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
4093 variable.
4094
4095 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
4096
4097 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
4098 descriptions of extract_legacy_entries_source and
4099 extract_legacy_entries_configfile.
4100 Reported by: Seung Soo, Ha.
4101
4102 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
4103
4104 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
4105 on devices that do not implement function 0.
4106
4107 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
4108
4109 * grub-core/fs/hfsplus.c: Make parent unsigned.
4110 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
4111 overflows.
4112 (grub_hfsplus_cmp_extkey): Likewise
4113
4114 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * util/grub-install.in: Correctly use bootloader_id and not
4117 GRUB_DISTRIBUTOR on efibootmgr line.
4118
4119 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
4122
4123 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
4124
4125 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
4126 Xen and reorder menu item wording to make it clearer that this entry
4127 will launch Xen. Print separate messages when loading Xen and
4128 Linux.
4129
4130 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
4133 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
4134 loop in case of incorrect amiga partmap.
4135
4136 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
4139 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
4140 Reported by:EHeM.
4141
4142 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
4145 spurious warning.
4146 Reported by: crocket
4147
4148 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
4151 Preload EFIemu.
4152 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
4153
4154 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
4157 is loaded
4158 (grub_cmd_xnu_kextdir): Likewise.
4159 (grub_cmd_xnu_splash): Likewise.
4160
4161 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Avoid using Reed-Solomon with 0 redundancy.
4164
4165 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
4166 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
4167 or 0 redundancy.
4168 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
4169 (grub_reed_solomon_recover): Likewise.
4170
4171 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Don't use disk subsystem in freebsd_boot.
4174
4175 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
4176 (freebsd_biosdev): Likewise.
4177 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
4178 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
4179
4180 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Handling of files of unknown size is currently limited. They can't be
4183 used e.g. for initrd or modules. Moreover gzip handling of not
4184 easily seekable files is buggy. Disable unknown file size for now. May
4185 be inefficient but works.
4186
4187 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
4188 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4189
4190 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
4191
4192 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
4193 floppy probe.
4194
4195 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
4196
4197 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
4198
4199 2010-12-25 Shea Levy <shlevy>
4200
4201 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
4202
4203 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
4206 Windows Server 2008.
4207 Reported by: Devin Giddings.
4208
4209 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
4212 writing an error message because of async power management.
4213 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
4214 (grub_reboot): Likewise.
4215
4216 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
4217
4218 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
4219 keep unit tests from failing when they shouldn't.
4220
4221 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4222
4223 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
4224 previous patch increased the size of the RS code by 20 bytes (at
4225 least with gcc-4.4), so increase this by 20 bytes to match.
4226 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4227
4228 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4229
4230 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
4231 scratch area. Make sure to initialise chosen in standalone mode as
4232 well as non-standalone.
4233 Reported by: Robert Hooker and Andy Whitcroft.
4234 Tested by: Andy Whitcroft.
4235
4236 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4237
4238 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
4239 constructing a new unescaped string and passing it to grub_xputs in
4240 one go, rather than passing characters to grub_printf one at a time.
4241
4242 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4243
4244 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
4245 initialising utf16.
4246
4247 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4248
4249 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
4250 comment. Add an extra layer of quotation, requiring the output of
4251 this function to be used in a printf format string.
4252 (gettext_printf): New function.
4253 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
4254 Extract translatable strings from here-documents and use a temporary
4255 variable instead, so that xgettext can find them.
4256 * util/grub.d/10_kfreebsd.in: Likewise.
4257 * util/grub.d/10_linux.in: Likewise.
4258 * util/grub.d/20_linux_xen.in: Likewise.
4259
4260 * po/grub.d.sed: New file.
4261 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
4262 arguments. Set c-format flags on all strings extracted from
4263 util/grub.d/ (xgettext refuses to include these itself for strings
4264 it extracted from a shell file, but these really are c-format).
4265
4266 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
4269 Avoid next pointing to nowhere.
4270
4271 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
4274 rather than assuming than rootblock is exactly in the middle.
4275 (grub_affs_label): Likewise.
4276
4277 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
4280 reserved_first_sector to 0.
4281 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
4282 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
4283 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
4284
4285 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Fix handling of UTF-16 UDF labels.
4288
4289 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
4290 (read_string): .. here.
4291 (grub_udf_label): Use read_string.
4292
4293 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
4294
4295 * grub-core/normal/menu_entry.c (run): Execute commands from menu
4296 editor under argument scope.
4297 Reported by: Jordan Uggla
4298
4299 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
4302
4303 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
4304
4305 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
4306 line, and other keys scroll an entire page (previous handling was
4307 for \r and \n to scroll a page and other keys to scroll two lines).
4308
4309 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4312 Set ptrdest to correct get_physical_target_address rather than
4313 incorrect get_virtual_current_address.
4314
4315 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
4316
4317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
4318 correct cat to grub_uint8_t * rather than grub_uint32_t *.
4319
4320 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
4321
4322 * .bzrignore: Ignore grub-core/rs_decoder.S.
4323
4324 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
4325
4326 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
4327 .mo/.mo.gz opening sequence to ...
4328 (grub_mofile_open_lang): ... here.
4329 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
4330 * util/grub.d/00_header.in (grub_lang): Include country part of
4331 locale.
4332 Reported by: Mario Limonciello.
4333
4334 2010-12-09 Robert Millan <rmh@gnu.org>
4335
4336 * NEWS: Document addition of ZFS support.
4337
4338 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
4339
4340 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4341 rather than `/ 2', as the latter requires -Wa,--divide which would
4342 require bumping our minimum binutils version.
4343
4344 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
4345
4346 * util/grub-script-check.c (main): Print script line number on
4347 error.
4348
4349 2010-12-01 Robert Millan <rmh@gnu.org>
4350
4351 * grub-core/fs/zfs/zfs.c: New file.
4352 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4353 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4354 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4355 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4356
4357 * include/grub/zfs/dmu.h: Likewise.
4358 * include/grub/zfs/dmu_objset.h: Likewise.
4359 * include/grub/zfs/dnode.h: Likewise.
4360 * include/grub/zfs/dsl_dataset.h: Likewise.
4361 * include/grub/zfs/dsl_dir.h: Likewise.
4362 * include/grub/zfs/sa_impl.h: Likewise.
4363 * include/grub/zfs/spa.h: Likewise.
4364 * include/grub/zfs/uberblock_impl.h: Likewise.
4365 * include/grub/zfs/vdev_impl.h: Likewise.
4366 * include/grub/zfs/zap_impl.h: Likewise.
4367 * include/grub/zfs/zap_leaf.h: Likewise.
4368 * include/grub/zfs/zfs.h: Likewise.
4369 * include/grub/zfs/zfs_acl.h: Likewise.
4370 * include/grub/zfs/zfs_znode.h: Likewise.
4371 * include/grub/zfs/zil.h: Likewise.
4372 * include/grub/zfs/zio.h: Likewise.
4373 * include/grub/zfs/zio_checksum.h: Likewise.
4374
4375 * Makefile.util.def: Build ZFS into libgrubmods.
4376 * grub-core/Makefile.core.def: Build zfs.mod.
4377
4378 2010-11-30 Szymon Janc <szymon@janc.net.pl>
4379
4380 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4381 variable.
4382 * grub-core/commands/wildcard.c (match_files): Likewise.
4383
4384 2010-11-30 Robert Millan <rmh@gnu.org>
4385
4386 * grub-core/loader/i386/bsd.c
4387 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4388 whether kernel is loaded using grub_loader_is_loaded(), rather
4389 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4390 certain error conditions.
4391
4392 2010-11-30 Robert Millan <rmh@gnu.org>
4393
4394 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4395 (grub_cmd_echo): Call grub_refresh() after printing a message.
4396
4397 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Avoid using tricks for initialising endian variables.
4400
4401 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4402 Make const.
4403 (GRUB_MOD_INIT): Don't byte-swap.
4404 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4405 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4406 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4407 (grub_swap_bytes32_compile_time): Likewise.
4408 (grub_cpu_to_le32_compile_time): Likewise.
4409 (grub_cpu_to_le16_compile_time): Likewise.
4410
4411 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * util/grub-setup.c (setup): Stop recommending --force. People who
4414 understand the dangers of blocklists are able to find this option
4415 anyway and the ones who don't shouldn't use it anyway.
4416
4417 2010-11-26 Robert Millan <rmh@gnu.org>
4418
4419 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4420 Update all users.
4421
4422 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
4423
4424 Fix LVM-on-RAID probing.
4425
4426 * util/grub-probe.c (probe): Remember which disk was detected as
4427 RAID (perhaps an LVM physical volume). Use that disk's raidname
4428 rather than that of the top-level disk.
4429
4430 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
4431
4432 Fix cmdline argument quotes for setparams command of menuentry
4433 definitions.
4434
4435 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4436 quotes for arguments.
4437 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
4438 grub_strchrsub function instead.
4439
4440 * include/grub/misc.h (grub_strchrsub): New function.
4441
4442 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4443
4444 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4445 effort by skipping "." and ".." entries up-front.
4446 Suggested by: Michael Lazarev.
4447
4448 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4449
4450 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4451 ldflags to ldadd, to fix link line ordering.
4452 (none_decompress): Likewise.
4453
4454 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4455
4456 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4457 platforms.
4458 (grub-emu-lite): Remove kern/emu/cache.S.
4459
4460 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4461
4462 * util/deviceiter.c (compare_devices): If the by-id link for a
4463 device couldn't be resolved, fall back to sorting by the by-id link
4464 rather than segfaulting.
4465 Reported and tested by: Daniel Mierswa.
4466
4467 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4468
4469 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4470 ldflags, to fix link line ordering.
4471
4472 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4473
4474 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4475 linkers are picky about this.
4476
4477 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4478
4479 * grub-core/Makefile.am (command.lst): Adjust sed expression
4480 ordering so that extended and priority commands aren't treated as
4481 ordinary commands.
4482
4483 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4484
4485 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4486 Remove byte-swapping function calls, which are not valid in
4487 structure initialisers.
4488 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4489 non-const.
4490 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4491 grub_gpt_partition_type_bios_boot.
4492
4493 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4494
4495 Fix test program build on GNU/kFreeBSD.
4496
4497 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4498 $(LIBNVPAIR)' library dependencies.
4499
4500 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4501
4502 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4503
4504 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4505
4506 * util/grub-install.in: Remove excessive quoting that broke
4507 installations to RAID devices.
4508
4509 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4512 bootloader version instead of 0.
4513
4514 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4517 warning.
4518
4519 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4522 retrieve the metadat sector if size isn't known.
4523 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4524
4525 2010-11-18 Robert Millan <rmh@gnu.org>
4526
4527 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4528 with grub_memcmp().
4529
4530 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4533 arrow.
4534 Reported by: Jordan Uggla.
4535
4536 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Make better UTF compliant.
4539
4540 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4541 sequences as incorrect.
4542 (grub_is_valid_utf8): Likewise.
4543 (grub_utf8_to_ucs4): Likewise.
4544 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4545 (grub_ucs4_to_utf8_alloc): Likewise.
4546 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4547
4548 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 Make legacy_source behave like source.
4551
4552 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4553 grub_show_menu.
4554 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4555
4556 2010-11-16 Colin Watson <cjwatson@debian.org>
4557
4558 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4559 (-Wunused implies -Wunused-parameter, but not vice versa).
4560
4561 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
4562
4563 * configure.ac: Make error messages less confusing by testing for
4564 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4565 accepted, but produces a diagnostic if something else is wrong).
4566
4567 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4570 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4571 (now unused).
4572 (grub_keyboard_controller_init)
4573 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4574 read the initial state since controller isn't inited yet.
4575
4576 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4579 allocate_regbeg may need to create new chunk header.
4580
4581 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Fix quoting in legacy parser.
4584
4585 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4586 single quotes.
4587 (grub_legacy_parse): Likewise.
4588 Reported by: Jordan Uggla.
4589 Tested by: Jordan Uggla.
4590
4591 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 Don't add -lgcc on i386 and x86_64.
4594
4595 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4596 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4597 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4598
4599 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * configure.ac: Add -Wno-trampolines when supported.
4602
4603 2010-11-14 Modestas Vainius <modax@debian.org>
4604
4605 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4606 fakeraid.
4607
4608 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4609
4610 Add generic logical block size support for UDF.
4611
4612 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4613 (GRUB_UDF_BLKSZ): Removed.
4614 (struct grub_udf_data): New field "lbshift" to hold the logical block
4615 size of the file system in log2 format. All users updated.
4616 (sblocklist): Change type to unsigned.
4617 (grub_udf_mount): Change type of "sblklist" to unsigned.
4618 Move AVDP search before VRS recognition, because the latter requires
4619 knowledge of the logical block size, which is detected during the
4620 former.
4621 Detect and validate logical block size during AVDP search, adding
4622 support for block sizes 512, 1024 and 4096.
4623 Make VRS recognition independent of block size.
4624
4625 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4626
4627 Properly handle deleted files on UDF.
4628
4629 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4630 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4631 set.
4632
4633 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4634
4635 Support reading files larger than 2 GiB.
4636
4637 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4638 "offset" to grub_off_t.
4639 (grub_udf_read_file): Likewise for parameter "pos".
4640
4641 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4644 unavailable.
4645 (Simple configuration): Refer to Changes from GRUB Legacy about
4646 save_env availability.
4647
4648 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/grub-install.in: Ignore empty partition table detection
4651 instead of trying to include part_ module.
4652
4653 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4656 LVM on RAID support.
4657
4658 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Properly define WORDS_BIGENDIAN in wrapped environments.
4661
4662 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4663 definition.
4664 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4665
4666 Reported by: Manoel Rebelo Abranches.
4667 Tested by: Manoel Rebelo Abranches.
4668
4669 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * util/grub-mkconfig.in: Fix quoting.
4672
4673 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Support big ext2 files.
4676
4677 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4678 (grub_ext2_read_block): Support triple indirect blocks.
4679 (grub_ext2_read_file): Use 64-bit types and read size_high.
4680 (grub_ext2_open): Read size_high.
4681 Reported by: Ximin Luo.
4682 Tested by: Manoel Rebelo Abranches.
4683
4684 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * util/grub-install.in: Handle filenames containing spaces.
4687 Reported by: Jordan Uggla.
4688 Tested by: Jordan Uggla.
4689
4690 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * util/grub-mkconfig.in (grub_script_check): New variable.
4693 Use grub_script_check instead of grub-script-check.
4694 Reported by: Barry Jackson.
4695
4696 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * docs/grub.texi (menu): Correct the order.
4699 Reported by: D. Hugh Redelmeier.
4700
4701 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4704 jump.
4705
4706 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4707
4708 * include/grub/elfload.h (grub_elf32_size): New parameter.
4709 All users updated.
4710 Return maximum segments alignment.
4711 (grub_elf64_size): Likewise.
4712 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4713 Return maximum segments alignment.
4714 (grub_elf64_size): Likewise.
4715 * grub-core/loader/powerpc/ieee1275/linux.c:
4716 (grub_linux_claimmap_iterate): New function. Uses the
4717 "available" property in the "memory" node for memory allocation
4718 for kernel in the PowerPC loader.
4719 (grub_linux_load32): Correctly find linux entry point offset.
4720 (grub_linux_load64): Likewise.
4721
4722 2010-11-07 Robert Millan <rmh@gnu.org>
4723
4724 On mips-yeeloong, build with -march=loongson2f when this flag is
4725 available (GCC >= 4.4).
4726 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4727 `-march=mips3'.
4728 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4729 or otherwise add -march=mips3.
4730
4731 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4732
4733 Suppress shell expansion on echo '*' and echo "*" like cases.
4734 Reported by: Jordan Uggla.
4735
4736 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4737 string arguments before shell expansion.
4738 * tests/grub_cmd_echo.in: New testcases.
4739
4740 2010-11-07 Robert Millan <rmh@gnu.org>
4741
4742 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4743 transition.
4744
4745 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/kern/emu/hostdisk.c
4748 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4749
4750 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4753 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4754 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4755
4756 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4759
4760 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * util/grub-install.in: Replace useless recomendation to pass
4763 --modules with a recomendation to report a bug.
4764
4765 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Properly register serial terminfo.
4768 Reported by: Jordan Uggla
4769
4770 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4771 const.
4772 (grub_serial_terminfo_output_template): Likewise.
4773 (grub_cmd_serial): Register "serial" with terminfo.
4774 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4775 grub_serial_terminfo_output.
4776
4777 2010-11-05 Robert Millan <rmh@gnu.org>
4778
4779 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4780 needed).
4781
4782 2010-11-05 Robert Millan <rmh@gnu.org>
4783
4784 On Yeeloong, pass machine type information to Linux.
4785
4786 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4787 (LOONGSON_MACHTYPE): New macro, set to
4788 "machtype=lemote-yeeloong-2f-8.9inches".
4789 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4790 additional argument to Linux.
4791
4792 2010-11-04 Robert Millan <rmh@gnu.org>
4793
4794 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4795 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4796 (its SATA disks are detected as slaveless IDE master drives on
4797 kFreeBSD).
4798 Reported by Carsten Aulbert.
4799
4800 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
4801
4802 * util/bin2h.c (main): Fix spelling error in generated output.
4803
4804 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4805
4806 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4807
4808 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4811 vga= option is supplied.
4812
4813 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4816 * util/grub.d/10_kfreebsd.in: Likewise.
4817 * util/grub.d/10_linux.in: Likewise.
4818 * util/grub.d/20_linux_xen.in: Likewise.
4819
4820 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4823 argument as an argument to no-argument option.
4824
4825 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/grub.d/10_linux.in: Add missing load_video with explicit
4828 GRUB_GFXPAYLOAD_LINUX.
4829
4830 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4833
4834 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4837 elements with invlid index.
4838 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4839 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4840 members.
4841 * include/grub/raid.h (grub_raid_member): New struct.
4842 (grub_raid_array): Transform devices and start_sector into usage of
4843 grub_raid_member. All users updated
4844 (allocated_devs): New member.
4845
4846 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4849 is modified
4850
4851 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4852
4853 NetBSD build fix for getline function conflict from gnulib.
4854
4855 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4856 components that depend on gnulib headers.
4857 (libgrubmods.a): Renamed from earlier libgrub.a.
4858 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4859
4860 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4863 install rather than creating a broken install.
4864
4865 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * util/grub-setup.c (argp): Remove misleading example of installing to
4868 a partition.
4869
4870 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * util/grub-setup.c (setup): Clarify the error message.
4873
4874 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4877
4878 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/kern/emu/misc.c
4881 (grub_make_system_path_relative_to_its_root)
4882 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4883
4884 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/kern/emu/misc.c
4887 (grub_make_system_path_relative_to_its_root): Revert r2882.
4888
4889 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4892 useless field head. All users updated.
4893 (free_subchunk): Correct handling of IN_REGION subchunk.
4894
4895 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
4896
4897 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4898 (Supported kernels): Likewise.
4899
4900 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4901
4902 Make mktemp invocations portable.
4903
4904 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4905 exit if mktemp fails.
4906 * tests/grub_script_blockarg.in: Likewise.
4907 * tests/partmap_test.in: Likewise.
4908 * tests/util/grub-shell-tester.in: Likewise.
4909 * tests/util/grub-shell.in: Likewise.
4910 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4911 * Makefile.am: Likewise, and chain shell commands with `&&'
4912 instead of ';'.
4913 * util/grub-mkrescue.in: Use the same explicit template as above, and
4914 exit if mktemp fails.
4915
4916 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4917
4918 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4919 Linux kernel, reported by Dennis Schridde.
4920
4921 2010-10-17 Szymon Janc <szymon@janc.net.pl>
4922
4923 * grub-core/normal/auth.c (grub_auth_check_authentication):
4924 Set-but-not-used variable removed.
4925
4926 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4929 32-bit linux protocol.
4930
4931 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4934 cursor shape for sanity.
4935
4936 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * docs/grub.texi (Installation): Document buggy BIOS install.
4939
4940 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * docs/grub.texi (Installation): Indent.
4943
4944 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * util/grub-setup.c (setup): New parameter allow_floppy.
4947 (arguments): New member allow_floppy.
4948 (argp_parser): Handle --allow-floppy.
4949 (main): Pass allow_floppy.
4950 * util/grub-install.in: New option --allow-floppy passed though to
4951 grub-setup.
4952
4953 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * util/grub-install.in: Handle partitionless disks.
4956
4957 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * util/grub-setup.c (setup): Don't clean blocklists before readability
4960 verfification.
4961
4962 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * docs/grub.texi (Installation): Document embedding zone. Remove
4965 obsolete grub-install example.
4966
4967 2010-10-16 Szymon Janc <szymon@janc.net.pl>
4968
4969 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4970 Set-but-not-used variable ifdef'ed.
4971 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4972 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4973 variable removed.
4974 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4975 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4976 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4977 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4978 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4979 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4980 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4981 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4982 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4983 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4984 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4985 Likewise.
4986
4987 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4990 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4991 enum value.
4992
4993 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4996 synonym to _S5_. Needed for some DSDTs.
4997
4998 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Userspace ACPI parser debugging.
5001
5002 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5003 headers and add relevant defines. Don't include standard headers.
5004 (main) [GRUB_DSDT_TEST]: New function.
5005 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5006 Don't declare functions.
5007
5008 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 Remove dead grub_efi_mm_fini.
5011
5012 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5013 (ALLOCATED_PAGES_SIZE): Likewise.
5014 (MAX_ALLOCATED_PAGES): Likewise.
5015 (allocated_pages): Likewise.
5016 (grub_efi_allocate_pages): Don't record allocated pages.
5017 (grub_efi_free_pages): Likewise.
5018 (grub_efi_mm_init): Likewise.
5019 (grub_efi_mm_fini): Removed.
5020
5021 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5024 (grub_efi_mm_init): Take into account the memory map size increase.
5025
5026 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5029 (serial_hw_put): Wait based on real time rather than port reads. Don't
5030 roken ports.
5031 * include/grub/serial.h (grub_serial_port): New field broken.
5032
5033 2010-10-16 Robert Millan <rmh@gnu.org>
5034
5035 * grub-core/kern/emu/misc.c
5036 (grub_make_system_path_relative_to_its_root): Fix premature return
5037 when processing non-root ZFS filesystems.
5038 Reported by Sergio Talens-Oliag.
5039
5040 2010-10-15 Robert Millan <rmh@gnu.org>
5041
5042 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5043 guarantee compressed ones are processed first.
5044
5045 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5048 grub_efiemu_autocore.
5049
5050 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5053 rather than 0x1b.
5054 (grub_console_getkey): Use correct jae opcode rather than ja.
5055
5056 2010-10-12 Robert Millan <rmh@gnu.org>
5057
5058 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
5059 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
5060 variable. All references updated.
5061
5062 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
5063
5064 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Correctly distinguish mdraid flavours.
5067
5068 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
5069 (insert_array): New argument raid.
5070 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
5071 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
5072 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
5073
5074 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
5077 handling of special keys.
5078
5079 2010-10-02 Aleš Nesrsta <starous@volny.cz>
5080
5081 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
5082 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
5083
5084 2010-10-02 Aleš Nesrsta <starous@volny.cz>
5085
5086 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
5087 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
5088 users updated.
5089 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
5090 Use right endpoint when querying descriptor.
5091
5092 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 Clear out 0x80 color bit on EFI.
5095 Tested by: decoder
5096 Reported by: decoder and meta tech.
5097
5098 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
5099 (grub_console_setcolorstate): Clear out 0x80 bit.
5100 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
5101 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
5102 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
5103
5104 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
5107 Set to "auto".
5108
5109 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
5112 mo_file after freeing.
5113
5114 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
5117
5118 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
5121 flags.
5122
5123 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
5126 usage.
5127
5128 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 Put terminfo into core on ieee1275 and yeeloong (needed for console).
5131
5132 * gentpl.py: New groups terminfoinkernel and terminfomodule.
5133 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
5134 and terminfo.h when needed.
5135 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
5136 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
5137 (terminfo): Enable only on terminfokernel.
5138 (extcmd): Likewise.
5139 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
5140 * include/grub/lib/arg.h: Likewise.
5141 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
5142 incorrect usage of ->.
5143
5144 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
5147 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
5148
5149 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Fix coreboot compilation.
5152
5153 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5154 Take VBE info into account even if only text is supported.
5155 (fill_vbe_info): Take into account the case when only VGA text
5156 is supported.
5157 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
5158 on coreboot, multiboot and qemu.
5159
5160 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
5163 debug messages.
5164 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
5165
5166 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
5169 parameters.
5170
5171 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
5174 if they were BSD-style.
5175
5176 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/boot/i386/pc/lnxboot.S: Replace
5179 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
5180 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
5181
5182 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Write embedding zone using Reed-Solomon.
5185
5186 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
5187 * grub-core/Makefile.am (rs_decoder.S): New target.
5188 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
5189 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
5190 (multiboot): Move to RS part.
5191 (post_reed_solomon): New label.
5192 (grub_boot_drive): Move to non-RS part since it's modified in memory
5193 on boot.
5194 Include rs_decoder.S.
5195 * grub-core/lib/reed_solomon.c: New file.
5196 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
5197 New definition.
5198 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
5199 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
5200 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
5201 * include/grub/partition.h (grub_partition_map): Change prototype of
5202 embed to allow returning additional sectors.
5203 * include/grub/reed_solomon.h: New file.
5204 * util/grub-setup.c (setup): Handle Reed-Solomon.
5205
5206 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
5207
5208 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5209 i386 and x86-64 definedness tests.
5210
5211 2010-09-27 Yves Blusseau <blusseau@zetam.org>
5212
5213 Fix generation of kernel_syms.lst
5214
5215 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
5216 ASM_PREFIX
5217
5218 2010-09-26 Robert Millan <rmh@gnu.org>
5219
5220 Support degraded ZFS arrays in "grub-probe -t device" resolution.
5221
5222 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
5223 the pool is an array of devices, iterate through it and return the
5224 first device that passes a stat() test (instead of blindly returning
5225 the first one).
5226
5227 2010-09-26 Robert Millan <rmh@gnu.org>
5228
5229 Build fixes for GNU/kFreeBSD.
5230
5231 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
5232 to programs that require ZFS conversion.
5233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
5234 kernels that don't have FLOPPY_MAJOR.
5235
5236 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5237
5238 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
5239
5240 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5241
5242 Fix grub-emu build.
5243
5244 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
5245 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
5246 mdraid09 and mdraid1x.
5247
5248 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
5249
5250 Re-enable grub-extras.
5251
5252 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
5253 avoid confusing Automake. Run autogen only twice, once for the top
5254 level and once for grub-core. Add Makefile.util.def and
5255 Makefile.core.def from extra modules to the appropriate autogen
5256 invocations. If Makefile.common exists in an extra module, include
5257 it in both Makefile.util.am and grub-core/Makefile.core.am;
5258 similarly, include any Makefile.util.common file in Makefile.util.am
5259 and any Makefile.core.common file in grub-core/Makefile.core.am.
5260 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
5261 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
5262 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
5263 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
5264
5265 * gentpl.py (gvar_add): Turn GVARS into a set.
5266 (global_variable_initializers): Sort global variables on output.
5267 (vars_init): New function.
5268 (first_time): Likewise.
5269 (library): Ensure that non-global variable initialisations are
5270 emitted before the first time we emit code for a library block.
5271 Append to variables rather than setting them. Only emit
5272 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
5273 each conditional path.
5274 (program): installdir() emits an Autogen macro, so must be passed to
5275 var_add rather than gvar_add.
5276 (data): Likewise.
5277 (script): Likewise.
5278 (rules): New function, centralising handling for different target
5279 types. Set up Guile association lists for first_time and vars_init,
5280 and send most output to a diversion so that variable initialisations
5281 can be emitted first.
5282 (module_rules): Use new rules function.
5283 (kernel_rules): Likewise.
5284 (image_rules): Likewise.
5285 (library_rules): Likewise.
5286 (program_rules): Likewise.
5287 (script_rules): Likewise.
5288 (data_rules): Likewise.
5289
5290 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
5291
5292 * .bzrignore: Add contrib and grub-core/contrib. Remove
5293 grub-core/Makefile.gcry.am.
5294
5295 2010-09-24 Yves Blusseau <blusseau@zetam.org>
5296
5297 * grub-core/lib/LzFind.c: Add missing include.
5298 * grub-core/lib/LzmaEnc.c: Likewise.
5299 * grub-core/script/lexer.c: Likewise.
5300 * grub-core/script/yylex.l: Likewise.
5301 * util/grub-macho2img.c: Likewise.
5302 * util/grub-menulst2cfg.c: Likewise.
5303 * util/grub-mklayout.c: Likewise.
5304 * util/grub-mkpasswd-pbkdf2.c
5305 * util/grub-mkrelpath.c: Likewise.
5306 * util/resolve.c: Likewise.
5307
5308 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
5309
5310 * Makefile.util.def (example_unit_test): Add
5311 grub-core/gnulib/libgnu.a.
5312
5313 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
5314
5315 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
5316
5317 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 Support xz compression on yeeloong.
5320
5321 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
5322 * configure.ac: Check for LZMA.
5323 * grub-core/Makefile.core.def (xz_decompress): New target.
5324 (none_decompress): Likewise.
5325 * grub-core/boot/decompressor/minilib.c: New file.
5326 * grub-core/boot/decompressor/none.c: Likewise.
5327 * grub-core/boot/decompressor/xz.c: Likewise.
5328 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
5329 * grub-core/kern/mips/cache_flush.S: Likewise.
5330 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
5331 * grub-core/kern/mips/startup.S: Move first stage to ...
5332 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
5333 nomacro.
5334 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
5335 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
5336 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
5337 Allocate statically.
5338 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
5339 Allocate statically or use scratch. Don't check CRC32.
5340 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
5341 Allocate statically. Don't check CRC32.
5342 * include/grub/decompressor.h: New file.
5343 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
5344 Removed.
5345 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
5346 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
5347 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
5348 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
5349 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
5350 * util/grub-mkimage.c (grub_compression_t): New type.
5351 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5352 (image_target_desc): New field default_compression.
5353 (image_targets): Adjust yeeloong targets.
5354 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5355 (compress_kernel): New parameter comp.
5356 (generate_image): Likewise. Handle new compression case.
5357 (options): New option --compression
5358 (help): Likewise.
5359 (main): Handle new option.
5360
5361 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5362
5363 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5364
5365 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
5366
5367 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5368 typo in __i386__ conditional.
5369
5370 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5373 include.
5374
5375 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Implement EFI and ACPI multiboot2 extensions.
5378
5379 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5380 new tags as supported.
5381 (acpiv2_size): New function.
5382 (grub_multiboot_get_mbi_size): Take new tags into account.
5383 (grub_multiboot_make_mbi): Add new tags.
5384 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
5385
5386 2010-09-21 Aleš Nesrsta <starous@volny.cz>
5387
5388 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5389 Added missing configuration of USB device.
5390
5391 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5392
5393 * grub-core/normal/menu_entry.c (run): Make sure we always return
5394 a value.
5395
5396 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5397
5398 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5399 NumberOfPages is UINT64 according to the UEFI specification, not
5400 UINTN. Fix printf format.
5401
5402 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5403
5404 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5405 `err' to grub_usb_err_t.
5406 Reported and tested by: KESHAV P.R.
5407
5408 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5409
5410 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5411 tpart non-const, so that we can assign to it. (Since this is a
5412 typedef, the constness refers to the pointer rather than what it
5413 points to.)
5414
5415 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5416
5417 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5418 $(top_srcdir)/grub-core/gnulib as well as
5419 $(top_builddir)/grub-core/gnulib.
5420 Reported by: KESHAV P.R.
5421
5422 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * util/grub-install.in: Fix the bootloader ID option to be
5425 consistently --bootloader-id, not --bootloader_id.
5426 Reported by: KESHAV P.R.
5427
5428 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5431 check hash checksum." consistently translatable.
5432
5433 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5434
5435 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5436 $(top_builddir).
5437
5438 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5439
5440 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5441 (GRUB_MOD_INIT): Register sha1sum command.
5442 (GRUB_MOD_FINI): Unregister sha1sum command.
5443
5444 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5445
5446 Keep boot and grub directory names in sync with utils scripts
5447
5448 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5449 * config.h.in: Add previous macros.
5450 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5451 * util/grub-install.in: Use $bootdir and $grubdir variables.
5452
5453 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5454
5455 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5456 convert partition names to disk names if the new `convert' parameter
5457 is set.
5458 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5459 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5460 disk in its own right. This can happen with Xen disk images.
5461
5462 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5463
5464 * util/grub-editenv.c: Update strings to avoid warnings when generating
5465 grub.pot file.
5466 * util/grub-setup.c: Likewise.
5467
5468 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * configure.ac: Change version to 1.99~beta0.
5471
5472 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5475 Add BADRAM.
5476 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5477 Likewise.
5478 * include/multiboot.h: Resynced with specification.
5479 * include/multiboot2.h: Likewise.
5480
5481 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5482
5483 Fix po directory handling.
5484
5485 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5486 * grub-core/gnulib/Makefile.am: Import gettext module.
5487 * m4/gnulib-cache.m4: Likewise.
5488 * m4/gnulib-comp.m4: Likewise.
5489 * m4/gettext.m4: New file, from gnulib.
5490 * m4/glibc2.m4: Likewise.
5491 * m4/iconv.m4: Likewise.
5492 * m4/intdiv0.m4: Likewise.
5493 * m4/intl.m4: Likewise.
5494 * m4/intldir.m4: Likewise.
5495 * m4/intlmacosx.m4: Likewise.
5496 * m4/intmax.m4: Likewise.
5497 * m4/inttypes-pri.m4: Likewise.
5498 * m4/lcmessage.m4: Likewise.
5499 * m4/lib-ld.m4: Likewise.
5500 * m4/lib-link.m4: Likewise.
5501 * m4/lib-prefix.m4: Likewise.
5502 * m4/lock.m4: Likewise.
5503 * m4/nls.m4: Likewise.
5504 * m4/po.m4: Likewise.
5505 * m4/printf-posix.m4: Likewise.
5506 * m4/progtest.m4: Likewise.
5507 * m4/threadlib.m4: Likewise.
5508 * m4/uintmax_t.m4: Likewise.
5509 * m4/visibility.m4: Likewise.
5510 * po/Makefile.am: Remove.
5511 * po/Makefile.in.in: New file, from gettext.
5512 ($(DOMAIN).pot-update): Support POTFILES-shell.
5513 * po/Makevars: New file.
5514 * po/POTFILES-shell: Rename to ...
5515 * po/POTFILES-shell.in: ... this. Update.
5516 * po/POTFILES: Rename to ...
5517 * po/POTFILES.in: ... this. Update.
5518 * po/Rules-quot: New file, from gettext.
5519 * po/boldquot.sed: Likewise.
5520 * po/en@boldquot.header: Likewise.
5521 * po/en@quot.header: Likewise.
5522 * po/insert-header.sin: Likewise.
5523 * po/quot.sed: Likewise.
5524 * po/remove-potcdate.sin: Likewise.
5525
5526 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5529
5530 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * util/grub.d/20_linux_xen.in: Use submenus.
5533
5534 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Support submenus.
5537
5538 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5539 parameter submenu. All users updated.
5540 * grub-core/normal/main.c (free_menu): Rename to ...
5541 (grub_normal_free_menu): ... this. Made global.
5542 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5543 if requested.
5544 * grub-core/normal/menu_entry.c (screen): New field submenu.
5545 (make_screen): Set submenu.
5546 (run): Open new context if requested.
5547 * include/grub/menu.h (grub_menu_entry): New field submenu.
5548 * include/grub/normal.h (grub_normal_free_menu): New proto.
5549
5550 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Menu entries extractor.
5553
5554 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5555 variants.
5556 (GRUB_MOD_INIT): Register new variants.
5557 (GRUB_MOD_FINI): Unregister new variants.
5558 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5559 into grub_cmd_legacy_source.
5560 (grub_cmd_legacy_source): Implement extractor variants.
5561 (GRUB_MOD_INIT): Register new variants.
5562 (GRUB_MOD_FINI): Unregister new variants.
5563 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5564 as an extractor.
5565 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5566 search as an extractor.
5567 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5568 test as an extractor.
5569 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5570 as an extractor.
5571 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5572 (grub_env_new_context): New function.
5573 (grub_env_context_open): Likewise.
5574 (grub_env_extractor_open): Likewise.
5575 (grub_env_extractor_close): Likewise.
5576 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5577 grub_extractor_level.
5578 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5579 * include/grub/env.h (grub_env_extractor_open): New proto.
5580 (grub_env_extractor_close): Likewise.
5581 * include/grub/normal.h (grub_extractor_level): New external variable.
5582
5583 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 Make cutmem accept a region specification.
5586 Suggested by: Samuel Thibault
5587
5588 * grub-core/mmap/mmap.c (parsemem): New function.
5589 (grub_cmd_cutmem): Handle new arguments.
5590
5591 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 New command cutmem.
5594
5595 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5596 (GRUB_MOD_INIT): Register new command.
5597 (GRUB_MOD_FINI): Unregister new command.
5598
5599 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Support some annoying BSD and Minix subpartitions.
5602
5603 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5604 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5605 Properly handle concatenation.
5606 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5607 * grub-core/normal/completion.c (iterate_partition): Likewise.
5608 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5609 contain partition. All users updated.
5610 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5611 struct.
5612 (grub_openbsdlabel_partition_map): Likewise.
5613 (bsdlabel_partition_map_iterate): Rename to ..
5614 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5615 (bsdlabel_partition_map_iterate): New function.
5616 (netopenbsdlabel_partition_map_iterate): Likewise.
5617 (netbsdlabel_partition_map_iterate): Likewise.
5618 (openbsdlabel_partition_map_iterate): Likewise.
5619 (GRUB_MOD_INIT): Register new partmaps.
5620 (GRUB_MOD_FINI): Unregister new partmaps.
5621 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5622 (grub_partition_msdos_iterate): ... this. All users updated.
5623 Don't support embedding other than in a minix partition.
5624 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5625 proto.
5626 * include/grub/partition.h (grub_partition): New field msdostype.
5627 * util/grub-install.in: Handle openbsd and netbsd types being in
5628 part_bsd module.
5629
5630 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5633
5634 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5635 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5636 (mdraid09): ... this.
5637 (mdraid1x): New module.
5638 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5639 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5640
5641 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5644 vsprintf.
5645
5646 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * grub-core/commands/efi/lsefimmap.c: Correct header.
5649 * NEWS: Update.
5650
5651 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5652
5653 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5654 as printf format strings; the translations might contain '%' which
5655 could cause a crash.
5656 (main): Likewise.
5657 * util/grub-fstest.c (argp_parser): Likewise.
5658 * util/grub-setup.c (argp_parser): Likewise.
5659 (main): Likewise.
5660
5661 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Use argp in grub-fstest.
5664
5665 * util/grub-fstest.c: Don't include getopt.h.
5666 Include argp.h.
5667 (root): New variable.
5668 (args_count): Likewise.
5669 (nparm): Likewise.
5670 (num_disks): Likewise.
5671 (images): Likewise.
5672 (cmd): Likewise.
5673 (debug_str): Likewise.
5674 (args): Likewise.
5675 (options): Transformed to argp.
5676 (usage): Removed.
5677 (main): Split argument parsing into ...
5678 (argp_parser): ... this. Changed to argp format.
5679 (argp): New variable.
5680 (main): Use argp_parse.
5681
5682 2010-09-20 Tristan Gingold <gingold@free.fr>
5683 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
5684 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/commands/efi/lsefimmap.c: New file.
5687 * grub-core/Makefile.core.def (lsefimmap): New module.
5688 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5689
5690 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 Pause the execution (10s max) if any errors are displayed so the user
5693 has a chance to see them.
5694
5695 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5696 (grub_print_error): Increment grub_err_printed_errors.
5697 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5698 execution if any errors were displayed.
5699 (show_menu): Remove old code for pause.
5700 * grub-core/normal/menu_entry.c (run): Likewise.
5701 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5702 users updated.
5703 (grub_normal_get_char_counter): Likewise.
5704 * include/grub/err.h (grub_err_printed_errors): New external variable.
5705 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5706
5707 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Support multiboot VBE info.
5710
5711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5712 Take VBE info into account.
5713 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5714 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5715 Call fill_vbe_info when appropriate.
5716 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5718 as supported.
5719 (grub_multiboot_get_mbi_size): Take new tags into account.
5720 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5721 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5722 Call fill_vbe_tag when appropriate.
5723 (grub_multiboot_make_mbi): Properly align tags.
5724 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5725 function.
5726 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5727 proto.
5728 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5729
5730 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 Suport manual terminal geometry specification.
5733
5734 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5735 Save state in grub_ofconsole_terminfo_output.
5736 (grub_ofconsole_term): Use grub_terminfo_getwh.
5737 (grub_ofconsole_getwh): Removed.
5738 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5739 (grub_serial_term): Use grub_terminfo_getwh.
5740 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5741 (options): New struct.
5742 (OPTION_*): New enum.
5743 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5744 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5745 width and height.
5746 (grub_terminfo_getwh): New proto.
5747 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5748
5749 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 Handle legacy "terminal" command.
5752
5753 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5754 and FLAG_TERMINAL.
5755 (legacy_commands): Add terminal and title.
5756 (grub_legacy_parse): Handle terminal. Simplify title handling.
5757
5758 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5761 parameters overflow.
5762
5763 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5766 widthspec.h.
5767
5768 * docs/grub.texi (Shell-like scripting): Document `!'.
5769 (Network): Simplify using new i386-pc-pxe format. Mention
5770 grub-mknetdir.
5771
5772 * NEWS: Update.
5773
5774 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5775
5776 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5777 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5778 when needed.
5779
5780 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * grub-core/commands/efi/lsefisystab.c: Correct header.
5783 * grub-core/commands/efi/lssal.c: Likewise.
5784 * grub-core/commands/testload.c: Likewise.
5785
5786 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * util/grub-mkrescue.in: Add explicit root argument to --set to
5789 prevent the UUID being interpreted as an argument to --set (matches
5790 previous change to prepare_grub_to_access_device).
5791
5792 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5793
5794 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5795 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5796 the verbosity of later #ifs.
5797 (find_partition_start): Define this function on FreeBSD too.
5798 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5799 function.
5800 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5801 on FreeBSD.
5802
5803 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5804
5805 * util/grub-editenv.c: Use argp instead of getopt.
5806
5807 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5808
5809 * util/grub-setup.c: Use argp instead of getopt.
5810
5811 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5812
5813 Use gnulib-tool to create gnulib source files.
5814
5815 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5816 grub-core/gnulib directories
5817 * .bzignore: Add **/.deps and autogenerated gnulib files
5818 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5819 of gnulib macros, add grub-core/gnulib/Makefile
5820 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5821 include m4 directory to aclocal.
5822 * Makefile.util.def: Remove direct compilation of gnulib source files
5823 and use the new grub-core/gnulib/libgnu.a.
5824 * build-aux/config.rpath: move config.rpath from top directory to
5825 build-aux
5826 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5827 in gnulib headers
5828 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5829 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5830 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5831 header.
5832 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5833 string.
5834
5835 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5836
5837 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5838 grub-core/genmod.sh and grub-core/gensyminfo.sh
5839
5840 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5841
5842 Add a test for echo command options.
5843
5844 * tests/grub_cmd_echo.in: New test.
5845 * Makefile.util.def: Rules for new test.
5846
5847 2010-09-20 Szymon Janc <szymon@janc.net.pl>
5848
5849 Remove crc.mod and move crc command to hashsum.mod.
5850 Remove lib/crc.c - users updated to use gcrypt implementation.
5851
5852 * grub-core/commands/crc.c: Removed.
5853 * grub-core/Makefile.core.def (crc): Module removed.
5854 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5855 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5856 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5857 * grub-core/lib/crc.c: Removed.
5858 * include/grub/lib/crc.h: Removed.
5859 * Makefile.util.def (crc): Remove lib/crc.c
5860 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5861 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5862 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5863 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5864 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5865 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5866
5867 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5870
5871 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 Split config.h for util and core.
5874
5875 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5876 (ADDR32): Likewise.
5877 (DATA32): Likewise.
5878 (BSS_START_SYMBOL): Likewise.
5879 (END_SYMBOL): Likewise.
5880 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5881 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5882 * config.h.in: New file.
5883 * configure.ac: Use config-util.h as config define file.
5884 Rename MACHINE into GRUB_MACHINE. All users updated.
5885 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5886 updated.
5887 (NESTED_FUNC_ATTR): Likewise.
5888 Substitue new variables.
5889 (COND_HAVE_ASM_USCORE): New conditional.
5890 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5891 (kernel_syms.lst): Use ASM_PREFIX.
5892 * grub-core/kern/emu/console.c: Include config-util.h.
5893 * grub-core/kern/emu/misc.c: Likewise.
5894 * grub-core/kern/emu/mm.c: Likewise.
5895 * include/grub/emu/misc.h: Likewise.
5896 * include/grub/libgcc.h: Likewise.
5897
5898 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5901 constants usage.
5902 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5903 Fix GRUB_TERM_KEY_* constants usage.
5904 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5905
5906 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5909 print pointer.
5910 * grub-core/bus/usb/uhci.c: Remove empty define.
5911 (grub_uhci_check_transfer): Add missing cast.
5912 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5913 print pointer.
5914 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5915 PRIuGRUB_SIZE.
5916 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5917
5918 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/Makefile.core.def (legacycfg): Add
5921 lib/i386/pc/vesa_modes_table.c on emu.
5922
5923 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5924
5925 Reduce number of temporary files generated by build system.
5926
5927 * grub-core/gencmdlist.sh: Removed.
5928 * grub-core/genfslist.sh: Removed.
5929 * grub-core/genhandlerlist.sh: Removed.
5930 * grub-core/genmodsrc.sh: Removed.
5931 * grub-core/genpartmaplist.sh: Removed.
5932 * grub-core/genparttoollist.sh: Removed.
5933 * grub-core/gentermiinallist.sh: Removed.
5934 * grub-core/genvideolist.sh: Removed.
5935
5936 * grub-core/genmod.sh.in: New file.
5937 * grub-core/gensyminfo.sh.in: New file.
5938
5939 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5940 * conf/Makefile.extra-dist: Update with new files.
5941 * gentpl.py: Remove rules related to unnecessary temporary files.
5942 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5943 and und-* files.
5944 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5945 genmod.sh scripts.
5946 * grub-core/bus/usb/uhci.c: Remove empty #define.
5947 * grub-core/genmoddep.awk: Updated with new syminfo format.
5948 * util/bash-completion.d/Makefile.am: Add config.log to
5949 CLEANFILES.
5950
5951 2010-09-19 Yves Blusseau <blusseau@zetam.org>
5952
5953 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5954
5955 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5956
5957 * util/grub-mkconfig.in: Check the config script for syntax errors
5958 before saving.
5959
5960 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
5961 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5964 platforms.
5965 * util/grub-install.in: Add EFI and IEEE1275 support.
5966 * util/i386/efi/grub-install.in: Removed.
5967 * util/ieee1275/grub-install.in: Likewise.
5968
5969 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5972 (grub_cmd_cmosclean): Likewise.
5973 (GRUB_MOD_INIT): Register command cmosclean.
5974 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5975 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5976
5977 2010-09-18 Carles Pina i Estany <carles@pina.cat>
5978 2010-09-18 Aleš Nesrsta <starous@volny.cz>
5979 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 Add keyboard layouts support.
5982
5983 * Makefile.util.def (grub-mklayout): New file.
5984 (grub-kbdcomp): New script.
5985 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5986 Add keyboard_layouts.h.
5987 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5988 commands/boot.c on yeeloong.
5989 (keylayouts): New module.
5990 * grub-core/bus/usb/ohci.c
5991 * grub-core/bus/usb/uhci.c
5992 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5993 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5994 (attach_root_port): Likewise.
5995 (poll_nonroot_hub): Likewise.
5996 (grub_usb_poll_devices): Likewise.
5997 (detach_device): Close transfer.
5998 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5999 function.
6000 (grub_usb_bulk_setup_readwrite): Likewise.
6001 (grub_usb_bulk_finish_readwrite): Likewise.
6002 * grub-core/commands/keylayouts.c: New file.
6003 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6004 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6005 aliases.
6006 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6007 support scancode 2.
6008 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6009 * include/grub/keyboard_layouts.h: New file.
6010 * util/grub-mklayout.c: New file.
6011 * util/grub-kbdcomp.in: Likewise.
6012
6013 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Unify memory types.
6016
6017 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6018 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6019 types.
6020 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6021 (grub_upper_mem): Likewise.
6022 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6023 * include/grub/memory.h (grub_memory_type_t): New enum.
6024 All users updated.
6025
6026 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/Makefile.core.def (lsapm): New module.
6029 * grub-core/commands/i386/pc/lsapm.c: New file.
6030 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6031 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6032 Likewise.
6033 * include/grub/i386/pc/apm.h: New file.
6034 * include/multiboot.h (multiboot_apm_info): New struct.
6035
6036 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 GRUB-legacy configuration file support.
6039
6040 * Makefile.util.def (grub-menulst2cfg): New util.
6041 * docs/man/grub-menulst2cfg.h2m: New file.
6042 * grub-core/Makefile.core.def (legacycfg): New module.
6043 * grub-core/commands/legacycfg.c: New file.
6044 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6045 (grub_normal_add_menu_entry): ... this.
6046 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6047 (grub_normal_set_password): ...this.
6048 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6049 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6050 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6051 * grub-core/lib/legacy_parse.c: New file.
6052 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6053 * include/grub/i386/pc/vesa_modes_table.h: New file.
6054 * include/grub/legacy_parse.h: Likewise.
6055 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
6056 * util/grub-menulst2cfg.c: New file.
6057
6058 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6059
6060 * grub-core/kern/emu/hostdisk.c
6061 (convert_system_partition_to_system_disk): Initialise node.
6062
6063 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6064
6065 * grub-core/kern/emu/hostdisk.c
6066 (convert_system_partition_to_system_disk): Fix devmapper memory pool
6067 leak.
6068 Reported and based on patch by: Modestas Vainius.
6069
6070 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6071
6072 Fix DM-RAID probing with recent versions of device-mapper udev
6073 rules.
6074
6075 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
6076 canonicalise device paths under /dev/mapper/.
6077 (convert_system_partition_to_system_disk): Compare the
6078 uncanonicalised path to /dev/mapper/ rather than the canonicalised
6079 path, since device nodes under /dev/mapper/ are often symlinks.
6080
6081 2010-09-17 Yves Blusseau <blusseau@zetam.org>
6082
6083 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
6084
6085 2010-09-16 Yves Blusseau <blusseau@zetam.org>
6086
6087 * configure.ac: Avoid some annoying error messages if freetype-config
6088 program is not found.
6089
6090 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6091
6092 Support RAID on virtio devices, and others.
6093
6094 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
6095 Rename to ...
6096 [__MINGW32__] (grub_find_device): ... this.
6097 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
6098 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
6099 reasonable default if dir is NULL.
6100 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
6101 ...
6102 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
6103 (grub_guess_root_device): Update callers.
6104 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
6105
6106 * util/raid.c (grub_util_getdiskname): Remove.
6107 (grub_util_raid_getmembers): Use grub_find_device rather than
6108 grub_util_getdiskname.
6109
6110 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6111
6112 * docs/grub.texi (serial): Remove obsolete comment about GRUB
6113 needing to be compiled with serial support.
6114 (ls): Indicate that multiple files are accepted.
6115 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
6116 indicate that multiple files are accepted.
6117
6118 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6119
6120 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
6121 libgrub_a_init.c, and util/bash-completion.d/grub.
6122
6123 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * util/grub-setup.c (setup): Fix incorrect container semantics.
6126
6127 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
6130 misusage.
6131 Reported by: J. Nick Terry
6132
6133 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 Move embedding routines to partmap sources files.
6136
6137 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
6138 [GRUB_UTIL]: New variable.
6139 (gpt_partition_map_iterate): Set part.parent.
6140 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
6141 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
6142 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
6143 New function.
6144 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
6145 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
6146 (grub_partition_map) [GRUB_UTIL]: New field embed.
6147 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
6148 (setup): Use ->embed.
6149
6150 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
6153 function.
6154 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
6155 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
6156
6157 2010-09-15 Yves Blusseau <blusseau@zetam.org>
6158
6159 Add function to get completions from usage.
6160
6161 * util/bash-completion.d/grub-completion.bash.in: Add function to get
6162 completions from usage. Use LC_ALL=C to get options properly.
6163
6164 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/gnulib/basename-lgpl.c: Imported.
6167 * grub-core/gnulib/basename.c: Likewise.
6168 * grub-core/gnulib/dirname-lgpl.c: Likewise.
6169 * grub-core/gnulib/dirname.c: Likewise.
6170 * grub-core/gnulib/dirname.h: Likewise.
6171 * grub-core/gnulib/stripslash.c: Likewise.
6172
6173 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/gnulib/error.c: Resynced.
6176 * grub-core/gnulib/getopt.c: Likewise.
6177 * grub-core/gnulib/getopt_int.h: Likewise.
6178 * grub-core/gnulib/regex.h: Likewise.
6179 * grub-core/gnulib/regex_internal.c: Likewise.
6180 * grub-core/gnulib/regex_internal.h: Likewise.
6181
6182 2010-09-15 Szymon Janc <szymon@janc.net.pl>
6183
6184 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
6185 CRC calculations and validity checks.
6186 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
6187 calculations.
6188
6189 2010-09-15 Szymon Janc <szymon@janc.net.pl>
6190
6191 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
6192
6193 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Fix incorrect echo options handling.
6196 Reported by: Yves Blusseau.
6197
6198 * include/grub/command.h (grub_command_flags_t): New flags
6199 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
6200 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
6201 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
6202
6203 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
6206 users updated.
6207 (GRUB_COMMAND_FLAG_MENU): Likewise.
6208 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6209 (GRUB_COMMAND_FLAG_TITLE): Removed.
6210 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6211 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
6212 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
6213 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
6214 (grub_command_flags_t): New enum. All users updated.
6215
6216 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
6217
6218 Fix solaris compilation.
6219
6220 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
6221 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
6222 (grub-emu-list): Likewise.
6223
6224 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Remove deprecated root command.
6227
6228 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
6229 updated.
6230
6231 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * util/i386/pc/grub-setup.c: Merge this ...
6234 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
6235 * util/grub-setup.c: ... into this.
6236 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
6237 New struct.
6238
6239 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
6242 possible.
6243
6244 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
6247 allocate p.
6248
6249 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6252 explicit root argument to set to prevent UUID to be interpreted as
6253 argument to set.
6254
6255 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
6258
6259 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Don't export grub_gate_a20.
6262
6263 * grub-core/kern/i386/pc/init.c: Remove leftovers.
6264 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
6265 to ...
6266 (grub_gate_a20): ... this. All users updated.
6267 * include/grub/i386/pc/init.h: Removed. All users updated.
6268
6269 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 Create euro.pf2 which supports most European languages.
6272
6273 * Makefile.am (grubdata_DATA): Add euro.pf2.
6274 (euro.pf2): New target.
6275 (CLEANFILES): Add euro.pf2.
6276
6277 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * configure.ac: Disable emu-usb by default to prevent inadvertent
6280 device takeover.
6281
6282 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 Disable usbserial on grub-emu since our libusb code isn't good enough
6285 yet.
6286
6287 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
6288 (usbserial_pl2303): Likewise.
6289 (usbserial_ftdi): Likewise.
6290
6291 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * include/grub/disk.h (grub_disk): Remove has_partitions.
6294 All users updated.
6295 * disk/loopback.c (grub_loopback): Remove has_partitions.
6296 All users updated.
6297 (options): Remove partitions. All users updated.
6298 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
6299 * util/i386/pc/grub-setup.c (setup): copy partition table only when
6300 actual partition table is found.
6301
6302 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 Remove readability checks (too many false negatives).
6305
6306 * util/grub-install.in: Remove readability checks.
6307 * util/grub-mkconfig.in: Likewise.
6308 * util/grub.d/10_hurd.in: Likewise.
6309 * util/grub.d/10_kfreebsd.in: Likewise.
6310 * util/grub.d/10_linux.in: Likewise.
6311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
6312 way.
6313
6314 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Enable acpi shutdown on all ACPI platforms.
6317
6318 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
6319 on coreboo, multiboot and EFI.
6320 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
6321 (grub_acpi_halt): Likewise.
6322 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
6323 (grub_cmd_halt): Don't call grub_acpi_halt directly.
6324 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
6325 * grub-core/lib/i386/halt.c (grub_halt)
6326 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
6327
6328 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
6331 context.
6332
6333 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/video/efi_gop.c: Fix over-80-chars line.
6336 * grub-core/video/efi_uga.c: Likewise.
6337
6338 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Filter devaliases and never open same device twice.
6341
6342 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
6343 (last_ihandle): Likewise.
6344 (ofdisk_hash_ent): New member shortest.
6345 (ofdisk_hash_add): Add canonical path too.
6346 (scan): New function.
6347 (grub_ofdisk_iterate): Iterate over hashed entries.
6348 (compute_dev_path): Don't add :0.
6349 (grub_ofdisk_open): Don't really open the disk.
6350 (grub_ofdisk_close): Avoid closing unrelated disk.
6351 (grub_ofdisk_read): Implement reopen logic.
6352 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6353 New function.
6354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6355 New proto.
6356
6357 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Fix sparc64.
6360
6361 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6362 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6363 right address. Add sparc64_ieee1275_ldflags.
6364 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6365 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6366 to grub_host_to_target_addr
6367 (load_image): Likewise.
6368
6369 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/normal/completion.c (complete_file): Handle device
6372 containing slash.
6373 Fix based on patch by Doug Nazar.
6374
6375 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 grub-mknetdir script.
6378
6379 * Makefile.util.def (grub-mknetdir): New module.
6380 * tests/util/grub-shell.in: Support boot=net
6381 * util/grub-mknetdir.in: New file.
6382
6383 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 videoinfo on non-vbe.
6386
6387 * grub-core/Makefile.core.def (vbeinfo): Removed.
6388 (vbetest): Removed.
6389 (videoinfo): New module.
6390 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6391 * grub-core/commands/i386/pc/vbetest.c: Removed.
6392 * grub-core/commands/videoinfo.c: New file.
6393 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6394 specification.
6395 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6396 as vbetest.
6397 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6398 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6399 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6400 mode_number. New parameter mode. All users updated.
6401 (grub_video_gop_iterate): New function.
6402 (grub_video_efi_gop): New member iterate.
6403 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6404 (grub_vbe_set_video_mode): Remove setting useless fields.
6405 (vbe2videoinfo): New function.
6406 (grub_video_vbe_iterate): Likewise.
6407 (grub_video_vbe_setup): Use vbe2videoinfo.
6408 (grub_video_vbe_print_adapter_specific_info): New function.
6409 (grub_video_vbe_adapter): New fields iterate and
6410 print_adapter_specific_info.
6411 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6412 All users updated.
6413 (grub_video_mode_info): New field mode_number.
6414 (grub_video_adapter): New fields iterate and
6415 print_adapter_specific_info.
6416
6417 2010-09-13 Tristan Gingold <gingold@free.fr>
6418 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
6419 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/commands/efi/lsefisystab.c: New file.
6422 * grub-core/commands/efi/lssal.c: Likewise.
6423 * grub-core/Makefile.core.def (lsacpi): New module.
6424 (lsefisystab): Likewise.
6425 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6426 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6427 (grub_efi_sal_system_table): New struct.
6428 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6429 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6430 (grub_efi_sal_system_table_platform_features): Likewise.
6431 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6432 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6433 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6434 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6435
6436 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Support explicit user claim that a device is BIOS-visible.
6439
6440 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6441 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6442 * grub-core/kern/emu/hostdisk.c
6443 (convert_system_partition_to_system_disk): Support mdX.
6444 (find_system_device): New parameter add. All users updated.
6445 (grub_util_biosdisk_is_present): New function.
6446 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6447 proto.
6448
6449 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Search hints support.
6452
6453 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6454 All users updated.
6455
6456 2010-09-13 Yves Blusseau <blusseau@zetam.org>
6457
6458 Bash completion script for util commands
6459
6460 * Makefile.am: Add util/bash-completion.d directory
6461 * configure.ac: Likewise.
6462 * util/bash-completion.d/Makefile.am: New file.
6463 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6464
6465 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6468 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6469 Reported by: Yves Blusseau.
6470
6471 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6474 partition size and offset.
6475
6476 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6479
6480 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6483
6484 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6487 (grub_xvasprintf): Likewise.
6488
6489 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6492
6493 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6496 args ending with NULL.
6497
6498 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6501 pointer.
6502
6503 2010-09-11 Szymon Janc <szymon@janc.net.pl>
6504
6505 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6506
6507 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 Shutdown using ACPI.
6510
6511 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6512 * grub-core/commands/acpihalt.c: New file.
6513 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6514 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6515 (grub_acpi_halt): New proto.
6516 (GRUB_ACPI_SLP_EN): New const.
6517 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6518 (GRUB_ACPI_OPCODE_*): New enum.
6519 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6520
6521 2010-09-11 Tristan Gingold <gingold@free.fr>
6522 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
6523 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * commands/lsacpi.c: New file.
6526 * grub-core/Makefile.core.def (lsacpi): New module.
6527 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6528 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6529 (grub_acpi_madt_entry_header): New struct.
6530 (grub_acpi_madt): Likewise.
6531 (grub_acpi_madt_entry_interrupt_override): Likewise.
6532 (grub_acpi_madt_entry_sapic): Likewise.
6533 (grub_acpi_madt_entry_lsapic): Likewise.
6534 (grub_acpi_madt_entry_platform_int_source): Likewise.
6535 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6536 (PRIuGRUB_UINT32_T): Likewise.
6537 (PRIxGRUB_UINT64_T): Likewise.
6538
6539 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 Implement loading palette on ieee1275_fb.
6542
6543 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6544 (have_setcolors): Likewise.
6545 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6546 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6547 (grub_video_ieee1275_set_palette): Implement.
6548
6549 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6550 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
6551
6552 * util/grub-install.in (grub_partition): New variable.
6553 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6554 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6555 Fixes a bug reported by Yves Blusseau.
6556
6557 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Fix emu on mipsel.
6560
6561 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6562 =grub_cpu_flush_cache on all mips and not only yeeloong.
6563 * configure.ac (COND_mips): New conditional.
6564 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6565 platforms.
6566 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6567 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6568 [GRUB_LINKER_HAVE_INIT]: New function.
6569 (grub_emu_post_init): Likewise.
6570 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6571 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6572 * include/grub/cache.h (_mips): Include mips/cache.h.
6573 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6574 LVM and RAID prototypes.
6575 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6576 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6577 function.
6578
6579 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * util/grub-install.in: Don't try to verify core.img until after
6582 running grub-mkimage to create it.
6583
6584 2010-09-10 Robert Millan <rmh@gnu.org>
6585
6586 * util/grub.d/10_hurd.in: Add misc readability checks.
6587 * util/grub.d/10_kfreebsd.in: Likewise.
6588 * util/grub.d/10_linux.in: Likewise.
6589
6590 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6591
6592 * util/grub-install.in: ${imgext} won't be defined here until the
6593 install branch is merged. For the meantime, only verify core.img on
6594 i386-pc and sparc64-ieee1275 platforms.
6595
6596 2010-09-10 Robert Millan <rmh@gnu.org>
6597
6598 Solaris support in grub_find_zpool_from_dir(). Thanks
6599 Seth Goldberg for referring to getextmntent() facility.
6600
6601 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6602 `sys/mkdev.h'.
6603 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6604 `<sys/mnttab.h>'.
6605 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6606 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6607 method for finding zpool name.
6608
6609 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6610
6611 grub-fstest needs the host and hostfs modules while other utilities
6612 actively require those modules to be absent, so grub-fstest needs
6613 its own initialisation and finalisation code.
6614
6615 * Makefile.am (grub_fstest.pp): New target.
6616 (grub_fstest_init.lst): Likewise.
6617 (grub_fstest_init.c): Likewise.
6618 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6619
6620 2010-09-10 Robert Millan <rmh@gnu.org>
6621
6622 * configure.ac: Check for `struct statfs.f_fstypename' and
6623 `struct statfs.f_mntfromname'.
6624
6625 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6626 kFreeBSD-specific code.
6627
6628 2010-09-10 Robert Millan <rmh@gnu.org>
6629
6630 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6631 on ZFS. Now non-main filesystems are supported as / too.
6632
6633 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
6634
6635 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6636 and grub-core/disk/host.c to ...
6637 (grub-fstest): ... here. Having the host disk implementation
6638 present confuses grub-probe and other utility programs.
6639
6640 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6641 when writing to a file, not when writing to stdout.
6642
6643 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6644
6645 * tests/partmap_test.in: New test for partitions.
6646 * Makefile.util.def: Rules for new test.
6647
6648 2010-09-09 Robert Millan <rmh@gnu.org>
6649
6650 * util/grub-probe.c (probe): Fix a pair of unhandled error
6651 conditions.
6652
6653 2010-09-09 Robert Millan <rmh@gnu.org>
6654
6655 Basic Btrfs support (detection and UUID).
6656
6657 * grub-core/fs/btrfs.c: New file.
6658 * Makefile.util.def (library): Register btrfs.c.
6659 * grub-core/Makefile.core.def: Likewise.
6660
6661 2010-09-08 Robert Millan <rmh@gnu.org>
6662
6663 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6664 with (optional) parameters to specify device and relative path.
6665 * util/grub-install.in: Use is_path_readable_by_grub() to
6666 verify readability of a few critical files.
6667 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6668 verify readability of grub.cfg.new.
6669
6670 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 Split minix.mod into minix.mod and minix2.mod.
6673
6674 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6675 * grub-core/Makefile.core.def (minix2): New module.
6676 * grub-core/fs/minix.c: Use definitions instead of runtime version
6677 checking.
6678 * grub-core/fs/minix2.c: New file.
6679
6680 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6681
6682 Add new --boot-directory option to replace --root-directory
6683
6684 * util/grub-install.in: Add new --boot-directory option
6685 * util/grub-reboot.in: Likewise.
6686 * util/grub-set-default.in: Likewise.
6687
6688 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6689
6690 * util/grub-mkconfig.in: Use new variable.
6691
6692 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6693
6694 * configure.ac: Define some useful variables.
6695
6696 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6699 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6700 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6701 Use terminfo and don't use cursor-on/cursor-off unless it's known
6702 to work.
6703 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6704 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6705
6706 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
6707
6708 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6709 starts with "(,", fill the drive containing the loaded image in
6710 between those two characters, but expect that a full partition
6711 specification including partition map names will follow.
6712
6713 2010-09-08 Robert Millan <rmh@gnu.org>
6714
6715 * configure.ac: Remove `--enable-grub-fstest' option.
6716 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6717
6718 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6719 `grub-fstest' instead of `grub-probe' for readability verification.
6720 * util/grub-probe.c (probe): Remove readability verification kludge.
6721
6722 2010-09-08 Robert Millan <rmh@gnu.org>
6723
6724 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6725 initializing `GRUB_FS'.
6726
6727 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6728
6729 Not command (!) support to GRUB script.
6730
6731 * tests/grub_script_not.in: New test.
6732 * Makefile.util.def: Rules for new test.
6733
6734 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6735 ! command as a special case.
6736 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6737
6738 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6739
6740 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6741 grub_free.
6742
6743 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6744
6745 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6746
6747 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6748
6749 * docs/grub.texi (Shell-like scripting): Documentation for break,
6750 continue, shift and return commands.
6751
6752 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Rename CD-ROM to cd on BIOS.
6755
6756 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6757 "cd".
6758 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6759
6760 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6763 * util/grub-probe.c (main): Likewise.
6764 * util/i386/pc/grub-setup.c (main): Likewise.
6765 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6766 Reported and debugged by: alexxy
6767
6768 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6771 diagnostic info.
6772
6773 2010-09-05 Jo Shields <directhex@apebox.org>
6774
6775 * util/grub.d/30_os-prober.in: Add missing classes.
6776
6777 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * docs/grub.texi (Theme file format): Document new position format.
6780
6781 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6784 a table. Use @code instead of @verbatim.
6785
6786 2010-09-05 Colin D Bennett <colin@gibibit.com>
6787
6788 Gfxmenu documentation.
6789
6790 * docs/grub.texi (Theme file format): New chapter.
6791
6792 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6793
6794 * grub-core/Makefile.core.def (xzio): New module.
6795 * grub-core/io/xzio.c: New file.
6796 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6797 * grub-core/lib/xzembed/xz_config.h: Likewise.
6798 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6799 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6800 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6801 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6802 * grub-core/lib/xzembed/xz_private.h: Likewise.
6803 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6804 * include/grub/file.h (grub_file_filter_id): New compression filter
6805 GRUB_FILE_FILTER_XZIO.
6806
6807 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6810 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6811 size.
6812
6813 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6816 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6817
6818 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 Uncompressed checksum support.
6821
6822 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6823 (check_list): New parameter uncompress.
6824 (grub_cmd_hashsum): Handle --uncompress.
6825
6826 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Reintroduce testload.
6829
6830 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6831 from here ...
6832 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6833 (GRUB_MOD_INIT): New function.
6834 (GRUB_MOD_FINI): Likewise.
6835 * grub-core/Makefile.core.def (testload): New module.
6836
6837 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6838
6839 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6840 (uint8_t): New type.
6841 (uint16_t): Likewise.
6842 (uint32_t): Likewise.
6843 (uint64_t): Likewise.
6844
6845 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6846
6847 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6848
6849 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6852 Made static.
6853 (grub_gzfile_open): Removed. All users updated.
6854 (GRUB_MOD_INIT): New function.
6855 (GRUB_MOD_FINI): Likewise.
6856 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6857 (grub_file_filters_enabled): Likewise.
6858 (grub_file_open): Handle filters.
6859 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6860 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6861 * include/grub/file.h (grub_file_filter_id_t): New type.
6862 (grub_file_filter_t): Likewise.
6863 (grub_file_filters_all): New extern variable.
6864 (grub_file_filters_enabled): Likewise.
6865 (grub_file_filter_register): New inline function.
6866 (grub_file_filter_unregister): Likewise.
6867 (grub_file_filter_disable): Likewise.
6868 (grub_file_filter_disable_compression): Likewise.
6869 * include/grub/gzio.h: Removed.
6870
6871 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6872
6873 Filename expansion support for wildcards in GRUB script.
6874
6875 * tests/grub_script_expansion.in: New test.
6876 * Makefile.util.def: Rule for new test.
6877
6878 * grub-core/commands/wildcard.c: New file, implements filename
6879 expansion support for GRUB script.
6880 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6881 * grub-core/script/argv.c: Cosmetic changes.
6882 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6883 Refactored to perform wildcard expansion on arguments.
6884 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6885 struct.
6886
6887 * tests/util/grub-shell.in: Fix quoting for read input.
6888
6889 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6890
6891 Support for updating environment variables with matched substrings
6892 of regexp.
6893
6894 * tests/grub_cmd_regexp.in: New test.
6895 * Makefile.util.def: Rule for new test.
6896
6897 * grub-core/commands/regexp.c: New option -s to update environment
6898 variables with regexp matches.
6899
6900 2010-09-04 Szymon Janc <szymon@janc.net.pl>
6901
6902 * include/grub/file.h (grub_file): New member not_easly_seekable.
6903 (grub_file_seekable): New inline function.
6904 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6905 easily seekable.
6906 (grub_gzio_open): Set not_easly_seekable.
6907 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6908 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6909
6910 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6911
6912 Support for options to appear multiple times on cmdline.
6913
6914 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6915 * grub-core/commands/extcmd.c: Support for repeatable option.
6916 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6917 repeatable option support.
6918
6919 Refactor menuentry into a regular command.
6920
6921 * grub-core/commands/menuentry.c: New file, menuentry command
6922 implementation.
6923 * grub-core/Makefile.core.def: Rule update for normal.mod.
6924 * grub-core/normal/main.c: Moved menuentry creation to
6925 grub-core/commands/menuentry.c.
6926 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6927 (grub_menu_execute_entry_real): Removed.
6928 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6929 function.
6930 (grub_script_execute_menuentry): Removed.
6931 * grub-core/script/parser.y (menuentry): Removed.
6932 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6933 * grub-core/script/yylex.l (menuentry): Removed.
6934 * include/grub/menu.h (grub_menu_init): New prototype.
6935 (grub_menu_fini): New prototype.
6936 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6937 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6938 (grub_script_execute_sourcecode): New prototype.
6939
6940 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6941
6942 "return" command for GRUB script functions.
6943
6944 * tests/grub_script_return.in: New test.
6945 * Makefile.util.def: Rules for new test.
6946
6947 * grub-core/script/execute.c (grub_script_return): New function.
6948 * grub-core/script/main.c: Register/unregister return commaond.
6949 * include/grub/script_sh.h (grub_script_return): New prototype.
6950
6951 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6952
6953 "setparams" command to update positional parameters.
6954
6955 * tests/grub_script_setparams.in: New test.
6956 * Makefile.util.def: Rules for new test.
6957
6958 * grub-core/script/argv.c (grub_script_argv_make): New function.
6959 * grub-core/script/execute.c (replace_scope): New function.
6960 (grub_script_setparams): New function.
6961 * grub-core/script/lexer.c: Remove unused variables.
6962 * grub-core/script/main.c: Register/unregister setparams command.
6963 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6964 (grub_script_setparams): New prototype.
6965
6966 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6967
6968 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6969 grub_free order.
6970
6971 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6972
6973 Support for passing block of commands as an argument to extcmds.
6974
6975 * Makefile.util.def: Rules for new test.
6976 * tests/grub_script_blockarg.in: New test.
6977 * grub-core/tests/test_blockarg.c: New file, block argument
6978 command used in the test.
6979
6980 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6981 (grub_register_extcmd_prio): New function prototype.
6982 (grub_extcmd_dispatcher): New function prototype.
6983 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6984 type.
6985 * include/grub/script_sh.h (struct grub_script): New members
6986 `children', `next_siblings' and `refcnt' for block arguments and
6987 reference counting.
6988 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6989 (grub_script_arg): New member `script' for block argument.
6990 (grub_script_argv): New member `script' for block argument.
6991 (grub_parser_param): New member `scripts' for block argument.
6992 (grub_script_mem_free): New extern function prototype.
6993 (grub_script_ref): New function prototype.
6994 (grub_script_unref): New function prototype.
6995
6996 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6997 extcmd form to support block arguments.
6998 * grub-core/script/argv.c: Block arguments support.
6999 * grub-core/script/execute.c: Likewise.
7000 * grub-core/script/lexer.c: Likewise.
7001 * grub-core/script/main.c: Likewise.
7002 * grub-core/script/script.c: Likewise.
7003 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7004 non-terminals.
7005
7006 * grub-core/commands/acpi.c: Update extcmd implementations with
7007 grub_extcmd_context_t.
7008 * grub-core/commands/cat.c: Likewise.
7009 * grub-core/commands/echo.c: Likewise.
7010 * grub-core/commands/extcmd.c: Likewise.
7011 * grub-core/commands/hashsum.c: Likewise.
7012 * grub-core/commands/hdparm.c: Likewise.
7013 * grub-core/commands/help.c: Likewise.
7014 * grub-core/commands/hexdump.c: Likewise.
7015 * grub-core/commands/i386/cpuid.c: Likewise.
7016 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7017 * grub-core/commands/i386/pc/halt.c: Likewise.
7018 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7019 * grub-core/commands/iorw.c: Likewise.
7020 * grub-core/commands/keystatus.c: Likewise.
7021 * grub-core/commands/loadenv.c: Likewise.
7022 * grub-core/commands/ls.c: Likewise.
7023 * grub-core/commands/lspci.c: Likewise.
7024 * grub-core/commands/memrw.c: Likewise.
7025 * grub-core/commands/probe.c: Likewise.
7026 * grub-core/commands/search_wrap.c: Likewise.
7027 * grub-core/commands/setpci.c: Likewise.
7028 * grub-core/commands/sleep.c: Likewise.
7029 * grub-core/disk/loopback.c: Likewise.
7030 * grub-core/hello/hello.c: Likewise.
7031 * grub-core/loader/i386/bsd.c: Likewise.
7032 * grub-core/loader/xnu.c: Likewise.
7033 * grub-core/term/gfxterm.c: Likewise.
7034 * grub-core/term/serial.c: Likewise.
7035 * grub-core/tests/lib/functional_test.c: Likewise.
7036
7037 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7038
7039 Multi-line quoted strings support.
7040
7041 * grub-core/script/lexer.c (append_newline): Removed.
7042 (grub_script_lexer_yywrap): Refactored.
7043 (grub_script_lexer_init): Refactored.
7044 * grub-core/script/yylex.l (yywrap): New function.
7045 (grub_lexer_resplit): New function.
7046 (grub_lexer_unput): New function.
7047 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7048 and resplit.
7049 * tests/grub_script_echo1.in: Added few more testcases.
7050
7051 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/kern/misc.c: Don't add abort alias in utils.
7054 Reported by: echoline.
7055
7056 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
7057
7058 Add missing files into "make dist" tarball for other platforms.
7059
7060 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
7061 * conf/Makefile.common (dist_noinst_DATA): New variable.
7062 * conf/Makefile.extra-dist: Added missing make dist files.
7063 * grub-core/Makefile.core.def: Likewise.
7064
7065 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 Compress grub_prefix.
7068
7069 * grub-core/boot/i386/pc/lnxboot.S: Use
7070 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
7071 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
7072 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
7073 GRUB_MACHINE_PREFIX_END. All users updated.
7074 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
7075 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
7076 + 0x40.
7077 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7078 * util/grub-mkimage.c (image_target_desc): Change data_end to
7079 prefix_end. All users updated.
7080
7081 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
7084 value.
7085 (grub_openbsd_boot): Likewise.
7086 (grub_netbsd_boot): Likewise.
7087 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
7088 (grub_xnu_boot): Likewise.
7089
7090 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * configure.ac: Clean LIBS variable after tests.
7093
7094 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7095
7096 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
7097
7098 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
7101 echo if libdevmapper will be used.
7102
7103 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
7104
7105 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
7106 constant for the same file.
7107
7108 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
7111
7112 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7113
7114 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
7115 grub-core/*.pp.
7116
7117 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7118
7119 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
7120 required by the boot protocol.
7121
7122 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
7123 ebp and edi members.
7124 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
7125 state.ebp and state.edi.
7126 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
7127 %ebp and %edi according to grub_relocator32_ebp and
7128 grub_relocator32_edi respectively.
7129 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
7130 and state.edi.
7131
7132 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 Add i386-pc-pxe image target.
7135
7136 * util/grub-mkimage.c (image_target_desc): New enum value
7137 IMAGE_I386_PC_PXE.
7138 (image_targets): New target i386-pc-pxe.
7139 (generate_image): Handle i386-pc-pxe image.
7140
7141 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Fix grub_pxe_scan.
7144
7145 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
7146 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
7147 All users updated.
7148 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
7149 (grub_pxe_pxenv): Correct type.
7150
7151 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7152
7153 * NEWS: Document most of the important changes since 1.98.
7154
7155 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7156
7157 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
7158 generated manual page) a little.
7159
7160 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7161
7162 * docs/grub.texi: Add myself as an author.
7163
7164 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * Makefile.util.def (libgrub.a): Add missing sunpc.
7167 Reported by: Seth Goldberg.
7168
7169 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Interrupt wrapping and code simplifications.
7172
7173 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
7174 x86_noieee1275 which are functionaly equivalent in this case.
7175 (grub-install): Make source on each platform explicit. Enable on
7176 all noemu.
7177 * gentpl.py (x86_efi_pc): Removed group.
7178 (x86_noefi): Likewise.
7179 (i386_noefi): Likewise.
7180 (x86_noieee1275): Likewise.
7181 (i386_noieee1275): Likewise.
7182 (i386_noefi_noieee1275): Likewise.
7183 (i386_pc_qemu_coreboot): Likewise.
7184 (i386_coreboot_multiboot): Likewise.
7185 (i386_pc_coreboot_multiboot_qemu): Likewise.
7186 (x86_noefi_mips): Likewise.
7187 (noieee1275): Likewise.
7188 (ieee1275_mips): Likewise.
7189 (noemu_noieee1275): Likewise.
7190 (cmos): New group.
7191 (usb): Likewise.
7192 (videoinkernel): Likewise.
7193 (videomodules): Likewise.
7194 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
7195 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
7196 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
7197 include/grub/loader.h, include/grub/msdos_partition.h,
7198 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
7199 include/grub/machine/console.h, include/grub/machine/vga.h,
7200 include/grub/machine/vbe.h, include/grub/machine/init.h,
7201 include/grub/machine/kernel.h, include/grub/cpu/time.h,
7202 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
7203 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
7204 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
7205 * grub-core/Makefile.core.def (kernel): Explicit the source for
7206 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
7207 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
7208 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
7209 Use videoinkernel tag.
7210 (usb): Enable on all usb.
7211 (usbserial_common): Likewise.
7212 (usbserial_pl2303): Likewise.
7213 (usbserial_ftdi): Likewise.
7214 (uhci): Enable on all x86.
7215 (ohci): Enable on all pci.
7216 (cmostest): Enable on all CMOS.
7217 (acpi): Include commands/acpi.c on all platforms.
7218 (halt): Add relevant lib/*/halt.c.
7219 (hdparm): Enable on all pci.
7220 (lspci): Likewise.
7221 (usbtest): Enable on all usb.
7222 (ata): Enable on all pci.
7223 (ata_pthru): Likewise.
7224 (usbms): Enable on all usb.
7225 (usb_keyboard): Likewise.
7226 (font): Use tag videomodules.
7227 (bufio): Likewise.
7228 (datetime): Use tag cmos. Enable on all noemu.
7229 (mmap): Use tags common and x86.
7230 (gfxterm): Use tag videomodules.
7231 (bitmap): Likewise.
7232 (bitmap_scale): Likewise.
7233 (video_fb): Likewise.
7234 (video): Likewise.
7235 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
7236 adjust padding accordingly. All users updated.
7237 (grub_ohci_transaction): Fix bad format specification.
7238 (GRUB_MOD_INIT): Add asserts for struct size.
7239 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
7240 (grub_alloc_td): Likewise.
7241 (grub_free_queue): Likewise.
7242 (grub_uhci_transfer): Likewise.
7243 (grub_uhci_transaction): Fix bad format specification.
7244 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7245 (grub_usb_bulk_readwrite): Likewise.
7246 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
7247 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
7248 Made static.
7249 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
7250 Made static.
7251 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
7252 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
7253 Transformed into C.
7254 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
7255 Moved from here ...
7256 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
7257 ... here. Transformed into C. Made static.
7258 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
7259 Moved from here ...
7260 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
7261 ... here. Transformed into C. Made static.
7262 * grub-core/kern/i386/pc/startup.S
7263 (grub_biosdisk_check_int13_extensions): Moved from here ...
7264 * grub-core/disk/i386/pc/biosdisk.c
7265 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
7266 Made static.
7267 * grub-core/kern/i386/pc/startup.S
7268 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
7269 * grub-core/disk/i386/pc/biosdisk.c
7270 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
7271 Transformed into C. Made static.
7272 * grub-core/kern/i386/pc/startup.S
7273 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
7274 * grub-core/disk/i386/pc/biosdisk.c
7275 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
7276 Transformed into C. Made static.
7277 * grub-core/kern/i386/pc/startup.S
7278 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
7279 * grub-core/disk/i386/pc/biosdisk.c
7280 (grub_biosdisk_get_diskinfo_standard): ... here.
7281 Transformed into C. Made static.
7282 * grub-core/kern/i386/pc/startup.S
7283 (grub_biosdisk_get_num_floppies): Moved from here ...
7284 * grub-core/disk/i386/pc/biosdisk.c
7285 (grub_biosdisk_get_num_floppies): ... here.
7286 Transformed into C. Made static.
7287 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
7288 New function.
7289 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
7290 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
7291 Transformed into C. Made static.
7292 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
7293 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
7294 Transformed into C. Made static.
7295 * grub-core/kern/i386/ieee1275/init.c: Removed.
7296 * grub-core/kern/i386/misc.S: Likewise.
7297 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
7298 Splitted from here ...
7299 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
7300 Transformed into C. Made static. All users updated.
7301 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
7302 Transformed into C. Made static. All users updated.
7303 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
7304 Moved from here...
7305 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
7306 Transformed into C. Made static. All users updated.
7307 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
7308 Moved from here...
7309 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
7310 Transformed into C. Made static. All users updated.
7311 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
7312 Removed (replaced by C version).
7313 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
7314 Moved from here...
7315 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
7316 Transformed into C. Made static.
7317 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
7318 Moved from here...
7319 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
7320 ... here. Transformed into C.
7321 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
7322 Moved from here...
7323 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
7324 ... here. Transformed into C.
7325 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
7326 Moved from here...
7327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
7328 ... here. Transformed into C. Made static.
7329 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
7330 Moved from here...
7331 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
7332 ... here. Transformed into C.
7333 * grub-core/kern/i386/pc/startup.S
7334 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
7335 * grub-core/video/i386/pc/vbe.c
7336 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
7337 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
7338 Moved from here...
7339 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
7340 ... here. Transformed into C.
7341 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
7342 Moved from here...
7343 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
7344 ... here. Transformed into C.
7345 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
7346 Moved from here...
7347 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
7348 ... here. Transformed into C.
7349 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
7350 Moved from here...
7351 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7352 ... here. Transformed into C.
7353 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7354 Moved from here...
7355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7356 ... here. Transformed into C. Made static.
7357 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7358 Moved from here...
7359 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7360 ... here. Transformed into C. Made static.
7361 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7362 Moved from here...
7363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7364 ... here. Transformed into C. Made static.
7365 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7366 pxe_rm_entry as third argument.
7367 (grub_bios_interrupt): New function.
7368 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7369 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7370 of calling grub_stop.
7371 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7372 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7373 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7374 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7375 * grub-core/lib/i386/halt.c: Moved from here ...
7376 * grub-core/lib/i386/halt.c: ... here.
7377 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7378 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7379 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7380 grub_stop_floppy.
7381 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7382 * include/grub/i386/coreboot/init.h: Removed.
7383 * include/grub/i386/multiboot/init.h: Likewise.
7384 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7385 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7386 * include/grub/i386/pc/int.h: New file.
7387 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7388 (grub_pxe_scan): Removed.
7389 (grub_pxe_call): Update prototype.
7390 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7391 prototypes.
7392 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7393 * include/grub/i386/qemu/init.h: Removed.
7394 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7395 noreturn.
7396 (grub_halt): Likewise.
7397 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7398 (grub_reboot): Likewise.
7399 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7400 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
7401 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7402
7403 2010-08-30 Robert Millan <rmh@gnu.org>
7404
7405 * NEWS: Document addition of ZFS support in `grub-install' and
7406 `grub-mkconfig'.
7407
7408 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7409
7410 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7411 dprintf output.
7412
7413 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 Remove leftover embedding of font objects.
7416
7417 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7418 * util/grub-install.in (font): Removed.
7419 * util/grub-mkimage.c (generate_image): Remove font support. All users
7420 updated.
7421
7422 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 Remove leftover embedding of font objects.
7425
7426 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7427 * util/grub-install.in (font): Removed.
7428 * util/grub-mkimage.c (generate_image): Remove font support. All users
7429 updated.
7430
7431 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * docs/grub.texi (Network): Fix reference to pxe_blksize.
7434 Reported by: Ian Turner
7435
7436 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7439 timeout to avoid indefinite boot stalling.
7440
7441 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7444 (grub_env_write_color_highlight): Likewise.
7445
7446 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/normal/term.c (print_more): Return to normal and not
7449 to standard state after printing "---MORE---".
7450
7451 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7454 Mask out the bit 0x80 since it has other meaning that specifiing color.
7455
7456 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 New relocator. Allows for more kernel support and more straightforward
7459 loader writing.
7460
7461 * Makefile.am (BOOTTARGET): New variable.
7462 (QEMU32): Likewise.
7463 (linux.init.x86_64): New target.
7464 (linux.init.i386): Likewise.
7465 (multiboot.elf): Likewise.
7466 (kfreebsd.elf): Likewise.
7467 (kfreebsd.aout): Likewise.
7468 (pc-chainloader.elf): Likewise.
7469 (pc-chainloader.bin): Likewise.
7470 (ntldr.elf): Likewise.
7471 (ntldr.bin): Likewise.
7472 (multiboot2.elf): Likewise.
7473 (kfreebsd.init.x86_64): Likewise.
7474 (kfreebsd.init.i386): Likewise.
7475 (knetbsd.init.i386): Likewise.
7476 (kopenbsd.init.i386): Likewise.
7477 (knetbsd.init.x86_64): Likewise.
7478 (kopenbsd.init.x86_64): Likewise.
7479 (linux-initramfs.i386): Likewise.
7480 (linux-initramfs.x86_64): Likewise.
7481 (kfreebsd-mfsroot.i386.img): Likewise.
7482 (knetbsd.image.i386): Likewise.
7483 (kopenbsd.image.i386): Likewise.
7484 (kopenbsd.image.x86_64): Likewise.
7485 (knetbsd.miniroot-image.i386.img): Likewise.
7486 (kfreebsd-mfsroot.x86_64.img): Likewise.
7487 (knetbsd.image.x86_64): Likewise.
7488 (knetbsd.miniroot-image.x86_64.img): Likewise.
7489 (kfreebsd-mfsroot.i386.gz): Likewise.
7490 (bootcheck-kfreebsd-i386): Likewise.
7491 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7492 (bootcheck-kfreebsd-x86_64): Likewise.
7493 (knetbsd.miniroot-image.i386.gz): Likewise.
7494 (bootcheck-knetbsd-i386): Likewise.
7495 (bootcheck-kopenbsd-i386): Likewise.
7496 (bootcheck-kopenbsd-x86_64): Likewise.
7497 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7498 (bootcheck-knetbsd-x86_64): Likewise.
7499 (bootcheck-linux-i386): Likewise.
7500 (bootcheck-linux-x86_64): Likewise.
7501 (bootcheck-linux16-i386): Likewise.
7502 (bootcheck-linux16-x86_64): Likewise.
7503 (bootcheck-multiboot): Likewise.
7504 (bootcheck-multiboot2): Likewise.
7505 (bootcheck-kfreebsd-aout): Likewise.
7506 (bootcheck-pc-chainloader): Likewise.
7507 (bootcheck-ntldr): Likewise.
7508 (CLEANFILES): Add new targets.
7509 (BOOTCHECKS): New variable.
7510 (.PHONY): Add bootchecks.
7511 (SUCCESSFUL_BOOT_STRING): New variable.
7512 (BOOTCHECK_TIMEOUT): Likewise.
7513 (bootcheck): New target
7514 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7515 * configure.ac: Correct efiemu excuse.
7516 * docs/grub.texi (Supported kernels): New chapter.
7517 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7518 include/grub/mm_private.h. Simplify inclusion of
7519 include/grub/boot.h, include/grub/loader.h
7520 and include/grub/msdos_partition.h
7521 (KERNEL_HEADER_FILES) [i386_coreboot]:
7522 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7523 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7524 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7525 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7526 include/grub/machine/loader.h.
7527 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7528 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7529 extra_dist.
7530 (pci.mod): Enable on i386-multiboot.
7531 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7532 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7533 i386-qemu.
7534 (relocator.mod): Rewritten.
7535 (aout.mod): Enable on all x86.
7536 (bsd.mod): Likewise.
7537 (ntldr.mod): New module.
7538 (linux.mod): Use loader/i386/linux.c on all x86.
7539 (xnu.mod): Enable on all x86.
7540 (vga_text.mod): disable on EFI and QEMU.
7541 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7542 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7543 * grub-core/efiemu/loadcore.c: Likewise.
7544 * grub-core/efiemu/main.c: Likewise.
7545 (grub_efiemu_exit_boot_services): Removed.
7546 (grub_efiemu_finish_boot_services): Likewise.
7547 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7548 function.
7549 * grub-core/efiemu/i386/nocfgtables.c: New file.
7550 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7551 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7552 (grub_efi_finish_boot_services): Moved from here ...
7553 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7554 Fille finish memory map and related data.
7555 (finish_mmap_buf): New variable.
7556 (grub_efi_uintn_t finish_mmap_size): Likewise.
7557 (grub_efi_uintn_t finish_key): Likewise.
7558 (grub_efi_uintn_t finish_desc_size): Likewise.
7559 (grub_efi_uint32_t finish_desc_version): Likewise.
7560 (grub_efi_is_finished): Likewise.
7561 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7562 finished.
7563 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7564 (grub_elf64_phdr_iterate): Likewise.
7565 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7566 (grub_os_area_size): Likewise.
7567 (grub_machine_init): Don't reserve os area.
7568 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7569 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7570 * grub-core/kern/i386/loader.S: Removed.
7571 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7572 (grub_os_area_size): Likewise.
7573 (grub_machine_init): Don't reserve os area.
7574 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7575 Don't call grub_dl_unload_all.
7576 Don't include loader.S.
7577 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7578 Declare the memory after _end as available.
7579 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
7580 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
7581 (GRUB_MM_ALLOC_MAGIC): Moved from here...
7582 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7583 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7584 * include/grub/mm_private.h (grub_mm_header): ... here.
7585 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7586 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
7587 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7588 (grub_mm_region): ..here. Removed addr. Added pre_size.
7589 All users updated.
7590 * grub-core/kern/mm.c (base): Renamed to ...
7591 (grub_mm_base): ... this. Made global.
7592 (grub_real_malloc): Alloc from end of region.
7593 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7594 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7595 * grub-core/kern/powerpc/cache_flush.S: ... here.
7596 * grub-core/lib/efi/relocator.c: New file.
7597 * grub-core/lib/i386/relocator.c: Rewritten.
7598 * grub-core/lib/i386/relocator16.S: New file.
7599 * grub-core/lib/i386/relocator32.S: Likewise.
7600 * grub-core/lib/i386/relocator64.S: Likewise.
7601 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7602 * grub-core/lib/i386/relocator_common.S: New file.
7603 * grub-core/lib/ieee1275/relocator.c: Likewise.
7604 * grub-core/lib/mips/relocator.c: Rewritten.
7605 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7606 stylistic adjustments.
7607 * grub-core/lib/powerpc/relocator.c: New file.
7608 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7609 * grub-core/lib/relocator.c: Rewritten.
7610 * grub-core/lib/x86_64/relocator_asm.S: New file.
7611 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7612 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7613 (bsd_tag): New struct.
7614 (tags): New variable.
7615 (tags_last): Likewise.
7616 (netbsd_module): New struct.
7617 (netbsd_mods): New variable.
7618 (netbsd_mods_last): Likewise.
7619 (openbsd_opts): New parameter "serial".
7620 (OPENBSD_SERIAL_ARG): New definition.
7621 (netbsd_opts): New parameter "serial".
7622 (NETBSD_SERIAL_ARG): New definition.
7623 (grub_freebsd_add_meta): Reorganised into ...
7624 (grub_bsd_add_meta): ...this. All users updated.
7625 (grub_freebsd_add_mmap): Reorganised into ...
7626 (generate_e820_mmap): ...this...
7627 (grub_bsd_add_mmap): ...and this. All users updated.
7628 (grub_freebsd_list_modules): Use tags.
7629 (grub_netbsd_add_meta_module): New function.
7630 (grub_netbsd_list_modules): Likewise.
7631 (grub_freebsd_boot): Use relocator and finish EFI.
7632 (grub_openbsd_boot): Likewise.
7633 (grub_netbsd_setup_video): New function.
7634 (grub_netbsd_add_modules): Likewise.
7635 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7636 and finish EFI.
7637 (grub_bsd_unload): Unload tags.
7638 (grub_bsd_load_aout): Use relocator.
7639 (grub_bsd_elf32_size_hook): New function.
7640 (grub_bsd_elf32_hook): Use relocator.
7641 (grub_bsd_elf64_size_hook): New function.
7642 (grub_bsd_elf64_hook): Use relocator.
7643 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7644 (grub_bsd_load): Zero-out openbsd_ramdisk.
7645 (grub_bsd_load): Use relocator.
7646 (grub_cmd_openbsd): Support serial.
7647 (grub_cmd_netbsd): Support modules.
7648 (grub_cmd_freebsd_module): Use relocator.
7649 (grub_netbsd_module_load): New function.
7650 (grub_cmd_netbsd_module): Likewise.
7651 (grub_cmd_openbsd_ramdisk): Likewise.
7652 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7653 kopenbsd_ramdisk.
7654 (GRUB_MOD_FINI): Unregister new commands.
7655 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7656 (grub_freebsd_load_elfmodule_obj): Use relocator.
7657 (grub_freebsd_load_elfmodule): Likewise.
7658 (grub_freebsd_load_elf_meta): Likewise.
7659 (grub_netbsd_load_elf_meta): New function.
7660 (grub_openbsd_find_ramdisk): Likewise.
7661 * grub-core/loader/i386/bsd_helper.S: Removed.
7662 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7663 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7664 * grub-core/loader/i386/efi/linux.c: Likewise.
7665 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7666 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7667 (DEFAULT_VIDEO_MODE): Likewise.
7668 (real_mode_target): New variable.
7669 (prot_mode_target): Likewise.
7670 (initrd_mem_target): Likewise.
7671 (relocator): Likewise.
7672 (efi_mmap_buf): Likewise.
7673 (efi_mmap_size): Likewise.
7674 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7675 (free_pages): Use relocator.
7676 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7677 (grub_linux_setup_video): Return error.
7678 (grub_linux_trampoline_start): Removed.
7679 (grub_linux_trampoline_end): Likewise.
7680 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7681 andd video parameters depending on firmware.
7682 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7683 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7684 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7685 (grub_cmd_initrd): Use relocator.
7686 * grub-core/loader/i386/linux_trampoline.S: Removed.
7687 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7688 (elf_sec_entsize): Likewise.
7689 (elf_sec_shstrndx): Likewise.
7690 (elf_sections): Likewise.
7691 (grub_multiboot_load): Use relocator.
7692 (grub_multiboot_get_mbi_size): Account for sections.
7693 (grub_multiboot_make_mbi): Use relocator and support sections.
7694 (grub_multiboot_add_elfsyms): New function.
7695 (grub_multiboot_free_mbi): Free sections.
7696 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7697 (grub_linux_real_target): Likewise.
7698 (grub_linux_real_chunk): Likewise.
7699 (grub_linux16_prot_size): Likewise.
7700 (grub_linux16_boot): Use relocator.
7701 (grub_linux_unload): Unload relocator.
7702 (grub_cmd_linux): Use relocator.
7703 (grub_cmd_initrd): Likewise.
7704 * grub-core/loader/i386/pc/ntldr.c: New file.
7705 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7706 Don't try to guess CPU frequency.
7707 (grub_xnu_set_video): Stretch bitmap.
7708 (grub_xnu_boot): Use relocator.
7709 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7710 (grub_linux_unload): Free relocator.
7711 (grub_linux_load32): Use relocator.
7712 (grub_linux_load64): Likewise.
7713 (grub_cmd_initrd): Likewise.
7714 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7715 (grub_multiboot_unload): Unload relocator.
7716 (grub_cmd_multiboot): Use relocator.
7717 (grub_cmd_module): Likewise.
7718 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7719 Use relocator and support sections.
7720 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7721 (elf_sec_entsize): Likewise.
7722 (elf_sec_shstrndx): Likewise.
7723 (elf_sections): Likewise.
7724 (grub_multiboot_load): Use relocator.
7725 (grub_multiboot_get_mbi_size): Account for sections.
7726 (grub_multiboot_make_mbi): Use relocator and support sections.
7727 (grub_multiboot_add_elfsyms): New function.
7728 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7729 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7730 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7731 Prototype changed. All users updated.
7732 (grub_xnu_align_heap): Simplified.
7733 (grub_xnu_writetree_toheap): Likewise.
7734 (grub_xnu_unload): Unload relocator.
7735 (grub_cmd_xnu_kernel): Use relocator.
7736 (grub_cmd_xnu_kernel64): Likewise.
7737 (grub_xnu_register_memory): Simplified.
7738 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
7739 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7740 EFI is finished.
7741 (grub_console_checkkey): Likewise.
7742 (grub_console_getkey): Likewise.
7743 (grub_console_getwh): Likewise.
7744 (grub_console_getxy): Likewise.
7745 (grub_console_gotoxy): Likewise.
7746 (grub_console_cls): Likewise.
7747 (grub_console_setcolorstate): Likewise.
7748 (grub_console_setcursor): Likewise.
7749 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7750 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7751 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7752 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7753 * grub-core/tests/boot/kernel-8086.S: Likewise.
7754 * grub-core/tests/boot/kernel-i386.S: Likewise.
7755 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7756 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7757 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7758 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7759 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7760 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7761 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7762 * grub-core/tests/boot/linux.cfg: Likewise.
7763 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7764 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7765 * grub-core/tests/boot/linux16.cfg: Likewise.
7766 * grub-core/tests/boot/multiboot.cfg: Likewise.
7767 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7768 * grub-core/tests/boot/ntldr.cfg: Likewise.
7769 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7770 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7771 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7772 New definition.
7773 * include/grub/dl.h (grub_dl_unload_all): Removed.
7774 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7775 (grub_efi_finish_boot_services): Change prototype.
7776 (grub_efi_is_finished): New variable.
7777 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7778 Changed prototype.
7779 (grub_efiemu_finish_boot_services): Removed.
7780 (grub_machine_efiemu_init_tables): New prototype.
7781 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7782 (grub_elf64_phdr_iterate): Likewise.
7783 * include/grub/i386/bsd.h: Include relocator.h.
7784 (freebsd_tag_header): New struct.
7785 (grub_openbsd_bios_mmap): Removed.
7786 (grub_unix_real_boot): Removed.
7787 (grub_freebsd_load_elfmodule32): Changed prototype.
7788 (grub_freebsd_load_elfmodule_obj64): Likewise.
7789 (grub_freebsd_load_elf_meta32): Likewise.
7790 (grub_freebsd_load_elf_meta64): Likewise.
7791 (grub_freebsd_add_meta): Removed.
7792 (grub_netbsd_load_elf_meta32): New prototype.
7793 (grub_netbsd_load_elf_meta64): Likewise.
7794 (grub_bsd_add_meta): Likewise.
7795 (grub_openbsd_ramdisk_descriptor): New struct.
7796 (grub_openbsd_find_ramdisk32): New prototype.
7797 (grub_openbsd_find_ramdisk64): Likewise.
7798 * include/grub/i386/coreboot/loader.h: Removed.
7799 * include/grub/i386/efi/loader.h: Likewise.
7800 * include/grub/i386/ieee1275/loader.h: Likewise.
7801 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7802 to grub_uint32_t.
7803 * include/grub/i386/loader.h: Removed.
7804 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7805 value.
7806 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7807 (grub_phys_addr_t): New type.
7808 (grub_vtop): New inline function.
7809 (grub_map_memory): Likewise.
7810 (grub_unmap_memory): Likewise.
7811 * include/grub/i386/multiboot/loader.h: Removed.
7812 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7813 (NETBSD_BTINFO_CONSOLE): New definition.
7814 (NETBSD_BTINFO_SYMTAB): Likewise.
7815 (NETBSD_BTINFO_MODULES): Likewise.
7816 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7817 (grub_netbsd_bootinfo): New struct.
7818 (grub_netbsd_btinfo_common): Use explicit bitsize.
7819 (grub_netbsd_btinfo_mmap_entry): Removed.
7820 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7821 (grub_netbsd_btinfo_bootdisk): New struct.
7822 (grub_netbsd_btinfo_symtab): Likewise.
7823 (grub_netbsd_btinfo_serial): Likewise.
7824 (grub_netbsd_btinfo_modules): Likewise.
7825 (grub_netbsd_btinfo_framebuf): Likewise.
7826 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7827 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7828 Likewise.
7829 (grub_openbsd_bootargs): Use explicit bitsize.
7830 (grub_openbsd_bootarg_console): New struct.
7831 (GRUB_OPENBSD_COM_MAJOR): New definition.
7832 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7833 * include/grub/i386/pc/efiemu.h: Removed.
7834 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7835 * include/grub/i386/qemu/loader.h: Removed.
7836 * include/grub/i386/relocator.h: Rewritten.
7837 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7838 * include/grub/mips/memory.h: New file.
7839 * include/grub/mips/multiboot.h: Rewritten.
7840 * include/grub/mips/relocator.h: Rewritten.
7841 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7842 (grub_vtop): New function.
7843 (grub_map_memory): Likewise.
7844 (grub_unmap_memory): Likewise.
7845 * include/grub/misc.h (ALIGN_DOWN): New definition.
7846 * include/grub/mm.h (grub_mm_check_real): New proto.
7847 (GRUB_MM_CHECK): New definition.
7848 * include/grub/mm_private.h: New file.
7849 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7850 (grub_multiboot_get_mbi_size): Removed.
7851 (grub_multiboot_make_mbi): Change prottype.
7852 (grub_multiboot_set_accepts_video): New proto.
7853 (grub_multiboot_add_elfsyms): Likewise.
7854 (grub_multiboot_payload_eip): New variable.
7855 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7856 New prototype.
7857 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7858 New definition.
7859 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7860 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7861 * include/grub/powerpc/ieee1275/loader.h: Removed.
7862 * include/grub/powerpc/memory.h: New file.
7863 * include/grub/powerpc/relocator.h: Likewise.
7864 * include/grub/relocator.h: Likewise.
7865 * include/grub/relocator_private.h: Likewise.
7866 * include/grub/sparc64/ieee1275/loader.h: Removed.
7867 * include/grub/x86_64/memory.h: New file.
7868 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7869 (grub_xnu_heap_malloc): Likewise.
7870 (grub_xnu_heap_real_start): Removed.
7871 (grub_xnu_heap_start): Likewise.
7872 (grub_xnu_relocator): New variable.
7873 (grub_xnu_heap_target_start): Likewise.
7874 * tests/util/grub-shell.in: Support non-pc.
7875 * util/grub-mkimage.c (image_targets): Fix multiboot target.
7876
7877 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7880 on malloc error.
7881 (grub_bidi_logical_to_visual): Check that malloc succeded.
7882 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7883 puts.
7884 (grub_xputs_normal): Likewise.
7885
7886 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7889 extra_dist.
7890
7891 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7894
7895 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7898
7899 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7902 dprintf.
7903
7904 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7905
7906 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7907
7908 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/normal/term.c (print_more): Fix a memory leak.
7911 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7912 (grub_xputs_normal): Likewise.
7913
7914 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7917 the begining of the string
7918
7919 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/script/script.c (grub_script_parse): Free parsed on
7922 failure.
7923
7924 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7927 on failure.
7928
7929 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7932 return.
7933
7934 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7937 (scroll_up): Fix a memory leak.
7938
7939 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7942 errors.
7943
7944 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Handle USB pendrives exposed as floppies.
7947
7948 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7949 floppy.
7950 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7951 Check for partitions on all devices.
7952
7953 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7956 (readkey): Likewise.
7957
7958 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7959
7960 Multiple variable names support to "export" command.
7961
7962 * normal/context.c (grub_cmd_export): "export" command supports
7963 multiple variable names.
7964
7965 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7966
7967 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7968 --target=drive output to Mach device name.
7969
7970 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7971
7972 New Automake based build system for GRUB.
7973
7974 * ABOUT-NLS: New file.
7975 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7976 in Makefile.util.def file.
7977 * Makefile.util.def: New file. Autogen build definitions file for
7978 GRUB host utils.
7979 * conf/Makefile.common: New file. Common variables for GRUB host
7980 utils and target modules.
7981 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7982 * docs/Makefile.am: New file. Automake file for docs.
7983 * gentpl.py: New file. Python script to generate Autogen
7984 template.
7985 * grub-core/Makefile.am: New file. GRUB target modules' rules
7986 that doesn't fit in Makefile.core.def file.
7987 * grub-core/Makefile.core.def: New file. Autogen build
7988 definitions file for GRUB target modules.
7989 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7990 specific setjmp.S file.
7991 * po/Makefile.am: New file.
7992
7993 * .bzrignore: New ignores.
7994 * INSTALL: New requirements, without Ruby.
7995 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7996 * autogen.sh: Updated to invoke autogen as necessary.
7997 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7998 and defines for Automake conditionals.
7999 * geninit.sh: Refactoring.
8000
8001 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8002 necessary.
8003 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8004 New prototype.
8005
8006 * include/grub/test.h: Fix functional test modules' naming.
8007 * grub-core/tests/example_functional_test.c: Fix test module name.
8008
8009 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8010 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8011 * util/grub-editenv.c: Likewise.
8012 * util/grub-fstest.c: Likewise.
8013 * util/grub-mkdevicemap.c: Likewise.
8014 * util/grub-mkfont.c: Likewise.
8015 * util/grub-mkimage.c: Likewise.
8016 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8017 * util/grub-probe.c: Likewise.
8018 * util/grub-script-check.c: Likewise.
8019 * util/i386/pc/grub-setup.c: Likewise.
8020 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8021
8022 * tests/util/grub-shell.in: Fix override directory path.
8023 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8024 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8025
8026 * util/lvm.c: Update #includes.
8027 * util/raid.c: Likewise.
8028 * util/resolve.c: Likewise.
8029 * grub-core/bus/emu/pci.c: Likewise.
8030 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8031 * grub-core/lib/posix_wrap/string.h: Likewise.
8032 * grub-core/kern/emu/main.c: Likewise.
8033
8034 * grub-core/gensymlist.sh: New file. Script for generating kernel
8035 symbols file.
8036 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8037
8038 * grub-core/gentrigtables.c: Fix unused variable warnings.
8039
8040 * Makefile.in: Removed.
8041 * conf/any-emu.rmk: Removed.
8042 * conf/common.rmk: Removed.
8043 * conf/i386-coreboot.rmk: Removed.
8044 * conf/i386-efi.rmk: Removed.
8045 * conf/i386-ieee1275.rmk: Removed.
8046 * conf/i386-multiboot.rmk: Removed.
8047 * conf/i386-pc.rmk: Removed.
8048 * conf/i386-qemu.rmk: Removed.
8049 * conf/i386.rmk: Removed.
8050 * conf/mips-yeeloong.rmk: Removed.
8051 * conf/mips.rmk: Removed.
8052 * conf/powerpc-ieee1275.rmk: Removed.
8053 * conf/sparc64-ieee1275.rmk: Removed.
8054 * conf/tests.rmk: Removed.
8055 * conf/x86-efi.rmk: Removed.
8056 * conf/x86_64-efi.rmk: Removed.
8057 * gendistlist.sh: Removed.
8058 * geninitheader.sh: Removed.
8059 * genkernsyms.sh.in: Removed.
8060 * genmk.rb: Removed.
8061 * gensymlist.sh.in: Removed.
8062 * mkinstalldirs: Removed.
8063 * boot: Moved ...
8064 * grub-core/boot: ... to here.
8065 * bus: Moved ...
8066 * grub-core/bus: ... to here.
8067 * commands: Moved ...
8068 * grub-core/commands: ... to here.
8069 * disk: Moved ...
8070 * grub-core/disk: ... to here.
8071 * efiemu: Moved ...
8072 * grub-core/efiemu: ... to here.
8073 * font: Moved ...
8074 * grub-core/font: ... to here.
8075 * fs: Moved ...
8076 * grub-core/fs: ... to here.
8077 * gencmdlist.sh: Moved ...
8078 * grub-core/gencmdlist.sh: ... to here.
8079 * genemuinit.sh: Moved ...
8080 * grub-core/genemuinit.sh: ... to here.
8081 * genemuinitheader.sh: Moved ...
8082 * grub-core/genemuinitheader.sh: ... to here.
8083 * genfslist.sh: Moved ...
8084 * grub-core/genfslist.sh: ... to here.
8085 * genhandlerlist.sh: Moved ...
8086 * grub-core/genhandlerlist.sh: ... to here.
8087 * genmoddep.awk: Moved ...
8088 * grub-core/genmoddep.awk: ... to here.
8089 * genmodsrc.sh: Moved ...
8090 * grub-core/genmodsrc.sh: ... to here.
8091 * genpartmaplist.sh: Moved ...
8092 * grub-core/genpartmaplist.sh: ... to here.
8093 * genparttoollist.sh: Moved ...
8094 * grub-core/genparttoollist.sh: ... to here.
8095 * genterminallist.sh: Moved ...
8096 * grub-core/genterminallist.sh: ... to here.
8097 * gentrigtables.c: Moved ...
8098 * grub-core/gentrigtables.c: ... to here.
8099 * genvideolist.sh: Moved ...
8100 * grub-core/genvideolist.sh: ... to here.
8101 * gettext: Moved ...
8102 * grub-core/gettext: ... to here.
8103 * gfxmenu: Moved ...
8104 * grub-core/gfxmenu: ... to here.
8105 * gnulib: Moved ...
8106 * grub-core/gnulib: ... to here.
8107 * hello: Moved ...
8108 * grub-core/hello: ... to here.
8109 * hook: Moved ...
8110 * grub-core/hook: ... to here.
8111 * io: Moved ...
8112 * grub-core/io: ... to here.
8113 * kern: Moved ...
8114 * grub-core/kern: ... to here.
8115 * lib: Moved ...
8116 * grub-core/lib: ... to here.
8117 * loader: Moved ...
8118 * grub-core/loader: ... to here.
8119 * mmap: Moved ...
8120 * grub-core/mmap: ... to here.
8121 * normal: Moved ...
8122 * grub-core/normal: ... to here.
8123 * partmap: Moved ...
8124 * grub-core/partmap: ... to here.
8125 * parttool: Moved ...
8126 * grub-core/parttool: ... to here.
8127 * script: Moved ...
8128 * grub-core/script: ... to here.
8129 * term: Moved ...
8130 * grub-core/term: ... to here
8131 * tests/example_functional_test.c: Moved ...
8132 * grub-core/tests/example_functional_test.c: ... to here.
8133 * tests/lib/functional_test.c: Moved ...
8134 * grub-core/tests/lib/functional_test.c: ... to here.
8135 * tests/lib/test.c: Moved ...
8136 * grub-core/tests/lib/test.c: ... to here.
8137 * video: Moved ...
8138 * grub-core/video: ... to here.
8139
8140 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8141
8142 Replace --enable-grub-emu-modules with grub-emu-lite.
8143
8144 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
8145 cache.S.
8146
8147 * include/grub/emu/misc.h (grub_emu_init): New prototype.
8148 * kern/emu/full.c: New file. For grub-emu specific initialization.
8149 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
8150 * kern/emu/main.c: Call initialization function grub_emu_init.
8151
8152 * Makefile.in: Include grub-emu-lite in install.
8153 * commands/parttool.c: Use grub_no_autoload to differentiate
8154 between grub-emu and grub-emu-lite.
8155 * include/grub/misc.h: New variable grub_no_autoload.
8156
8157 * conf/any-emu.rmk: New rules for grub-emu-lite.
8158 * configure.ac: Remove --enable-grub-emu-modules.
8159 * genmk.rb: Cleanup unnecessary rules.
8160 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
8161
8162 * normal/main.c: Don't load list files on grub-emu-lite.
8163 * util/misc.c (grub_arch_sync_caches): Removed.
8164
8165 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
8166
8167 * kern/mips/startup.S (grub_prefix): Update comment to refer to
8168 grub-mkimage rather than grub-mkelfimage.
8169 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8170
8171 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
8174 a key after CapsLock or NumLock. It's just a qemu bug.
8175
8176 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
8179 needed by libusb wrapper.
8180
8181 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8182
8183 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
8184
8185 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
8188 --nounzip is passed.
8189
8190 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 USB hotunplugging and USB serial support.
8193
8194 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
8195 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
8196 (grub_uhci_transfer): Respect timeout and set *actual.
8197 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
8198 non-standard length.
8199 (grub_usb_device_attach): Autoload modules.
8200 (GRUB_MOD_INIT): Set grub_term_poll_usb.
8201 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
8202 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
8203 users updated.
8204 (grub_usb_add_hub): Fill nports and children.
8205 (attach_root_port): Receive hub instead of controller.
8206 All users updated. Fill hub->devices.
8207 (grub_usb_root_hub): Allocate hub->devices.
8208 (detach_device): New function.
8209 (poll_nonroot_hub): Fill children and detach devices.
8210 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
8211 actual arguments. All users updated.
8212 (grub_usb_bulk_read_extended): New function.
8213 * bus/usb/serial/common.c: New file.
8214 * bus/usb/serial/ftdi.c: Likewise.
8215 * bus/usb/serial/pl2303.c: Likewise.
8216 * commands/terminal.c (handle_command): Support wildcard.
8217 * commands/usbtest.c: Output "Unknown" instead of empty string.
8218 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
8219 (usbserial_common_mod_SOURCES): New variable.
8220 (usbserial_common_mod_CFLAGS): Likewise.
8221 (usbserial_common_mod_LDFLAGS): Likewise.
8222 (pkglib_MODULES): Add usbserial_pl2303.mod.
8223 (usbserial_pl2303_mod_SOURCES): New variable.
8224 (usbserial_pl2303_mod_CFLAGS): Likewise.
8225 (usbserial_pl2303_mod_LDFLAGS): Likewise.
8226 (pkglib_MODULES): Add usbserial_ftdi.mod.
8227 (usbserial_ftdi_mod_SOURCES): New variable.
8228 (usbserial_ftdi_mod_CFLAGS): Likewise.
8229 (usbserial_ftdi_mod_LDFLAGS): Likewise.
8230 (pkglib_MODULES): Add serial.mod.
8231 (serial_mod_SOURCES): New variable.
8232 (serial_mod_CFLAGS): Likewise.
8233 (serial_mod_LDFLAGS): Likewise.
8234 * conf/i386-pc.rmk: Likewise.
8235 * conf/mips-yeeloong.rmk: Likewise.
8236 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
8237 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8238 * disk/usbms.c (first_available_slot): New variable.
8239 (grub_usbms_attach): Don't reuse free slots due to potential cache
8240 problems.
8241 * include/grub/serial.h: Moved to ..
8242 * include/grub/ns8250.h: ...this.
8243 * include/grub/serial.h: New file.
8244 * include/grub/term.h (grub_term_poll_usb): New variable.
8245 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
8246 readkey. All users updated.
8247 (grub_terminfo_output_state): Pass term to put.
8248 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
8249 (grub_usb_controller_dev): Add timeout and actual arguments to
8250 transfer. All users updated.
8251 (grub_usb_interface): New field detach_data.
8252 (grub_usb_device): New fields children and nports.
8253 (grub_usb_ep_type_t): New type.
8254 (grub_usb_get_ep_type): New function.
8255 (grub_usb_bulk_read_extended): Likewise.
8256 * include/grub/usbdesc.h (grub_usb_desc): New type.
8257 * include/grub/usbserial.h: New file.
8258 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
8259 * kern/term.c (grub_term_poll_usb): New variable.
8260 (grub_getkey): Call grub_term_poll_usb if set.
8261 (grub_checkkey): Likewise.
8262 (grub_getkeystatus): Likewise.
8263 * term/serial.c: Moved controller-specific parts to ...
8264 * term/ns8250.c: ... here.
8265 * term/serial.c: Mostly rewritten.
8266 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
8267 according to spec.
8268
8269 2010-08-20 Robert Millan <rmh@gnu.org>
8270
8271 Make kFreeBSD code more generic to support ext2fs as root, ufs as
8272 a separate module and maybe other interesting combinations.
8273
8274 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
8275 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
8276 (kfreebsd_entry): Add generic filesystem module load routine.
8277 Map GRUB `ext2' to kFreeBSD `ext2fs'.
8278
8279 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
8280
8281 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
8282 "numcenter" (I misunderstood the purpose of this entry).
8283 * docs/grub.texi (sendkey): Likewise.
8284
8285 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
8286
8287 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
8288 status flag options; simply omitting the option is equivalent and
8289 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
8290 (keysym_table): Rename "num5numlock" to "numlock".
8291 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
8292 can uniformly say that only the last of multiple `sendkey'
8293 invocations has any effect.
8294 * docs/grub.texi (sendkey): New section.
8295
8296 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
8297
8298 * commands/i386/pc/sendkey.c (options): Fix three typos.
8299
8300 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Implement sendkey support.
8303
8304 * commands/i386/pc/sendkey.c: New file.
8305 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
8306 (sendkey_mod_SOURCES): New variable.
8307 (sendkey_mod_CFLAGS): Likewise.
8308 (sendkey_mod_LDFLAGS): Likewise.
8309
8310 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
8313 fix warnings from Autoconf.
8314
8315 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
8316
8317 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
8318 to avoid false positives with some assemblers that output things
8319 like "someprefix_func" as part of their output.
8320
8321 2010-08-15 Robert Millan <rmh@gnu.org>
8322
8323 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
8324 errors.
8325 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
8326 grub_get_libzfs_handle() errors.
8327
8328 2010-08-14 Robert Millan <rmh@gnu.org>
8329
8330 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
8331 filesystem is not ZFS.
8332
8333 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8334
8335 Fix for misspelled color names defaulting to black/black (bug
8336 reported by Doug Nazar)
8337
8338 * include/grub/normal.h (grub_parse_color_name_pair): Add return
8339 status to prototype.
8340 * normal/color.c (grub_parse_color_name_pair): Return failure
8341 status.
8342 (grub_env_write_color_normal): Ignore bad color names.
8343 (grub_env_write_color_highlight): Likewise.
8344 * normal/main.c (GRUB_MOD_INIT): Set default color names.
8345
8346 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8347
8348 "shift" command support to GRUB script.
8349
8350 * include/grub/script_sh.h (grub_script_shift): New prototype.
8351 * script/execute.c (grub_script_shift): New function.
8352 * script/main.c (grub_script_init): Register shift command.
8353 (grub_script_fini): Unregister shift command.
8354 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8355
8356 * tests/grub_script_shift.in: New testcase.
8357 * conf/tests.rmk: Rules for new testcase.
8358
8359 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8360
8361 "continue" command support to GRUB script.
8362
8363 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8364 (grub_script_break): Continue support.
8365 * script/main.c (grub_script_init): Register continue command.
8366 (grub_script_fini): Unregister continue command.
8367
8368 * tests/grub_script_continue.in: New testcase.
8369 * conf/tests.rmk: Rules for new testcase.
8370
8371 2010-08-12 BVK Chaitanya <bvk@dbook>
8372
8373 "break" command support to GRUB script.
8374
8375 * conf/common.rmk: Rule updates to grub-script-check.
8376 * include/grub/misc.h (grub_min): New function.
8377 * include/grub/script_sh.h (grub_script_init): New prototype.
8378 (grub_script_fini): New prototype.
8379 (grub_script_break): New prototype.
8380 * script/main.c (grub_script_init): New function.
8381 (grub_script_fini): New function.
8382 * script/execute.c (grub_script_break): New function.
8383 * normal/main.c: Calls to grub_script_{init,fini}.
8384 * util/grub-script-check.c (grub_script_break): New function.
8385
8386 * tests/grub_script_break.in: New testcase.
8387 * conf/tests.rmk: Rules for new test case.
8388
8389 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8390
8391 Function parameters support to GRUB script.
8392
8393 * script/yylex.l (VARIABLE): Regular expression update.
8394 * script/function.c (grub_script_function_call): Moved ...
8395 * script/execute.c (grub_script_function_call): ... to here.
8396 (grub_script_execute_arglist_to_argv): Removed.
8397 (grub_script_arglist_to_argv): New function.
8398 * script/argv.c: New file.
8399 (grub_script_argv_free): New function.
8400 (grub_script_argv_next): Likewise.
8401 (grub_script_argv_append): Likewise.
8402 (grub_script_argv_split_append): Likewise.
8403 * include/grub/script_sh.h (grub_script_argv): New struct.
8404 (grub_script_argv_free): New function.
8405 (grub_script_argv_next): Likewise.
8406 (grub_script_argv_append): Likewise.
8407 (grub_script_argv_split_append): Likewise.
8408
8409 * conf/common.rmk (normal.mod): New source script/argv.c.
8410
8411 * tests/grub_script_echo1.in: More tests.
8412 * tests/grub_script_vars1.in: Likewise.
8413 * tests/grub_script_functions.in: New test case.
8414 * conf/tests.rmk: Rules for new testcase.
8415
8416 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8417
8418 Remove grub_script_cmdblock struct.
8419
8420 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8421 * script/parser.y: Likewise.
8422 * script/execute.c: Rename cmdblock suffix to cmdlist.
8423 * script/script.c: Likewise.
8424 * util/grub-script-check.c: Likewise.
8425
8426 2010-08-11 Yves Blusseau <blusseau@zetam.org>
8427
8428 * .bzrignore: add grub-macho2img
8429
8430 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8433
8434 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 Remove the dump of sm712 initialisation sequence.
8437
8438 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8439 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8440 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8441 (GRUB_VGA_CR_*): Added many registers.
8442 (GRUB_VGA_SR_*): Likewise.
8443 (GRUB_VGA_GR_*): Likewise.
8444 (grub_vga_write_arx): New function.
8445 (grub_video_hw_config): New struct.
8446 (grub_vga_set_geometry): New function.
8447 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8448 GRUB_PCI_CLASS_SUBCLASS_VGA.
8449 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8450 * video/sm712.c (grub_sm712_write_reg): New function
8451 (grub_sm712_read_reg): Likewise.
8452 (grub_sm712_sr_write): Likewise.
8453 (grub_sm712_gr_write): Likewise.
8454 (grub_sm712_cr_write): Likewise.
8455 (grub_sm712_write_arx): Likewise.
8456 (grub_sm712_cr_shadow_write): Likewise.
8457 (grub_sm712_write_dda_lookup): Likewise.
8458 (grub_video_sm712_setup): Initialise the video rather then
8459 blindly replay the dump.
8460 (main) [TEST]: Add a routine to be able to compile as standalone for
8461 tests.
8462 * video/sm712_init.c (sm712_init): Removed.
8463 (sm712_sr_seq1): New array.
8464 (sm712_sr_seq2): Likewise.
8465
8466 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * include/grub/vga.h: Add missing grub/pci.h include.
8469
8470 2010-08-10 Yves Blusseau <blusseau@zetam.org>
8471
8472 * util/grub-macho2img.c (main): fix typo
8473
8474 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8477 (grub_vga_gr_read): Likewise.
8478 (grub_vga_cr_write): Likewise.
8479 (grub_vga_cr_read): Likewise.
8480 (grub_vga_sr_write): Likewise.
8481 (grub_vga_sr_read): Likewise.
8482 (grub_vga_palette_read): Likewise.
8483 (grub_vga_palette_write): Likewise.
8484 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8485 (grub_sm712_sr_read): New function.
8486 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8487 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8488
8489 2010-08-09 Robert Millan <rmh@gnu.org>
8490
8491 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8492 out unused variables on non-ZFS build.
8493
8494 2010-08-08 Robert Millan <rmh@gnu.org>
8495
8496 Fix path generation for sub-filesystems in ZFS.
8497
8498 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8499 missing slash.
8500
8501 2010-08-08 Robert Millan <rmh@gnu.org>
8502
8503 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8504
8505 2010-08-08 Robert Millan <rmh@gnu.org>
8506
8507 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8508 exist, issue a proper error message (rely on `ls' for translated
8509 strings).
8510
8511 2010-08-08 Robert Millan <rmh@gnu.org>
8512
8513 Fix grub-probe invocation.
8514
8515 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8516
8517 2010-08-04 Robert Millan <rmh@gnu.org>
8518
8519 * configure.ac: Remove checks for getfsstat() and getmntany().
8520 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8521 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8522 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8523 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8524 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8525 function.
8526 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8527 via find_mount_point_from_dir() and getfsstat() / getmntany().
8528
8529 2010-08-04 Robert Millan <rmh@gnu.org>
8530
8531 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8532 (grub_find_zpool_from_mount_point): Merge into ...
8533 (grub_find_zpool_from_dir): ... this.
8534 * kern/emu/misc.c: Likewise.
8535
8536 * kern/emu/misc.c
8537 (grub_make_system_path_relative_to_its_root): Replace
8538 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8539 with grub_find_zpool_from_dir().
8540 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8541
8542 2010-08-04 Robert Millan <rmh@gnu.org>
8543
8544 Support OpenSolaris in ZFS device resolution.
8545
8546 * configure.ac: Check for getmntany().
8547 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8548 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8549 support.
8550
8551 2010-08-03 Robert Millan <rmh@gnu.org>
8552
8553 Fix grub-emu build.
8554
8555 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8556 * include/grub/emu/misc.h: ... here.
8557
8558 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8559 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8560
8561 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8562 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8563 (grub_get_libzfs_handle): Move to ...
8564 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8565 (grub_get_libzfs_handle): ... here.
8566
8567 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8568
8569 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8570 as command name case.
8571
8572 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
8573
8574 * disk/raid.c (insert_array): Select unique numbers for named arrays
8575 as well, for use as keys in the disk cache.
8576
8577 2010-08-01 Robert Millan <rmh@gnu.org>
8578
8579 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8580 kFreeBSD device name, except on ZFS where the filesystem label is
8581 used.
8582 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8583 `/boot/zfs/zpool.cache'.
8584 Set mountfrom kernel variable using ${kfreebsd_device}.
8585
8586 2010-08-01 Robert Millan <rmh@gnu.org>
8587
8588 Make it even harder to use uninitialized `libzfs_handle' (and
8589 make the interface a bit simpler).
8590
8591 * include/grub/util/misc.h (grub_util_init_libzfs)
8592 (libzfs_handle): Remove.
8593 (grub_get_libzfs_handle): New prototype.
8594
8595 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8596 attribute.
8597 (grub_util_init_libzfs): Remove.
8598 (grub_get_libzfs_handle): New function.
8599
8600 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8601 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8602 accessing `libzfs_handle' directly.
8603
8604 2010-08-01 Robert Millan <rmh@gnu.org>
8605
8606 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8607 (grub_find_zpool_from_mount_point): New function prototypes.
8608
8609 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8610 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8611
8612 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8613 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8614 `static' attribute.
8615
8616 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8617 finding zpool from mount point into ...
8618 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8619
8620 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8621 requested path is part of a ZFS pool, use
8622 grub_find_zpool_from_mount_point() to detect its filesystem name,
8623 and generate a path with `/fsname@path' syntax.
8624
8625 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8626
8627 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8628 (void) rather than () so that this is a proper prototype.
8629
8630 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8633
8634 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8637 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8638
8639 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8640
8641 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8642
8643 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8644
8645 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8646
8647 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8648
8649 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8650 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8651 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8652 disable gfxpayload.
8653 (Shell-like scripting): Add real content.
8654 (Serial terminal): Suggest `terminal_input serial; terminal_output
8655 serial' rather than putting the two commands on separate lines,
8656 since console input will be inoperative after the first command.
8657 (menuentry): Document --class, --users, and --hotkey options.
8658 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8659 Vladimir Serbinenko).
8660
8661 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8662 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8663
8664 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8665
8666 2010-08-01 Robert Millan <rmh@gnu.org>
8667
8668 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8669 (grub_find_zpool_from_mount_point): New function prototypes.
8670
8671 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8672 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8673
8674 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8675 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8676 `static' attribute.
8677
8678 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8679 finding zpool from mount point into ...
8680 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8681
8682 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8683 requested path is part of a ZFS pool, use
8684 grub_find_zpool_from_mount_point() to detect its filesystem name,
8685 and generate a path with `/fsname@path' syntax.
8686
8687 2010-08-01 Robert Millan <rmh@gnu.org>
8688
8689 Prevent accidental use of uninitialized libzfs_handle.
8690
8691 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8692 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8693 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8694
8695 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8696
8697 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8698 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8699
8700 2010-08-01 Robert Millan <rmh@gnu.org>
8701
8702 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8703
8704 2010-07-31 Robert Millan <rmh@gnu.org>
8705
8706 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8707
8708 2010-07-31 Robert Millan <rmh@gnu.org>
8709
8710 * kern/emu/misc.c: Add missing license header.
8711
8712 2010-07-31 Robert Millan <rmh@gnu.org>
8713
8714 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8715
8716 * include/grub/util/libnvpair.h: Include `<config.h>'.
8717 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8718 declaring libnvpair prototypes ourselves.
8719 * include/grub/util/libzfs.h: Include `<config.h>'.
8720 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8721 declaring libzfs prototypes ourselves.
8722
8723 (libzfs_handle): Moved to ...
8724 * include/grub/util/misc.h (libzfs_handle): ... here.
8725 Include `<grub/util/libzfs.h>'.
8726
8727 2010-07-30 Robert Millan <rmh@gnu.org>
8728
8729 * include/grub/emu/misc.h: Add missing license header.
8730
8731 2010-07-30 Robert Millan <rmh@gnu.org>
8732
8733 Enable `grub-probe -t device' resolution on ZFS.
8734
8735 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8736 * include/grub/util/libnvpair.h: New file.
8737 * include/grub/util/libzfs.h: New file.
8738
8739 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8740 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8741 `<grub/util/libnvpair.h>'.
8742 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8743
8744 (find_mount_point_from_dir): New static function.
8745 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8746 function.
8747 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8748 find_root_device_from_libzfs() before ressorting to find_root_device().
8749
8750 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8751 prototype.
8752 * util/misc.c: Include `<grub/util/libzfs.h>'.
8753 (grub_util_init_libzfs): New function.
8754 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8755 [HAVE_LIBZFS] (fini_libzfs): New static function.
8756 (grub_util_init_libzfs): New function.
8757 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8758
8759 2010-07-30 Robert Millan <rmh@gnu.org>
8760
8761 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8762 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8763 `warn_unused_result' attribute.
8764 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8765 (grub_xasprintf, grub_xvasprintf): Likewise.
8766 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8767
8768 2010-07-29 Robert Millan <rmh@gnu.org>
8769
8770 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8771 (probe): Handle `PRINT_FS_LABEL'.
8772 (main): Handle `-t fs_label'.
8773
8774 2010-07-29 Robert Millan <rmh@gnu.org>
8775
8776 * configure.ac: Remove grub-mkisofs checks.
8777
8778 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8781 Reported by: Lennart Sorensen.
8782
8783 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8786 prior to terminal_input/terminal_output separation. It's been over 1.5
8787 years and those versions weren't widely deployed.
8788
8789 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
8790
8791 * disk/raid.c (insert_array): Don't count named arrays when looking
8792 for unused array numbers.
8793 Reported and tested by: Michael Guntsche.
8794
8795 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8796
8797 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8798 implementation of this so that grub-emu links again, with a note
8799 that this should support hotplugging in the future.
8800
8801 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8802
8803 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8804
8805 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8806
8807 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8808 handle on failure.
8809 (grub_loopback_close): Remove empty function.
8810 (grub_loopback_dev): Remove close method.
8811
8812 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8813
8814 Disable EFI cursor when the EFI console becomes inactive.
8815
8816 * term/efi/console.c (grub_efi_console_init): New function.
8817 (grub_efi_console_fini): New function.
8818 (grub_console_term_output): Register init and fini methods.
8819
8820 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8823 sh script.
8824
8825 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * disk/loopback.c (grub_loopback): Replace filename with file.
8828 (delete_loopback): Handle new semantics.
8829 (grub_cmd_loopback): Likewise.
8830 (grub_loopback_iterate): Likewise.
8831 (grub_loopback_close): Likewise.
8832
8833 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8836 with -p "".
8837 Reported by: Tito Keitel.
8838
8839 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * docs/grub.texi (Naming convention): Document new naming convention.
8842
8843 2010-07-20 Vadim Solomin <vadic052@gmail.com>
8844 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8845
8846 Generate device.map in something closer to the old ordering.
8847
8848 * util/deviceiter.c (struct device): New declaration.
8849 (compare_file_names): Rename to ...
8850 (compare_devices): ... this. Sort by kernel name in preference to
8851 the stable by-id name, but keep the latter as a fallback comparison.
8852 Update header comment.
8853 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8854 of `struct device' rather than of plain file names.
8855
8856 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8857
8858 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8859 on i386.
8860
8861 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8864 hardcoding size.
8865 (setv1table): Likewise.
8866
8867 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8868
8869 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8870 removing the homehost if present.
8871 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8872 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8873 removing the homehost if present.
8874 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8875 if possible.
8876 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8877
8878 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8879 parameter. Set its pointer target to 0.
8880 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8881 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8882 `data_offset' value from the superblock for 1.x metadata.
8883 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8884 data on the device.
8885 (insert_array): Record the start sector of data on the device.
8886 (grub_raid_register): Pass start_sector parameters to
8887 grub_raid_list->detect and insert_array.
8888 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8889 member.
8890 (struct grub_raid): Add start_sector parameter to `detect'.
8891
8892 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8893 __attribute__ ((packed)), leaving a comment.
8894 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8895 (grub_mdraid_detect_09): ... here and ...
8896 (grub_mdraid_detect_1x): ... here.
8897
8898 2010-07-20 Peter Henn <peter.henn@web.de>
8899
8900 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8901 chunk size and disk size, which are already given as sector counts
8902 as distinct from the 0.90 units. Fetch the correct device number
8903 from the role table instead of using the table index.
8904
8905 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
8906
8907 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8908 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8909 (WriteMostly1): New macro.
8910 Set array->name to NULL for metadata format 0.90. Add support for
8911 metadata 1.x. Fix some comments.
8912 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8913 few comments.
8914 * util/getroot.c (grub_util_get_grub_dev): Add support for
8915 /dev/md/name style devices.
8916
8917 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8918
8919 * .bzrignore: Ignore 20_linux_xen.
8920
8921 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
8922
8923 * util/import_unicode.py: Remove unnecessary imports.
8924
8925 2010-07-17 Aleš Nesrsta <starous@volny.cz>
8926
8927 Hotplugging and USB hub support.
8928
8929 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8930 (grub_ohci): Likewise.
8931 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8932 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8933 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8934 (GRUB_OHCI_CTRL_EDS): Likewise.
8935 (GRUB_OHCI_BULK_EDS): Likewise.
8936 (GRUB_OHCI_TDS): Likewise.
8937 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8938 (grub_ohci_ed_phys2virt): New function.
8939 (grub_ohci_virt_to_phys): Likewise.
8940 (grub_ohci_td_phys2virt): Likewise.
8941 (grub_ohci_td_virt2phys): Likewise.
8942 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8943 attachment.
8944 (grub_ohci_find_ed): New function.
8945 (grub_ohci_alloc_td): Likewise.
8946 (grub_ohci_free_td): Likewise.
8947 (grub_ohci_free_tds): Likewise.
8948 (grub_ohci_transfer): Use previously allocated memory.
8949 (grub_ohci_portstatus): Reset status changed bit.
8950 (grub_ohci_detect_dev): Supply status changed.
8951 (grub_ohci_fini_hw): Free memory.
8952 (grub_ohci_restore_hw): Reallocate memory.
8953 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8954 Reset status change.
8955 (grub_uhci_detect_dev): Supply status_change.
8956 * bus/usb/usb.c (attach_hooks): New var.
8957 (grub_usb_device_attach): New function.
8958 (grub_usb_register_attach_hook_class): Likewise.
8959 (grub_usb_unregister_attach_hook_class): Likewise.
8960 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8961 (grub_usb_add_hub): Reset connection changed bit.
8962 (attach_root_port): New function.
8963 (grub_usb_root_hub): Likewise.
8964 (poll_nonroot_hub): Likewise.
8965 (grub_usb_poll_devices): Likewise.
8966 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8967 * disk/usbms.c (grub_usbms_open): Use device hooks.
8968 (grub_usbms_iterate) :Poll devices.
8969 (grub_usbms_finddevs): Split into ...
8970 (grub_usbms_attach): ... this ...
8971 (grub_usbms_attach): ... and this.
8972 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8973 in detect_dev.
8974 (grub_usb_interface): New fields attached and detach_hook.
8975 (grub_usb_attach_hook_class): New type.
8976 (grub_usb_attach_desc): New struct.
8977 (grub_usb_register_attach_hook_class): New function.
8978 (grub_usb_unregister_attach_hook_class): Likewise.
8979 (grub_usb_poll_devices): Likewise.
8980 (grub_usb_device_attach): Likewise.
8981 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8982 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8983
8984 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8987 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8988 delta determination style. Works with most NetBSD partitions too.
8989
8990 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8993 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8994
8995 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8998
8999 2010-07-14 Anton Blanchard <anton@samba.org>
9000
9001 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9002 ET_DYN files.
9003
9004 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9005
9006 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9007
9008 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9009
9010 * kern/partition.c (grub_partition_check_containment): New function to
9011 check that a partition is physically contained in a parent. Since
9012 offsets are relative (and non-negative), this reduces to checking that
9013 the partition ends before its parent.
9014 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9015 (grub_partition_iterate): Likewise.
9016 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9017 comments.
9018 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9019 partitions that start before their parent, and add debug printfs.
9020
9021 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
9022
9023 * Makefile.in (.SUFFIX): Spell correctly, as ...
9024 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9025 bare module name without `.mod', e.g. `test') tried to invoke a
9026 Modula-2 compiler.
9027
9028 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
9029
9030 * README: Point to the Info manual.
9031
9032 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
9033
9034 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9035 2nd superblock position from partition size.
9036
9037 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
9038
9039 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9040 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9041 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9042 outputs.
9043
9044 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 Restructure SCSI .id handling.
9047 Reported and tested by: Aleš Nesrsta.
9048
9049 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9050 (grub_atapi_dev): Changed .name to "ata". New field .id.
9051 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9052 (grub_usbms_dev): New field .id.
9053 * disk/scsi.c (grub_scsi_iterate): Generate name.
9054 (grub_scsi_open): Parse name.
9055 * include/grub/scsi.h (grub_make_scsi_id): New function.
9056 (grub_scsi_dev): Change iterate and open to number instead of naming
9057 busses. All users updated.
9058 (grub_scsi): Remove name. Add .bus.
9059
9060 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * commands/help.c (grub_cmd_help): Fix a typo.
9063
9064 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
9067 Reported and tested by: Colin Watson.
9068
9069 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
9072 in this context.
9073
9074 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
9077
9078 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
9079
9080 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
9081 indentation.
9082
9083 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9084
9085 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
9086 and disk/raid6_recover.c.
9087 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9088 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9089
9090 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9091
9092 * term/gfxterm.c (repaint_schedulded): Rename to ...
9093 (repaint_scheduled): ... this. Update all callers.
9094 (repaint_was_schedulded): Rename to ...
9095 (repaint_was_scheduled): ... this. Update all callers.
9096
9097 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9098
9099 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
9100 which we expect to be handled by upper layers.
9101
9102 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
9103
9104 * bus/usb/usbhub.c: #include time.h header.
9105
9106 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9107
9108 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
9109 entry_name also for entries without stat blocks (e.g. ".."); fixes
9110 corruption of the first entry in a directory.
9111
9112 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9113
9114 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
9115 after setting gfxterm as the active terminal. GRUB_BACKGROUND
9116 doesn't work otherwise.
9117
9118 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9119
9120 * docs/grub.texi (Features): Update list of supported file systems.
9121 (GNU/Linux): Update for GRUB 2.
9122 (Serial terminal): Remove mention of --disable-serial, which was a
9123 GRUB Legacy configure option. Update instructions to use
9124 `terminal_input' and `terminal_output' rather than `terminal'.
9125 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
9126 configuration' and `Installing GRUB using grub-install'.
9127 (Menu entry editor): Update for GRUB 2.
9128 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
9129 Document new -a, -u, and -v options.
9130 (initrd): New section.
9131 (initrd16): New section.
9132 (linux): New section.
9133 (linux16): New section.
9134 (search): The `var' argument to `--set' is optional.
9135 (GRUB only offers a rescue shell): Go into a little more detail on
9136 drive ordering.
9137
9138 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9139
9140 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
9141
9142 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
9145 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
9146
9147 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9148
9149 * util/i386/pc/grub-setup.c (setup): Rename prefix to
9150 install_prefix, in line with install_dos_part and install_bsd_part.
9151 Add new prefix variable, which is copied to install_prefix after
9152 comparing core.img in memory with the one read from disk in the
9153 no-embedding case, and use that rather than overwriting
9154 install_prefix immediately when installing to a partition.
9155 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
9156 Bicakci.
9157
9158 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9159
9160 * configure.ac: Avoid == in test command, it's not portable.
9161 * util/grub.d/30_os-prober.in: Likewise.
9162
9163 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
9164
9165 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
9166
9167 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9168
9169 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
9170 multiple (top-level) partmaps.
9171
9172 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * util/i386/efi/grub-install.in: Don't use empty grub_device.
9175 Reported by: Tino Keitel.
9176
9177 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 Bidi and diacritics support.
9180
9181 * Makefile.in (widthspec.bin): New target.
9182 (widthspec.h): Likewise.
9183 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
9184 * autogen.sh: Generate unidata.c.
9185 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
9186 * commands/ls.c (grub_ls_list_devices): Likewise.
9187 (grub_ls_list_files): Likewise.
9188 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
9189 (grub_mini_cmd_lsmod): Likewise.
9190 * commands/read.c: Likewise.
9191 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
9192 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
9193 * lib/arg.c (grub_arg_show_help): Likewise.
9194 * lib/crypto.c (grub_password_get): Likewise.
9195 * normal/auth.c (grub_username_get): Likewise.
9196 * normal/misc.c (grub_normal_print_device_info): Likewise.
9197 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
9198 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
9199 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
9200 (normal/charset.c_DEPENDENCIES): New variable.
9201 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
9202 (pkglib_MODULES): Remove charset.mod.
9203 (charset_mod_SOURCES): Removed.
9204 (charset_mod_CFLAGS): Likewise.
9205 (charset_mod_LDFLAGS): Likewise.
9206 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
9207 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
9208 and term/tparm.c.
9209 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9210 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9211 (kernel_img_HEADERS): Add terminfo.h.
9212 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
9213 Fill ->font. Reverse ascii bitmaps.
9214 (grub_font_get_xheight): New function.
9215 * font/font.c (grub_font_get_string_width): Moved from here ...
9216 * gfxmenu/font.c (grub_font_get_string_width): ... here.
9217 * font/font.c (grub_font_draw_string): Moved from here ...
9218 * gfxmenu/font.c (grub_font_draw_string): ... here.
9219 * font/font.c (grub_font_dup_glyph): New function.
9220 (grub_font_blit_glyph): Likewise.
9221 (grub_font_blit_glyph_mirror): Likewise.
9222 (blit_comb): Likewise.
9223 (grub_font_construct_dry_run): Likewise.
9224 (grub_font_get_constructed_device_width): Likewise.
9225 (grub_font_construct_glyph): Likewise.
9226 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
9227 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
9228 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
9229 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
9230 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
9231 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
9232 (grub_font_get_xheight): New proto.
9233 (grub_font_get_constructed_device_width): Likewise.
9234 (grub_font_construct_glyph): Likewise.
9235 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
9236 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
9237 * include/grub/font.h (grub_font_draw_string): Moved from here ...
9238 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
9239 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
9240 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
9241 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
9242 (grub_console_getcharwidth): Likewise.
9243 * include/grub/misc.h (grub_xputs): New proto.
9244 (grub_puts): Inlined.
9245 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
9246 (grub_normal_get_line_counter): Removed.
9247 (grub_install_newline_hook): Likewise.
9248 (grub_normal_get_char_counter): New proto.
9249 (grub_normal_reset_more): Likewise.
9250 (grub_xputs_normal): Likewise.
9251 * include/grub/powerpc/ieee1275/console.h: Removed.
9252 * include/grub/sparc64/ieee1275/console.h: Likewise.
9253 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
9254 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
9255 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
9256 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
9257 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
9258 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
9259 (grub_term_input): Pass reference to self. All users updated.
9260 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
9261 Pass reference to self. New fields normal_color, highlight_color and
9262 data. All users updated.
9263 (grub_putchar): Removed.
9264 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
9265 (grub_unicode_estimate_width): New function.
9266 (grub_term_getcharwidth): Add defaults.
9267 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
9268 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
9269 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
9270 (grub_cls): Remove EXPORT_FUNC.
9271 (grub_setcolorstate): Inline.
9272 (grub_newline_hook): Removed.
9273 * include/grub/terminfo.h: Rewritten. All users updated.
9274 * include/grub/unicode.h: New file.
9275 * include/grub/video.h (grub_video_signed_rect): New type.
9276 * kern/emu/console.c (grub_console_highlight_color): Removed.
9277 (grub_console_normal_color): Likewise.
9278 (grub_console_standard_color): Made static.
9279 (grub_ncurses_putchar): Remove mapping.
9280 (grub_ncurses_getcharwidth): Removed.
9281 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9282 (grub_ncurses_setcolor): Removed.
9283 (grub_ncurses_getcolor): Likewise.
9284 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
9285 (grub_console_putchar): ... this.
9286 (grub_console_putchar): Handle argument difference.
9287 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
9288 console_init_early and console_init_lately.
9289 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
9290 * kern/misc.c (grub_puts): Removed.
9291 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
9292 (grub_vsnprintf_real): Remove str = NULL support.
9293 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
9294 * normal/charset.c (grub_utf8_to_ucs4): ... here.
9295 * kern/term.c (grub_putcode): Renamed to ...
9296 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
9297 (grub_putchar): Removed.
9298 (grub_xputs_dumb): New function.
9299 (grub_xputs): New variable.
9300 * lib/charset.c: Move from here ...
9301 * normal/charset.c: ... to here.
9302 (grub_ucs4_to_utf8): New function.
9303 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
9304 (join_types): New variable.
9305 (unpack_join): New function.
9306 (bidi_types): New variable.
9307 (unpack_bidi): New function.
9308 (get_bidi_type): Likewise.
9309 (get_join_type): Likewise.
9310 (is_mirrored): Likewise.
9311 (grub_unicode_get_comb_type): Likewise.
9312 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
9313 (is_type_after): Likewise.
9314 (grub_unicode_aglomerate_comb): Likewise.
9315 (bidi_line_wrap): Likewise.
9316 (grub_bidi_line_logical_to_visual): Likewise.
9317 (grub_bidi_logical_to_visual): Likewise.
9318 (grub_unicode_mirror_code): Likewise.
9319 (grub_unicode_shape_code): Likewise.
9320 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
9321 Don't use grub_putchar.
9322 * normal/main.c (grub_normal_init_page): Use grub_putcode.
9323 (grub_normal_reader_init): Likewise.
9324 (grub_xputs_saved): New variable.
9325 (GRUB_MOD_INIT): Set grub_xputs.
9326 (GRUB_MOD_FINI): Restore grub_xputs.
9327 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
9328 (menu_init): Avoid printing gfxmenu error.
9329 (show_menu): Use grub_normal_get_char_counter.
9330 * normal/menu_entry.c (update_screen): Fix out-of-array.
9331 (complete): Avoid NULL dereferencing.
9332 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
9333 * normal/menu_text.c (print_spaces): Removed.
9334 (grub_print_ucs4): Likewise.
9335 (grub_print_message_indented): Use grub_print_ucs4.
9336 (print_message): Use grub_putcode.
9337 (print_entry): Hanlde diacritics.
9338 * normal/term.c (term_state): New type.
9339 (grub_more_lines): Removed.
9340 (term_states): New variable.
9341 (grub_normal_line_counter): Renamed to ..
9342 (grub_normal_char_counter): ...this. All users updated.
9343 (grub_normal_get_line_counter): Renamed to ...
9344 (grub_normal_get_char_counter): ... this.
9345 (grub_normal_reset_more): New function.
9346 (process_newline): Removed.
9347 (print_more): New function.
9348 (grub_install_newline_hook): Removed.
9349 (map_code): New function.
9350 (grub_puts_terminal): Use grub_print_ucs4.
9351 (putglyph): New function.
9352 (putcode_real): Likewise.
9353 (grub_putcode): Use putcode_real.
9354 (get_maxwidth): New function.
9355 (get_startwidth): Likewise.
9356 (print_ucs4_terminal): Likewise.
9357 (find_term_state): Likewise.
9358 (put_glyphs_terminal): Likewise.
9359 (print_backlog): Likewise.
9360 (print_ucs4_real): Likewise.
9361 (grub_print_ucs4): Likewise.
9362 (grub_xputs_normal): Likewise.
9363 * term/efi/console.c (grub_console_putchar): Output diacritics.
9364 (grub_console_getcharwidth): Removed.
9365 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9366 * term/gfxterm.c (clear_char): Free chars.
9367 (scroll_up): Avoid leaking memory.
9368 (grub_gfxterm_putchar): Support diacritics.
9369 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9370 * term/i386/pc/console.c (grub_console_term_output): Declare as
9371 GRUB_TERM_CODE_TYPE_VGA.
9372 * term/i386/pc/vga.c (grub_vga_term): Declare as
9373 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9374 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9375 GRUB_TERM_CODE_TYPE_VGA.
9376 * term/i386/vga_common.c (map_char): Removed.
9377 (grub_console_putchar): Likewise.
9378 (grub_console_getcharwidth): Likewise.
9379 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9380 (colors): Reordered to match terminfo.
9381 (grub_ofconsole_normal_color): Removed.
9382 (grub_ofconsole_writeesc): Likewise.
9383 (grub_ofconsole_highlight_color): Likewise.
9384 (grub_ofconsole_getcharwidth): Likewise.
9385 (grub_ofconsole_setcolorstate): Likewise.
9386 (grub_ofconsole_setcolor): Likewise.
9387 (grub_ofconsole_getcolor): Likewise.
9388 (grub_ofconsole_readkey): Renamed to ...
9389 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9390 key.
9391 (grub_ofconsole_checkkey): Removed.
9392 (grub_ofconsole_getkey): Likewise.
9393 (grub_ofconsole_getxy): Likewise.
9394 (grub_ofconsole_gotoxy): Likewise.
9395 (grub_ofconsole_cls): Likewise.
9396 (grub_ofconsole_refresh): Likewise.
9397 (grub_ofconsole_terminfo_input): New struct.
9398 (grub_ofconsole_terminfo_output): Likewise.
9399 (grub_ofconsole_term_input): Use terminfo.
9400 (grub_ofconsole_term_output): Likewise.
9401 (grub_console_init): Split into ...
9402 (grub_console_init_early): ...this and ...
9403 (grub_console_init_lately): ...this. Use terminfo.
9404 (grub_ofconsole_putchar): Renamed to ...
9405 (put): ... this. Remove mapping.
9406 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9407 * term/serial.c: Simplify using terminfo.
9408 (xpos): Removed.
9409 (ypos): Likewise.
9410 (keep_track): Likewise.
9411 (registered): Likewise.
9412 (input_buf): Likewise.
9413 (npending): Likewise.
9414 (serial_translate_key_sequence): Likewise.
9415 (fill_input_buf): Likewise.
9416 (grub_serial_checkkey): Likewise.
9417 (grub_serial_getkey): Likewise.
9418 (grub_serial_getxy): Likewise.
9419 (grub_serial_gotoxy): Likewise.
9420 (grub_serial_putchar): Likewise.
9421 (grub_serial_cls): Likewise.
9422 (grub_serial_setcolorstate): Likewise.
9423 (grub_serial_setcursor): Likewise.
9424 (serial_hw_init): Use serial_hw_fetch.
9425 (grub_serial_terminfo_input): New variable.
9426 (grub_serial_terminfo_output): Likewise.
9427 (grub_serial_term_input): Use terminfo.
9428 (grub_serial_term_output): Likewise.
9429 * term/terminfo.c (putstr): Use put.
9430 (grub_terminfo_all_free): New function
9431 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9432 (grub_terminfo_output_register): New function.
9433 (grub_terminfo_output_unregister): Likewise.
9434 (grub_terminfo_getxy): Likewise.
9435 (grub_terminfo_readkey): Likewise.
9436 (grub_terminfo_checkkey): Likewise.
9437 (grub_terminfo_getkey): Likewise.
9438 (grub_terminfo_input_init): Likewise.
9439 (print_terminfo): Likewise.
9440 (grub_cmd_terminfo): Handle encoding.
9441 (grub_terminfo_gotoxy): Track position.
9442 (grub_terminfo_cls): Likewise.
9443 (grub_terminfo_putchar): Likewise.
9444 (grub_terminfo_setcolorstate): Handle colors
9445 (grub_terminfo_cursor_on): This ...
9446 (grub_terminfo_cursor_off): ... and this merged into ...
9447 (grub_terminfo_setcursor): ... this.
9448 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9449 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9450 * unicode/BidiMirroring.txt: Likewise.
9451 * unicode/UnicodeData.txt: Likewise.
9452 * unicode/COPYING: Likewise.
9453 * util/grub-editenv.c (grub_putchar): Removed.
9454 (grub_xputs_real): New function.
9455 (grub_xputs): New variable.
9456 * util/grub-fstest.c (grub_putchar): Removed.
9457 (grub_xputs_real): New function.
9458 (grub_xputs): New variable.
9459 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9460 (grub_xputs_real): New function.
9461 (grub_xputs): New variable.
9462 * util/grub-probe.c (grub_putchar): Removed.
9463 (grub_xputs_real): New function.
9464 (grub_xputs): New variable.
9465 * util/grub-script-check.c (grub_putchar): Removed.
9466 (grub_xputs_real): New function.
9467 (grub_xputs): New variable.
9468 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9469 (grub_xputs_real): New function.
9470 (grub_xputs): New variable.
9471 * util/import_unicode.py: New file.
9472 * util/grub-mkfont.c (ft_errmsgs): New array.
9473 (grub_glyph_info): Make bitmap a pointer.
9474 (file_formats): New type WIDTH_SPEC.
9475 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9476 (options): Add width-spec.
9477 (help): Likewise.
9478 (add_char): Renamed to ...
9479 (add_glyph): ... this.
9480 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9481 (glyph_replace): New type.
9482 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9483 (add_char): New function.
9484 (add_subst): Likewise.
9485 (process_cursive): Likewise.
9486 (add_font): Handle GSUB.
9487 (write_font_width_spec): New function.
9488 (main): Sort glyphs.
9489 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9490 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9491 * kern/term.c (grub_cls): Moved from here...
9492 * normal/term.c (grub_cls): ... here.
9493
9494 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9495
9496 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9497 suitable for using within the format argument of printf when
9498 converting grub_size_t.
9499 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9500 "x" to convert grub_size_t arguments.
9501
9502 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9505 too long captions.
9506 (list_get_minimal_size): Take selection box into account.
9507
9508 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9511 NULL font.
9512
9513 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9514
9515 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9516 devices when iterating over /dev/disk/by-id; they will be handled
9517 later if appropriate, which they aren't always (e.g. LVM).
9518
9519 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9520
9521 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9522 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9523 fails.
9524 (grub_halt): Likewise.
9525 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9526 reset-all fails.
9527 (grub_halt): Don't return, even if all of shut-down, power-off, and
9528 poweroff fail.
9529
9530 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9531
9532 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9533 arguments, not three.
9534
9535 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9536
9537 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9538 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9539 LVM-on-RAID is handled correctly.
9540
9541 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9542
9543 * docs/grub.texi (Changes from GRUB Legacy): New section.
9544 (Future): Fix typo.
9545
9546 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9547
9548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9549 grub.d/README accidentally ends up executable for one reason or
9550 another. Ignore it.
9551
9552 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9555 (gpt_partition_map_iterate): Support non-512B sectors.
9556
9557 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9560 Tested by: Seth Goldberg.
9561
9562 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9565 Properly align mbi.
9566 Reported by: Seth Goldberg.
9567
9568 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * util/grub-mkrescue.in: Avoid module duplication.
9571
9572 2010-07-01 Sean Finney <seanius@seanius.net>
9573
9574 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9575
9576 2010-07-01 Sean Finney <seanius@seanius.net>
9577
9578 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9579
9580 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * disk/lvm.c (grub_lvm_checkvalue): New function.
9583 (grub_lvm_check_flag): Likewise.
9584
9585 2010-07-01 Robert Millan <rmh@gnu.org>
9586
9587 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9588 Support 'p' as partition separator on kernel of FreeBSD (used
9589 with GPT labels).
9590 (grub_util_biosdisk_get_grub_dev): Likewise.
9591
9592 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Yeeloong firmware port.
9595
9596 * boot/mips/yeeloong/fwstart.S: New file.
9597 * bus/cs5536.c (gpiodump): New const.
9598 (set_io_space): New function.
9599 (set_iod): Likewise.
9600 (set_p2d): Likewise.
9601 (grub_cs5536_init_geode): Likewise.
9602 * commands/mips/yeeloong/lsspd.c: New file.
9603 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9604 (serial_mod_SOURCES): New variable.
9605 (serial_mod_CFLAGS): Likewise.
9606 (serial_mod_LDFLAGS): Likewise.
9607 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9608 term/terminfo.c and term/tparm.c.
9609 (pkglib_IMAGES): Add fwstart.img.
9610 (fwstart_img_SOURCES): New variable.
9611 (fwstart_img_CFLAGS): Likewise.
9612 (fwstart_img_ASFLAGS): Likewise.
9613 (fwstart_img_LDFLAGS): Likewise.
9614 (fwstart_img_FORMAT): Likewise.
9615 (pkglib_MODULES): Add lsspd.mod.
9616 (lsspd_mod_SOURCES): New variable.
9617 (lsspd_mod_CFLAGS): Likewise.
9618 (lsspd_mod_LDFLAGS): Likewise.
9619 (pkglib_MODULES): Add halt.mod.
9620 (halt_mod_SOURCES): New variable.
9621 (halt_mod_CFLAGS): Likewise.
9622 (halt_mod_LDFLAGS): Likewise.
9623 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9624 (serial_mod_SOURCES): Removed.
9625 (serial_mod_CFLAGS): Likewise.
9626 (serial_mod_LDFLAGS): Likewise.
9627 * disk/ata.c (check_device): New function.
9628 (grub_ata_device_initialize): Use check_device.
9629 (grub_ata_iterate): Recheck devices.
9630 (grub_ata_open): Likewise.
9631 (grub_atapi_iterate): Likewise.
9632 (grub_atapi_open): Likewise.
9633 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9634 (GRUB_ATA_CH1_PORT1): Likewise.
9635 (GRUB_ATA_CH0_PORT2): Likewise.
9636 (GRUB_ATA_CH1_PORT2): Likewise.
9637 * include/grub/mips/loongson.h: New file.
9638 * include/grub/mips/yeeloong/ec.h: Likewise.
9639 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9640 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9641 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9642 * include/grub/misc.h (grub_halt): Declare as noreturn.
9643 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9644 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9645 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9646 (UART_ENABLE_DTRRTS): Likewise.
9647 (UART_ENABLE_MODEM): Removed.
9648 (UART_ENABLE_OUT2): New const.
9649 * include/grub/term.h (grub_term_register_input_active): New function.
9650 (grub_term_register_output_active): Likewise.
9651 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9652 argument.
9653 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9654 (init_pci): New function.
9655 (grub_machine_init): Execute platform init when firmware. Init serial.
9656 (grub_halt): Implement.
9657 (grub_exit): Likewise.
9658 (grub_reboot): Likewise.
9659 * term/serial.c (serial_hw_init): Update macros.
9660 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9661 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9662 (image_targets): New target mipsel-yeeloong-flash.
9663 (generate_image): Support IMAGE_YEELOONG_FLASH.
9664 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9665 (grub_video_sm712_setup): Init card.
9666 (grub_video_sm712_set_palette): Removed.
9667 * video/sm712_init.c: New file.
9668
9669 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
9670
9671 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9672 PATH when running help2man and then run it on the unadorned
9673 executable names, rather than passing $(builddir)/* paths to
9674 help2man. This avoids the build directory ending up in generated
9675 manual pages.
9676
9677 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9678
9679 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9680 to avoid accidents when debugging with 'sh -x'.
9681 * util/grub-mkrescue.in: Likewise.
9682 * util/grub.d/00_header.in: Likewise.
9683 * util/grub.d/10_hurd.in: Likewise.
9684 * util/grub.d/10_kfreebsd.in: Likewise.
9685 * util/grub.d/10_linux.in: Likewise.
9686 * util/grub.d/10_netbsd.in: Likewise.
9687 * util/grub.d/10_windows.in: Likewise.
9688 * util/grub.d/20_linux_xen.in: Likewise.
9689 * util/grub.d/30_os-prober.in: Likewise.
9690 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9691
9692 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9693
9694 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9695 last character in the buffer.
9696 Reported by: Vladimir Serbinenko.
9697
9698 2010-06-29 Robert Millan <rmh@gnu.org>
9699
9700 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9701 (Command-line and menu entry commands): Document `badram' command.
9702
9703 2010-06-28 Robert Millan <rmh@gnu.org>
9704
9705 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9706 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9707 command using ${GRUB_BADRAM} as parameter.
9708
9709 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9710
9711 * docs/grub.texi (Device map): New section.
9712 (Themes): New section (stub).
9713 * Makefile.in (docs/grub.info): The info documentation now builds
9714 without errors. Make sure it stays that way.
9715
9716 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 Use normal parser for menu entries.
9719 Reported by: Thomas Frauendorfer
9720
9721 * include/grub/parser.h (grub_parser_execute): Don't export.
9722 * normal/menu.c (grub_menu_execute_entry_real): New function.
9723 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9724
9725 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9726
9727 * docs/grub.texi (Embedded configuration): New section (replacing
9728 old "Preset Menu" stub).
9729 (Images): New section.
9730 (configfile): Note that any menu entries defined in `file' are shown
9731 immediately.
9732
9733 2010-06-28 Josh Triplett <josh@joshtriplett.org>
9734
9735 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9736
9737 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9738
9739 * util/grub-install.in: Add --debug-image= option.
9740
9741 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9742
9743 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9744 possible on Linux.
9745
9746 * util/deviceiter.c (check_device): Rename to ...
9747 (check_device_readable_unique): ... this. Update all callers.
9748 Maintain and check a list of which devices (by canonicalized name)
9749 have already been seen.
9750 (clear_seen_devices): New function.
9751 (compare_file_names) [__linux__]: New function.
9752 (grub_util_iterate_devices): Clear the list of seen devices on exit
9753 and (just in case) on entry.
9754 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9755 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9756 seen-devices list, superseded by general code in check_device.
9757
9758 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9759
9760 * commands/cat.c (options): New variable.
9761 (grub_cmd_cat): Parse options. If the --dos option is given, print
9762 DOS-style "\r\n" line endings as simple newlines (Debian bug
9763 #586358).
9764 (GRUB_MOD_INIT): Use extcmd.
9765 (GRUB_MOD_FINI): Likewise.
9766 * docs/grub.texi (cat): Document --dos.
9767
9768 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 XEN with Linux grub-mkconfig support.
9771
9772 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9773 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9774 GRUB_CMDLINE_XEN_DEFAULT.
9775 * util/grub.d/20_linux_xen.in: New file.
9776
9777 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 Initialise VGA video on qemu ourselves.
9780
9781 * boot/i386/qemu/boot.S: Don't call 0xc000.
9782 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9783 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9784 (kernel_img_HEADERS): Add pci.h.
9785 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9786 * configure.ac: Force unifont on qemu and yeeloong.
9787 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9788 (grub_vga_palette_write): Use correct register.
9789 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9790 Call grub_qemu_init_cirrus.
9791 * kern/i386/qemu/init.c: New file.
9792 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9793
9794 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9795
9796 2010-06-26 Pavel Roskin <proski@gnu.org>
9797
9798 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9799 13.
9800
9801 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9802
9803 * docs/grub.texi (Simple configuration): Explain that
9804 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9805 set to `true' to disable their respective recovery entries, not
9806 merely set.
9807
9808 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9809
9810 Make the `source' command slightly faster.
9811
9812 * normal/main.c (grub_normal_execute): Don't re-read list files when
9813 nested.
9814
9815 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9816
9817 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9818 field position and mask size to red fields from mode_info, not
9819 green.
9820 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9821 Remove redundant tag->common.framebuffer_type assignment.
9822 Reported by: Seth Goldberg.
9823
9824 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9825
9826 Sync up other versions of the Linux loader with Robert Millan's
9827 change of 2010-01-09, "Make loader output a bit more user-friendly".
9828
9829 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9830 grub_dprintf().
9831 (grub_cmd_linux): Likewise.
9832 (grub_cmd_initrd): Likewise.
9833 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9834 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9835
9836 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
9837
9838 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9839 larger than MEMORY_MAP_SIZE.
9840
9841 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9842
9843 Fix parallel build.
9844
9845 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9846 dependency.
9847 * script/parser.y: #include grub_script.tab.h header.
9848
9849 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Support >3GiB and <16MiB RAM in i386-qemu.
9852
9853 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9854 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9855 (grub_lower_mem): Removed.
9856 (grub_upper_mem): Likewise.
9857 (mem_size): Made static.
9858 (above_4g): New variable.
9859 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9860 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9861 support.
9862
9863 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 Cirrus 5446 and Bochs video cards support.
9866
9867 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9868 video_bochs.mod
9869 (video_cirrus_mod_SOURCES): New variable.
9870 (video_cirrus_mod_CFLAGS): Likewise.
9871 (video_cirrus_mod_LDFLAGS): Likewise.
9872 (video_bochs_mod_SOURCES): Likewise.
9873 (video_bochs_mod_CFLAGS): Likewise.
9874 (video_bochs_mod_LDFLAGS): Likewise.
9875 * include/grub/vga.h: New file.
9876 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9877 (grub_video_fb_set_page_t): New type.
9878 (grub_video_fb_setup): New prototype.
9879 (grub_video_fb_swap_buffers): Likewise.
9880 (grub_video_fb_get_info_and_fini): Likewise.
9881 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9882 (CRTC_DATA_PORT): Likewise.
9883 (CRTC_CURSOR): Likewise.
9884 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9885 (CRTC_CURSOR_ADDR_LOW): Likewise.
9886 (CRTC_CURSOR_DISABLE): Likewise.
9887 (update_cursor): Use grub_vga_cr_write.
9888 (grub_vga_text_setcursor): Likewise.
9889 * video/bochs.c: New file.
9890 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9891 (palette): Likewise.
9892 (palette_size): Likewise.
9893 (framebuffer): New variable.
9894 (grub_video_fb_init): Use 'framebuffer'.
9895 (grub_video_fb_fini): Likewise.
9896 (grub_video_fb_get_info): Likewise.
9897 (grub_video_fb_get_palette): Likewise.
9898 (grub_video_fb_set_palette): Likewise.
9899 (grub_video_fb_set_viewport): Likewise.
9900 (grub_video_fb_get_viewport): Likewise.
9901 (grub_video_fb_map_color): Likewise.
9902 (grub_video_fb_map_rgb): Likewise.
9903 (grub_video_fb_map_rgba): Likewise.
9904 (grub_video_fb_unmap_color): Likewise.
9905 (grub_video_fb_unmap_color_int): Likewise.
9906 (grub_video_fb_fill_rect): Likewise.
9907 (grub_video_fb_blit_bitmap): Likewise.
9908 (grub_video_fb_blit_render_target): Likewise.
9909 (grub_video_fb_scroll): Likewise.
9910 (grub_video_fb_create_render_target): Likewise.
9911 (grub_video_fb_doublebuf_blit_init): Likewise.
9912 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9913 (doublebuf_pageflipping_update_screen): New function.
9914 (doublebuf_pageflipping_init): Likewise.
9915 (grub_video_fb_setup): Likewise.
9916 (grub_video_fb_swap_buffers): Likewise.
9917 (grub_video_fb_get_info_and_fini): Likewise.
9918 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9919 All users updated.
9920 (doublebuf_pageflipping_commit): Restructured into ...
9921 (doublebuf_pageflipping_set_page): ... this.
9922 (doublebuf_pageflipping_update_screen): Removed.
9923 (doublebuf_pageflipping_init): Likewise.
9924 (double_buffering_init): Likewise.
9925 (grub_video_vbe_setup): Use grub_video_fb_setup.
9926 (grub_video_vbe_swap_buffers): Removed.
9927 (grub_video_vbe_set_active_render_target): Likewise.
9928 (grub_video_vbe_get_active_render_target): Likewise.
9929 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9930 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9931 grub_video_fb_set_active_render_target and
9932 grub_video_fb_get_active_render_target.
9933 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9934 (SEQUENCER_DATA_PORT): Likewise.
9935 (MAP_MASK_REGISTER): Likewise.
9936 (CRTC_ADDR_PORT): Likewise.
9937 (CRTC_DATA_PORT): Likewise.
9938 (START_ADDR_HIGH_REGISTER): Likewise.
9939 (START_ADDR_LOW_REGISTER): Likewise.
9940 (GRAPHICS_ADDR_PORT): Likewise.
9941 (GRAPHICS_DATA_PORT): Likewise.
9942 (READ_MAP_REGISTER): Likewise.
9943 (INPUT_STATUS1_REGISTER): Likewise.
9944 (INPUT_STATUS1_VERTR_BIT): Likewise.
9945 (get_map_mask): Use grub_vga_sr_read.
9946 (set_map_mask): Use grub_vga_sr_write.
9947 (set_read_map): Use grub_vga_gr_write.
9948 (set_start_address): Use grub_vga_cr_write.
9949 * video/sm712.c (framebuffer): Remove leftover fields.
9950
9951 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
9952
9953 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9954 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9955 instead. Replace the gfxterm backend check with a check that
9956 ${GRUB_PREFIX}/video.lst is non-empty.
9957 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9958 again.
9959 (load_video): New generated function. Call it before loading
9960 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9961 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9962 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9963 * docs/grub.texi (Simple configuration): Document
9964 GRUB_VIDEO_BACKEND.
9965
9966 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 Use video functions in linux and xnu loaders.
9969
9970 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9971 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9972 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9973 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9974 loader/i386/pc/linux.c.
9975 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9976 (find_line_len): Removed.
9977 (find_framebuf): Likewise.
9978 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9979 * loader/i386/efi/xnu.c: Removed.
9980 * loader/i386/pc/xnu.c: Moved from here...
9981 * loader/i386/xnu.c: ...here.
9982
9983 Enable priorities in video drivers.
9984
9985 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9986 (grub_video_adapter): New field prio.
9987 (grub_video_register): Respect prio when inserting.
9988 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9989 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9990 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9991 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9992 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9993 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9994 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9995
9996 Fix SDL driver ID.
9997
9998 * include/grub/video.h (grub_video_driver_id_t): New value
9999 GRUB_VIDEO_DRIVER_SDL.
10000 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10001
10002 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10005 argument to printf.
10006 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10007
10008 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10009
10010 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10011 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10012
10013 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10014
10015 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10016 directly, and recommend grub-install instead.
10017 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10018
10019 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10020
10021 Fix i386-pc prefix handling with nested partitions (Debian bug
10022 #585068). Note that the case where the core image is booted using
10023 multiboot and relocated from its original location still requires
10024 more work.
10025
10026 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10027 with "(,", fill the boot drive in between those two characters, but
10028 expect that a full partition specification including partition map
10029 names will follow.
10030 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10031 specified, write a prefix without the drive name but including a
10032 full partition specification.
10033
10034 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
10035
10036 * util/grub-mkconfig.in: Ignore non-option arguments, for
10037 compatibility with older versions (before 2010-06-12) which did the
10038 same. In particular, this makes it easier to ship an update-grub
10039 wrapper which is compatible with that used with GRUB Legacy (Debian
10040 bug #586056).
10041
10042 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10043
10044 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10045 for manual page generation.
10046
10047 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10048
10049 * po/POTFILES: Remove leftover commands/handler.c.
10050
10051 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
10052
10053 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10054 left this script non-functional.
10055
10056 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
10057
10058 * docs/man/grub-emu.h2m: New file.
10059
10060 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * docs/grub.texi (Commands): Document reduced command set in rescue
10063 mode.
10064 (cpuid): New section.
10065
10066 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
10067
10068 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
10069 new partition naming style.
10070 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
10071
10072 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
10073
10074 Add "-o grub.iso" like cmdline options support.
10075
10076 * util/grub-install.in: Improve cmdline option parsing.
10077 * util/grub-mkconfig.in: Likewise.
10078 * util/grub-mkrescue.in: Likewise.
10079 * util/grub-reboot.in: Likewise.
10080 * util/grub-set-default.in: Likewise.
10081 * util/i386/efi/grub-install.in: Likewise.
10082 * util/ieee1275/grub-install.in: Likewise.
10083 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10084
10085 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * .bzrignore: Ignore 41_custom.
10088
10089 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10090
10091 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
10092
10093 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10094
10095 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
10096 prototype declarations.
10097
10098 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
10099 generating fs, partmap, and video lists.
10100 * include/grub/fs.h (grub_fs_register): Omit prototype if
10101 GRUB_LST_GENERATOR is defined.
10102 * include/grub/partition.h (grub_partition_map_register): Likewise.
10103 * include/grub/video.h (grub_video_register): Likewise.
10104
10105 2010-06-12 Javier Martín <lordhabbit@gmail.com>
10106
10107 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
10108
10109 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10110
10111 * util/grub-mkrescue.in: Support --xorriso argument.
10112
10113 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
10116 Suggested by: Thomas Schmitt.
10117
10118 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
10121 Suggested by: Thomas Schmitt.
10122
10123 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 custom.cfg support.
10126
10127 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
10128 * util/grub.d/41_custom.in: New file.
10129
10130 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10131
10132 * util/grub-mkrescue.in (make_image): Remove sh module, which has
10133 been merged back into normal.
10134
10135 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
10136
10137 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
10138 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
10139
10140 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
10141
10142 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
10143 when generating manual pages.
10144 * docs/man/grub-bin2h.h2m: New file.
10145 * docs/man/grub-editenv.h2m: New file.
10146 * docs/man/grub-fstest.h2m: New file.
10147 * docs/man/grub-install.h2m: New file.
10148 * docs/man/grub-macho2img.h2m: New file.
10149 * docs/man/grub-mkconfig.h2m: New file.
10150 * docs/man/grub-mkdevicemap.h2m: New file.
10151 * docs/man/grub-mkfont.h2m: New file.
10152 * docs/man/grub-mkimage.h2m: New file.
10153 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
10154 * docs/man/grub-mkrelpath.h2m: New file.
10155 * docs/man/grub-mkrescue.h2m: New file.
10156 * docs/man/grub-ofpathname.h2m: New file.
10157 * docs/man/grub-pe2elf.h2m: New file.
10158 * docs/man/grub-probe.h2m: New file.
10159 * docs/man/grub-reboot.h2m: New file.
10160 * docs/man/grub-script-check.h2m: New file.
10161 * docs/man/grub-set-default.h2m: New file.
10162 * docs/man/grub-setup.h2m: New file.
10163
10164 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Use FOR_* macros instead of *_iterate whenever possible.
10167
10168 * commands/handler.c: Removed.
10169 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
10170 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
10171 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10172 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
10173 (grub_probe_SOURCES): Remove kern/parser.c.
10174 (util/grub-script-check.c_DEPENDENCIES): Removed.
10175 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
10176 and grub_script_check_init.c.
10177 (grub_script_check_init.lst): Removed.
10178 (grub_script_check_init.h): Likewise.
10179 (grub_script_check_init.c): Likewise.
10180 (pkglib_MODULES): Remove handler.mod and sh.mod.
10181 (handler_mod_SOURCES): Removed.
10182 (handler_mod_CFLAGS): Likewise.
10183 (handler_mod_LDFLAGS): Likewise.
10184 (normal_mod_SOURCES): Remove normal/handler.c.
10185 Add script/main.c, script/script.c, script/execute.c,
10186 script/function.c, script/lexer.c, grub_script.tab.c
10187 and grub_script.yy.c.
10188 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10189 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10190 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
10191 (grub_setup_SOURCES): Remove kern/parser.c.
10192 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10193 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
10194 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10195 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10196 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10197 (grub_setup_SOURCES): Remove kern/parser.c.
10198 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10199 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
10200 * include/grub/command.h (grub_command_iterate): Removed.
10201 (FOR_COMMANDS): New macro.
10202 * include/grub/dl.h (grub_dl): New member next.
10203 (grub_dl_iterate): Removed.
10204 (grub_dl_head): New variable declaration.
10205 (FOR_DL_MODULES): New macro.
10206 * include/grub/fs.h: Include list.h.
10207 (grub_fs): Make next first element.
10208 (grub_fs_list): New variable declaration.
10209 (grub_fs_register): Make inline.
10210 (grub_fs_unregister): Likewise.
10211 (grub_fs_iterate): Removed.
10212 (FOR_FILESYSTEMS): New macro.
10213 * include/grub/handler.h: Removed.
10214 * include/grub/list.h (grub_list_hook_t): Removed.
10215 (grub_list_test_t): Likewise.
10216 (grub_list_pop): Likewise.
10217 (grub_list_iterate): Likewise.
10218 (grub_list_insert): Likewise.
10219 (FOR_LIST_ELEMENTS): New macro.
10220 * include/grub/parser.h (grub_parser_class): Removed.
10221 (grub_parser_register): Likewise.
10222 (grub_parser_unregister): Likewise.
10223 (grub_parser_get_current): Likewise.
10224 (grub_parser_set_current): Likewise.
10225 (grub_register_rescue_parser): Likewise.
10226 (grub_rescue_parse_line): New function.
10227 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
10228 * include/grub/script_sh.h (grub_script_function_list): New variable
10229 declaration.
10230 (FOR_SCRIPT_FUNCTIONS): New macro.
10231 (grub_script_function_iterate): Removed.
10232 (grub_normal_parse_line): New prototype.
10233 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
10234 (FOR_DISABLED_TERM_INPUTS): Likewise.
10235 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10236 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10237 * include/grub/video.h (grub_video_adapter): Move 'next' to first
10238 element.
10239 (grub_video_register): Inline.
10240 (grub_video_unregister): Likewise.
10241 (grub_video_adapter_list): New variable declaration.
10242 (grub_video_iterate): Removed.
10243 (FOR_VIDEO_ADAPTERS): New macro.
10244 * kern/dl.c (grub_dl_list): Removed. All users updated.
10245 (grub_dl_iterate): Removed.
10246 * kern/fs.c (grub_fs_list): Make global.
10247 (grub_fs_register): Removed.
10248 (grub_fs_unregister): Likewise.
10249 (grub_fs_iterate): Likewise.
10250 * kern/handler.c: Removed.
10251 * kern/list.c (grub_list_pop): Removed.
10252 (grub_list_iterate): Likewise.
10253 (grub_list_insert): Likewise.
10254 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
10255 (grub_prio_list_insert): Don't use grub_list_insert.
10256 * kern/main.c (grub_register_rescue_parser): Don't call
10257 grub_register_rescue_parser.
10258 * kern/parser.c (grub_parser_class): Removed.
10259 (grub_parser_execute): Use grub_rescue_parse_line.
10260 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
10261 (grub_rescue_parser): Removed.
10262 (grub_register_rescue_parser): Likewise.
10263 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
10264 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
10265 (grub_auth_check_authentication): Likewise.
10266 * normal/completion.c (iterate_command): Removed.
10267 (grub_normal_do_completion): Use FOR_COMMANDS.
10268 * normal/handler.c: Removed.
10269 * normal/main.c (read_config_file): Remove parser changing.
10270 (grub_normal_execute): Don't call read_handler_list.
10271 (grub_normal_read_line_real): Statically allocate prompt.
10272 (grub_cmdline_run): Use grub_normal_parse_line.
10273 (GRUB_MOD_FINI): Don't call free_handler_list.
10274 * normal/menu_entry.c (run): Likewise.
10275 * script/function.c (grub_script_function_list): Make global.
10276 (grub_script_function_iterate): Removed.
10277 * script/main.c (grub_normal_parse_line): Make global.
10278 (grub_sh_parser): Removed.
10279 (GRUB_MOD_INIT): Likewise.
10280 (GRUB_MOD_FINI): Likewise.
10281 * tests/lib/functional_test.c (grub_functional_test): Use
10282 FOR_LIST_ELEMENTS.
10283 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
10284 (grub_test_run): Use FOR_LIST_ELEMENTS.
10285 * tests/lib/unit_test.c (main): Likewise.
10286 * util/deviceiter.c (grub_util_iterate_devices): Don't use
10287 grub_list_pop.
10288 * util/grub-fstest.c (grub_term_input_class): Removed.
10289 (grub_term_output_class): Likewise.
10290 * util/grub-probe.c: Likewise.
10291 * util/i386/pc/grub-setup.c: Likewise.
10292 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10293 * util/grub-script-check.c (main): Don't call grub_init_all and
10294 grub_fini_all.
10295 * video/video.c (grub_video_adapter_list): Make global.
10296 (grub_video_register): Removed.
10297 (grub_video_unregister): Likewise.
10298 (grub_video_iterate): Likewise.
10299
10300 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
10303 reported by Henrique Ferreiro.
10304
10305 2010-06-09 Robert Millan <rmh@gnu.org>
10306
10307 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
10308 ones, when both are available.
10309
10310 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10311
10312 Make --version uniform and avoid hard-coded program name.
10313
10314 * util/grub-mkimage.c (main): Use `program_name' instead of
10315 hard-coded string.
10316 * util/i386/pc/grub-setup.c (main): Likewise.
10317 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
10318 * util/grub-install.in: Save the basename of $0 in $self, and use the
10319 latter in informational messages. Use the same format for --version
10320 as the binary programs.
10321 * util/grub-mkconfig.in: Likewise.
10322 * util/grub-mkrescue.in: Likewise.
10323 * util/grub-reboot.in: Likewise.
10324 * util/grub-set-default.in: Likewise.
10325 * util/i386/efi/grub-install.in: Likewise.
10326 * util/ieee1275/grub-install.in: Likewise.
10327 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10328
10329 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10330
10331 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
10332 embedding area. Use <= instead of == when checking for non-emptiness.
10333
10334 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10335
10336 * configure.ac: Add `.' to the directories searched for unifont.
10337
10338 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10339
10340 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
10341 grub_script.yy.h.
10342
10343 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10344
10345 * docs/grub.texi (History): Expand to cover GRUB 2.
10346 (Serial terminal): Refer to `terminal_input' and `terminal_output'
10347 commands, not `terminal'.
10348 (serial): Likewise.
10349 (terminal_input): New section.
10350 (terminal_output): New section.
10351 (uppermem): New section (stub).
10352 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10353
10354 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10355
10356 * docs/grub.texi (Security): Menu entries are unrestricted by
10357 default, not restricted to superusers as I had previously thought.
10358 Reword to account for this.
10359
10360 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10361
10362 * kern/emu/misc.c (device_mapper_null_log): New function.
10363 (grub_device_mapper_supported): New function.
10364 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10365 prototype.
10366 * kern/emu/hostdisk.c (find_partition_start): Check whether
10367 device-mapper is supported before trying to use it.
10368 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10369
10370 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10371
10372 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10373 (File name syntax): Likewise.
10374 (help): --all is no longer supported in GRUB 2. Be more precise
10375 about pattern matching.
10376
10377 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10378
10379 * normal/completion.c (grub_normal_do_completion): When completing
10380 arguments to "set" and the current word contains an equals sign,
10381 skip to after the equals sign before starting completion.
10382
10383 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10384
10385 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10386
10387 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10388
10389 * docs/grub.texi (Network): New section.
10390 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10391 `(nd)' as in GRUB Legacy.
10392 (pxe_unload): New section.
10393
10394 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10395
10396 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10397 in the rescue shell, so recommend using `set' instead. Thanks,
10398 Jordan Uggla.
10399
10400 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10401
10402 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10403 (password): New section.
10404 (password_pbkdf2): New section.
10405 (search): New section.
10406 (Security): New section.
10407 (Troubleshooting): New section, currently very incomplete.
10408 (Invoking grub-mkpasswd-pbkdf2): New section.
10409 (Internals): New section, currently very incomplete.
10410
10411 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10412
10413 * util/grub.d/00_header.in: Add some more quoting (of
10414 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10415 work again.
10416 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10417
10418 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10419
10420 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10421 to `count', fixing variable shadowing that broke the -c option.
10422
10423 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
10424
10425 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10426 in case they contain spaces.
10427
10428 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10429
10430 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10431 "part_" to partmap module names, in line with grub-install.
10432 Reported by: Jindřich Makovička (Debian bug #584426).
10433
10434 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10435
10436 * util/grub-mkimage.c: Make target-related error messages slightly
10437 more helpful; -O talks about "format". Explicitly point to the use
10438 of -O if no target is specified.
10439 Reported by: Didier Raboud (Debian bug #584415).
10440
10441 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
10442
10443 * INSTALL: Document several build requirements for optional features
10444 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10445
10446 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10447
10448 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10449 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10450 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10451
10452 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10453
10454 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10455 Thanks to Jordan Uggla for spotting this.
10456
10457 2010-06-02 Aleš Nesrsta <starous@volny.cz>
10458
10459 Finally make USB usable.
10460
10461 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10462 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10463 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10464 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10465 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10466 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10467 (GRUB_OHCI_FSMPS): Likewise.
10468 (GRUB_OHCI_PERIODIC_START): Likewise.
10469 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10470 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10471 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10472 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10473 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10474 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10475 (grub_ohci_transaction): Likewise.
10476 (grub_ohci_transfer): Improve condition detection algorithms.
10477 Handle toggle property. Program the transactions correctly.
10478 Improve error handling. Various important fixups.
10479 (grub_ohci_portstatus): Put register writes in right order.
10480 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10481 (grub_uhci_transfer): Don't show "failed" message on success.
10482 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10483 array.
10484 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10485 determine its size.
10486 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10487 before initialization is completed. Use IN direction for empty
10488 transfers. Use last_trans and compute toggle.
10489 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10490 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10491 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10492 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10493 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10494 (grub_usb_device): Increase toggle to 256.
10495 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10496 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10497 GRUB_USBMS_SUBCLASS_SFF8070.
10498 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10499 (grub_scsi_inquiry): New member page and alloc_length.
10500 (grub_scsi_request_sense): New structure.
10501 (grub_scsi_request_sense_data): Likewise.
10502 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10503 control.
10504 * disk/scsi.c (grub_scsi_request_sense): New function.
10505 (grub_scsi_test_unit_ready): Likewise.
10506 (grub_scsi_inquiry): Fill new fields.
10507 (grub_scsi_read_capacity): Likewise.
10508 (grub_scsi_read10): Add request sense at the end.
10509 (grub_scsi_read12): Likewise.
10510 (grub_scsi_write10): Likewise.
10511 (grub_scsi_write12): Likewise.
10512 (grub_scsi_open): Add Test Unit Ready.
10513 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10514 Support additional subclasses. Con't clear halt yet. Activate the
10515 proper config. Calculate LUNs correctly.
10516 (grub_usbms_transfer): Various important fixups.
10517
10518 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10521 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10522 (grub_ohci_fini_hw): New function.
10523 (grub_ohci_restore_hw): Likewise.
10524 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10525 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10526 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10527
10528 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 Dedicated DMA allocations.
10531
10532 * bus/pci.c (grub_memalign_dma32): New function
10533 (grub_dma_free): Likewise.
10534 (grub_dma_get_virt): Likewise.
10535 (grub_dma_get_phys): Likewise.
10536 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10537 (grub_ohci_pci_iter): Use dma32_alloc.
10538 (grub_ohci_transfer): Likewise.
10539 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10540 (grub_usb_bulk_readwrite): Likewise.
10541 * include/grub/pci.h: Add declarations.
10542
10543 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 CS5536 support.
10546
10547 * bus/cs5536.c: New file.
10548 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10549 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10550 (cs5536_mod_SOURCES): New variable.
10551 (cs5536_mod_CFLAGS): Likewise.
10552 (cs5536_mod_LDFLAGS): Likewise.
10553 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10554 machine/pci.h.
10555 (kernel_img_SOURCES): Add bus/cs5536.c.
10556 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10557 usb_keyboard.mod.
10558 (usb_mod_SOURCES): New variable.
10559 (usb_mod_CFLAGS): New variable.
10560 (usb_mod_LDFLAGS): New variable.
10561 (usbtest_mod_SOURCES): New variable.
10562 (usbtest_mod_CFLAGS): New variable.
10563 (usbtest_mod_LDFLAGS): New variable.
10564 (ohci_mod_SOURCES): New variable.
10565 (ohci_mod_CFLAGS): New variable.
10566 (ohci_mod_LDFLAGS): New variable.
10567 (usbms_mod_SOURCES): New variable.
10568 (usbms_mod_CFLAGS): New variable.
10569 (usbms_mod_LDFLAGS): New variable.
10570 (usb_keyboard_mod_SOURCES): New variable.
10571 (usb_keyboard_mod_CFLAGS): New variable.
10572 (usb_keyboard_mod_LDFLAGS): New variable.
10573 * include/grub/smbus.h: New file.
10574 * include/grub/cs5536.h: New file.
10575
10576 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10577
10578 * util/grub.d/00_header.in: Add safety check to make sure that
10579 ${locale_dir} exists before trying to probe it.
10580
10581 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10582
10583 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10584 per the GNU Coding Standards; this is now too obscure to be worth
10585 documenting.
10586 (QNX): Likewise.
10587 (chainloader): Remove cross-reference to `SCO UnixWare'.
10588
10589 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10590
10591 * docs/grub.texi (Chain-loading): New section.
10592 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10593 adjusted for GRUB 2.
10594 (SCO UnixWare): Likewise.
10595 (QNX): Likewise.
10596 (chainloader): Add reference to `Block list syntax'.
10597 (drivemap): New section.
10598 (parttool): New section.
10599
10600 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10601
10602 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10603 the grub shell'.
10604 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10605 (Installing GRUB using grub-install): Remove reference to the grub
10606 shell; mention `grub-mkimage' and `grub-setup' instead.
10607 (Invoking grub-install): Likewise.
10608 (Interface): Add reference to `Menu entry editor'.
10609 (serial): Remove `--device' option.
10610
10611 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10612
10613 * docs/grub.texi (Configuration): New section, documenting
10614 configuration file generation using grub-mkconfig. I've left a slot
10615 for documenting the full shell scripting format but have not yet
10616 started on writing that up.
10617 (Invoking grub-mkconfig): New section.
10618
10619 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10622 (GNU GRUB manual): Likewise.
10623 (General commands): Update description of `terminfo' for GRUB 2.
10624
10625 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10626
10627 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10628 (GRUB_MOD_INIT): Fix capitalisation.
10629 * docs/grub.texi (Command-line and menu entry commands): Document
10630 gettext and gptsync commands.
10631
10632 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10633
10634 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10635 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10636
10637 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
10638
10639 Add btrfs probing support, currently only in the single-device case.
10640
10641 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10642 function.
10643 (grub_guess_root_device): Call find_root_device_from_mountinfo
10644 before looking in /dev.
10645
10646 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10649 GRUB_DISK_SIZE_UNKNOWN.
10650 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10651
10652 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
10653
10654 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10655 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10656 corrupted or not synced properly.
10657
10658 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10661 Reported by: Seth Goldberg.
10662
10663 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10666 addition of dest.
10667 Reported by: Seth Goldberg.
10668
10669 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10672 Reported by: Seth Goldberg.
10673
10674 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10677 64-bit address as signed on MIPS.
10678
10679 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10680
10681 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10682 to the empty string.
10683
10684 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10685
10686 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10687
10688 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10689 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10690 * kern/misc.c (__enable_execute_stack): Disable on
10691 GRUB_MACHINE_EMU.
10692
10693 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10694
10695 Make grub-probe work with symbolic links under /dev/mapper as well
10696 as with real block devices. The Linux world seems to be (at best)
10697 in transition here, and GRUB shouldn't get caught in the middle.
10698
10699 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10700 /dev/mapper.
10701
10702 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10703
10704 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10705 input files (in which case exit zero).
10706
10707 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10708
10709 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10710 return NULL for various reasons even if it has a maximum-length
10711 buffer: for example, there might be a symlink loop, or the path
10712 might exceed PATH_MAX. If this happens, return NULL.
10713
10714 2010-05-27 Robert Millan <rmh@gnu.org>
10715
10716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10717 partmap module to handle cross-partmap setups.
10718 Reported by Orestes Mas. Gràcies!
10719
10720 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10721
10722 * util/grub-mkrescue.in: Initialise override_dir rather than
10723 assuming that it's unset or empty in the environment.
10724
10725 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10726
10727 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10728 variable index into p_index to suppress a warning with -Wshadow.
10729
10730 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10731
10732 * INSTALL: Added flex >= 2.5.35 requirement.
10733
10734 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10737
10738 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 cmostest support.
10741
10742 * commands/i386/cmostest.c: New file.
10743 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10744 (cmostest_mod_SOURCES): New variable.
10745 (cmostest_mod_CFLAGS): Likewise.
10746 (cmostest_mod_LDFLAGS): Likewise.
10747 * conf/i386-pc.rmk: Likewise.
10748 * docs/grub.texi (Vendor power-on keys): New section.
10749 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10750 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10751 and GRUB_BUTTON_CMOS_ADDRESS.
10752 * util/grub.d/00_header.in: Handle powering-on by separate button.
10753
10754 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10757 Removed drawing_scrollbar argument. All users updated
10758 Fixes #29792.
10759 Reported by Jo Shields
10760
10761 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10764 buffer since gfxterm handles double repaint.
10765
10766 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10769 * term/gfxterm.c (real_scroll): Likewise.
10770
10771 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10774 before calling BIOS.
10775
10776 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * include/grub/i18n.h: Always enable grub_gettext.
10779
10780 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10783 partition naming style.
10784
10785 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
10786
10787 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10788 not the first option.
10789
10790 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10791
10792 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10793
10794 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10795
10796 * util/misc.c: Move inclusion of <limits.h> to ...
10797 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10798
10799 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10800
10801 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10802 Fix merge error in NetBSD code.
10803 (find_partition_start) [__NetBSD__]: Likewise.
10804
10805 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10806
10807 Fix grub-mkrescue usage unit testing.
10808
10809 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10810
10811 2010-05-18 Christian Franke <franke@computer.org>
10812
10813 * util/grub.d/10_windows.in: Use path names instead of
10814 drive letters to prevent warning from Cygwin 1.7.
10815 Add drivemap command to menuentry if needed.
10816
10817 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10818
10819 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10820 gnumach and gnumach.gz.
10821
10822 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * include/grub/i18n.h (gettext): Inline instead of using #define.
10825 (grub_gettext): Likewise.
10826 (_): Likewise.
10827
10828 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10831 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10832 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10833 (main): Add a slash after pkglibdirroot.
10834
10835 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * util/grub-install.in: Add missing "in" keyword.
10838
10839 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10842 Reported by: Seth Goldberg.
10843
10844 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10847
10848 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10849
10850 * configure.ac: Check for Linux device-mapper support.
10851
10852 * util/hostdisk.c (device_is_mapped): New function.
10853 (find_partition_start): New function, partly broken out from
10854 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10855 device-mapper support added.
10856 (linux_find_partition): Use find_partition_start.
10857 (convert_system_partition_to_system_disk): Add `st' argument.
10858 Support Linux /dev/mapper/* devices if device-mapper support is
10859 available; only DM-RAID devices are understood at present.
10860 (find_system_device): Add `st' argument. Pass it to
10861 convert_system_partition_to_system_disk.
10862 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10863 find_system_device and convert_system_partition_to_system_disk. Use
10864 find_partition_start.
10865
10866 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10867 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10868 * util/deviceiter.c [__linux__]: Define MINOR.
10869 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10870 * util/mkdevicemap.c (grub_putchar): New function.
10871 (grub_getkey): New function.
10872 (grub_refresh): New function.
10873 (main): Set debug=all if -v -v is used.
10874
10875 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10876
10877 Fix build with non-GNU libcs.
10878
10879 * util/misc.c (canonicalize_file_name): Move to ...
10880 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10881 grub_make_system_path_relative_to_its_root.
10882
10883 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10884
10885 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10886 we handle finding grub-mkimage. Default to finding grub-mkimage in
10887 ${bindir} with program_transform_name applied, and provide a
10888 --grub-mkimage option to override this.
10889
10890 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 Remove grub-mkisofs.
10893
10894 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10895 (grub_mkisofs_SOURCES): Removed.
10896 (grub_mkisofs_CFLAGS): Removed.
10897 * util/mkisofs/defaults.h: Removed.
10898 * util/mkisofs/eltorito.c: Likewise.
10899 * util/mkisofs/exclude.h: Likewise.
10900 * util/mkisofs/hash.c: Likewise.
10901 * util/mkisofs/include/: Likewise.
10902 * util/mkisofs/include/fctldefs.h: Likewise.
10903 * util/mkisofs/include/mconfig.h: Likewise.
10904 * util/mkisofs/include/prototyp.h: Likewise.
10905 * util/mkisofs/include/statdefs.h: Likewise.
10906 * util/mkisofs/iso9660.h: Likewise.
10907 * util/mkisofs/joliet.c: Likewise.
10908 * util/mkisofs/match.c: Likewise.
10909 * util/mkisofs/match.h: Likewise.
10910 * util/mkisofs/mkisofs.c: Likewise.
10911 * util/mkisofs/mkisofs.h: Likewise.
10912 * util/mkisofs/msdos_partition.h: Likewise.
10913 * util/mkisofs/multi.c: Likewise.
10914 * util/mkisofs/name.c: Likewise.
10915 * util/mkisofs/rock.c: Likewise.
10916 * util/mkisofs/tree.c: Likewise.
10917 * util/mkisofs/write.c: Likewise.
10918
10919 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Unify grub-mkimage accross platforms.
10922
10923 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10924 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10925 (grub_mkelfimage_SOURCES): Removed.
10926 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10927 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10928 (bin_UTILITIES): Add grub-mkimage.
10929 (grub_mkimage_SOURCES): New variable.
10930 (kernel_img_HEADERS): Remove machine/kernel.h.
10931 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10932 (pkglib_PROGRAMS): Add kernel.img.
10933 (kernel_img_HEADERS): Add machine/kernel.h.
10934 (kernel_img_FORMAT): Removed.
10935 (bin_UTILITIES): Remove grub-mkimage.
10936 (grub_mkimage_SOURCES): Removed.
10937 (grub_mkimage_CFLAGS): Likewise.
10938 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10939 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10940 (pkglib_PROGRAMS): Add kernel.img.
10941 (bin_UTILITIES): Remove grub-mkimage.
10942 (grub_mkimage_SOURCES): Removed.
10943 (grub_mkimage_CFLAGS): Likewise.
10944 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10945 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10946 (pkglib_PROGRAMS): Add kernel.img.
10947 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10948 (pkglib_PROGRAMS): Add kernel.img.
10949 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10950 (grub_mkimage_SOURCES): Removed.
10951 (grub_mkimage_CFLAGS): Likewise.
10952 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10953 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10954 (pkglib_PROGRAMS): Add kernel.img.
10955 (bin_UTILITIES): Remove grub-mkimage.
10956 (grub_mkimage_SOURCES): Removed.
10957 (grub_mkimage_CFLAGS): Likewise.
10958 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10959 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10960 (grub_mkimage_SOURCES): Removed.
10961 (grub_mkimage_CFLAGS): Likewise.
10962 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10963 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10964 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10965 (grub_pe32_optional_header): ... this.
10966 (grub_pe64_optional_header): ... and this. All users updated.
10967 (GRUB_PE32_PE32_MAGIC): Split into ..
10968 (GRUB_PE32_PE32_MAGIC): .. this.
10969 (GRUB_PE32_PE64_MAGIC): .. and this.
10970 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10971 * include/grub/elf.h (PT_GNU_STACK): New definition.
10972 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10973 * include/grub/i386/efi/kernel.h: Likewise.
10974 * include/grub/i386/kernel.h: Likewise.
10975 * include/grub/i386/pc/kernel.h: Likewise.
10976 * include/grub/i386/qemu/boot.h: Likewise.
10977 * include/grub/mips/kernel.h: Likewise.
10978 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10979 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10980 * include/grub/powerpc/kernel.h: Likewise.
10981 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10982 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10983 * include/grub/sparc64/kernel.h: Likewise.
10984 * include/grub/x86_64/efi/kernel.h: Likewise.
10985 * include/grub/x86_64/kernel.h: Likewise.
10986 * include/grub/offsets.h: New file.
10987 * include/grub/kernel.h (grub_module_info): Split into ...
10988 (grub_module_info32): ... this.
10989 (grub_module_info64): ... and this.
10990 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10991 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10992 (grub_boot_blocklist): Moved from here ...
10993 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10994 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10995 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10996 * include/grub/types.h (grub_target_to_host16): Removed.
10997 (grub_target_to_host32): Likewise.
10998 (grub_target_to_host64): Likewise.
10999 (grub_host_to_target16): Likewise.
11000 (grub_host_to_target32): Likewise.
11001 (grub_host_to_target64): Likewise.
11002 (grub_host_to_target_addr): Likewise.
11003
11004 Support grub-mkrescue for efi, coreboot and qemu.
11005
11006 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11007 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11008 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11009 * util/grub-mkrawimage.c: Moved from here ...
11010 * util/grub-mkimage.c: ... here. All users updated.
11011 (ALIGN_ADDR): Use image_target.
11012 (TARGET_NO_FIELD): New const.
11013 (image_target_desc): New type.
11014 (image_targets): New array.
11015 (grub_target_to_host64): Use image_target.
11016 (grub_target_to_host32): Likewise.
11017 (grub_target_to_host16): Likewise.
11018 (grub_host_to_target64): Likewise.
11019 (grub_host_to_target32): Likewise.
11020 (grub_host_to_target16): Likewise.
11021 (grub_host_to_target_addr): Likewise.
11022 (generate_image): Handle multiimage.
11023 (main): Require -O parameter. All users updated.
11024 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11025 util/efi/grub-mkimage.c
11026 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11027 New option --rom-directory.
11028 Use xorriso.
11029 * util/i386/efi/grub-mkimage.c: Removed.
11030 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11031 (grub_target_to_host32): Likewise.
11032 (grub_target_to_host64): Likewise.
11033 (grub_host_to_target16): Likewise.
11034 (grub_host_to_target32): Likewise.
11035 (grub_host_to_target64): Likewise.
11036 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11037 (grub_target_to_host32): Likewise.
11038 (grub_target_to_host64): Likewise.
11039 (grub_host_to_target16): Likewise.
11040 (grub_host_to_target32): Likewise.
11041 (grub_host_to_target64): Likewise.
11042
11043 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11044
11045 Source tree is reorganized for emu build.
11046
11047 * include/grub/util/console.h: Move from here...
11048 * include/grub/emu/console.h: ...to here.
11049 * include/grub/util/getroot.h: Move from here...
11050 * include/grub/emu/getroot.h: ...to here.
11051 * include/grub/util/hostdisk.h: Move from here...
11052 * include/grub/emu/hostdisk.h: ...to here.
11053 * util/console.c: Move from here...
11054 * kern/emu/console.c: ...to here.
11055 * util/getroot.c: Move from here...
11056 * kern/emu/getroot.c: ...to here.
11057 * util/grub-emu.c: Move from here...
11058 * kern/emu/main.c: ...to here.
11059 * util/hostdisk.c: Move from here...
11060 * kern/emu/hostdisk.c: ...to here.
11061 * util/hostfs.c: Move from here...
11062 * kern/emu/hostfs.c: ...to here.
11063 * util/mm.c: Move from here...
11064 * kern/emu/mm.c: ...to here.
11065 * util/pci.c: Move from here...
11066 * bus/emu/pci.c: ...to here.
11067 * util/sdl.c: Move from here...
11068 * video/emu/sdl.c: ...to here.
11069 * util/time.c: Move from here...
11070 * kern/emu/time.c: ...to here.
11071 * util/usb.c: Move from here...
11072 * bus/usb/emu/usb.c: ...to here.
11073
11074 * include/grub/emu/misc.h: New header for grub-emu functions.
11075 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
11076
11077 * conf/any-emu.rmk: Rule updates for above renames.
11078 * conf/common.rmk: Likewise.
11079 * conf/i386-pc.rmk: Likewise.
11080 * conf/i386-qemu.rmk: Likewise.
11081 * conf/mips.rmk: Likewise.
11082 * conf/sparc64-ieee1275.rmk: Likewise.
11083 * conf/x86-efi.rmk: Likewise.
11084
11085 * disk/lvm.h: #include updates for above renames.
11086 * util/grub-mkrelpath.c: Likewise.
11087 * util/grub-probe.c: Likewise.
11088 * util/i386/pc/grub-setup.c: Likewise.
11089 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11090 * kern/emu/console.c: Likewise.
11091 * kern/emu/getroot.c: Likewise.
11092 * kern/emu/hostdisk.c: Likewise.
11093 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
11094
11095 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
11096 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
11097 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
11098 * util/misc.c: Remove grub-emu functions.
11099
11100 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 Fix gfxmenu crash.
11103 Reported by: Thorsten Grützmacher.
11104
11105 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
11106 timeout hook.
11107 (circprog_set_property): Register and unregister timeout hook.
11108 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
11109 (label_destroy): Free template. and unregister hook.
11110 (label_set_state): New function.
11111 (label_set_property): Handle templates and hooks.
11112 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
11113 timeout hook.
11114 (progress_bar_set_property): Register and unregister timeout hook.
11115 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
11116 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
11117 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
11118 (update_timeout_visit): Removed.
11119 (update_timeouts): New function.
11120 (redraw_timeouts): Likewise.
11121 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
11122 (grub_gfxmenu_clear_timeout): Likewise.
11123 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
11124 (grub_gfxmenu_timeout_notify): Likewise.
11125 (grub_gfxmenu_timeout_notifications): New external variable.
11126 (grub_gfxmenu_timeout_register): New function.
11127 (grub_gfxmenu_timeout_unregister): Likewise.
11128
11129 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 Transform (broken) vga terminal into (working) vga video driver.
11132
11133 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
11134 video/i386/pc/vga.c.
11135 * include/grub/video.h (grub_video_driver_id):
11136 Add GRUB_VIDEO_DRIVER_VGA.
11137 * term/i386/pc/vga.c: Renamed to ...
11138 * video/i386/pc/vga.c: ...this
11139 (DEBUG_VGA): Removed.
11140 (CHAR_WIDTH): Likewise.
11141 (CHAR_HEIGHT): Likewise.
11142 (TEXT_WIDTH): Likewise.
11143 (TEXT_HEIGHT): Likewise.
11144 (DEFAULT_FG_COLOR): Likewise.
11145 (DEFAULT_BG_COLOR): Likewise.
11146 (colored_char): Likewise.
11147 (xpos): Likewise.
11148 (ypos): Likewise.
11149 (cursor_state): Likewise.
11150 (fg_color): Likewise.
11151 (bg_color): Likewise.
11152 (text_buf): Likewise.
11153 (page): Likewise.
11154 (font): Likewise.
11155 (framebuffer): New variable.
11156 (set_read_map): Disabled.
11157 (setup): New variable.
11158 (is_target): Likewise.
11159 (grub_vga_mod_init): Likewise.
11160 (grub_vga_mod_fini): Likewise.
11161 (check_vga_mem): Likewise.
11162 (write_char): Likewise.
11163 (write_cursor): Likewise.
11164 (scroll_up): Likewise.
11165 (grub_vga_putchar): Likewise.
11166 (grub_vga_getcharwidth): Likewise.
11167 (grub_vga_getwh): Likewise.
11168 (grub_vga_getxy): Likewise.
11169 (grub_vga_gotoxy): Likewise.
11170 (grub_vga_cls): Likewise.
11171 (grub_vga_setcolorstate): Likewise.
11172 (grub_vga_setcursor): Likewise.
11173 (grub_video_vga_init): New function.
11174 (grub_video_vga_setup): Likewise.
11175 (grub_video_vga_fini): Likewise.
11176 (update_target): Likewise.
11177 (grub_video_vga_blit_bitmap): Likewise.
11178 (grub_video_vga_blit_render_target): Likewise.
11179 (grub_video_vga_set_active_render_target): Likewise.
11180 (grub_video_vga_get_active_render_target): Likewise.
11181 (grub_video_vga_swap_buffers): Likewise.
11182 (grub_video_vga_set_palette): Likewise.
11183 (grub_video_vga_get_info_and_fini): Likewise.
11184 (grub_vga_term): Removed.
11185 (grub_video_vga_adapter): New variable.
11186 (GRUB_MOD_INIT): Register a video driver instead of terminal.
11187 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
11188
11189 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * video/readers/jpeg.c: Indented.
11192
11193 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Various jpeg cleanups.
11196
11197 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
11198 (grub_jpeg_decode_quan_table): Use sizeof.
11199 (grub_jpeg_decode_du): Use ARRAY_SIZE.
11200
11201 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
11202
11203 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
11204 tables. Ignore non-last ac bit.
11205 (grub_jpeg_decode_quan_table): Likewise.
11206
11207 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
11210 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
11211 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11212 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
11213 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
11214 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
11215
11216 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
11219 error.
11220
11221 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
11224
11225 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
11228 condition.
11229
11230 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
11233 part.
11234
11235 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
11238 pointers.
11239
11240 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
11243
11244 2010-05-01 Christian Franke <franke@computer.org>
11245
11246 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
11247 Remove broken Cygwin path conversion.
11248 * util/misc.c: [__CYGWIN__] Add include and define.
11249 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
11250 for Cygwin 1.7.
11251 (make_system_path_relative_to_its_root): Simplify loop, replace early
11252 return by break.
11253 [__CYGWIN__] Add conversion to win32 path.
11254 Include "/" case in trailing slash removal.
11255
11256 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * kern/main.c (grub_load_config): Fix copy-pasted comment.
11259 Reported by: Seth Goldberg
11260
11261 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * commands/help.c (grub_cmd_help): Fix a typo.
11264 Reported by: Seth Goldberg
11265
11266 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
11269 name and add N_.
11270 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
11271 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
11272 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
11273 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
11274 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
11275 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
11276 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11277 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11278 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11279 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11280 * normal/context.c (GRUB_MOD_INIT): Likewise.
11281 * normal/main.c (GRUB_MOD_INIT): Likewise.
11282 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11283 * term/serial.c (GRUB_MOD_INIT): Likewise.
11284 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11285
11286 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
11289 extra == 0.
11290
11291 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * commands/iorw.c: New file.
11294 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
11295 (iorw_mod_SOURCES): New variable.
11296 (iorw_mod_CFLAGS): Likewise.
11297 (iorw_mod_LDFLAGS): Likewise.
11298
11299 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 Hotkey support
11302
11303 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
11304 * normal/main.c (hotkey_aliases): New variable.
11305 (grub_normal_add_menu_entry): Parse "--hotkey".
11306 * normal/menu_text.c (run_menu): Handle hotkeys.
11307
11308 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * kern/i386/coreboot/init.c (grub_machine_init): Call
11311 grub_machine_mmap_init on qemu.
11312
11313 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * boot/i386/qemu/boot.S: Add a missing .code16.
11316
11317 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Use LBIO on coreboot.
11320
11321 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
11322 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
11323 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
11324 New declaration.
11325 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
11326 grub_machine_mmap_init on coreboot.
11327 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
11328 GRUB_LINUXBIOS_MEMBER_LINK.
11329 (grub_machine_mmap_iterate): Fix declaration.
11330 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
11331
11332 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 Split coreboot and multiboot ports.
11335
11336 * conf/i386-multiboot.rmk: New file.
11337 * configure.ac: Add multiboot port.
11338 * include/grub/i386/multiboot/boot.h: New file.
11339 * include/grub/i386/multiboot/console.h: Likewise.
11340 * include/grub/i386/multiboot/init.h: Likewise.
11341 * include/grub/i386/multiboot/kernel.h: Likewise.
11342 * include/grub/i386/multiboot/loader.h: Likewise.
11343 * include/grub/i386/multiboot/memory.h: Likewise.
11344 * include/grub/i386/multiboot/serial.h: Likewise.
11345 * include/grub/i386/multiboot/time.h: Likewise.
11346 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
11347 * loader/multiboot.c: Likewise.
11348 * loader/multiboot_mbi2.c: Likewise.
11349 * util/grub-mkrescue.in: Generate multiboot rescue.
11350
11351 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11354
11355 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 Merge handling of input and output terminals. Fix a hang.
11358
11359 * commands/terminal.c (abstract_terminal): New struct.
11360 (handle_command): New function. Based on grub_cmd_terminal_input.
11361 (grub_cmd_terminal_input): Use handle_command.
11362 (grub_cmd_terminal_output): Use handle_command.
11363
11364 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11365
11366 Fix comment handling.
11367
11368 * tests/grub_script_comments.in: New testcase.
11369 * conf/tests.rmk: Rules for new testcase.
11370 * script/yylex.l: Updated flex rules.
11371
11372 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11373
11374 * docs/grub.texi (play): Document that zero pitches produce rests.
11375 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11376 if argc is 1.
11377
11378 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11381 autogen issues.
11382
11383 2010-04-26 Christian Franke <franke@computer.org>
11384
11385 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11386 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11387 (grub_get_prefix): Remove function.
11388 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11389 make_system_path_relative_to_its_root ().
11390 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11391
11392 2010-04-24 Christian Franke <franke@computer.org>
11393
11394 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11395 (kernel_img_LDFLAGS): Remove -static-libgcc.
11396
11397 2010-04-24 Christian Franke <franke@computer.org>
11398
11399 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11400 and CHECK_END_SYMBOL if grub-emu is built.
11401 Unset TARGET_OBJ2ELF if grub-emu is built
11402 without module support.
11403
11404 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
11405
11406 Nilfs2 support.
11407
11408 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11409 (grub_fstest_SOURCES): Likewise.
11410 (pkglib_MODULES): Add nilfs2.mod.
11411 (nilfs2_mod_SOURCES): New variable.
11412 (nilfs2_mod_CFLAGS): Likewise.
11413 (nilfs2_mod_LDFLAGS): Likewise.
11414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11415 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11416 * fs/nilfs2.c: New file.
11417
11418 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11421 is not supported.
11422
11423 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11424
11425 Add grub-mkconfig support for NetBSD.
11426
11427 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11428 * util/grub-mkconfig.in: export new NetBSD specific variables.
11429 * po/POTFILES-shell: added 10_netbsd.in.
11430 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11431
11432 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11433
11434 Fix emu build with grub-emu-pci and grub-emu-modules.
11435
11436 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11437 functions.
11438 * include/grub/libpciaccess.h: New file.
11439 * conf/any-emu.rmk: Update kernel headers for emu build.
11440
11441 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11444
11445 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11448
11449 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11452 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11453 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11454 util/ieee1275/ofpath.c.
11455 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11456 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11457 * include/grub/sparc64/ieee1275/boot.h
11458 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11459 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11460 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11461 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11462 const char *.
11463 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11464 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11465 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11466 install.
11467
11468 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11469
11470 * util/grub-mkconfig.in: Corrected two == equality tests.
11471 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11472 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11473 expect a number appended to it.
11474 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11475 expects a number appended to it.
11476
11477 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11480
11481 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * util/hostdisk.c (make_device_name): Change to new partition naming.
11484
11485 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11488
11489 2010-04-17 Christian Franke <franke@computer.org>
11490
11491 * Makefile.in: Add missing localedir setting.
11492
11493 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
11494
11495 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11496 mistake in r2156. Noticed by Anthony Fok.
11497
11498 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11499 @localedir@.
11500 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11501
11502 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11503
11504 Fix a spurious, uninitialized variable warning.
11505
11506 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11507 Initialize variable, shdr.
11508 (grub_freebsd_load_elfmodule): Likewise.
11509 (grub_freebsd_load_elf_meta): Likewise.
11510
11511 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11512
11513 Fix for escaped dollar in double quoted strings.
11514
11515 * script/yylex.l: Updated flex rules.
11516 * conf/tests.rmk: Rule for new testcase.
11517 * tests/grub_script_dollar.in: New testcase.
11518
11519 2010-04-13 Carles Pina i Estany <carles@pina.cat>
11520 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
11521
11522 Enclose all translated strings in grub.cfg in single quotes, and
11523 escape them appropriately (Ubuntu bug #552921).
11524
11525 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11526 * util/grub.d/10_hurd.in: Use it.
11527 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11528 * util/grub.d/10_linux.in (linux_entry): Likewise.
11529
11530 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 Fix cygwin compilation.
11533
11534 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11535 * include/grub/misc.h (__register_frame_info)
11536 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11537 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11538 * kern/misc.c (__register_frame_info)
11539 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11540 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11541
11542 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11545
11546 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Unify libgcc processing.
11549
11550 * Makefile.in (kernel_img_LDFLAGS): New variable.
11551 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11552 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11553 overwriting.
11554 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11555 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11556 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11557 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11558 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11559 overwriting. Remove -lgcc and -static-libgcc
11560 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11561 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11562 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11563 (kernel_img_LDFLAGS): Append instead of overwriting.
11564 Remove -lgcc and -static-libgcc
11565 * conf/sparc64-ieee1275.rmk: Likewise.
11566 * include/grub/powerpc/libgcc.h: Move to ...
11567 * include/grub/libgcc.h: .. this.
11568 * include/grub/libgcc.h: Don't export most of the function on x86.
11569 (__bswapsi2): New export.
11570 (__bswapdi2): Likewise.
11571 * include/grub/mips/libgcc.h: Removed.
11572 * include/grub/sparc64/libgcc.h: Likewise.
11573
11574 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11577 disk_info_msg (conflicts with gettexting into languages with cases).
11578
11579 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11580
11581 Add grub-probe support for NetBSD.
11582
11583 * util/getroot.c (find_root_device): Convert block device to
11584 character device on NetBSD.
11585 * util/probe.c (probe): Require character device on NetBSD.
11586 * util/hostdisk.c: NetBSD specific headers.
11587 (configure_device_driver): new function to tune device driver
11588 parameters (currently only for NetBSD floppy driver).
11589 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11590 via disklabel ioctl).
11591 (open_device): call configure_device_driver on NetBSD.
11592 (convert_system_partition_to_system_disk): NetBSD specific code.
11593 (device_is_wholedisk): Likewise.
11594 (grub_util_biosdisk_get_grub_dev): Likewise.
11595 (make_device_name): Fixed a typo in bsd_part_str.
11596 * configure.ac: check for opendisk() and getrawpartition() on
11597 NetBSD and set LIBUTIL.
11598 * Makefile.in: add LIBUTIL to LIBS.
11599
11600 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11601
11602 Documentation fix.
11603
11604 * util/grub-script-check.c: Better help message.
11605
11606 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11607
11608 Fix FreeBSD build.
11609
11610 * configure.ac: Flex version check.
11611 * conf/common.rmk: Add -Wno-error to sh.mod.
11612 * script/yylex.l: Remove all #pragma.
11613
11614 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11617 prototype.
11618 Reported by: Seth Goldberg.
11619
11620 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11623 Rename "module" to "module2".
11624 Reported by: Seth Goldberg.
11625
11626 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11629 EXPORT_FUNC.
11630 Reported by: Seth Goldberg.
11631
11632 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * lib/posix_wrap/locale.h: Add missing file.
11635 Reported by: Seth Goldberg.
11636
11637 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 grub-emu module load support.
11640
11641 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11642 NO_DYNAMIC_MODULES switched to this.
11643 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11644 (CFLAGS): Likewise.
11645 * conf/any-emu.rmk: Generate symlist.
11646 (kernel_img_HEADERS): Add util/datetime.h.
11647 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11648 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11649 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11650 kern/$(target_cpu)/cache.S.
11651 * configure.ac (grub-emu-modules): New option.
11652 * genmk.rb: Handle multiple source lists.
11653 * include/grub/sdl.h: New file.
11654 * include/grub/libusb.h: Likewise.
11655 * util/grub-emu.c (main): Hanle (host) root.
11656 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11657 GRUB_ERR_UNKNOWN_DEVICE.
11658 * util/misc.c: Move mm functions to ...
11659 * util/mm.c: ... here. All users updated.
11660
11661 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11664 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11665 missing files.
11666 (maintainer-clean): Remove libgcrypt-grub.
11667
11668 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11671
11672 2010-04-09 EFI Coder <eficoder@hotmail.com>
11673
11674 * normal/menu_text.c (print_message): Clean up the message and show
11675 the Fn information when on EFI
11676 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11677
11678 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11681 All users updated.
11682 * normal/crypto.c (read_crypto_list): Likewise.
11683 * normal/dyncmd.c (read_command_list): Likewise.
11684 * normal/term.c (read_terminal_list): Likewise.
11685 * normal/main.c (read_lists): Use explicit prefix.
11686 (read_lists_hook): Use read_lists.
11687 (grub_normal_execute): Likewise.
11688
11689 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11692 Reported by: Thomas Schmitt.
11693 Add -no-emul-boot to grub-mkisofs parameters.
11694
11695 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * font/font.c: Indented.
11698
11699 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11700
11701 Elif support to GRUB script (by Deepak Vankadaru).
11702
11703 * tests/grub_script_if.in: New testcase.
11704 * conf/tests.rmk: Rule for new testcase.
11705 * script/parser.y: Grammar rules for elif.
11706
11707 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11708
11709 While and until loops support to GRUB script.
11710
11711 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11712 (grub_script_create_cmdwhile): New function prototype.
11713 (grub_script_execute_cmdwhile): New function prototype.
11714 * script/execute.c (grub_script_execute_cmdwhile): New function.
11715 * script/parser.y (command): New commands.
11716 (whilecmd): New grammar rule.
11717 (untilcmd): New grammar rule.
11718 * script/script.c (grub_script_create_cmdwhile): New function.
11719 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11720 function.
11721
11722 * tests/grub_script_while1.in: New testcase.
11723 * conf/tests.rmk: Rule for new testcase.
11724
11725 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11728 as *.jpg.
11729
11730 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
11731
11732 GRUB_BACKGROUND support.
11733
11734 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11735 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11736
11737 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 Load fonts and modules for gfxmenu in grub-mkconfig.
11740 Idea by: Mario Vazquez
11741
11742 * util/grub.d/00_header.in: Load pf2 and image modules.
11743
11744 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 grub-mkconfig multiple terminal support.
11747
11748 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11749 * util/grub.d/00_header.in: Likewise.
11750
11751 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11754 we use cd $(srcdir).
11755
11756 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
11757
11758 * util/grub.d/10_linux.in: Only use the first word of
11759 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11760 spaces in GRUB_DISTRIBUTOR.
11761 * util/grub.d/10_kfreebsd.in: Likewise.
11762 * util/grub.d/10_hurd.in: Likewise.
11763
11764 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11765
11766 Fix unit testing framework for Qemu 0.12.
11767
11768 * tests/util/grub-shell.in: Remove -serial stdio option.
11769
11770 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 POSIX header file wrappers.
11773
11774 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11775 equivalents.
11776 * lib/posix_wrap/ctype.h: Likewise.
11777 * lib/posix_wrap/errno.h: Likewise.
11778 * lib/posix_wrap/langinfo.h: Likewise.
11779 * lib/posix_wrap/limits.h: Likewise.
11780 * lib/posix_wrap/localcharset.h: Likewise.
11781 * lib/posix_wrap/stdint.h: Likewise.
11782 * lib/posix_wrap/stdio.h: Likewise.
11783 * lib/posix_wrap/stdlib.h: Likewise.
11784 * lib/posix_wrap/string.h: Likewise.
11785 * lib/posix_wrap/sys/types.h: Likewise.
11786 * lib/posix_wrap/unistd.h: Likewise.
11787 * lib/posix_wrap/wchar.h: Likewise.
11788 * lib/posix_wrap/wctype.h: Likewise.
11789 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11790 (grub_script.yy.h): Likewise.
11791 * script/yylex.l: Remove POSIX emulation #defines.
11792 * Makefile.in (POSIX_CFLAGS): New variable.
11793 (GNULIB_UTIL_CFLAGS): Likewise.
11794
11795 Regexp support.
11796
11797 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11798 (regexp_mod_SOURCES): New variable.
11799 (regexp_mod_CFLAGS): Likewise.
11800 (regexp_mod_LDFLAGS): Likewise.
11801 * commands/regexp.c: New file.
11802 * gnulib/regcomp.c: New file. Imported from gnulib.
11803 * gnulib/regex.c: Likewise.
11804 * gnulib/regex_internal.c: Likewise.
11805 * gnulib/regex_internal.h: Likewise.
11806 * gnulib/regexec.c: Likewise.
11807 * gnulib/regex.h: Likewise.
11808
11809 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11812 unsupported video mode types.
11813
11814 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11817
11818 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11821 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11822
11823 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 Remove unused grub_vga_get_font.
11826
11827 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11828 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11829
11830 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11831
11832 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11833 * include/grub/misc.h: Likewise.
11834
11835 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11836
11837 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11838 for which failure is fatal.
11839
11840 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11841
11842 * util/grub-install.in: Use mkdir -p to create grub directory.
11843 * util/i386/efi/grub-install.in: Likewise.
11844 * util/ieee1275/grub-install.in: Likewise.
11845
11846 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11847
11848 * Makefile.in (LEX): new variable.
11849
11850 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11851
11852 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11853 `=' and added double quotes on operands of this equality test.
11854
11855 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * Makefile.in (uninstall): Remove a leftover debug echo.
11858 Reported by: Grégoire Sutre
11859
11860 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 MIPS multiboot2 support.
11863
11864 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11865 (multiboot2_mod_SOURCES): New variable.
11866 (multiboot2_mod_CFLAGS): Likewise.
11867 (multiboot2_mod_LDFLAGS): Likewise.
11868 (multiboot2_mod_ASFLAGS): Likewise.
11869 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11870 definition.
11871 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11872 (MULTIBOOT_MBI_REGISTER): Likewise.
11873 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11874 (MULTIBOOT_ELF32_MACHINE): Likewise.
11875 (MULTIBOOT_ELF64_MACHINE): Likewise.
11876 * include/grub/mips/multiboot.h: New file.
11877 * include/grub/video.h (grub_video_driver_id): New type
11878 GRUB_VIDEO_DRIVER_SM712.
11879 (grub_video_get_info_and_fini): Export.
11880 (grub_video_get_palette): Likewise.
11881 (grub_video_get_driver_id): Likewise.
11882 * include/multiboot2.h: Resynced with spec.
11883 * loader/i386/multiboot.c: Moved from here ...
11884 * loader/multiboot.c: ... here. All users updated.
11885 (grub_multiboot_boot): Use platform-specific macros.
11886 * loader/i386/multiboot_elfxx.c: Moved from here ...
11887 * loader/multiboot_elfxx.c: ... here. All users updated.
11888 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11889 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11890 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11891
11892 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 Import gnulib argp module.
11895
11896 * gnulib/argp-ba.c: New file.
11897 * gnulib/argp-eexst.c: Likewise.
11898 * gnulib/argp-fmtstream.c: Likewise.
11899 * gnulib/argp-fmtstream.h: Likewise.
11900 * gnulib/argp-fs-xinl.c: Likewise.
11901 * gnulib/argp-help.c: Likewise.
11902 * gnulib/argp-namefrob.h: Likewise.
11903 * gnulib/argp-parse.c: Likewise.
11904 * gnulib/argp-pin.c: Likewise.
11905 * gnulib/argp-pv.c: Likewise.
11906 * gnulib/argp-pvh.c: Likewise.
11907 * gnulib/argp-version-etc.c: Likewise.
11908 * gnulib/argp-version-etc.h: Likewise.
11909 * gnulib/argp-xinl.c: Likewise.
11910 * gnulib/argp.h: Likewise.
11911
11912 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * kern/device.c (grub_device_iterate): Clear errors after failed
11915 opening device.
11916
11917 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11920 returned by firmware.
11921
11922 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11925 compilation on coreboot and qemu
11926
11927 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * include/multiboot2.h: Resync with spec.
11930
11931 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 Multiboot2 tag support
11934
11935 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11936 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11937 Remove loader/multiboot_loader.c.
11938 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11939 (grub_multiboot2_real_boot): Likewise.
11940 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11941 (grub_get_multiboot_mmap_count): New proto.
11942 (grub_fill_multiboot_mmap): Likewise.
11943 (grub_multiboot_set_video_mode): Likewise.
11944 (grub_multiboot_set_console): Likewise.
11945 (grub_multiboot_load): Likewise.
11946 (grub_multiboot_load_elf): Likewise.
11947 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11948 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11949 * include/multiboot.h: Resynced with specification.
11950 * include/multiboot2.h: Resynced with specification.
11951 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11952 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11953 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11954 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11955 users updated.
11956 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11957 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11958 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11959 Removed.
11960 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11961 Moved from here...
11962 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11963 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11964 Moved from here...
11965 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11966 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11967 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11968 All users updated.
11969 * loader/i386/multiboot_mbi2.c: New file.
11970
11971 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 Resync with gnulib.
11974
11975 * Makefile.in (GNULIB_CFLAGS): New variable.
11976 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11977 (grub_script_check_CFLAGS): New variable.
11978 * gnulib/alloca.h: Resync with gnulib.
11979 * gnulib/error.c: Likewise.
11980 * gnulib/error.h: Likewise.
11981 * gnulib/fnmatch.c: Likewise.
11982 * gnulib/fnmatch_loop.c: Likewise.
11983 * gnulib/getdelim.c: Likewise.
11984 * gnulib/getline.c: Likewise.
11985 * gnulib/getopt.c: Likewise.
11986 * gnulib/getopt1.c: Likewise.
11987 * gnulib/getopt_int.h: Likewise.
11988 * gnulib/gettext.h: Likewise.
11989 * gnulib/progname.c: Likewise.
11990 * gnulib/progname.h: Likewise.
11991
11992 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11993
11994 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11995 which is the case with --disabled-nls.
11996
11997 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11998 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11999 * util/misc.c: Likewise.
12000 * util/mkisofs/mkisofs.c: Likewise.
12001 * util/mkisofs/mkisofs.h: Likewise.
12002
12003 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 Simplify Apple CC support.
12006
12007 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12008 Add 0 byte at the end not to have a symbol with empty target.
12009 * mmap/i386/pc/mmap_helper.S: Likewise.
12010 * genmk.rb: Ignore errors 2030 and 2050.
12011 * kern/i386/pc/startup.S: Use LOCAL when possible.
12012
12013 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12014
12015 Testcase and the fix for final semicolon on cmdline.
12016
12017 * tests/grub_script_final_semicolon.in: New testcase.
12018 * conf/tests.rmk: Rules for the new testcase.
12019 * script/parser.y: Grammar fix.
12020
12021 2010-03-26 BVK Chaitanya <bvk@localhost>
12022
12023 Blank lines testcase for GRUB script.
12024
12025 * tests/grub_script_blanklines.in: New testcase.
12026 * conf/tests.rmk: Rules for the new testcase.
12027
12028 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 Don't use __FILE__.
12031
12032 * genmk.rb: Add -DGRUB_FILE to all C targets.
12033 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12034 * include/grub/list.h: Likewise.
12035 * include/grub/misc.h: Likewise.
12036 * include/grub/mm.h: Likewise.
12037 * include/grub/test.h: Likewise.
12038 * kern/mm.c: Likewise.
12039 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12040
12041 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 Sunpc partitions support.
12044
12045 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12046 (grub_fstest_SOURCES): Likewise.
12047 (pkglib_MODULES): Add part_sunpc.mod.
12048 (part_sunpc_mod_SOURCES): New variable.
12049 (part_sunpc_mod_CFLAGS): Likewise.
12050 (part_sunpc_mod_LDFLAGS): Likewise.
12051 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12052 * partmap/sunpc.c: New file.
12053
12054 2010-03-26 BVK Chaitanya <bvk@localhost>
12055
12056 For loop support to GRUB script.
12057
12058 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
12059 (grub_script_create_cmdfor): New function prototype.
12060 (grub_script_execute_cmdfor): New function prototype.
12061 * script/execute.c (grub_script_execute_cmdfor): New function.
12062 * script/parser.y (command): New for command.
12063 (forcmd): New grammar rule.
12064 * script/script.c (grub_script_create_cmdfor): New function.
12065 * util/grub-script-check.c (grub_script_execute_cmdfor): New
12066 function.
12067 * tests/grub_script_for1.in: New testcase.
12068 * conf/tests.rmk: Rules for new testcase.
12069
12070 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 Nested partitions
12073
12074 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
12075 'partition' is NULL, grub_partition_get_start already does that.
12076 * commands/loadenv.c (check_blocklists): Likewise.
12077 (write_blocklists): Likewise.
12078 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
12079 (grub_fstest_SOURCES): Likewise.
12080 (pkglib_MODULES): Add part_bsd.mod.
12081 (part_bsd_mod_SOURCES): New variable.
12082 (part_bsd_mod_CFLAGS): Likewise.
12083 (part_bsd_mod_LDFLAGS): Likewise.
12084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
12085 (grub_emu_SOURCES): Likewise.
12086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12087 * include/grub/bsdlabel.h: New file.
12088 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
12089 'get_name'.
12090 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
12091 (grub_partition_map_list): New variable.
12092 (grub_partition_map_register): Inline.
12093 (grub_partition_map_unregister): Likewise.
12094 (FOR_PARTITION_MAPS): New macro.
12095 (grub_partition_map_iterate): Removed.
12096 (grub_partition_get_start): Handle nested partitions.
12097 * include/grub/msdos_partition.h: Remove bsd-related entries.
12098 (grub_pc_partition): Remove.
12099 * kern/disk.c (grub_disk_close): Free partition data.
12100 (grub_disk_adjust_range): Handle nested partitions.
12101 * kern/partition.c (grub_partition_map_probe): New function.
12102 (grub_partition_probe): Parse name to number, handle subpartitions.
12103 (get_partmap): New function.
12104 (grub_partition_iterate): Handle subpartitions.
12105 (grub_partition_get_name): Likewise.
12106 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
12107 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
12108 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
12109 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
12110 Set 'number'.
12111 (acorn_partition_map_probe): Remove.
12112 (acorn_partition_map_get_name): Likewise.
12113 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
12114 Set 'number'.
12115 Set 'index' to 0 since there can be only one partition entry per sector.
12116 (amiga_partition_map_probe): Remove.
12117 (amiga_partition_map_get_name): Likewise.
12118 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
12119 Set 'number'.
12120 Set 'offset' and 'index' to real positions of partitions.
12121 (apple_partition_map_probe): Remove.
12122 (apple_partition_map_get_name): Likewise.
12123 * partmap/bsdlabel.c: New file.
12124 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
12125 Set 'number'.
12126 Allocate 'data' so it can be correctly freed.
12127 Set 'index' to offset inside sector.
12128 (gpt_partition_map_probe): Remove.
12129 (gpt_partition_map_get_name): Likewise.
12130 * partmap/msdos.c (grub_partition_parse): Remove.
12131 (pc_partition_map_iterate): Don't force raw access.
12132 Set 'number'.
12133 Make 'ext_offset' a local variable.
12134 (pc_partition_map_probe): Remove.
12135 (pc_partition_map_get_name): Remove.
12136 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
12137 Set 'number'.
12138 (sun_partition_map_probe): Remove.
12139 (sun_partition_map_get_name): Likewise.
12140 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
12141 (grub_pcpart_type): Likewise.
12142 * util/hostdisk.c (open_device): Handle new numbering scheme.
12143 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
12144 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
12145 * util/grub-probe.c (probe_partmap): Handle nested paritions.
12146 * util/grub-install.in: Insert all subpartition modules.
12147 * util/ieee1275/grub-install.in: Likewise.
12148
12149 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
12150
12151 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
12152 grammar.
12153
12154 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
12155
12156 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
12157
12158 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
12159
12160 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
12161 match where 'make install' puts them.
12162 * util/i386/efi/grub-install.in: Likewise.
12163
12164 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
12165
12166 * .bzrignore: Add gentrigtables, grub-script-check,
12167 grub_script_check_init.c, grub_script_check_init.h, and
12168 trigtables.c.
12169
12170 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * kern/parser.c: Indented.
12173
12174 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
12177
12178 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
12181 alpha_mask_size == 0 case.
12182
12183 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
12184
12185 GRUB shell lexer and parser improvements.
12186
12187 * conf/any-emu.rmk: Build rule updates.
12188 * conf/common.rmk: Likewise.
12189 * conf/i386-coreboot.rmk: Likewise.
12190 * conf/i386-efi.rmk: Likewise.
12191 * conf/i386-ieee1275.rmk: Likewise.
12192 * conf/i386-pc.rmk: Likewise.
12193 * conf/powerpc-ieee1275.rmk: Likewise.
12194 * conf/x86_64-efi.rmk: Likewise.
12195
12196 * configure.ac: Configure check for flex.
12197
12198 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
12199 types.
12200 (grub_lexer_param): Struct member updates.
12201 (grub_parser_param): Likewise.
12202 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
12203 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
12204 (grub_script_lexer_init): Prototype update.
12205 (grub_script_lexer_record_start): Likewise.
12206 (grub_script_lexer_record_stop): Likewise.
12207 (grub_script_lexer_yywrap): New function prototype.
12208 (grub_script_lexer_fini): Likewise.
12209 (grub_script_execute_argument_to_string): Removed by...
12210 (grub_script_execute_argument_to_argv): ...better version.
12211
12212 * script/execute.c (ROUND_UPTO): New macro.
12213 (grub_script_execute_cmdline): Out of memory fixes.
12214 (grub_script_execute_menuentry): Likewise.
12215 (grub_script_execute_argument_to_string): Removed. Update all
12216 users by...
12217 (grub_script_execute_argument_to_argv): ...better version.
12218 * script/function.c (grub_script_function_create): Use
12219 grub_script_execute_argument_to_argv instead of
12220 grub_script_execute_argument_to_string.
12221
12222 * script/lexer.c (check_varstate): Removed.
12223 (check_textstate): Removed.
12224 (grub_script_lexer_record_start): Likewise.
12225 (grub_script_lexer_record_stop): Likewise.
12226 (recordchar): Replaced with...
12227 (grub_script_lexer_record): ...new function.
12228 (nextchar): Removed.
12229 (grub_script_lexer_init): Rewritten.
12230 (grub_script_yylex): Rewritten.
12231 (append_newline): New function.
12232 (grub_script_lexer_yywrap): New function.
12233 (grub_script_lexer_fini): New function.
12234 (grub_script_yyerror): Sets error flag.
12235
12236 * script/yylex.l: New file.
12237 (grub_lexer_yyfree): Wrapper for flex yyffre.
12238 (grub_lexer_yyalloc): Likewise.
12239 (grub_lexer_yyrealloc): Likewise.
12240 * script/parser.y: Refactored.
12241
12242 * script/script.c (grub_script_arg_add): Out of memory fixes.
12243 (grub_script_add_arglist): Likewise.
12244 (grub_script_create_cmdline): Likewise.
12245 (grub_script_create_cmdmenu): Likewise.
12246 (grub_script_add_cmd): Likewise.
12247 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
12248 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
12249 unnecessary code.
12250
12251 * tests/grub_script_echo1.in: New testcase.
12252 * tests/grub_script_vars1.in: New testcase.
12253 * tests/grub_script_echo_keywords.in: New testcase.
12254
12255 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Remove some redundancy in build system.
12258
12259 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
12260 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
12261 (TARGET_LDFLAGS): Add -nostdlib.
12262 (TARGET_IMG_LDFLAGS): Likewise.
12263 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
12264 anything since mmap isn't available.
12265 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
12266 Add util/time.c.
12267 (pkglib_MODULES): Remove reboot.mod.
12268 (reboot_mod_SOURCES): Removed.
12269 (reboot_mod_CFLAGS): Likewise.
12270 (reboot_mod_LDFLAGS): Likewise.
12271 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
12272 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
12273 (DEFSYMFILES): Add kernel_syms.lst.
12274 (kernel_img_HEADERS): Add common headers.
12275 (symlist.c): New target.
12276 (kernel_syms.lst): Likewise.
12277 (pkglib_MODULES): Add memdisk.mod.
12278 (memdisk_mod_SOURCES): New variable.
12279 (memdisk_mod_CFLAGS): Likewise.
12280 (memdisk_mod_LDFLAGS): Likewise.
12281 (pkglib_MODULES): Add reboot.mod.
12282 (reboot_mod_SOURCES): New variable.
12283 (reboot_mod_CFLAGS): Likewise.
12284 (reboot_mod_LDFLAGS): Likewise.
12285 (pkglib_MODULES): Add date.mod.
12286 (date_mod_SOURCES): New variable.
12287 (date_mod_CFLAGS): Likewise.
12288 (date_mod_LDFLAGS): Likewise.
12289 (pkglib_MODULES): Add datehook.mod.
12290 (datehook_mod_SOURCES): New variable.
12291 (datehook_mod_CFLAGS): Likewise.
12292 (datehook_mod_LDFLAGS): Likewise.
12293 (pkglib_MODULES): Add lsmmap.mod.
12294 (lsmmap_mod_SOURCES): New variable.
12295 (lsmmap_mod_CFLAGS): Likewise.
12296 (lsmmap_mod_LDFLAGS): Likewise.
12297 (pkglib_MODULES): Add boot.mod.
12298 (boot_mod_SOURCES): New variable.
12299 (boot_mod_CFLAGS): Likewise.
12300 (boot_mod_LDFLAGS): Likewise.
12301 * conf/i386-coreboot.rmk: Removed redundant parts.
12302 * conf/i386-ieee1275.rmk: Likewise.
12303 * conf/i386-pc.rmk: Likewise.
12304 * conf/mips-yeeloong.rmk: Likewise.
12305 * conf/mips.rmk: Likewise.
12306 * conf/powerpc-ieee1275.rmk: Likewise.
12307 * conf/sparc64-ieee1275.rmk: Likewise.
12308 * conf/x86_64-efi.rmk: Likewise.
12309 * conf/i386-coreboot.rmk: Moved qemu parts ..
12310 * conf/i386-qemu.rmk: ... here
12311 * conf/i386-efi.rmk: Moved common parts to...
12312 * conf/x86-efi.rmk: ... here.
12313 * conf/i386.rmk: Added modules common to all x86 variants.
12314 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
12315 * disk/memdisk.c: Remove grub/machine/kernel.h.
12316 * gensymlist.sh.in: Include symbol.h.
12317 * hook/datehook.c: Correct module name.
12318 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
12319 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
12320 * include/grub/i386/efi/serial.h: New file.
12321 * include/grub/x86_64/efi/serial.h: Likewise.
12322 * util/time.c: Likewise.
12323 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
12324
12325 2010-03-14 Colin King <colin.king@ubuntu.com>
12326 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
12327
12328 Shrink the pre-partition-table part of boot.img by eight bytes.
12329
12330 * boot/i386/pc/boot.S (ERR): New macro.
12331 (chs_mode): Use ERR.
12332 (geometry_error): Likewise.
12333 (hd_probe_error): Remove. This is only used once, so we wrwite
12334 it inline instead.
12335 (read_error): Instead of printing read_error_string, just set up
12336 %si and fall through to ...
12337 (error_message): ... this new function, also used by ERR.
12338
12339 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
12340
12341 Speed up consecutive hostdisk operations on the same device.
12342
12343 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
12344 (grub_util_biosdisk_open): Initialise disk->data.
12345 (struct linux_partition_cache): New structure.
12346 (linux_find_partition): Cache partition start positions; these are
12347 expensive to compute on every read and write.
12348 (open_device): Cache open file descriptor in disk->data, so that we
12349 don't have to reopen it and flush the buffer cache for consecutive
12350 operations on the same device.
12351 (grub_util_biosdisk_close): New function.
12352 (grub_util_biosdisk_dev): Set `close' member.
12353
12354 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12355 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12356 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12357 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12358 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12359
12360 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 Compile parts of grub-emu as modules.
12363
12364 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12365 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12366 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12367 (all-local): Add $(GRUB_EMU).
12368 (install-local): Install $(GRUB_EMU).
12369 (uninstall): Uninstall $(GRUB_EMU).
12370 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12371 * kern/dl.c: Likewise.
12372 * commands/sleep.c: Not include machine/time.h.
12373 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12374 (COMMON_CFLAGS): Likewise.
12375 (sbin_UTILITIES): Remove grub-emu.
12376 (grub_emu_SOURCES): Removed.
12377 (kernel_img_RELOCATABLE): New variable.
12378 (pkglib_PROGRAMS): Add kernel.img.
12379 (kernel_img_SOURCES): New variable
12380 (kernel_img_CFLAGS): Likewise.
12381 (kernel_img_LDFLAGS): Likewise.
12382 (TARGET_NO_STRIP): Likewise.
12383 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12384 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12385 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12386 (grub-emu): New target.
12387 (GRUB_EMU): New variable.
12388 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12389 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12390 * loader/xnu.c: Likewise.
12391 * include/grub/pci.h: Likewise.
12392 * genemuinit.sh: New file.
12393 * genemuinitheader.sh: Likewise.
12394 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12395 Support TARGET_NO_DYNAMIC_MODULES.
12396 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12397 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12398 * disk/loopback.c: Likewise.
12399 * font/font_cmd.c: Likewise.
12400 * partmap/acorn.c: Likewise.
12401 * partmap/amiga.c: Likewise.
12402 * partmap/apple.c: Likewise.
12403 * partmap/gpt.c: Likewise.
12404 * partmap/msdos.c: Likewise.
12405 * partmap/sun.c: Likewise.
12406 * parttool/msdospart.c: Likewise.
12407 * term/gfxterm.c: Likewise.
12408 * video/bitmap.c: Likewise.
12409 * video/readers/jpeg.c: Likewise.
12410 * video/readers/png.c: Likewise.
12411 * video/readers/tga.c: Likewise.
12412 * video/video.c: Likewise.
12413 * util/grub-emu.c (read_command_list): Removed.
12414 (main): Don't call util_init_nls.
12415 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12416 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12417
12418 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12421 date.mod, datehook.mod.
12422 (datetime_mod_SOURCES): New variable.
12423 (datetime_mod_CFLAGS): Likewise.
12424 (datetime_mod_LDFLAGS): Likewise.
12425 (date_mod_SOURCES): Likewise.
12426 (date_mod_CFLAGS): Likewise.
12427 (date_mod_LDFLAGS): Likewise.
12428 (datehook_mod_SOURCES): Likewise.
12429 (datehook_mod_CFLAGS): Likewise.
12430 (datehook_mod_LDFLAGS): Likewise.
12431 * conf/sparc64-ieee1275.rmk: Likewise.
12432 * lib/ieee1275/datetime.c: New file.
12433
12434 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12437 (ieee1275_fb_mod_SOURCES): New variable.
12438 (ieee1275_fb_mod_CFLAGS): Likewise.
12439 (ieee1275_fb_mod_LDFLAGS): Likewise.
12440 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12441 New proto.
12442 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12443 (HEAP_MAX_ADDR): Likewise.
12444 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12445 type.
12446 Correct stop condition.
12447 (grub_ieee1275_devices_iterate): New function.
12448 * video/ieee1275.c: New file.
12449
12450 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12453
12454 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12455 as scratch.
12456 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12457 SCRATCH_PAD_DISKBOOT as scratch.
12458 (bootit): Pass Openfirmware pointer in %o4.
12459 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12460 of 0x200000.
12461 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12462 with util/grub-mkrawimage.c.
12463 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12464 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12465 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12466 (grub_aout_load) [GRUB_UTIL]: Likewise.
12467 * include/grub/kernel.h (grub_modules_get_end): New proto.
12468 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12469 (SCRATCH_PAD_BOOT): New definition.
12470 (SCRATCH_PAD_DISKBOOT): Likewise.
12471 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12472 * include/grub/sparc64/ieee1275/ieee1275.h
12473 (grub_ieee1275_original_stack): New variable
12474 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12475 New definition
12476 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12477 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12478 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12479 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12480 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12481 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12482 (grub_platform_image_format_t): New type.
12483 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12484 * kern/main.c (grub_modules_get_end)
12485 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12486 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12487 (codestart): Switch stacks.
12488 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12489 variable.
12490 (grub_heap_init): Use grub_modules_get_end.
12491 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12492 stack.
12493 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12494 (main): Likewise.
12495 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12496
12497 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
12498
12499 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12500
12501 2010-03-08 Matt Kraai <kraai@ftbfs.org>
12502
12503 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12504 bug #559005).
12505
12506 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * genmoddep.awk: Output all missing symbols and not only first.
12509
12510 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * NEWS: Put the date of 1.98 release.
12513
12514 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12517 ft2build.h.
12518
12519 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12522 completition in the middle of string.
12523
12524 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * util/grub-mkrescue.in: Use mktemp with explicit template.
12527
12528 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12531
12532 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12535 right pointer.
12536
12537 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 Fix FreeBSD compilation.
12540
12541 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12542 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12543
12544 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12547
12548 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12551
12552 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12555
12556 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12557
12558 Support relative image path in theme file.
12559
12560 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12561 (image_set_property): Handle theme_dir and relative path.
12562
12563 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * configure.ac: Alias amd64 to x86_64.
12566
12567 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * NEWS: mention multiboot on EFI.
12570
12571 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * kern/main.c (grub_load_modules): Handle errors from init functions of
12574 embeded modules.
12575
12576 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * normal/autofs.c (autoload_fs_module): Handle errors.
12579
12580 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Disable linux.mod on qemu-mips since it's not functional and leads
12583 to compilation failure.
12584
12585 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12586 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12587 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12588 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12589 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12590 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12591 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12592 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12593 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12594 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12595 Reported by: BVK Chaitanya
12596
12597 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12598
12599 * INSTALL: Add gettext as a dependency and add qemu to a new section
12600 "Prerequisites for make-check".
12601
12602 2010-03-04 Christian Franke <franke@computer.org>
12603
12604 * util/grub-pe2elf.c: Add missing include "progname.h".
12605
12606 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * normal/crypto.c (read_crypto_list): Fix a typo.
12609 Reported by: Seth Goldberg.
12610
12611 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
12614 Reported by: Seth Goldberg.
12615
12616 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12619 ascii.bitmaps.
12620
12621 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * genmk.rb: Remove terminal*.lst in make clean.
12624 Reported by: Seth Goldberg.
12625
12626 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * util/i386/efi/grub-install.in: Copy gettext files.
12629
12630 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12633
12634 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 Wait for user entry basing on presence of output rather than on errors.
12637
12638 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12639 (grub_install_newline_hook): Likewise.
12640 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12641 * normal/menu.c (show_menu): Check line_counter to determine presence
12642 of output.
12643 * normal/term.c (grub_normal_line_counter): New variable.
12644 (grub_normal_get_line_counter): New function.
12645 (grub_install_newline_hook): Likewise.
12646
12647 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12650
12651 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * configure.ac: Update version to 1.98.
12654
12655 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * util/grub.d/10_linux.in (linux_entry): Don't default to
12658 gfxpayload=keep if Linux doesn't support video handover.
12659
12660 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 Don't compile video modules on yeeloong since video subsystem is part
12663 of kernel.
12664
12665 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12666 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12667 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12668 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12669 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12670 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12671 * include/grub/bitmap_scale.h: Likewise.
12672 * include/grub/bufio.h: Likewise.
12673 * include/grub/font.h: Likewise.
12674 * include/grub/gfxterm.h: Likewise.
12675 * include/grub/video.h: Likewise.
12676 * include/grub/vbe.h: Don't include video_fb.h.
12677 * video/i386/pc/vbe.c: Include video_fb.h.
12678 * commands/i386/pc/vbetest.c: Include video.h.
12679
12680 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12681
12682 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12683 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12684 default entry if GRUB_SAVEDEFAULT=true. This allows using
12685 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12686 saving a new default on every boot.
12687
12688 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12691 * normal/term.c (read_terminal_list): Likewise.
12692 * normal/main.c (grub_normal_init_page): Likewise.
12693 (grub_normal_read_line_real): Likewise.
12694
12695 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12698 memory leak.
12699 Reported by: Seth Goldberg.
12700
12701 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12702
12703 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12704 duplicate declaration of `start'.
12705
12706 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12709 filename.
12710 Reported by: Georgy Buranov
12711
12712 2010-02-20 Carles Pina i Estany <carles@pina.cat>
12713
12714 * util/grub-mkrawimage.c (usage): Change string formatting to
12715 improve gettext.
12716
12717 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12718
12719 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12720 backspace keys.
12721
12722 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12725 Reported by: Michael Suchanek.
12726
12727 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
12728
12729 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12730 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12731
12732 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Remove any reference to non-free fonts.
12735
12736 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12737 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12738 uses non-free components.
12739 * font/font.c (grub_font_get_name): Remove example name.
12740 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12741 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12742 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12743 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12744
12745 2010-02-16 Georgy Buranov <gburanov@gmail.com>
12746
12747 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12748
12749 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12752 Double divisor.
12753 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12754 features.
12755 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12756
12757 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12760
12761 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12762
12763 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12764 * docs/grub.texi (Command-line and menu entry commands): Document play
12765 command.
12766
12767 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12768
12769 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12770 parse arguments as inline tempo and notes. Move code for playing notes
12771 to...
12772 (play): ... new function.
12773
12774 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12775
12776 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12777 grub_uint16_t instead of short.
12778 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12779 disk from little endian to cpu endianness.
12780
12781 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12782
12783 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12784 GRUB_TICKS_PER_SECOND instead of 120.
12785
12786 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12789 escape sequence after \e.
12790
12791 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12794 non-ASCII characters.
12795
12796 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12799 set root in single quotes to prevent \, from being unescaped.
12800
12801 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Prevent unknown commands from stopping menuentry execution.
12804
12805 * script/execute.c (grub_script_execute_cmdline): Print error after
12806 unknown command.
12807
12808 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12811 Reported by: Pavel Pisa.
12812
12813 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12816
12817 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 Merge grub_ieee1275_map_physical into grub_map and rename to
12820 grub_ieee1275_map
12821
12822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12823 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12824 Remove.
12825 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12826 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12827 necessary.
12828 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12829
12830 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12833 opening and not after.
12834
12835 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12838 constants.
12839
12840 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12843 (alloc_phys): Use ALIGN_UP instead of align_addr.
12844
12845 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12848
12849 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12852
12853 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12856 verbose dprintf.
12857
12858 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 Fix over-4GiB seek on sparc64.
12861
12862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12863 Replace pos_i and pos_lo with pos. All users updated.
12864 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12865 New constant.
12866 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12867 Likewise.
12868 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12869 and pos_lo.
12870
12871 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * util/grub-mkrawimage.c (main): Call set_program_name.
12874
12875 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 Properly align 64-bit targets.
12878
12879 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12880 (generate_image): Use ALIGN_ADDR.
12881
12882 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 Properly create cross-endian images.
12885
12886 * include/grub/types.h (grub_host_to_target_addr): New macro
12887 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12888
12889 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12892
12893 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12896
12897 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12898 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12899 (grub_linux_boot): Divide by 64K when on VESA.
12900
12901 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 Support GRUB_GFXPAYLOAD_LINUX.
12904
12905 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12906 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12907
12908 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12911 to show messages instead of discarding them.
12912 Process errors after executing command and not before. Keep old method
12913 too as precaution.
12914
12915 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * configure.ac: Check for ft2build.h.
12918
12919 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12922
12923 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * genkernsyms.sh.in: Use TARGET_CC.
12926
12927 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
12928
12929 * NEWS: Update.
12930
12931 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * include/grub/multiboot2.h: Remove leftover file.
12934 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12935 * include/grub/partition.h [GRUB_UTIL]: Likewise.
12936
12937 2010-02-07 Yves Blusseau <blusseau@zetam.org>
12938
12939 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
12940
12941 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Fix warnings in grub-emu when compiling with maximum warning options.
12944
12945 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12946 (grub_arch_modules_addr): Return 0 and not NULL.
12947 * util/misc.c (ENABLE_RELOCATABLE): New definition.
12948 (xstrdup): Use newstr instead of dup.
12949 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12950 of disk to dsk to avoid shadowing.
12951 (find_free_slot): Fix prototype.
12952 * util/getroot.c (grub_util_is_dmraid): Make static.
12953 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12954 Add missing prototype.
12955 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
12956
12957 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12960 appropriately.
12961
12962 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12965 code out.
12966
12967 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12970 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12971 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12972 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12973 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12974 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12975
12976 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 * include/grub/err.h (grub_err_printf): Don't export.
12979
12980 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12983
12984 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12987 * kern/misc.c (grub_gettext_dummy): Make static.
12988
12989 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12992 by non-valid ones.
12993 * kern/term.c (grub_putchar): Likewise.
12994
12995 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12998 buggy hook call and memory leak.
12999
13000 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13003
13004 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13007
13008 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13011 modevar.
13012 Return grub_errno on allocation error.
13013
13014 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13017
13018 2010-02-06 Yves Blusseau <blusseau@zetam.org>
13019
13020 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13021 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13022
13023 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13026 non-pxe disk.
13027 (grub_pxefs_open): Likewise.
13028
13029 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13030
13031 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13032 * util/grub.d/10_kfreebsd.in: Likewise.
13033 * util/grub.d/10_linux.in: Likewise.
13034
13035 2010-02-06 Colin D Bennett <colin@gibibit.com>
13036
13037 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13038 (gfxmenu_mod_SOURCES): New variable.
13039 (gfxmenu_mod_CFLAGS): Likewise.
13040 (gfxmenu_mod_LDFLAGS): Likewise.
13041 * include/grub/term.h (grub_term_set_current_output): Declare
13042 argument as const.
13043 * docs/gfxmenu-theme-example.txt: New file.
13044 * gfxmenu/gfxmenu.c: Likewise.
13045 * gfxmenu/gui_box.c: Likewise.
13046 * gfxmenu/gui_canvas.c: Likewise.
13047 * gfxmenu/gui_circular_progress.c: Likewise.
13048 * gfxmenu/gui_image.c: Likewise.
13049 * gfxmenu/gui_label.c: Likewise.
13050 * gfxmenu/gui_list.c: Likewise.
13051 * gfxmenu/gui_progress_bar.c: Likewise.
13052 * gfxmenu/gui_string_util.c: Likewise.
13053 * gfxmenu/gui_util.c: Likewise.
13054 * gfxmenu/icon_manager.c: Likewise.
13055 * gfxmenu/model.c: Likewise.
13056 * gfxmenu/named_colors.c: Likewise.
13057 * gfxmenu/theme_loader.c: Likewise.
13058 * gfxmenu/view.c: Likewise.
13059 * gfxmenu/widget-box.c: Likewise.
13060 * include/grub/gfxmenu_model.h: Likewise.
13061 * include/grub/gfxmenu_view.h: Likewise.
13062 * include/grub/gfxwidgets.h: Likewise.
13063 * include/grub/gui.h: Likewise.
13064 * include/grub/gui_string_util.h: Likewise.
13065 * include/grub/icon_manager.h: Likewise.
13066
13067 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 Agglomerate scrolling in gfxterm.
13070
13071 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
13072 (grub_virtual_screen_setup): Initialise 'total_screen'.
13073 (write_char): Split to ...
13074 (paint_char): ... this ...
13075 (write_char): ... and this.
13076 (paint_char): Handle delayed scrolling.
13077 (draw_cursor): Likewise.
13078 (scroll_up): Split to ...
13079 (real_scroll): ... this ...
13080 (scroll_up): ... and this.
13081 (real_scroll): Handle multi-line scroll and draw below-the-bottom
13082 characters.
13083 (grub_gfxterm_refresh): Call real_scroll.
13084
13085 2010-02-06 Colin D Bennett <colin@gibibit.com>
13086
13087 * include/grub/misc.h (grub_iscntrl): New inline function.
13088 (grub_isalnum): Likewise.
13089 (grub_strtol): Likewise.
13090
13091 2010-02-06 Colin D Bennett <colin@gibibit.com>
13092
13093 * normal/menu_text.c (get_entry_number): Move from here ...
13094 * normal/menu.c (get_entry_number): ... moved here.
13095 * include/grub/menu.h (grub_menu_get_default_entry_index):
13096 New prototype.
13097 * normal/menu.c (grub_menu_get_default_entry_index): New function.
13098 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
13099 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
13100 (grub_menu_viewer_should_return): Likewise.
13101 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
13102 * normal/menu_text.c (run_menu): Enable menu switching.
13103 * normal/menu_viewer.c (should_return): New variable.
13104 (menu_viewer_changed): Likewise.
13105 (grub_menu_viewer_show_menu): Handle menu viewer changes.
13106 (grub_menu_viewer_should_return): New function.
13107 (menuviewer_write_hook): Likewise.
13108 (grub_menu_viewer_init): Likewise.
13109
13110 2010-02-06 Colin D Bennet <colin@gibibit.com>
13111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 Support for gfxterm in a window.
13114
13115 * include/grub/gfxterm.h: New file.
13116 * include/grub/video.h (struct grub_video_rect): New declaration.
13117 (grub_video_rect_t): Likewise.
13118 * term/gfxterm.c (struct grub_gfxterm_window): New type.
13119 (refcount): New variable.
13120 (render_target): Likewise.
13121 (window): Likewise.
13122 (repaint_callback): Likewise.
13123 (grub_virtual_screen_setup): Use 'render_target'.
13124 (init_window): New function.
13125 (grub_gfxterm_init_window): Likewise.
13126 (grub_gfxterm_init): Check reference counter.
13127 Use init_window.
13128 (destroy_window): New function.
13129 (grub_gfxterm_destroy_window): Likewise.
13130 (grub_gfxterm_fini): Check reference counter.
13131 Use destroy_window.
13132 (redraw_screen_rect): Restore viewport.
13133 Use 'render_target' and 'window'.
13134 Call 'repaint_callback'.
13135 (write_char): Use 'render_target'.
13136 (draw_cursor): Likewise.
13137 (scroll_up): Restore viewport.
13138 Use 'render_target' and 'window'.
13139 Call 'repaint_callback'.
13140 (grub_gfxterm_cls): Likewise.
13141 (grub_gfxterm_refresh): Use 'window'.
13142 (grub_gfxterm_set_repaint_callback): New function.
13143 (grub_gfxterm_background_image_cmd): Use 'window'.
13144 (grub_gfxterm_get_term): New function.
13145 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
13146
13147 2010-02-06 Colin D Bennett <colin@gibibit.com>
13148
13149 Bitmap scaling support.
13150
13151 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
13152 (bitmap_scale_mod_SOURCES): New variable.
13153 (bitmap_scale_mod_CFLAGS): Likewise.
13154 (bitmap_scale_mod_LDFLAGS): Likewise.
13155 * include/grub/bitmap_scale.h: New file.
13156 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
13157 (background_image_cmd_options): New variable.
13158 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
13159 (cmd): Rename and change type to ...
13160 (background_image_cmd_handle): ... this. All users updated.
13161 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
13162 * video/bitmap_scale.c: New file.
13163
13164 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 SDL support.
13167
13168 * Makefile.in (LIBSDL): New variable.
13169 (enable_grub_emu_sdl): Likewise.
13170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
13171 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
13172 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
13173 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
13174 * util/sdl.c: New file.
13175
13176 2010-02-06 Colin D Bennett <colin@gibibit.com>
13177 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 Double buffering support.
13180
13181 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
13182 * include/grub/video.h: Update comment.
13183 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
13184 New type.
13185 (grub_video_fb_doublebuf_blit_init): New prototype.
13186 * term/gfxterm.c (scroll_up): Support double buffering.
13187 (grub_gfxterm_refresh): Likewise.
13188 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
13189 (grub_video_fb_doublebuf_blit_init): Likewise.
13190 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
13191 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
13192 'displayed_page', 'render_page' and 'update_screen'.
13193 (grub_video_vbe_fini): Free offscreen buffer.
13194 (doublebuf_pageflipping_commit): New function.
13195 (doublebuf_pageflipping_update_screen): Likewise.
13196 (doublebuf_pageflipping_init): Likewise.
13197 (double_buffering_init): Likewise.
13198 (grub_video_vbe_setup): Enable doublebuffering.
13199 (grub_video_vbe_swap_buffers): Implement.
13200 (grub_video_vbe_set_active_render_target): Handle double buffering.
13201 (grub_video_vbe_get_active_render_target): Likewise.
13202 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
13203 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
13204 (grub_video_vbe_enable_double_buffering): Likewise.
13205 (grub_video_vbe_swap_buffers): Use update_screen.
13206 (grub_video_set_mode): Use double buffering.
13207
13208 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13209
13210 * maintainance/gentrigtables.py: Remove.
13211 * lib/trig.c: Likewise.
13212
13213 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
13214
13215 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
13216 `trigtables.c'.
13217 (trigtables.c): New rule.
13218 (gentrigtables): Likewise.
13219 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
13220
13221 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13222
13223 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
13224 integer constants.
13225
13226 2010-02-06 Colin D Bennet <colin@gibibit.com>
13227
13228 Trigonometry support.
13229
13230 * include/grub/trig.h: New file.
13231 * lib/trig.c: Likewise.
13232 * maintainance/gentrigtables.py: Likewise.
13233 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
13234 (trig_mod_SOURCES): New variable.
13235 (trig_mod_CFLAGS): Likewise.
13236 (trig_mod_LDFLAGS): Likewise.
13237
13238 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
13241 disk devices.
13242
13243 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
13246 error.
13247
13248 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * util/hostdisk.c (open_device): Don't use partition device when reading
13251 before the partition.
13252 (grub_util_biosdisk_read): Don't read from partition and before the
13253 partition in single operation.
13254 (grub_util_biosdisk_write): Don't write to partition and before the
13255 partition in single operation.
13256
13257 2010-02-03 Torsten Landschoff <torsten@debian.org>
13258
13259 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13260 last sectors.
13261
13262 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
13265 CDROM reads.
13266 (grub_biosdisk_write): Refuse to write to CDROM.
13267
13268 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
13271
13272 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * font/font.c (find_glyph): Check that bmp_idx is available before
13275 using it.
13276 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
13277 with (font == NULL).
13278
13279 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
13280
13281 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
13282
13283 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
13284
13285 * include/grub/script_sh.h (sourcecode): Add const qualifier.
13286 * util/grub-script-check.c (getline): Fix empty lines case.
13287
13288 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
13289
13290 * Makefile.in (check): Exit with fail status when one of the tests
13291 fails.
13292 * tests/example_functional_test.c (example_test): Fix reversed assert.
13293 * tests/example_unit_test.c (example_test): Likewise.
13294
13295 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
13296
13297 * util/grub.d/10_linux.in: This script does not use any of the
13298 contents of gettext.sh, only the external command `gettext', so stop
13299 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
13300 the same prefix as GRUB.)
13301 * util/grub.d/10_kfreebsd.in: Likewise.
13302
13303 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
13306 of the line.
13307
13308 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13311 last sectors.
13312
13313 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
13316 having a 4KiB and not 32KiB buffer size.
13317
13318 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13319
13320 * util/hostfs.c: Include `<errno.h>'.
13321 (grub_hostfs_read): Handle errors from fseeko() and fread().
13322
13323 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13324
13325 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
13326 loop when using read hooks on files whose size isn't sector-aligned.
13327
13328 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13329
13330 Remove unused parameter.
13331
13332 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
13333 (grub_iso9660_open): Remove initialization of `data->length'.
13334
13335 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13336
13337 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
13338 memleak conditions.
13339
13340 2010-01-27 Carles Pina i Estany <carles@pina.cat>
13341
13342 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
13343 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
13344
13345 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13346
13347 * util/bin2h.c (usage): Fix warning (space after backslash).
13348
13349 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13350
13351 * font/font.c: Include `grub/fontformat.h.
13352 Remove font file format constants.
13353 (grub_font_load): Use the new macros.
13354 * include/grub/fontformat.h: New file.
13355 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13356 (write_font_pf2): Use the new macros.
13357
13358 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13359
13360 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13361 does.
13362
13363 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13364
13365 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13366
13367 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13368 (_start): Macroify `0x7F'.
13369
13370 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13371 (make_install_device): Use "(pxe)" as fallback prefix when booting
13372 via PXE.
13373
13374 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * configure.ac: Reset LIBS after check for libgcc symbols.
13377
13378 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
13379
13380 * util/hostdisk.c (open_device): Add trailing newline to debug
13381 message.
13382
13383 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13384
13385 * configure.ac: Check for `limits.h'.
13386 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13387
13388 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13389
13390 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13391 capitalize error strings.
13392
13393 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13394
13395 * util/grub.d/10_hurd.in: Add a recovery mode.
13396
13397 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 * configure.ac: Check for libgcc symbols with -nostdlib.
13400
13401 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13402
13403 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13404
13405 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13408 stack since heap may be unavailable at that point.
13409 (grub_ofconsole_gotoxy): Likewise.
13410
13411 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * configure.ac: Check for _restgpr_14_x.
13414 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13415 and _savegpr_* prototypes.
13416
13417 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13418
13419 Use generic grub_reboot() for i386-efi.
13420
13421 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13422 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13423 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13424
13425 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13428 presence of "prefix" variable as it breaks when normal.mod is
13429 embedded.
13430
13431 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13434 stack since heap is unavailable at that point.
13435
13436 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13439 (grub_freebsd_bootinfo): Rewritten.
13440 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13441
13442 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13445
13446 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13447
13448 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13449 domain now.
13450
13451 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
13452
13453 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13454 around for handling "/" to the correct fix. Fix a memory leak. Use
13455 xstrdup instead of strdup.
13456
13457 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13460
13461 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13464
13465 * font/font.c (struct grub_font): New member 'bmp_idx'.
13466 (font_init): Initialise 'bmp_idx'.
13467 (load_font_index): Fill 'bmp_idx'.
13468 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13469
13470 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13473 unnecessary calls.
13474
13475 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 Move context handling out of the kernel.
13478
13479 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13480 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13481 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13482 * conf/i386-efi.rmk: Likewise.
13483 * conf/i386-ieee1275.rmk: Likewise.
13484 * conf/i386-pc.rmk: Likewise.
13485 * conf/powerpc-ieee1275.rmk: Likewise.
13486 * conf/sparc64-ieee1275.rmk: Likewise.
13487 * conf/x86_64-efi.rmk: Likewise.
13488 * include/grub/env.h: Include grub/menu.h.
13489 (grub_env_var_type): Removed.
13490 (grub_env_var): Replaced field 'type' with 'global'.
13491 (grub_env_find): New prototype.
13492 (grub_env_context_open): Remove EXPORT_FUNC.
13493 (grub_env_context_close): Likewise.
13494 (grub_env_export): Likewise.
13495 (grub_env_set_data_slot): Removed.
13496 (grub_env_get_data_slot): Likewise.
13497 (grub_env_unset_data_slot): Likewise.
13498 (grub_env_unset_menu): New prototype.
13499 (grub_env_set_menu): Likewise.
13500 (grub_env_get_menu): Likewise.
13501 * include/grub/env_private.h: New file.
13502 * include/grub/normal.h (grub_context_init): New prototype.
13503 (grub_context_fini): Likewise.
13504 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13505 * normal/context.c (grub_cmd_export): ... to here.
13506 * kern/env.c: Include env_private.h.
13507 (HASHSZ): Moved to include/grub/env_private.h.
13508 (grub_env_context): Likewise.
13509 (grub_env_sorted_var): Likewise.
13510 (current_context): Renamed from this ...
13511 (grub_current_context): ...to this. 'static' removed. All users updated.
13512 (grub_env_find): Removed 'static'.
13513 (grub_env_context_open): Moved to normal/context.c.
13514 (grub_env_context_close): Likewise.
13515 (grub_env_export): Likewise.
13516 (mangle_data_slot_name): Removed.
13517 (grub_env_set_data_slot): Likewise.
13518 (grub_env_get_data_slot): Likewise.
13519 (grub_env_unset_data_slot): Likewise.
13520 * kern/main.c (grub_set_root_dev): Don't export root.
13521 It will be done later.
13522 (grub_main): Don't export prefix.
13523 It will be done later.
13524 * normal/context.c: New file.
13525 * normal/main.c (free_menu): Use grub_env_unset_menu.
13526 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13527 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13528 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13529 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13530
13531 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 setpci support.
13534
13535 * commands/setpci.c: New file.
13536 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13537 (setpci_mod_SOURCES): New variable.
13538 (setpci_mod_CFLAGS): Likewise.
13539 (setpci_mod_LDFLAGS): Likewise.
13540
13541 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 Byte-addressable PCI configuration space.
13544
13545 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13546 dword address.
13547 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13548 GRUB_PCI_REG_CACHELINE.
13549 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13550 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13551 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13552 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13553 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13554 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13555 grub_pci_make_address.
13556 (lock_rom_area): Likewise.
13557 * commands/lspci.c (grub_lspci_iter): Use macroses
13558 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13559 of grub_pci_make_address.
13560 * disk/ata.c (grub_ata_pciinit): Likewise.
13561 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13562 (GRUB_PCI_REG_VENDOR): Likewise.
13563 (GRUB_PCI_REG_DEVICE): Likewise.
13564 (GRUB_PCI_REG_COMMAND): Likewise.
13565 (GRUB_PCI_REG_STATUS): Likewise.
13566 (GRUB_PCI_REG_REVISION): Likewise.
13567 (GRUB_PCI_REG_CLASS): Likewise.
13568 (GRUB_PCI_REG_CACHELINE): Likewise.
13569 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13570 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13571 (GRUB_PCI_REG_BIST): Likewise.
13572 (GRUB_PCI_REG_ADDRESSES): Likewise.
13573 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13574 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13575 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13576 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13577 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13578 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13579 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13580 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13581 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13582 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13583 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13584 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13585 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13586 (GRUB_PCI_REG_MIN_GNT): Likewise.
13587 (GRUB_PCI_REG_MAX_LAT): Likewise.
13588 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13589 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13590 * video/efi_uga.c (find_framebuf): Likewise.
13591 * video/sm712.c (grub_video_sm712_setup): Likewise.
13592 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13593 space.
13594
13595 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13596
13597 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13598 can be reliably determined to be supported.
13599
13600 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13601
13602 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13603 that VESA is supported.
13604 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13605 supported.
13606
13607 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13610
13611 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13612
13613 * util/misc.c (make_system_path_relative_to_its_root): Work around
13614 special-casing of "/", as previous incarnation of this routine did.
13615
13616 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 Fix any-emu compilation.
13619
13620 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13621 * grub_bin2h_SOURCES: New variable.
13622
13623 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13624
13625 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13626
13627 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13628
13629 * util/grub.d/00_header.in: Fix handling of locale_dir.
13630
13631 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13634 as possible unifont location (Gentoo).
13635 Reported by: Alexander Brüning
13636
13637 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 Don't try to generate lists for kernel.img.
13640
13641 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13642 (pkglib_MODULES): Remove kernel.img.
13643 (kernel_img_EXPORTS): Removed.
13644 (kernel_img_RELOCATABLE): New variable.
13645 * conf/x86_64-efi.rmk: Likewise.
13646 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13647
13648 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13651 grub_xasprintf or grub_snprintf.
13652 (grub_vsprintf): Likewise.
13653 (grub_snprintf): New proto.
13654 (grub_vsnprintf): Likewise.
13655 (grub_xasprintf): Likewise.
13656 (grub_xvasprintf): Likewise.
13657 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13658 (grub_sprintf): Removed.
13659 (grub_vsnprintf): New function.
13660 (grub_snprintf): Likewise.
13661 (grub_xvasprintf): Likewise.
13662 (grub_xasprintf): Likewise.
13663 (grub_vsprintf): Renamed to ...
13664 (grub_vsnprintf_real): ...this. New argument max_len.
13665
13666 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13667
13668 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13669 fix grub-script-check warning.
13670
13671 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * include/grub/font.h (grub_font_load): Fix prototype.
13674
13675 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13678
13679 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * include/grub/x86_64/at_keyboard.h: New file.
13682
13683 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * loader/mips/linux.c: Include missing grub/i18n.h.
13686
13687 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13688
13689 * normal/menu.c (notify_execution_failure): Clarify error message.
13690
13691 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13692
13693 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13694 return value (and revert all return statements). Update users.
13695
13696 2010-01-20 Dan Merillat <debian@dan.merillat.org>
13697
13698 * kern/device.c (grub_device_iterate): Allocate new part_ent
13699 structure based on sizeof (*p) rather than sizeof (p->next), to
13700 account for structure padding.
13701
13702 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13703 disk is NULL, which might happen for LVM physical volumes with no
13704 LVM signature.
13705
13706 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13707
13708 * loader/mips/linux.c (grub_cmd_initrd)
13709 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13710
13711 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13712
13713 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13714 (grub_video_video_init, grub_video_bitmap_init)
13715 (grub_font_manager_init, grub_term_gfxterm_init)
13716 (grub_at_keyboard_init): New extern declarations.
13717 (grub_machine_init): Initialize gfxterm and at_keyboard.
13718
13719 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13720
13721 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13722 `gfxterm.mod' into core image.
13723
13724 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13725 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13726 (kernel_img_FORMAT): Copy to ...
13727
13728 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13729 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13730 (kernel_img_FORMAT): ... here, and ...
13731
13732 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13733 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13734 (kernel_img_FORMAT): ... here.
13735
13736 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13737 and input (at_keyboard) terminals in kernel.
13738 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13739
13740 (pkglib_MODULES): Remove `pci.mod'.
13741 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13742 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13743 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13744 (at_keyboard_mod_LDFLAGS): Remove variables.
13745
13746 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
13747
13748 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13749
13750 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13751
13752 * include/grub/mips/libgcc.h: Only export symbols for functions
13753 that libgcc provides.
13754
13755 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 MIPS support.
13758
13759 * bus/bonito.c: New file.
13760 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13761 GRUB_PCI_NUM_DEVICES.
13762 * term/i386/pc/serial.c: Move to ...
13763 * term/serial.c: ... here. All users updated.
13764 * util/i386/pc/grub-mkimage.c: Move to ...
13765 * util/grub-mkrawimage.c: ... here. All users updated.
13766 * term/i386/pc/at_keyboard.c: Move to ...
13767 * term/at_keyboard.c: ... here. All users updated.
13768 * conf/mips-qemu-mips.rmk: New file.
13769 * conf/mips-yeeloong.rmk: Likewise.
13770 * conf/mips.rmk: Likewise.
13771 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13772 mipsel-qemu-mips.
13773 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13774 to port addresses.
13775 (grub_ata_pciinit): Support CS5536.
13776 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13777 * font/font_cmd.c (loadfont_command): Open file before passing it to
13778 grub_font_load.
13779 (pseudo_file_read): New function.
13780 (pseudo_file_close): Likewise.
13781 (pseudo_fs): New structure.
13782 (load_font_module): New function.
13783 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13784 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13785 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13786 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13787 * include/grub/i386/at_keyboard.h: Split into ...
13788 * include/grub/at_keyboard.h: ... this ...
13789 * include/grub/i386/at_keyboard.h: ... and this.
13790 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13791 New prototype.
13792 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13793 updated.
13794 (grub_elf64_size): Likewise.
13795 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13796 filename.
13797 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13798 * include/grub/i386/coreboot/serial.h: Rewritten.
13799 * include/grub/i386/ieee1275/serial.h: Include
13800 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13801 * include/grub/i386/pc/serial.h: Moved from here ...
13802 * include/grub/serial.h: ... to here. All users updated.
13803 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13804 (GRUB_PCI_NUM_BUS): Likewise.
13805 (GRUB_PCI_NUM_DEVICES): Likewise.
13806 (grub_pci_device_map_range): Add missing volatile keyword.
13807 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13808 * include/grub/mips/at_keyboard.h: New file.
13809 * include/grub/mips/cache.h: Likewise.
13810 * include/grub/mips/io.h: Likewise.
13811 * include/grub/mips/kernel.h: Likewise.
13812 * include/grub/mips/libgcc.h: Likewise.
13813 * include/grub/mips/pci.h: Likewise.
13814 * include/grub/mips/qemu-mips/boot.h: Likewise.
13815 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13816 * include/grub/mips/qemu-mips/loader.h: Likewise.
13817 * include/grub/mips/qemu-mips/memory.h: Likewise.
13818 * include/grub/mips/qemu-mips/serial.h: Likewise.
13819 * include/grub/mips/qemu-mips/time.h: Likewise.
13820 * include/grub/mips/relocator.h: Likewise.
13821 * include/grub/mips/time.h: Likewise.
13822 * include/grub/mips/types.h: Likewise.
13823 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13824 * include/grub/mips/yeeloong/boot.h: Likewise.
13825 * include/grub/mips/yeeloong/kernel.h: Likewise.
13826 * include/grub/mips/yeeloong/loader.h: Likewise.
13827 * include/grub/mips/yeeloong/memory.h: Likewise.
13828 * include/grub/mips/yeeloong/pci.h: Likewise.
13829 * include/grub/mips/yeeloong/serial.h: Likewise.
13830 * include/grub/mips/yeeloong/time.h: Likewise.
13831 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13832 * kern/elf.c (grub_elf32_size): New parameter. All users
13833 updated.
13834 (grub_elf64_size): Likewise.
13835 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13836 Load modules before saying "Welcome to GRUB!".
13837 Call grub_refresh after saying "Welcome to GRUB!".
13838 * kern/mips/cache.S: New file.
13839 * kern/mips/cache_flush.S: Likewise.
13840 * kern/mips/dl.c: Likewise.
13841 * kern/mips/init.c: Likewise.
13842 * kern/mips/qemu-mips/init.c: Likewise.
13843 * kern/mips/startup.S: Likewise.
13844 * kern/mips/yeeloong/init.c: Likewise.
13845 * kern/term.c (grub_putcode): Handle NULL terminal.
13846 (grub_getcharwidth): Likewise.
13847 (grub_getkey): Likewise.
13848 (grub_checkkey): Likewise.
13849 (grub_getkeystatus): Likewise.
13850 (grub_getxy): Likewise.
13851 (grub_getwh): Likewise.
13852 (grub_gotoxy): Likewise.
13853 (grub_cls): Likewise.
13854 (grub_setcolorstate): Likewise.
13855 (grub_setcolor): Likewise.
13856 (grub_getcolor): Likewise.
13857 (grub_refresh): Likewise.
13858 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13859 (write_jump): Add hatch nop.
13860 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13861 * lib/mips/setjmp.S: New file.
13862 * loader/mips/linux.c: Likewise.
13863 * term/i386/pc/at_keyboard.c: Move from here ...
13864 * term/at_keyboard.c: ... to here.
13865 * term/i386/pc/serial.c: Moved from here ...
13866 * term/serial.c: ... to here. All users updated.
13867 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13868 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13869 (serial_translate_key_sequence): Avoid deadlock.
13870 (grub_serial_getkey): Handle backspace.
13871 (grub_serial_putchar): Fix newline handling.
13872 * util/i386/pc/grub-mkimage.c: Move from here ...
13873 * util/grub-mkrawimage.c: ... to here. All users updated.
13874 (generate_image): New parameters 'font_path' and 'format'.
13875 Support embedding font.
13876 Use grub_host_to_target* instead of grub_cpu_to_le*.
13877 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13878 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13879 (options): New option "--font".
13880 (usage): Likewise.
13881 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13882 (main): Handle "--font".
13883 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13884 (grub_virtual_screen_setup): Set bg_color_display.
13885 (redraw_screen_rect): Use bg_color_display instead of incorrect
13886 bg_color.
13887 (grub_gfxterm_cls): Likewise.
13888 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13889 Support embedding config file.
13890 (add_segments): Likewise.
13891 (options): New option "--config".
13892 (main): Handle "--config".
13893 * video/sm712.c: New file.
13894
13895 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13896
13897 Fix parallel builds.
13898
13899 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13900 font.c depend on ascii.h).
13901
13902 2010-01-12 Carles Pina i Estany <carles@pina.cat>
13903
13904 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13905
13906 2010-01-11 Carles Pina i Estany <carles@pina.cat>
13907
13908 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13909 By default: disabled.
13910 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13911 parameter.
13912
13913 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13914
13915 * font/font.c: Update copyright years.
13916 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13917
13918 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13919
13920 * font/font.c: Include `ascii.h'.
13921 (ASCII_BITMAP_SIZE): New macro.
13922 (ascii_font_glyph): Define.
13923 (ascii_glyph_lookup): New function.
13924 (grub_font_get_string_width): Change comment. If glyph not found, use
13925 ascii_glyph_lookup.
13926 (grub_font_get_glyph_with_fallback): If glyph not available returns
13927 ascii_glyph_lookup.
13928 * util/grub-mkfont.c (file_formats): New enum.
13929 (options): Add `ascii-bitmaps' new option.
13930 (usage): Add `asii-bitmaps' new option.
13931 (write_font_ascii_bitmap): New function.
13932 (write_font): Rename to ...
13933 (write_font_p2): ... this. Remove print_glyphs call.
13934 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13935 used. Call print_glyphs.
13936 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13937
13938 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13939
13940 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13941 (grub_bin2h_SOURCES): New variable.
13942 * util/bin2h.c: New file.
13943
13944 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * include/multiboot.h: Resynced with spec.
13947 * include/multiboot2.h: Likewise.
13948 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13949 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13950
13951 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13952
13953 * include/grub/term.h (grub_term_register_input,
13954 grub_term_register_output): Check return of terminal init()
13955 routines, and abort if errors are raised.
13956
13957 * commands/terminal.c: Update copyright year.
13958
13959 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13960
13961 * commands/terminal.c (grub_cmd_terminal_input)
13962 (grub_cmd_terminal_output): Check return of terminal init()
13963 routines, and abort if errors are raised.
13964
13965 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * include/grub/i386/bsd.h: Fix include pathes.
13968
13969 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Add missing *BSD copyright headers.
13972
13973 * include/grub/aout.h: Add BSD licence.
13974 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13975 * include/grub/i386/freebsd_linker.h: ... here,
13976 * include/grub/i386/freebsd_reboot.h: ... here,
13977 * include/grub/i386/netbsd_bootinfo.h: ... here,
13978 * include/grub/i386/netbsd_reboot.h: ... here,
13979 * include/grub/i386/openbsd_bootarg.h: ... here,
13980 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13981 licence to each file.
13982
13983 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13984
13985 * acinclude.m4: Remove `nop' assembly instruction; it's not
13986 implemented by all architectures.
13987
13988 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13989
13990 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13991 ELILO. This is no longer necessary.
13992
13993 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13994
13995 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13996
13997 * util/grub-script-check.c: grub-script-check tool.
13998 * conf/common.rmk: Make rules for grub-script-check.
13999
14000 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14001
14002 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14003 spotting it back in 2008. Shame on me for forgetting he did.
14004
14005 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14006
14007 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14008
14009 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14010 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14011 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14012 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14013 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14014 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14015
14016 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14017
14018 * include/grub/test.h: Add license header.
14019 * tests/example_functional_test.c: Likewise.
14020 * tests/example_unit_test.c: Likewise.
14021 * tests/lib/functional_test.c: Likewise.
14022 * tests/lib/test.c: Likewise.
14023 * tests/lib/unit_test.c: Likewise.
14024
14025 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Use flag-based instead of hook-based video mode selection and "auto"
14028 keyword.
14029
14030 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14031 (grub_video_set_mode): Changed prototype. All users updated.
14032 (grub_video_check_mode_flag): New inline function.
14033 * video/video.c (parse_modespec): New function.
14034 (grub_video_set_mode): Parse flags and keywords.
14035
14036 2010-01-17 Carles Pina i Estany <carles@pina.cat>
14037
14038 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14039 fprintf call.
14040
14041 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14042
14043 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14044
14045 2010-01-16 Carles Pina i Estany <carles@pina.cat>
14046
14047 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14048 string.
14049 * util/grub-emu.c (usage): Likewise.
14050 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14051 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14052 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14053 * util/i386/pc/grub-setup.c (usage): Likewise.
14054
14055 2010-01-16 Carles Pina i Estany <carles@pina.cat>
14056
14057 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
14058 the message.
14059 (grub_util_info): Likewise.
14060 (grub_util_error): Likewise.
14061 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
14062 and/or new lines in `grub_util_warna', `grub_util_info',
14063 `grub_util_error' calls.
14064 * util/getroot.c: Likewise.
14065 * util/grub-editenv.c: Likewise.
14066 * util/grub-emu.c: Likewise.
14067 * util/grub-fstest.c: Likewise.
14068 * util/grub-mkdevicemap.c: Likewise.
14069 * util/grub-mkfont.c: Likewise.
14070 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14071 * util/grub-mkrelpath.c: Likewise.
14072 * util/grub-pe2elf.c: Likewise.
14073 * util/grub-probe.c: Likewise.
14074 * util/hostdisk.c: Likewise.
14075 * util/i386/efi/grub-mkimage.c: Likewise.
14076 * util/i386/pc/grub-mkimage.c: Likewise.
14077 * util/i386/pc/grub-setup.c: Likewise.
14078 * util/ieee1275/ofpath.c: Likewise.
14079 * util/mkisofs/eltorito.c: Likewise.
14080 * util/mkisofs/rock.c: Likewise.
14081 * util/mkisofs/write.c: Likewise.
14082 * util/raid.c: Likewise.
14083 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14084 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14085
14086 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 Enable multiboot on non-pc.
14089
14090 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
14091 multiboot.mod and multiboot2.mod to ...
14092 * conf/i386.rmk (pkglib_MODULES): ... here.
14093 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
14094 Moved to ...
14095 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
14096 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
14097 Moved to ...
14098 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
14099 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
14100 Moved to ...
14101 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
14102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
14103 Moved to ...
14104 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
14105 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
14106 relocator.mod.
14107 (ata_mod_SOURCES): Removed.
14108 (ata_mod_CFLAGS): Likewise.
14109 (ata_mod_LDFLAGS): Likewise.
14110 (relocator_mod_SOURCES): Removed.
14111 (relocator_mod_CFLAGS): Likewise.
14112 (relocator_mod_ASFLAGS): Likewise.
14113 (relocator_mod_LDFLAGS): Likewise.
14114 Include i386.mk.
14115 * include/grub/x86_64/multiboot.h: New file.
14116 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
14117 Terminate EFI.
14118
14119 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 Video multiboot support.
14122
14123 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
14124 New prototype.
14125 * include/multiboot.h: Resynced with multiboot specification.
14126 * include/multiboot2.h: Likewise.
14127 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
14128 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
14129 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
14130 (HAS_VGA_TEXT): Likewise.
14131 (accepts_video): New variable.
14132 (grub_multiboot_set_accepts_video): New function.
14133 (grub_multiboot_get_mbi_size): Account for video structures.
14134 (set_video_mode): New function.
14135 (retrieve_video_parameters): Likewise.
14136 (grub_multiboot_make_mbi): Fill video fields.
14137
14138 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 Video driver ids.
14141
14142 * include/grub/video.h (grub_video_driver_id): New type.
14143 (grub_video_adapter): New member 'id'. All users updated.
14144 (grub_video_get_driver_id): New proto.
14145 * video/video.c (grub_video_get_driver_id): New function.
14146
14147 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14148
14149 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
14150 `var=val'.
14151
14152 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14153
14154 * normal/cmdline.c (print_completion): Gettextizze.
14155
14156 2001-01-14 Carles Pina i Estany <carles@pina.cat>
14157
14158 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
14159
14160 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14161
14162 * gettext/gettext.c (grub_gettext_translate): Push and pop
14163 grub_errno.
14164 (grub_gettext_delete_list): Change comment style.
14165 * kern/err.c (grub_error): Gettextizze.
14166 (grub_fatal): Gettextizze.
14167
14168 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14169
14170 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
14171 (grub_linux16_real_boot): ... this.
14172 * kern/i386/loader.S: Likewise.
14173 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
14174 (grub_linux16_boot): New function. Switches to text mode and calls
14175 grub_linux16_real_boot().
14176
14177 * loader/i386/bsd.c: Include `<grub/video.h>'.
14178 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
14179 text mode before calling grub_unix_real_boot().
14180
14181 * loader/i386/multiboot.c: Include `<grub/video.h>'.
14182 (grub_multiboot_boot): Switch to text mode before calling
14183 grub_relocator32_boot().
14184
14185 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
14186 (grub_chainloader_boot): Switch to text mode before calling
14187 grub_chainloader_real_boot().
14188
14189 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14190 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14191
14192 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
14193 non-empty value.
14194
14195 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14196 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14197
14198 * util/grub.d/00_header.in: Define a "savedefault" function for use
14199 in menu entries.
14200 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
14201
14202 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14203 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14204
14205 * util/grub-mkconfig_lib.in (save_default_entry): Only set
14206 saved_entry if boot_once is unset.
14207 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
14208 previous saved entry (i.e. grub-reboot).
14209
14210 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14211
14212 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
14213
14214 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14215
14216 * util/grub.d/00_header.in: Use `set var=val' rather than plain
14217 `var=val'.
14218 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
14219
14220 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * util/grub-reboot.in: Fix --version output.
14223 * util/grub-set-default.in: Likewise.
14224
14225 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14226
14227 * util/grub.d/00_header.in: Silently ignore zero-sized environment
14228 blocks.
14229
14230 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14231
14232 * util/grub.d/00_header.in: Quote the value assigned to `default',
14233 in case it contains spaces.
14234
14235 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14236
14237 * util/grub.d/30_os-prober.in: Fix merge error that moved a
14238 `save_default_entry' call from the macosx case to the linux case.
14239
14240 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14241 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
14242
14243 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
14244 in `chosen' environment variable.
14245 * normal/menu_text.c (get_entry_number): Check if the variable
14246 matches the title of a menu entry.
14247 (run_menu): Pass menu to get_entry_number.
14248
14249 * util/grub-reboot.in: New file.
14250 * util/grub-set-default.in: New file.
14251 * conf/common.rmk (grub-reboot): New utility.
14252 (grub-set-default): New utility.
14253
14254 * util/grub-mkconfig_lib.in (save_default_entry): New function.
14255 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
14256 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
14257 move it to `saved_entry' for the next boot. Load environment on
14258 initialisation.
14259 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
14260 * util/grub.d/10_hurd.in: Likewise.
14261 * util/grub.d/10_linux.in (linux_entry): Likewise.
14262 * util/grub.d/10_windows.in: Likewise.
14263 * util/grub.d/30_os-prober.in: Likewise.
14264
14265 * util/grub-install.in: Create environment block.
14266 * util/i386/efi/grub-install.in: Likewise.
14267 * util/ieee1275/grub-install.in: Likewise.
14268 * util/sparc64/ieee1275/grub-install.in: Likewise.
14269
14270 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
14271
14272 Unit testing framework for GRUB.
14273
14274 * Makefile.in: Test framework build rules for 'make check'.
14275 * conf/tests.rmk: Build rules for individual tests and framework.
14276
14277 * include/grub/test.h: Header file for whitebox tests.
14278 * tests/lib/functional_test.c: Framework support for whitebox
14279 functional tests.
14280 * tests/lib/test.c: Common whitebox testing code for unit and
14281 functional tests.
14282 * tests/lib/unit_test.c: Framework support for whitebox unit
14283 tests.
14284
14285 * tests/util/grub-shell-tester.in: Support utility for grub-script
14286 tests.
14287 * tests/util/grub-shell.in: Utility to execute grub-script
14288 commands in a Qemu instance.
14289
14290 * tests/example_functional_test.c: Example whitebox functional
14291 test.
14292 * tests/example_grub_script_test.in: Example grub-script test.
14293 * tests/example_scripted_test.in: Example scripted test.
14294 * tests/example_unit_test.c: Example whitebox unit test.
14295
14296 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
14299 Add loader/i386/multiboot_mbi.c.
14300 (multiboot2_mod_SOURCES): Likewise.
14301 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
14302 (multiboot2_mod_SOURCES): Likewise.
14303 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
14304 (grub_multiboot_make_mbi): Likewise.
14305 (grub_multiboot_free_mbi): Likewise.
14306 (grub_multiboot_init_mbi): Likewise.
14307 (grub_multiboot_add_module): Likewise.
14308 (grub_multiboot_set_bootdev): Likewise.
14309 * loader/i386/multiboot.c (mbi): Removed.
14310 (mbi_dest): Likewise.
14311 (alloc_mbi): New variable.
14312 (grub_multiboot_payload_size): Removed. All users updated.
14313 (grub_multiboot_pure_size): New variable.
14314 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
14315 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
14316 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
14317 (grub_fill_multiboot_mmap): Likewise.
14318 (grub_multiboot_get_bootdev): Likewise.
14319 (grub_multiboot): Use multiboot_mbi functions.
14320 * loader/i386/multiboot_mbi.c: New file.
14321
14322 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
14325 it would result in module crash.
14326
14327 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
14330 (grub_ofconsole_getwh): Split to ...
14331 (grub_ofconsole_getwh): ... this.
14332 (grub_ofconsole_dimensions): ...and this.
14333 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
14334
14335 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
14336
14337 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
14338
14339 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * loader/i386/pc/multiboot2.c: Removed stalled file.
14342
14343 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
14346 Reported by: Grégoire Sutre
14347
14348 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
14349
14350 * util/misc.c (canonicalize_file_name): New function.
14351 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14352 instead of realpath().
14353
14354 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
14355
14356 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14357 and make it clearer that it's optional. Based on confusion
14358 witnessed on IRC.
14359
14360 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14363 in premature implicit newline.
14364
14365 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14368 which resulted in garbled command line at the end of screen.
14369
14370 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14371
14372 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14373 initialization with similar approach as with other Linux loaders.
14374
14375 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14376
14377 Fix i386-ieee1275 build.
14378
14379 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14380 and grub_term_height() for video_{width,height} initialization.
14381
14382 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14383
14384 Fix grub-emu build.
14385
14386 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14387
14388 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14389 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14390
14391 Support for multiple terminals.
14392
14393 * Makefile.in (pkglib_DATA): terminal.lst.
14394 (terminal.lst): New target.
14395 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14396 (GRUB_MOD_INIT(handler)): Likewise.
14397 (GRUB_MOD_FINI(handler)): Likewise.
14398 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14399 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14400 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14401 (grub_cmd_sleep): Use grub_term_save_pos.
14402 * commands/terminal.c: New file.
14403 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14404 commands/terminal.c and lib/charset.c.
14405 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14406 (pkglib_MODULES): Add terminal.mod.
14407 (terminal_mod_SOURCES): New variable.
14408 (terminal_mod_CFLAGS): Likewise.
14409 (terminal_mod_LDFLAGS): Likewise.
14410 * genhandlerlist.sh: Don't handle terminals.
14411 * genmk.rb: Generate terminal-*.lst.
14412 * genterminallist.sh: New file.
14413 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14414 (grub_is_valid_utf8): Likewise.
14415 (grub_utf8_to_ucs4_alloc): Likewise.
14416 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14417 (grub_menu_register_viewer): Changed argument.
14418 (grub_menu_try_text): New proto.
14419 (grub_gfxmenu_try_hook): New declaration.
14420 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14421 (grub_menu_init_page): Additional argument term.
14422 (grub_normal_init_page): Likewise.
14423 (grub_cmdline_get): Arguments simplified.
14424 (grub_utf8_to_ucs4_alloc): Removed.
14425 (grub_print_ucs4): Additional argument term.
14426 (grub_getstringwidth): Likewise.
14427 (grub_print_message_indented): Likewise.
14428 (grub_menu_text_register_instances): New proto.
14429 (grub_show_menu): Likewise.
14430 (read_terminal_list): Likewise.
14431 (grub_set_more): Likewise.
14432 * include/grub/parser.h: Include handler.h.
14433 * include/grub/reader.h: Rewritten.
14434 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14435 (GRUB_TERM_WIDTH): Changed to function.
14436 (GRUB_TERM_HEIGHT): Likewise.
14437 (GRUB_TERM_BORDER_WIDTH): Likewise.
14438 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14439 (GRUB_TERM_NUM_ENTRIES): Likewise.
14440 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14441 (GRUB_TERM_CURSOR_X): Likewise.
14442 (grub_term_input_class): Likewise.
14443 (grub_term_output_class): Likewise.
14444 (grub_term_outputs_disabled): New declaration.
14445 (grub_term_inputs_disabled): Likewise.
14446 (grub_term_outputs): Likewise.
14447 (grub_term_inputs): Likewise.
14448 (grub_term_register_input): Rewritten.
14449 (grub_term_register_output): Likewise.
14450 (grub_term_unregister_input): Likewise.
14451 (grub_term_unregister_output): Likewise.
14452 (FOR_ACTIVE_TERM_INPUTS): New macro.
14453 (FOR_DISABLED_TERM_INPUTS): Likewise.
14454 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14455 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14456 * include/grub/terminfo.h: Add oterm argument to all protypes.
14457 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14458 Use grub_rescue_run.
14459 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14460 All users updated.
14461 * kern/reader.c: Removed. All users updated.
14462 * kern/rescue_reader.c (grub_rescue_init): Removed.
14463 (grub_rescue_reader): Likewise.
14464 (grub_register_rescue_reader): Likewise.
14465 (grub_rescue_run): New function based on kern/reader.c.
14466 * kern/term.c: Adapted for multiterm.
14467 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14468 (grub_is_valid_utf8): Likewise.
14469 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14470 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14471 right terminal.
14472 * loader/i386/linux.c (grub_linux_boot): Likewise.
14473 * normal/auth.c (grub_username_get): New function.
14474 (grub_auth_check_authentication): Use grub_username_get.
14475 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14476 * normal/color.c: Adapt for multiterm.
14477 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14478 (grub_normal_init_page): Additional argument term.
14479 (read_lists): Call read_terminal_lists.
14480 (grub_enter_normal_mode): Call grub_cmdline_run.
14481 Handle grub_normal_exit_level.
14482 (grub_cmd_normal): Make reentrant.
14483 (grub_cmd_normal_exit): New function.
14484 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14485 * normal/menu.c: Adapt for multiterm.
14486 * normal/menu_entry.c: Likewise.
14487 * normal/menu_text.c: Likewise.
14488 * normal/menu_viewer.c: Removed. All users updated.
14489 * normal/term.c: New file.
14490 * util/console.c: Change order of includes to workaround a bug in
14491 ncurses headers.
14492 * term/terminfo.c: New argument oterm on all exported functions.
14493 All users updated.
14494 * util/grub-editenv.c (grub_term_input_class): Removed.
14495 (grub_term_output_class): Likewise.
14496
14497 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14498
14499 Make loader output a bit more user-friendly.
14500
14501 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14502 is being loaded. Likewise for the Hurd.
14503
14504 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14505 that kernel of FreeBSD ${version} is being loaded.
14506
14507 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14508 grub_dprintf().
14509 (grub_cmd_initrd): Likewise.
14510 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14511 that Linux ${version} is being loaded. Likewise for initrd.
14512
14513 2010-01-09 Carles Pina i Estany <carles@pina.cat>
14514
14515 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14516
14517 2010-01-08 Carles Pina i Estany <carles@pina.cat>
14518
14519 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14520 (GRUB_MOD_INIT): Gettextizze.
14521 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14522 (GRUB_MOD_INIT): Gettextizze.
14523 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14524 (grub_cmd_linux): Capitalise Linux.
14525 (GRUB_MOD_INIT): Gettextizze.
14526 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14527 (grub_cmd_linux): Capitalise Linux.
14528 (GRUB_MOD_INIT): Gettextizze.
14529 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14530 (grub_cmd_linux): Capitalise Linux.
14531 (GRUB_MOD_INIT): Gettextizze.
14532 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14533 (GRUB_MOD_INIT): Gettextizze.
14534 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14535 (grub_cmd_linux): Capitalise Linux.
14536 (GRUB_MOD_INIT): Gettextizze.
14537 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14538 (grub_cpu_xnu_init): Gettextizze.
14539 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14540 (GRUB_MOD_INIT): Gettextizze.
14541 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14542 (GRUB_MOD_INIT): Gettextizze.
14543 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14544 (grub_linux_load64): Capitalise Linux.
14545 (GRUB_MOD_INIT): Gettextizze.
14546 * loader/xnu.c: Include `<grub/i18n.h>'.
14547 (GRUB_MOD_INIT): Gettextizze.
14548 * po/POTFILES: Add `loader/efi/appleloader.c',
14549 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14550 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14551 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14552 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14553 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14554 and `loader/xnu.c'.
14555
14556 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14559
14560 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14561
14562 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14563 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14564 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14565
14566 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14567
14568 Reset Multiboot 2 support. New loader implements the draft in
14569 /branches/multiboot2 and shares as much code as possible with the
14570 production Multiboot 1 implementation.
14571
14572 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14573 * loader/multiboot2.c: Likewise.
14574 * loader/i386/multiboot_helper.S: Likewise.
14575 * include/multiboot2.h: Replace with latest version from the draft
14576 in /branches/multiboot2.
14577
14578 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14579 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14580 and `loader/multiboot2.c'.
14581 (pkglib_MODULES): Add `multiboot2.mod'.
14582 (multiboot2_mod_SOURCES): New variable.
14583 (multiboot2_mod_LDFLAGS): Likewise.
14584 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14585
14586 * conf/i386-pc.rmk: Likewise.
14587
14588 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14589 (multiboot_mod_SOURCES): Remove variable.
14590 (multiboot_mod_LDFLAGS): Likewise.
14591 (multiboot_mod_CFLAGS): Likewise.
14592
14593 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14594 `<multiboot2.h>' instead of `<multiboot.h>'.
14595 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14596 (MULTIBOOT_HEADER_MAGIC): New macros.
14597
14598 * loader/multiboot_loader.c (module_version_status): Remove variable.
14599 (find_multi_boot2_header): Remove function.
14600 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14601 logic. Always check for the Multiboot version we're compiling for.
14602 (grub_cmd_module_loader): Likewise.
14603 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14604 command instead of `multiboot'.
14605
14606 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14607
14608 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14609 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14610 all users.
14611
14612 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14613 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Fix breakage introduced with previous commit.
14616
14617 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14618 commands.
14619 * normal/handler.c (read_handler_list): Revert part of previous commit
14620 affecting this file.
14621 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14622 (grub_normal_execute): ... here.
14623
14624 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14625
14626 Merge prefix-redefinition-fix branch.
14627
14628 * normal/autofs.c (read_fs_list): Make function capable of being
14629 run multiple times, gracefuly replacing the previous data
14630 structures.
14631 * normal/dyncmd.c (read_command_list): Likewise.
14632 * normal/handler.c (read_handler_list): Likewise.
14633 * normal/main.c (read_lists): New function. Calls all the
14634 list reading functions.
14635 (grub_normal_execute): Use read_lists() instead of calling all
14636 list reading functions explicitly. Register read_lists() as a
14637 variable hook attached to ${prefix}.
14638
14639 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 Merge crypto branch.
14642
14643 * Makefile.in (pkglib_DATA): Add crypto.lst.
14644 (crypto.lst): New target.
14645 * commands/hashsum.c: New file.
14646 * commands/password.c (check_password): Use grub_crypto_memcmp.
14647 * commands/password_pbkdf2.c: New file.
14648 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14649 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14650 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14651 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14652 -I$(srcdir)/lib/libgcrypt_wrap.
14653 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14654 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14655 password_pbkdf2.mod.
14656 (crypto_mod_SOURCES): New variable.
14657 (crypto_mod_CFLAGS): Likewise.
14658 (crypto_mod_LDFLAGS): Likewise.
14659 (hashsum_mod_SOURCES): New variable.
14660 (hashsum_mod_CFLAGS): Likewise.
14661 (hashsum_mod_LDFLAGS): Likewise.
14662 (pbkdf2_mod_SOURCES): New variable.
14663 (pbkdf2_mod_CFLAGS): Likewise.
14664 (pbkdf2_mod_LDFLAGS): Likewise.
14665 (password_pbkdf2_mod_SOURCES): New variable.
14666 (password_pbkdf2_mod_CFLAGS): Likewise.
14667 (password_pbkdf2_mod_LDFLAGS): Likewise.
14668 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14669 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14670 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14671 Include conf/gcry.rmk.
14672 * include/grub/auth.h: Rewritten.
14673 * include/grub/crypto.h: New file.
14674 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14675 * include/grub/normal.h (read_crypto_list): New prototype.
14676 * lib/crypto.c: New file.
14677 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14678 * lib/pbkdf2.c: Likewise.
14679 * normal/auth.c (grub_auth_strcmp): Removed.
14680 (grub_iswordseparator): Likewise.
14681 (grub_auth_strword): Likewise.
14682 (is_authenticated): Use grub_strword.
14683 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14684 and grub_strword. Pass entered password to authentication callback.
14685 * normal/crypto.c: New file.
14686 * normal/main.c: Call read_crypto_list.
14687 * util/grub-mkpasswd-pbkdf2.c: New file.
14688 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14689
14690 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 Fix descent and ascent calculation.
14693
14694 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14695 (options): New option "asce".
14696 (usage): Likewise.
14697 (add_char): Ignore invalid glyphs for descent calculation.
14698 Calculate ascent from actual content.
14699 (print_glyphs): Use 'asce'.
14700 (write_font): Likewise. Allow ascent override.
14701 (main): Handle "asce" option.
14702
14703 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14704
14705 * kern/err.c: Include `<grub/i18n.h>'.
14706 (grub_print_error): Add full stop. Gettextizze.
14707 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14708 (grub_bsd_load_elf): Capitalise ELF.
14709 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14710 (grub_cmd_freebsd_module): Likewise.
14711 (grub_cmd_freebsd_module_elf): Likewise.
14712 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14713
14714 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14715
14716 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14717 * commands/search_file.c (HELP_MESSAGE): New macro.
14718 * commands/search_label.c (HELP_MESSAGE): Likewise.
14719 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14720 * po/POTFILES: Add `commands/search_file.c',
14721 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14722 `commands/search.c'.
14723
14724 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14725
14726 * config.rpath: Update from Gnulib.
14727
14728 2010-01-05 Yves Blusseau <blusseau@zetam.org>
14729
14730 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14731
14732 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14733
14734 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14735
14736 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14737
14738 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14739 arguments to fread so that we get a return value in bytes, rather
14740 than something that will normally be rounded down to 0.
14741 Adjust error handling to avoid producing garbage when size_t is not
14742 the same size as long long.
14743
14744 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14745
14746 * util/mkisofs/write.c (padblock_write): Check return value of
14747 fread.
14748
14749 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14750
14751 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14752 floppy images now.
14753
14754 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14755
14756 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14757
14758 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14759 instead of manual alignment.
14760 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14761 verbose). Avoid attempts to read past end of the device
14762 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14763 but GRUB_DISK_CACHE_SIZE may exceed that).
14764
14765 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14766
14767 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14768 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14769 it to upper layer.
14770
14771 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14774 New constant.
14775 (grub_efi_piwg_device_path): New structure
14776 (grub_efi_piwg_device_path_t): New type.
14777 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14778 (devpath_1): Transform to a structure. All users updated.
14779 (devpath_2): Likewise.
14780 (devpath_3): Likewise.
14781 (devpath_4): Likewise.
14782 (devpath_5): Likewise.
14783
14784 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * loader/efi/appleloader.c: Restored. Update all users.
14787
14788 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14789
14790 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14791
14792 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14793 (struct boot_blocklist): Move from here ...
14794 * include/grub/i386/pc/boot.h [ASM_FILE]
14795 (struct grub_boot_blocklist): ... to here. Update all users.
14796 (setup): Only initialize `start' member of `first_block'
14797 structure. Add assert() calls to verify the other members.
14798
14799 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14800 (generate_image): Fix broken blocklist length initialization.
14801 Add assert() call to verify blocklist `segment' field.
14802
14803 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14804
14805 * loader/efi/appleloader.c: Remove. Update all users.
14806
14807 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14808
14809 * boot/i386/pc/boot.S: Update copyright year.
14810 * boot/i386/pc/cdboot.S: Likewise.
14811 * boot/i386/pc/diskboot.S: Likewise.
14812 * boot/i386/pc/lnxboot.S: Likewise.
14813 * boot/i386/pc/pxeboot.S: Likewise.
14814 * bus/pci.c: Likewise.
14815 * commands/cmp.c: Likewise.
14816 * commands/help.c: Likewise.
14817 * commands/hexdump.c: Likewise.
14818 * commands/i386/pc/halt.c: Likewise.
14819 * commands/i386/pc/play.c: Likewise.
14820 * commands/i386/pc/vbeinfo.c: Likewise.
14821 * commands/ls.c: Likewise.
14822 * commands/test.c: Likewise.
14823 * disk/dmraid_nvidia.c: Likewise.
14824 * disk/i386/pc/biosdisk.c: Likewise.
14825 * disk/ieee1275/nand.c: Likewise.
14826 * disk/ieee1275/ofdisk.c: Likewise.
14827 * disk/lvm.c: Likewise.
14828 * disk/raid.c: Likewise.
14829 * disk/raid6_recover.c: Likewise.
14830 * disk/scsi.c: Likewise.
14831 * fs/affs.c: Likewise.
14832 * fs/cpio.c: Likewise.
14833 * fs/ext2.c: Likewise.
14834 * fs/hfs.c: Likewise.
14835 * fs/iso9660.c: Likewise.
14836 * fs/ntfs.c: Likewise.
14837 * fs/sfs.c: Likewise.
14838 * fs/udf.c: Likewise.
14839 * fs/ufs.c: Likewise.
14840 * fs/xfs.c: Likewise.
14841 * gencmdlist.sh: Likewise.
14842 * genmk.rb: Likewise.
14843 * include/grub/disk.h: Likewise.
14844 * include/grub/efi/api.h: Likewise.
14845 * include/grub/efi/efi.h: Likewise.
14846 * include/grub/efi/pe32.h: Likewise.
14847 * include/grub/elf.h: Likewise.
14848 * include/grub/fs.h: Likewise.
14849 * include/grub/i386/at_keyboard.h: Likewise.
14850 * include/grub/i386/pc/memory.h: Likewise.
14851 * include/grub/i386/pc/vbe.h: Likewise.
14852 * include/grub/i386/pci.h: Likewise.
14853 * include/grub/i386/tsc.h: Likewise.
14854 * include/grub/ieee1275/ieee1275.h: Likewise.
14855 * include/grub/ntfs.h: Likewise.
14856 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14857 * include/grub/sparc64/libgcc.h: Likewise.
14858 * include/grub/symbol.h: Likewise.
14859 * include/grub/types.h: Likewise.
14860 * include/multiboot2.h: Likewise.
14861 * io/gzio.c: Likewise.
14862 * kern/device.c: Likewise.
14863 * kern/disk.c: Likewise.
14864 * kern/efi/efi.c: Likewise.
14865 * kern/efi/mm.c: Likewise.
14866 * kern/elf.c: Likewise.
14867 * kern/file.c: Likewise.
14868 * kern/i386/dl.c: Likewise.
14869 * kern/i386/pc/init.c: Likewise.
14870 * kern/i386/pc/startup.S: Likewise.
14871 * kern/ieee1275/ieee1275.c: Likewise.
14872 * kern/ieee1275/init.c: Likewise.
14873 * kern/main.c: Likewise.
14874 * kern/mm.c: Likewise.
14875 * kern/powerpc/dl.c: Likewise.
14876 * kern/sparc64/dl.c: Likewise.
14877 * kern/x86_64/dl.c: Likewise.
14878 * lib/hexdump.c: Likewise.
14879 * loader/efi/appleloader.c: Likewise.
14880 * loader/i386/ieee1275/linux.c: Likewise.
14881 * loader/i386/pc/chainloader.c: Likewise.
14882 * loader/i386/pc/linux.c: Likewise.
14883 * loader/i386/pc/multiboot2.c: Likewise.
14884 * loader/ieee1275/multiboot2.c: Likewise.
14885 * loader/multiboot2.c: Likewise.
14886 * loader/multiboot_loader.c: Likewise.
14887 * loader/powerpc/ieee1275/linux.c: Likewise.
14888 * normal/completion.c: Likewise.
14889 * normal/menu_entry.c: Likewise.
14890 * partmap/apple.c: Likewise.
14891 * util/grub.d/10_hurd.in: Likewise.
14892 * util/hostfs.c: Likewise.
14893 * video/readers/png.c: Likewise.
14894
14895 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
14896
14897 * include/grub/misc.h (GNUC_PREREQ): New macro.
14898 (ATTRIBUTE_ERROR): New macro.
14899 * include/grub/list.h (grub_bad_type_cast_real): Use
14900 ATTRIBUTE_ERROR.
14901
14902 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14903
14904 * normal/menu_text.c (print_message): Change messages.
14905
14906 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14907
14908 * normal/menu_entry.c (store_completion): Gettextizze.
14909
14910 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14911
14912 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14913
14914 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14915
14916 * po/POTFILES: Sort correctly.
14917
14918 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14919
14920 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14921 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14922 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14923 full stop.
14924 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14925 summary. Gettextizze the strings.
14926 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14927 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14928 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14929 full stop.
14930 (GRUB_MOD_INIT): Remove command name from summary.
14931 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14932 summary.
14933 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14934 * term/i386/pc/serial.c (options): Add full stops.
14935 (GRUB_MOD_INIT): Remove command name from the summary.
14936
14937 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14938
14939 * commands/acpi.c: Gettextizze help strings and/or options. Include
14940 `grub/i18n.h' if needed.
14941 * commands/blocklist.c: Likewise.
14942 * commands/boot.c: Likewise.
14943 * commands/cat.c: Likewise.
14944 * commands/cmp.c: Likewise.
14945 * commands/configfile.c: Likewise.
14946 * commands/crc.c: Likewise.
14947 * commands/date.c: Likewise.
14948 * commands/echo.c: Likewise.
14949 * commands/efi/fixvideo.c: Likewise.
14950 * commands/efi/loadbios.c: Likewise.
14951 * commands/gptsync.c: Likewise.
14952 * commands/halt.c: Likewise.
14953 * commands/handler.c: Likewise.
14954 * commands/hdparm.c: Likewise.
14955 * commands/hexdump.c: Likewise.
14956 * commands/i386/cpuid.c: Likewise.
14957 * commands/i386/pc/drivemap.c: Likewise.
14958 * commands/i386/pc/halt.c: Likewise.
14959 * commands/i386/pc/pxecmd.c: Likewise.
14960 * commands/i386/pc/vbeinfo.c: Likewise.
14961 * commands/i386/pc/vbetest.c: Likewise.
14962 * commands/ieee1275/suspend.c: Likewise.
14963 * commands/keystatus.c: Likewise.
14964 * commands/loadenv.c: Likewise.
14965 * commands/ls.c: Likewise.
14966 * commands/lsmmap.c: Likewise.
14967 * commands/lspci.c: Likewise.
14968 * commands/memrw.c: Likewise.
14969 * commands/minicmd.c: Likewise.
14970 * commands/parttool.c: Likewise.
14971 * commands/password.c: Likewise.
14972 * commands/probe.c: Likewise.
14973 * commands/read.c: Likewise.
14974 * commands/reboot.c: Likewise.
14975 * commands/search.c: Likewise.
14976 * commands/sleep.c: Likewise.
14977 * commands/test.c: Likewise.
14978 * commands/true.c: Likewise.
14979 * commands/usbtest.c: Likewise.
14980 * commands/videotest.c: Likewise.
14981 * commands/xnu_uuid.c: Likewise.
14982 * disk/loopback.c: Likewise.
14983 * hello/hello.c: Likewise.
14984 * loader/i386/bsd.c: Likewise.
14985 * term/i386/pc/serial.c: Likewise.
14986 * po/POTFILES: Add new files.
14987
14988 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
14989
14990 * term/i386/pc/at_keyboard.c
14991 (keyboard_controller_wait_untill_ready): Rename to ...
14992 (keyboard_controller_wait_until_ready): ... this. Update all users.
14993
14994 2010-01-01 Carles Pina i Estany <carles@pina.cat>
14995
14996 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14997 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14998 string using string width.
14999 * normal/menu_text.c (grub_print_message_indented): Use
15000 grub_print_spaces and not print_spaces.
15001 (print_timeout): Likewise.
15002 (print_spaces): Move to...
15003 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15004
15005 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15006
15007 Import from Gnulib.
15008
15009 * gnulib/getdelim.c: New file.
15010 * gnulib/getline.c: Likewise.
15011
15012 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15013
15014 * include/grub/list.h (grub_assert_fail): Removed.
15015 (grub_bad_type_cast_real): New function.
15016 (grub_bad_type_cast): New macro.
15017 (GRUB_AS_LIST): Use grub_bad_type_cast.
15018 (GRUB_AS_LIST_P): Likewise.
15019 (GRUB_AS_NAMED_LIST): Likewise.
15020 (GRUB_AS_NAMED_LIST_P): Likewise.
15021 (GRUB_AS_PRIO_LIST): Likewise.
15022 (GRUB_AS_PRIO_LIST_P): Likewise.
15023 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
15024
15025 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15028 Fix syntax error.
15029
15030 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15031
15032 * configure.ac: Check for TARGET_CFLAGS initialization before we
15033 initialize it ourselves (sigh).
15034 Move a few modifications to TARGET_CFLAGS to be unconditional
15035 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15036 eh_frame)
15037
15038 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15039 * term/i386/pc/at_keyboard.c
15040 (keyboard_controller_wait_untill_ready): Likewise.
15041 (keyboard_controller_led): Rename `led_status' paramter to avoid
15042 name conflict.
15043
15044 2009-12-28 Carles Pina i Estany <carles@pina.cat>
15045
15046 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15047 quotes.
15048
15049 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15052
15053 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * normal/menu_text.c (grub_print_message_indented): Prevent
15056 past-the-end-of-array dereference.
15057
15058 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
15061 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
15062
15063 2009-12-27 Carles Pina i Estany <carles@pina.cat>
15064
15065 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
15066 * normal/main.c (grub_normal_read_line): Remove a space from the
15067 default prompt.
15068
15069 2009-12-27 Carles Pina i Estany <carles@pina.cat>
15070
15071 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
15072 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15073 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15074 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15075 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15076 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15077 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15078
15079 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15080
15081 * video/readers/jpeg.c (cmd): Declare.
15082 (grub_cmd_jpegtest): Use `grub_command_t' type.
15083 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15084 Assign to `cmd'.
15085 (GRUB_MOD_FINI): Use `cmd' to unregister.
15086 * video/readers/png.c (cmd): Declare.
15087 (grub_cmd_pngtest): Use `grub_command_t' type.
15088 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15089 Assign to `cmd'.
15090 (GRUB_MOD_FINI): Use `cmd' to unregister.
15091 * video/readers/tga.c (cmd): Declare.
15092 (grub_cmd_tgatest): Use `grub_command_t' type.
15093 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15094 Assign to `cmd'.
15095 (GRUB_MOD_FINI): Use `cmd' to unregister.
15096
15097 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15098
15099 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
15100 stops.
15101 * kern/corecmd.c (grub_register_core_commands): Likewise.
15102 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
15103 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15104 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
15105 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15106 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15107 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
15108 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15109 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
15110 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15111 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15112 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15113 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15114 * normal/handler.c (insert_handler): Likewise.
15115 * normal/main.c (GRUB_MOD_INIT): Likewise.
15116 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15117
15118 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15119
15120 * commands/help.c (grub_cmd_help): Print the command name before the
15121 summary.
15122 (GRUB_MOD_INIT): Remove command name from the summary.
15123 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
15124 string as summary.
15125 * lib/arg.c (find_long): Print the command name before the summary.
15126 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
15127 summary.
15128 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
15129 * commands/cat.c (GRUB_MOD_INIT): Likewise.
15130 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
15131 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
15132 * commands/crc.c (GRUB_MOD_INIT): Likewise.
15133 * commands/date.c (GRUB_MOD_INIT): Likewise.
15134 * commands/echo.c (GRUB_MOD_INIT): Likewise.
15135 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
15136 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15137 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15138 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
15139 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
15140 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
15141 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
15142 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15143 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
15144 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
15145 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
15146 * commands/ls.c (GRUB_MOD_INIT): Likewise.
15147 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15148 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15149 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15150 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
15151 * commands/password.c (GRUB_MOD_INIT): Likewise.
15152 * commands/probe.c (GRUB_MOD_INIT): Likewise.
15153 * commands/read.c (GRUB_MOD_INIT): Likewise.
15154 * commands/search.c (GRUB_MOD_INIT): Likewise.
15155 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
15156 * commands/test.c (GRUB_MOD_INIT): Likewise.
15157 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
15158 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15159 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15160 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
15161 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15162 * lib/arg.c (GRUB_MOD_INIT): Likewise.
15163 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
15164 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15165 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15166 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15167 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15168 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
15169 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
15170 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
15171
15172 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 Use search command for preliminar UUID search.
15175
15176 * commands/search.c: Split into ...
15177 * commands/search_wrap.c: ...this
15178 * commands/search.c: ...and this.
15179 * commands/search_file.c: New file.
15180 * commands/search_label.c: New file.
15181 * commands/search_uuid.c: New file.
15182 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
15183 Add commands/search_wrap.c, commands/search_file.c,
15184 commands/search_label.c and commands/search_uuid.c.
15185 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
15186 (search_mod_SOURCES): Set to commands/search_wrap.c.
15187 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
15188 search_label.mod.
15189 (search_fs_file_mod_SOURCES): New variable.
15190 (search_fs_file_mod_CFLAGS): Likewise.
15191 (search_fs_file_mod_LDFLAGS): Likewise.
15192 (search_label_mod_SOURCES): Likewise.
15193 (search_label_mod_CFLAGS): Likewise.
15194 (search_label_mod_LDFLAGS): Likewise.
15195 (search_fs_uuid_mod_SOURCES): New variable.
15196 (search_fs_uuid_mod_CFLAGS): Likewise.
15197 (search_fs_uuid_mod_LDFLAGS): Likewise.
15198 (fs_file_mod_SOURCES): Removed.
15199 (fs_file_mod_CFLAGS): Likewise.
15200 (fs_file_mod_LDFLAGS): Likewise.
15201 (fs_uuid_mod_SOURCES): Removed.
15202 (fs_uuid_mod_CFLAGS): Likewise.
15203 (fs_uuid_mod_LDFLAGS): Likewise.
15204 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
15205 Set to util/grub-install.in.
15206 * disk/fs_file.c: Removed.
15207 * disk/fs_uuid.c: Likewise.
15208 * include/grub/search.h: New file.
15209 * util/grub-install.in: Handle sparc64.
15210 Create and use load.cfg.
15211 * util/sparc64/ieee1275/grub-install.in: Removed.
15212
15213 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
15216 Ignore return status if CF is cleared.
15217 (grub_biosdisk_get_diskinfo_standard): Likewise.
15218
15219 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15220
15221 * term/i386/pc/at_keyboard.c
15222 (keyboard_controller_wait_untill_ready): New function.
15223 (grub_keyboard_controller_write, grub_keyboard_controller_read)
15224 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
15225 for keyboard polling, rather than duplicate the same loop. This
15226 saves a few bytes in code size.
15227
15228 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 Support for (pxe[:server[:gateway]]) syntax and
15231 use environment variable for PXE.
15232
15233 * commands/i386/pc/pxecmd.c (options): Removed.
15234 (print_ip): Removed.
15235 (grub_cmd_pxe): Removed
15236 (grub_cmd_pxe_unload): New function.
15237 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
15238 (grub_pxe_your_ip): Made static.
15239 (grub_pxe_default_server_ip): Likewise.
15240 (grub_pxe_default_gateway_ip): Likewise.
15241 (grub_pxe_blksize): Likewise.
15242 (parse_ip): New function.
15243 (grub_pxe_open): Support server and gateway specification.
15244 (grub_pxe_close): Free disk->data.
15245 (grub_pxefs_open): Use disk->data.
15246 (grub_pxefs_read): Likewise.
15247 (grub_env_write_readonly): New function.
15248 (set_mac_env): Likewise.
15249 (set_env_limn_ro): Likewise.
15250 (parse_dhcp_vendor): Likewise.
15251 (grub_pxe_detect): Set the environment variables.
15252 (set_ip_env): New function.
15253 (write_ip_env): Likewise.
15254 (grub_env_write_pxe_default_server): Likewise.
15255 (grub_env_write_pxe_default_gateway): Likewise.
15256 (grub_env_write_pxe_blocksize): Likewise.
15257 (GRUB_MOD_INIT(pxe)): Set environment variables.
15258 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
15259 (grub_pxe_mac_addr_t): ... this. All users updated.
15260 (grub_pxe_your_ip): Removed.
15261 (grub_pxe_server_ip): Likewise.
15262 (grub_pxe_gateway_ip): Likewise.
15263 (grub_pxe_blksize): Likewise.
15264
15265 2009-12-25 Carles Pina i Estany <carles@pina.cat>
15266
15267 * commands/help.c: Include `<grub/i18n.h>'.
15268 (grub_cmd_help): Gettextizze.
15269 (GRUB_MOD_INIT): Likewise.
15270 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
15271 (GRUB_MOD_INIT): Gettextizze.
15272 * commands/search.c: Include `<grub/i18n.h>'.
15273 (options): Gettextizze.
15274 (GRUB_MOD_INIT): Gettextizze.
15275 * lib/arg.c: Include `<grub/i18n.h>'.
15276 (help_options): Gettextizze.
15277 (find_long): Likewise.
15278 (grub_arg_show_help): Likewise.
15279 * normal/dyncmd.c: Include `<grub/i18n.h>'.
15280 (read_command_list): Gettextizze.
15281 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
15282 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
15283
15284 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15285
15286 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
15287 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
15288 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
15289 (led_status): New variable.
15290 (keyboard_controller_led): New function.
15291 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
15292 update led status for caps lock, num lock and scroll lock.
15293
15294 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
15295
15296 * util/hostdisk.c (open_device): Fix a comment.
15297
15298 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 * util/grub-install.in (host_os): New variable.
15301 * util/i386/efi/grub-install.in (host_os): Likewise.
15302
15303 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15304
15305 * util/mkisofs/write.c (padblock_write): Abort when given an
15306 excedingly large embed image, instead of silently truncating it.
15307
15308 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15309
15310 * include/multiboot.h: Indentation fixes.
15311
15312 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15313
15314 * include/multiboot.h (struct multiboot_aout_symbol_table)
15315 (struct multiboot_elf_section_header_table): New structure
15316 declarations (stolen from GRUB Legacy).
15317 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
15318 table information.
15319
15320 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
15321 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
15322 type aliases.
15323
15324 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15325
15326 * include/multiboot.h: Make comments src2texi-friendly.
15327
15328 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15329
15330 For consistency with [multiboot]/docs/boot.S.
15331
15332 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
15333 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
15334 (MULTIBOOT_MAGIC2): Rename from this ...
15335 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
15336
15337 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15338
15339 * include/multiboot.h: Remove `<grub/types.h>'.
15340 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
15341 types. Update all users.
15342
15343 2009-12-25 Carles Pina i Estany <carles@pina.cat>
15344
15345 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
15346 `couldn't' and `can not' by `cannot'.
15347 * commands/i386/pc/drivemap.c: Likewise.
15348 * disk/ata.c: Likewise.
15349 * disk/ieee1275/nand.c: Likewise.
15350 * fs/affs.c: Likewise.
15351 * fs/fat.c: Likewise.
15352 * fs/hfs.c: Likewise.
15353 * fs/hfsplus.c: Likewise.
15354 * fs/iso9660.c: Likewise.
15355 * fs/jfs.c: Likewise.
15356 * fs/minix.c: Likewise.
15357 * fs/reiserfs.c: Likewise.
15358 * fs/sfs.c: Likewise.
15359 * fs/udf.c: Likewise.
15360 * fs/ufs.c: Likewise.
15361 * fs/xfs.c: Likewise.
15362 * loader/powerpc/ieee1275/linux.c: Likewise.
15363 * loader/sparc64/ieee1275/linux.c: Likewise.
15364 * util/grub-probe.c: Likewise.
15365 * util/misc.c: Likewise.
15366
15367 2009-12-24 Carles Pina i Estany <carles@pina.cat>
15368
15369 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15370 grub_errno calls.
15371 * commands/acpi.c: Likewise.
15372 * commands/blocklist.c: Likewise.
15373 * commands/efi/loadbios.c: Likewise.
15374 * commands/i386/pc/drivemap.c: Likewise.
15375 * commands/loadenv.c: Likewise.
15376 * commands/memrw.c: Likewise.
15377 * commands/password.c: Likewise.
15378 * commands/videotest.c: Likewise.
15379 * disk/ata.c: Likewise.
15380 * disk/ata_pthru.c: Likewise.
15381 * disk/dmraid_nvidia.c: Likewise.
15382 * disk/ieee1275/nand.c: Likewise.
15383 * disk/ieee1275/ofdisk.c: Likewise.
15384 * disk/loopback.c: Likewise.
15385 * disk/lvm.c: Likewise.
15386 * disk/mdraid_linux.c: Likewise.
15387 * disk/raid.c: Likewise.
15388 * disk/raid6_recover.c: Likewise.
15389 * disk/scsi.c: Likewise.
15390 * efiemu/main.c: Likewise.
15391 * efiemu/mm.c: Likewise.
15392 * efiemu/pnvram.c: Likewise.
15393 * efiemu/symbols.c: Likewise.
15394 * font/font.c: Likewise.
15395 * fs/cpio.c: Likewise.
15396 * fs/hfsplus.c: Likewise.
15397 * fs/iso9660.c: Likewise.
15398 * fs/jfs.c: Likewise.
15399 * fs/minix.c: Likewise.
15400 * fs/ntfs.c: Likewise.
15401 * fs/ntfscomp.c: Likewise.
15402 * fs/reiserfs.c: Likewise.
15403 * fs/ufs.c: Likewise.
15404 * fs/xfs.c: Likewise.
15405 * gettext/gettext.c: Likewise.
15406 * include/grub/auth.h: Likewise.
15407 * kern/elf.c: Likewise.
15408 * kern/file.c: Likewise.
15409 * kern/ieee1275/init.c: Likewise.
15410 * kern/ieee1275/mmap.c: Likewise.
15411 * kern/ieee1275/openfw.c: Likewise.
15412 * kern/powerpc/dl.c: Likewise.
15413 * kern/sparc64/dl.c: Likewise.
15414 * lib/arg.c: Likewise.
15415 * loader/i386/bsd.c: Likewise.
15416 * loader/i386/bsdXX.c: Likewise.
15417 * loader/i386/efi/linux.c: Likewise.
15418 * loader/i386/efi/xnu.c: Likewise.
15419 * loader/i386/ieee1275/linux.c: Likewise.
15420 * loader/i386/linux.c: Likewise.
15421 * loader/i386/multiboot.c: Likewise.
15422 * loader/i386/pc/linux.c: Likewise.
15423 * loader/i386/pc/multiboot2.c: Likewise.
15424 * loader/i386/xnu.c: Likewise.
15425 * loader/ieee1275/multiboot2.c: Likewise.
15426 * loader/macho.c: Likewise.
15427 * loader/machoXX.c: Likewise.
15428 * loader/multiboot2.c: Likewise.
15429 * loader/multiboot_loader.c: Likewise.
15430 * loader/powerpc/ieee1275/linux.c: Likewise.
15431 * loader/sparc64/ieee1275/linux.c: Likewise.
15432 * loader/xnu.c: Likewise.
15433 * loader/xnu_resume.c: Likewise.
15434 * mmap/i386/pc/mmap.c: Likewise.
15435 * normal/menu_viewer.c: Likewise.
15436 * partmap/acorn.c: Likewise.
15437 * partmap/amiga.c: Likewise.
15438 * partmap/apple.c: Likewise.
15439 * script/lexer.c: Likewise.
15440 * term/gfxterm.c: Likewise.
15441 * term/i386/pc/serial.c: Likewise.
15442 * term/i386/pc/vga.c: Likewise.
15443 * term/ieee1275/ofconsole.c: Likewise.
15444 * term/terminfo.c: Likewise.
15445 * video/bitmap.c: Likewise.
15446 * video/efi_gop.c: Likewise.
15447 * video/efi_uga.c: Likewise.
15448 * video/fb/video_fb.c: Likewise.
15449 * video/i386/pc/vbe.c: Likewise.
15450 * video/readers/tga.c: Likewise.
15451 * video/video.c: Likewise.
15452
15453 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
15454
15455 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15456 * commands/lspci.c: Likewise.
15457 * commands/probe.c: Likewise.
15458 * commands/xnu_uuid.c: Likewise.
15459 * conf/i386-coreboot.rmk: Likewise.
15460 * conf/i386-efi.rmk: Likewise.
15461 * conf/i386-ieee1275.rmk: Likewise.
15462 * conf/i386-pc.rmk: Likewise.
15463 * conf/powerpc-ieee1275.rmk: Likewise.
15464 * conf/sparc64-ieee1275.rmk: Likewise.
15465 * conf/x86_64-efi.rmk: Likewise.
15466 * fs/i386/pc/pxe.c: Likewise.
15467 * gettext/gettext.c: Likewise.
15468 * include/grub/efi/graphics_output.h: Likewise.
15469 * include/grub/i386/pc/memory.h: Likewise.
15470 * kern/env.c: Likewise.
15471 * kern/i386/qemu/startup.S: Likewise.
15472 * lib/i386/pc/biosnum.c: Likewise.
15473 * lib/i386/relocator.c: Likewise.
15474 * lib/i386/relocator_asm.S: Likewise.
15475 * lib/relocator.c: Likewise.
15476 * loader/i386/bsd.c: Likewise.
15477 * loader/i386/multiboot.c: Likewise.
15478 * loader/i386/pc/chainloader.c: Likewise.
15479 * loader/i386/xnu.c: Likewise.
15480 * loader/xnu.c: Likewise.
15481 * normal/main.c: Likewise.
15482 * normal/menu_text.c: Likewise.
15483 * util/getroot.c: Likewise.
15484 * util/grub-mkconfig_lib.in: Likewise.
15485 * util/grub.d/00_header.in: Likewise.
15486 * util/i386/pc/grub-mkimage.c: Likewise.
15487 * util/mkisofs/eltorito.c: Likewise.
15488 * util/mkisofs/exclude.h: Likewise.
15489 * util/mkisofs/hash.c: Likewise.
15490 * util/mkisofs/iso9660.h: Likewise.
15491 * util/mkisofs/joliet.c: Likewise.
15492 * util/mkisofs/mkisofs.c: Likewise.
15493 * util/mkisofs/mkisofs.h: Likewise.
15494 * util/mkisofs/multi.c: Likewise.
15495 * util/mkisofs/name.c: Likewise.
15496 * util/mkisofs/rock.c: Likewise.
15497 * util/mkisofs/tree.c: Likewise.
15498 * util/mkisofs/write.c: Likewise.
15499 * video/efi_gop.c: Likewise.
15500
15501 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15504 size counting.
15505
15506 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15507
15508 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15509 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15510
15511 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15514 (GRUB_MOD_INIT(memrw)): Update help line.
15515
15516 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15519 Use grub_extcmd_t. All users updated.
15520 (options): New variable.
15521 (grub_cmd_read): Restructure for readability. Support "-v" option.
15522 (grub_cmd_write): Restructure for readability.
15523
15524 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15525
15526 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15527
15528 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15529
15530 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15531 with the actual contents of the correspondending make variable.
15532 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15533 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15534 specifying `*.lst' and `efiemu??.o'
15535
15536 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15537
15538 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15539 after function name.
15540 Noticed by Rene Engelhard <rene@debian.org>.
15541
15542 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15545 (options): New variable.
15546 (iospace): Likewise.
15547 (grub_lspci_iter): List IO spaces if "-i" was given.
15548 (grub_cmd_lspci): Parse options.
15549 (GRUB_MOD_INIT(lspci)): Use extcmd.
15550 (GRUB_MOD_FINI(lspci)): Likewise.
15551
15552 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15553
15554 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15555 `function' keyword.
15556 Patch by Tony Mancill <tmancill@debian.org>.
15557
15558 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15561 (grub_uhci_portstatus): Likewise.
15562 (grub_uhci_portstatus): Add necessary delay.
15563 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
15564
15565 2009-12-21 Carles Pina i Estany <carles@pina.cat>
15566
15567 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15568 (GRUB_MOD_INIT): Likewise.
15569 * commands/boot.c (GRUB_MOD_INIT): Likewise.
15570 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15571 * commands/echo.c (options): Fix capitalizations and/or full stops.
15572 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15573 (enable_rom_area): Likewise.
15574 (GRUB_MOD_INIT): Likewise.
15575 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15576 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15577 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15578 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15579 * commands/hexdump.c (options): Likewise.
15580 * commands/i386/cpuid.c (options): Likewise.
15581 (GRUB_MOD_INIT): Likewise.
15582 * commands/i386/pc/drivemap.c (options): Likewise.
15583 (GRUB_MOD_INIT): Likewise.
15584 * commands/i386/pc/halt (options): Likewise.
15585 (GRUB_MOD_INIT): Likewise.
15586 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15587 * commands/i386/pc/pxecmd.c (options): Likewise.
15588 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15589 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15590 * commands/keystatus.c (options): Likewise.
15591 (GRUB_MOD_INIT): Likewise.
15592 * commands/loadenv.c (options): Likewise.
15593 * commands/ls.c (options): Likewise.
15594 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15595 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15596 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15597 * commands/parttool.c (helpmsg): Likewise.
15598 * commands/probe.c (options): Likewise.
15599 * commands/read.c (GRUB_MOD_INIT): Likewise.
15600 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15601 * commands/search.c (options): Likewise.
15602 * commands/sleep.c (options): Likewise.
15603 * commands/test.c (GRUB_MOD_INIT): Likewise.
15604 * commands/true.c (GRUB_MOD_INIT): Likewise.
15605 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15606 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15607 * lib/arg.c (help_options): Likewise.
15608 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15609 `$(XGETTEXT)'.
15610 * po/POTFILES: Add `commands/loadenv.c'.
15611
15612 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
15613
15614 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
15615 instead of specifying them explicit.
15616
15617 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15618
15619 * NEWS: Add grub-probe support for GNU/Hurd.
15620
15621 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15622
15623 * NEWS: gettext was added after 1.97.
15624
15625 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15626
15627 * util/mkisofs/msdos_partition.h: New file (based on
15628 include/grub/msdos_partition.h).
15629 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15630 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15631 (ld_options, main): Recognize --protective-msdos-label.
15632 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15633 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15634 (padblock_write): If `use_protective_msdos_label' is set, patch a
15635 protective DOS-style label in the output image.
15636
15637 * util/grub-mkrescue.in: Use --protective-msdos-label.
15638
15639 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15640
15641 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15642 boot.
15643
15644 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15645
15646 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15647 variables.
15648 (ld_options, main): Recognize `--embedded-boot'.
15649 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15650 declarations.
15651 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15652 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15653 (padblock_write): Likewise. Rewrite to support embedded boot image.
15654
15655 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15656 for BIOS-based disk boot instead of only ElTorito.
15657
15658 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15659
15660 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15661 build (not needed for bootstrap).
15662
15663 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15664
15665 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15666 from i386-pc build (not needed for bootstrap).
15667 Rewrite a pair of strings.
15668
15669 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15670
15671 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15672
15673 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15676
15677 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15678
15679 * kern/env.c (grub_env_context_open): Mark exported variable for
15680 reexport.
15681
15682 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15683
15684 * kern/env.c (grub_env_export): Create nonexistent variables before
15685 exporting.
15686
15687 2009-12-20 Carles Pina i Estany <carles@pina.cat>
15688
15689 * include/grub/auth.h: Include `<grub/i18n.h>'.
15690 (GRUB_GET_PASSWORD): Gettextizze string.
15691 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15692 menu_text.c.
15693 (grub_utf8_to_ucs4_alloc): Fix indentation.
15694 (grub_print_ucs4): Likewise.
15695 (grub_getstringwidth): Likewise.
15696 (print_message_indented): New declaration.
15697 * normal/auth.c: Include `<grub/i18n.h>'.
15698 (grub_auth_check_authentication): Gettexttize string.
15699 * normal/cmdline.c: Include `<grub/i18n.h>'.
15700 (grub_cmdline_get): Gettextizze.
15701 * normal/color.c: Include `<grub/i18n.h>'.
15702 (grub_parse_color_name_pair): Gettexttize strings.
15703 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15704 string (use `print_message_indented').
15705 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15706 `include/grub/normal.h'.
15707 (print_message_indented): Renamed to ...
15708 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15709 used in normal/main.c).
15710 (print_message): Use `grub_print_message_indented' instead of
15711 `print_message_indented'.
15712 (print_timeout): Likewise.
15713 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15714 (grub_normal_print_device_info): Gettexttize strings.
15715 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15716
15717 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15720 of arguments. Return number of tokens and not arguments. All users
15721 updated.
15722
15723 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15726 non-MSDOS paritions.
15727
15728 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * include/grub/types.h (UNUSED): Removed since it conflicts with
15731 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15732 Reported by Grégoire Sutre.
15733
15734 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15735
15736 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15737 (grub_print_ucs4_alloc): Likewise.
15738 (grub_getstringwidth): Likewise.
15739 * normal/main.c (grub_normal_init_page): Gettextize version string.
15740 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15741 (getstringwidth): Renamed to ...
15742 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15743 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15744 (grub_print_ucs4): Remove `static' qualifer (now used in
15745 normal/main.c).
15746 * po/POTFILES: Add normal/main.c.
15747
15748 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15749
15750 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15751 (print_message_indented): Add `margin_left' and `margin_right'
15752 parameters.
15753 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15754 strings.
15755 (print_timeout): Use `print_message_indented' to print the message.
15756 Deletes `second_stage' parameter.
15757 (run_menu): Update `print_timeout' calls.
15758
15759 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Fix console palette on OpenFirmware.
15762
15763 * term/ieee1275/ofconsole.c (MAX): Removed.
15764 (colors): Redone based on VGA palette.
15765 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15766 colors are supported.
15767 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15768
15769 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Fix potential EfiEmu double prepare.
15772
15773 * efiemu/main.c (prepared): New variable
15774 (grub_efiemu_unload): Set prepare to '0'.
15775 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15776
15777 set_virtual_address_map support.
15778
15779 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15780 prototype.
15781 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15782 prototype.
15783 (grub_efiemu_crc32): Likewise.
15784 (grub_efiemu_crc64): Likewise.
15785 (grub_efiemu_set_virtual_address_map): Likewise.
15786 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15787 New definition.
15788 (grub_autoefi_set_virtual_address_map): Likewise.
15789 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15790 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15791 Restructure flow to accomodate it.
15792 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15793 (grub_efiemu_crc): Recompute CRC32.
15794 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15795 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15796 * efiemu/symbols.c (relocated_handle): New variable.
15797 (grub_efiemu_free_syms): Free relocated_handle.
15798 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15799 (grub_efiemu_write_sym_markers): New function.
15800 (grub_efiemu_set_virtual_address_map): Likewise.
15801
15802 Newer XNU parameters.
15803
15804 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15805 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15806 (grub_xnu_fill_devicetree): New prototype.
15807 (grub_xnu_heap_real_start): New variable.
15808 * loader/xnu.c (get_name_ptr): New function.
15809 (grub_xnu_load_driver): Fill namelen and name.
15810
15811 64-bit xnu support.
15812
15813 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15814 and 'loader/macho64.c'.
15815 * conf/i386-pc.rmk: Likewise.
15816 * conf/x86_64-efi.rmk: Likewise.
15817 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15818 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15819 * include/grub/macho.h (grub_macho_segment64): New structure.
15820 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15821 (grub_macho_size32): ... to this.
15822 (grub_macho32_get_entry_point): Renamed from ...
15823 (grub_macho_get_entry_point32): ... to this.
15824 (grub_macho_contains_macho64): New prototype.
15825 (grub_macho_size64): Likewise.
15826 (grub_macho_get_entry_point64): Likewise.
15827 (grub_macho32_load): Renamed from ...
15828 (grub_macho_load32): ... to this.
15829 (grub_macho32_filesize): Renamed from ...
15830 (grub_macho_filesize32): ... to this.
15831 (grub_macho32_readfile): Renamed from ...
15832 (grub_macho_readfile32): ... to this.
15833 (grub_macho_filesize64): New prototype.
15834 (grub_macho_readfile64): Likewise.
15835 (grub_macho_parse32): Likewise.
15836 (grub_macho_parse64): Likewise.
15837 * loader/macho.c: Split into ...
15838 * loader/machoXX.c: ... and this. Replace 32 with XX.
15839 * loader/macho32.c: New file.
15840 * loader/macho64.c: Likewise.
15841 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15842 (grub_cmd_xnu_kernel): Make 32-bit only.
15843 (grub_cmd_xnu_kernel64): New function.
15844 (grub_xnu_load_driver): Support Mach-O 64.
15845 (grub_cmd_xnu_mkext): Likewise.
15846 * util/grub.d/30_os-prober.in (osx_entry): New function.
15847 Generate entries for 64-bit boot too.
15848
15849 Eliminate ad-hoc tree format in XNU and EfiEmu.
15850
15851 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15852 * efiemu/pnvram.c: Rewritten to use environment variables.
15853 All users updated.
15854
15855 Inline utf16_to_utf8.
15856
15857 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15858 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15859 All users updated.
15860 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15861
15862 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15863 * commands/usbtest.c (grub_usb_get_string): ... move here.
15864 (usb_print_str): Fix error handling.
15865 * include/grub/usb.h (grub_usb_get_string): Remove.
15866
15867 UTF-8 to UTF-16 transformation.
15868
15869 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15870 (charset_mod_SOURCES): New variable.
15871 (charset_mod_CFLAGS): Likewise.
15872 (charset_mod_LDFLAGS): Likewise.
15873 * include/grub/utf.h: New file.
15874 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15875
15876 Support for device properties.
15877
15878 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15879 (grub_xnu_devprop_device_header): Likewise.
15880 (grub_xnu_devprop_device_descriptor): Likewise.
15881 (grub_xnu_devprop_add_device): New prototype.
15882 (grub_xnu_devprop_remove_device): Likewise.
15883 (grub_xnu_devprop_remove_property): Likewise.
15884 (grub_xnu_devprop_add_property_utf8): Likewise.
15885 (grub_xnu_devprop_add_property_utf16): Likewise.
15886 (grub_cpu_xnu_init): Likewise.
15887 (grub_cpu_xnu_fini): Likewise.
15888 (grub_cpu_xnu_unload): Likewise.
15889 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15890 (property_descriptor): Likewise.
15891 (devices): New variable.
15892 (grub_xnu_devprop_remove_property): New function.
15893 (grub_xnu_devprop_add_device): Likewise.
15894 (grub_xnu_devprop_remove_device): Likewise.
15895 (grub_xnu_devprop_add_property): Likewise.
15896 (grub_xnu_devprop_add_property_utf8): Likewise.
15897 (grub_xnu_devprop_add_property_utf16): Likewise.
15898 (hextoval): Likewise.
15899 (grub_cpu_xnu_fill_devprop): Likewise.
15900 (grub_cmd_devprop_load): Likewise.
15901 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15902 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15903 (cmd_devprop_load): New variable.
15904 (grub_cpu_xnu_init): New function.
15905 (grub_cpu_xnu_fini): Likewise.
15906 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15907 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15908 (grub_cmd_xnu_devtree): Likewise.
15909 (hextoval): New function.
15910 (unescape): Likewise.
15911 (grub_xnu_fill_devicetree): Likewise.
15912
15913 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15914 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15915
15916 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 Workaround for broken ATI VBE.
15919
15920 * video/i386/pc/vbe.c (last_set_mode): New variable.
15921 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15922 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15923 (grub_video_vbe_setup): Don't check for reserved flag.
15924
15925 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
15926
15927 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15928 the `find' command.
15929
15930 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 UUID support for HFS.
15933
15934 * fs/hfs.c (grub_hfs_uuid): New function.
15935 (grub_hfs_fs): New value .uuid.
15936 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15937
15938 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
15939
15940 Fix a segfault with parsing unknown long options.
15941
15942 * util/grub-mkrelpath.c (options): Zero terminate it.
15943
15944 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15945
15946 * include/grub/misc.h (grub_puts): New declaration.
15947 (grub_puts_): Likewise.
15948 * kern/misc.c (grub_puts): New definition.
15949 (grub_puts_): Likewise.
15950
15951 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15952
15953 * util/grub-probe.c (probe): Improve error message.
15954
15955 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15956
15957 * loader/i386/multiboot_elfxx.c
15958 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15959 initialization.
15960
15961 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 Relocator framework
15964
15965 * loader/i386/xnu_helper.S: Removed. All users updated.
15966 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15967 (relocator_mod_SOURCES): New variable.
15968 (relocator_mod_CFLAGS): Likewise.
15969 (relocator_mod_LDFLAGS): Likewise.
15970 (relocator_mod_ASFLAGS): Likewise.
15971 * conf/x86_64.rmk: Likewise.
15972 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15973 (grub_multiboot_payload_entry_offset): Likewise.
15974 (grub_multiboot_forward_relocator): Likewise.
15975 (grub_multiboot_forward_relocator_end): Likewise.
15976 (grub_multiboot_backward_relocator): Likewise.
15977 (grub_multiboot_backward_relocator_end): Likewise.
15978 (grub_multiboot_payload_eip): New variable.
15979 (grub_multiboot_payload_orig): Likewise.
15980 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15981 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15982 * include/grub/i386/memory.h
15983 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15984 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15985 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15986 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15987 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15988 * include/grub/i386/relocator.h: New file.
15989 * include/grub/x86_64/relocator.h: Likewise.
15990 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15991 (XNU_RELOCATOR): New macro.
15992 (grub_xnu_launcher_start): Remove.
15993 (grub_xnu_launcher_end): Likewise.
15994 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15995 (grub_xnu_heap_real_start): Remove.
15996 (grub_xnu_heap_start): Change to void *. All users updated.
15997 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15998 * lib/i386/relocator.c: New file.
15999 * lib/i386/relocator_asm.S: Likewise.
16000 * lib/i386/relocator_backward.S: Likewise.
16001 * lib/mips/relocator.c: Likewise.
16002 * lib/mips/relocator_asm.S: Likewise.
16003 * lib/relocator.c: Likewise.
16004 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16005 (entry): Removed.
16006 (playground): Likewise.
16007 (grub_multiboot_payload_orig): New variable.
16008 (grub_multiboot_payload_dest): Likewise.
16009 (grub_multiboot_payload_size): Likewise.
16010 (grub_multiboot_payload_eip): Likewise.
16011 (grub_multiboot_payload_esp): Likewise.
16012 (grub_multiboot_boot): Use grub_relocator32_boot.
16013 (grub_multiboot_unload): Free relocators.
16014 (grub_multiboot): Setup stack. Use relocators.
16015 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16016 (grub_multiboot_load_elfXX): Use relocators.
16017 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16018 (grub_multiboot_payload_size): Likewise.
16019 (grub_multiboot_payload_dest): Likewise.
16020 (grub_multiboot_payload_entry_offset): Likewise.
16021 (grub_multiboot_forward_relocator): Likewise.
16022 (grub_multiboot_backward_relocator): Likewise.
16023 (grub_multiboot_real_boot): Likewise.
16024 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16025 (grub_xnu_entry_point): Likewise.
16026 (grub_xnu_arg1): Likewise.
16027 (grub_xnu_stack): Likewise.
16028 (grub_xnu_launch): Removed.
16029 (grub_xnu_boot_resume): New function.
16030 (grub_xnu_boot): Use relocators.
16031 * loader/i386/xnu_helper.S: Removed.
16032 * loader/xnu.c (grub_xnu_heap_start): New variable.
16033 (grub_xnu_heap_size): Likewise.
16034 (grub_xnu_heap_malloc): Use relocators.
16035 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16036
16037 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16040 anything.
16041
16042 2009-12-13 Carles Pina i Estany <carles@pina.cat>
16043
16044 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16045 GRUB_ERR_NONE before calling grub_env_set.
16046
16047 2009-12-12 Robert Millan <rmh@aybabtu.com>
16048
16049 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16050 * genmk.rb (video): New variable.
16051 (CLEANFILES, VIDEOFILES): Add #{video}.
16052 (#{video}): New target rule.
16053 * genvideolist.sh: New file.
16054 * Makefile.in (pkglib_DATA): Add video.lst.
16055 (video.lst): New target rule.
16056 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
16057 `video.lst'.
16058 * util/grub.d/30_os-prober.in: Replace `vbe' with
16059 ${GRUB_VIDEO_BACKEND}.
16060
16061 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 * THANKS: Add David Miller.
16064
16065 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 libpciaccess support.
16068
16069 * Makefile.in (LIBPCIACCESS): New variable.
16070 (enable_grub_emu_pci): Likewise.
16071 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
16072 util/pci.c and commands/lspci.c.
16073 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
16074 * configure.ac (grub-emu-pci): New option.
16075 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
16076 (grub_pci_device_unmap_range): Likewise.
16077 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
16078 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
16079 (grub_pci_address_t) [!GRUB_UTIL]: New type.
16080 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
16081 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
16082 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
16083 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
16084 * include/grub/pciutils.h: New file.
16085 * util/pci.c: Likewise.
16086
16087 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
16088
16089 * util/misc.c: Don't include <errno.h> twice.
16090
16091 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
16092
16093 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
16094 name in an error message.
16095 (grub_biosdisk_rw): Likewise.
16096
16097 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 Eliminate NTFS 4Gib barrier.
16100
16101 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
16102 (read_run_data): Likewise.
16103 (grub_ntfs_read_run_list): Likewise.
16104 (grub_ntfs_read_block): Likewise.
16105 (grub_ntfs_iterate_dir): Likewise.
16106 (read_mft): Likewise.
16107 (read_data): Likewise.
16108 Use COM_LOG_LEN.
16109 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
16110 to avoid 64-bit division
16111 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
16112 (grub_ntfs_rlst): Use grub_disk_addr_t.
16113
16114 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 Eliminate grub-fstest 4Gib barrier.
16117
16118 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
16119 (read_file): Fix error reporting.
16120
16121 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Eliminate hexdump 4Gib barrier.
16124
16125 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
16126 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
16127
16128 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
16131 Fixes amarsh bug.
16132
16133 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
16134
16135 Remove miscellaneous files in distclean target.
16136
16137 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
16138
16139 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
16142 if they're already set. This resolves the conflict between my
16143 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
16144 fixing the --grub-probe option again.
16145 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
16146 change on 2009-10-06, so that we now once again source
16147 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16148
16149 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
16150
16151 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
16152 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
16153 `util/devicemap.c'.
16154
16155 2009-12-08 Carles Pina i Estany <carles@pina.cat>
16156
16157 * include/grub/misc.h (grub_printf_): New declaration.
16158 * kern/misc.c (grub_printf_): New definition.
16159 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
16160 instead of `grub_printf' and `_'.
16161 * normal/menu_entry.c (store_completion): Likewise.
16162 (run): Likewise.
16163 (grub_menu_entry_run): Likewise.
16164 * normal/menu_text.c (grub_wait_after_message): Likewise.
16165 (notify_booting): Likewise.
16166 (notify_fallback): Likewise.
16167 (notify_execution_failure): Likewise.
16168
16169 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
16170
16171 * configure.ac: Check for vasprintf.
16172 * util/misc.c (asprintf): Move allocation from here ...
16173 (vasprintf): ... to here. New function.
16174 (xasprintf): New function.
16175 * include/grub/util/misc.h (vasprintf, xasprintf): Add
16176 prototypes.
16177 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16178 * util/grub-mkfont.c (write_font): Likewise.
16179 * util/grub-probe.c (probe): Likewise.
16180 * util/hostdisk.c (make_device_name): Likewise.
16181
16182 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
16183
16184 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
16185 anything even prefixed with 'cdrom' as a cdrom.
16186
16187 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
16188
16189 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
16190 mount points.
16191
16192 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16193
16194 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
16195 grub_gettext_msg_list.
16196 (grub_gettext_gettranslation_from_position): Return const char *
16197 and not char *.
16198 (grub_gettext_translate): Add the translated strings into a list,
16199 returns from the list if existing there.
16200 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
16201 (grub_gettext_delete_list): Delete the list.
16202 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
16203 lang environment variable is changed.
16204 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
16205
16206 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Rename kernel.mod to kernel.img.
16209
16210 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
16211 (kernel_mod_EXPORTS): Rename to ...
16212 (kernel_img_EXPORTS): ... this.
16213 (kernel_mod_SOURCES): Rename to ...
16214 (kernel_img_SOURCES): ... this.
16215 (kernel_mod_HEADERS): Rename to ...
16216 (kernel_img_HEADERS): ... this. All users updated.
16217 (kernel_mod_CFLAGS): Rename to ...
16218 (kernel_img_CFLAGS): ... this.
16219 (kernel_mod_ASFLAGS): Rename to ...
16220 (kernel_img_ASFLAGS): ... this.
16221 (kernel_mod_LDFLAGS): Rename to ...
16222 (kernel_img_LDFLAGS): ... this.
16223 * conf/x86_64-efi.rmk: Likewise.
16224 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
16225 (read_kernel_image): ... this. All users updated.
16226 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
16227
16228 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16229
16230 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
16231 (print_spaces): New function.
16232 (grub_print_ucs4): New function.
16233 (getstringwidth): New function.
16234 (print_message_indented): New function.
16235 (print_message): Gettexttize strings using print_message_indented.
16236 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
16237 width.
16238 (get_entry_number): Gettextize and uses dynamic terminal width.
16239 (notify_booting, notify_fallback, notify_execution_failure):
16240 Gettextize.
16241 * normal/menu_entry.c (store_completion): Cleanup the gettextized
16242 string.
16243 (run): Likewise.
16244 (grub_menu_entry_run): Likewise.
16245 * PO/POTFILES: Add normal/menu_entry.c.
16246
16247 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
16250
16251 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16252
16253 * util/grub-install.in: Install gettext .mo files.
16254 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
16255
16256 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16257
16258 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
16259 grub_dprintf.
16260
16261 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
16262
16263 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
16264 non-firmware-dependant one in realmode.S takes precedence.
16265
16266 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
16267
16268 * commands/halt.c: Replace misc arch-specific headers with
16269 `<grub/misc.h>'.
16270 * commands/reboot.c: Likewise.
16271 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
16272 `<grub/misc.h>'.
16273 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
16274 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
16275 (kernel_img_SOURCES): ... to here.
16276
16277 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
16278 * include/grub/i386/pc/init.h: Likewise.
16279 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16280 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16281
16282 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
16283
16284 * include/grub/i386/halt.h: Remove.
16285 * include/grub/i386/reboot.h: Likewise.
16286
16287 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
16288
16289 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
16290
16291 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
16292 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
16293 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
16294 "progname.h"
16295 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16296 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16297 (usage): Add missing comma in printf.
16298
16299 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
16300
16301 Use the same reboot approach on i386 coreboot and qemu as we do on
16302 BIOS.
16303
16304 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
16305 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
16306 * kern/i386/reboot.c: Remove.
16307 * include/grub/i386/reboot.h (grub_reboot): Export function.
16308 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
16309 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
16310 0xf000:0xfff0 instead of 0xffff:0x0000.
16311 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
16312 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
16313
16314 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
16315
16316 Fix $srcdir != $objdir build.
16317
16318 * Makefile.in (po/%.po): Rewrite as ...
16319 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
16320
16321 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
16322
16323 Fix GNU/Hurd grub-install crash.
16324 * util/grub-probe.c (probe): Try to access `path' only when it is not
16325 NULL.
16326
16327 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Correct module naming.
16330
16331 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16332 (GRUB_MOD_INIT(efi_uga)): ... to this
16333 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16334 (GRUB_MOD_FINI(efi_uga)): ... to this
16335 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16336 (GRUB_MOD_INIT(efi_gop)): ... to this
16337 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16338 (GRUB_MOD_FINI(efi_gop)): ... to this
16339
16340 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
16341
16342 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
16343 translatable.
16344 (usage): Translate `arg' strings using gettext().
16345 Thanks to Jordi Mallach for the suggestion.
16346
16347 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 GOP support. Based on patch from Bean
16350 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16351
16352 * video/efi_gop.c: New file.
16353 * include/grub/efi/graphics_output.h: Likewise.
16354 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16355 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16356 variables.
16357 * conf/x86_64-efi.rmk: Likewise.
16358
16359 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 Rename efi_fb to efi_uga.
16362
16363 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16364 'efi_uga.mod'.
16365 (efi_fb_mod_SOURCES): Rename this ...
16366 (efi_uga_mod_SOURCES): ... to this.
16367 (efi_fb_mod_CFLAGS): Rename this ...
16368 (efi_uga_mod_CFLAGS): ... to this.
16369 (efi_fb_mod_LDFLAGS): Rename this ...
16370 (efi_uga_mod_LDFLAGS): ... to this.
16371 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16372 'efi_uga.mod'.
16373 (efi_fb_mod_SOURCES): Rename this ...
16374 (efi_uga_mod_SOURCES): ... to this.
16375 (efi_fb_mod_CFLAGS): Rename this ...
16376 (efi_uga_mod_CFLAGS): ... to this.
16377 (efi_fb_mod_LDFLAGS): Rename this ...
16378 (efi_uga_mod_LDFLAGS): ... to this.
16379 * video/efi_fb.c: Move this ...
16380 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16381
16382 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16383
16384 * po/README: New file. Explain our PO file workflow.
16385
16386 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16387
16388 * po/ChangeLog: Remove. Move relevant entries back to ...
16389 * ChangeLog: ... here.
16390 * po/ca.po: Remove (now handled by TLP).
16391 * po/id.po: Likewise.
16392 * po/zh_CN.po: Likewise.
16393 * Makefile.in (LINGUAS): Initialize in a way that supports
16394 empty set.
16395
16396 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16397
16398 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16399 reliing on po/LINGUAS.
16400 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16401 (po/%.po): ... this.
16402
16403 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16404
16405 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16406 (main): Use `program_name' instead of nonexistent `progname'.
16407
16408 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16409
16410 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16411 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16412
16413 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16414
16415 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16416 commit.
16417 * conf/i386-efi.rmk: Likewise.
16418 * conf/i386-ieee1275.rmk: Likewise.
16419 * conf/powerpc-ieee1275.rmk: Likewise.
16420 * conf/sparc64-ieee1275.rmk: Likewise.
16421 * conf/x86_64-efi.rmk: Likewise.
16422
16423 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16424
16425 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16426
16427 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16428
16429 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16430
16431 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16432
16433 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16434 (grub_mkdevicemap_SOURCES): New variable.
16435 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16436 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16437 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16438 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16439 (grub_mkdevicemap_SOURCES): Remove.
16440 * conf/i386-efi.rmk: Likewise.
16441 * conf/i386-ieee1275.rmk: Likewise.
16442 * conf/i386-pc.rmk: Likewise.
16443 * conf/powerpc-ieee1275.rmk: Likewise.
16444 * conf/sparc64-ieee1275.rmk: Likewise.
16445 * conf/x86_64-efi.rmk: Likewise.
16446 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16447 (usage): Fix strings to use `program_name'.
16448 (main): Initialize gettext.
16449 * util/grub-editenv.c: Likewise.
16450 * util/grub-emu.c: Likewise.
16451 * util/grub-fstest.c: Likewise.
16452 * util/grub-mkdevicemap.c: Likewise.
16453 * util/grub-mkfont.c: Likewise.
16454 * util/grub-mkrelpath.c: Likewise.
16455 * util/grub-pe2elf.c: Likewise.
16456 * util/grub-probe.c: Likewise.
16457 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16458 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16459 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16460
16461 * util/misc.c: Include `"progname.h"'.
16462 (progname): Remove variable.
16463 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16464
16465 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16466
16467 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16468 printf and print a newline after the menuentry header line.
16469 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16470
16471 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16472
16473 autoconf >= 2.60 support $(localedir).
16474
16475 * INSTALL: Note that autoconf 2.60 is required.
16476 * configure.ac (AC_PREREQ): Bump to 2.60.
16477 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16478 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16479
16480 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16481
16482 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16483 aclocal is run.
16484
16485 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16486
16487 * normal/main.c (grub_normal_read_line): Fix off-by-one
16488 buffer overflow.
16489
16490 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16491
16492 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16493 "parser.grub" in grub_command_execute() call.
16494
16495 2009-11-24 Carles Pina i Estany <carles@pina.cat>
16496
16497 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16498 * conf/i386-efi.rmk: Likewise.
16499 * conf/i386-ieee1275.rmk: Likewise.
16500 * conf/i386-pc.rmk: Likewise.
16501 * conf/powerpc-ieee1275.rmk: Likewise.
16502 * conf/sparc64-ieee1275.rmk: Likewise.
16503 * conf/x86_64-efi.rmk: Likewise.
16504 * gettext/gettex.c: Include <grub/i18n.h>.
16505 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16506 here ...
16507 * include/grub/i18n.h: ... to here
16508 * include/grub/i18n.h: ... to here.
16509 * kern/misc.c: Include <grub/i18n.h>
16510 (grub_gettext_dummy): Move above user.
16511
16512 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16513
16514 * util/Makefile.in (install-local): Convert a `for' into a normal
16515 shell expansion.
16516
16517 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16518
16519 * autogen.sh: Add automake call.
16520 * config.guess: Remove.
16521 * config.sub: Likewise.
16522 * install-sh: Likewise.
16523
16524 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16525
16526 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16527
16528 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16529
16530 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16531 function to a normal shell `for'.
16532
16533 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16534
16535 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16536
16537 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16538
16539 * util/grub-mkrelpath.c: New file.
16540 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16541 (grub_mkrelpath_SOURCES): New variable.
16542 * include/grub/util/misc.h: New function prototype.
16543 * util/misc.c (make_system_path_relative_to_its_root): New function.
16544
16545 * util/grub-mkconfig_lib.in (bindir): New variable.
16546 (grub_mkrelpath): Likewise.
16547 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16548
16549 * util/probe.c (probe): Make the file path relative to its root.
16550 Change a info message to use the GRUB path. Enable again the
16551 check if we can read the file with GRUB facilities.
16552
16553 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16554 to its root.
16555
16556 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16557
16558 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16559 platform.
16560
16561 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16562
16563 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16564 strncmp().
16565
16566 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16567
16568 * util/getroot.c (grub_util_is_dmraid): New function.
16569 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16570 devices as normal ones, not as LVM.
16571
16572 2009-11-23 Carles Pina i Estany <carles@pina.cat>
16573
16574 * conf/common.rmk: Add grub-gettext_lib target and updates
16575 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16576 LDFLAGS.
16577 * gettext/gettext.c: New file. (Reads mo files).
16578 * include/grub/file.h (grub_file_pread): New prototype.
16579 * include/grub/i18n.h (_): New prototype.
16580 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16581 prototypes.
16582 * kern/misc.c (grub_gettext_dummy): New function.
16583 * normal/menu_text.c: Include <grub/i18n.h>.
16584 * normal/menu_text.c (print_timeout): Gettexttize string.
16585 * normal/menu_text.c (print_message): Gettexttize string.
16586 * po/POTFILES: Add `normal/menu_text.c'.
16587 * po/ca.po: Add new translations.
16588 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16589 gettext module and defines locale_dir and lang in grub.cfg.
16590 * NEWS: Add gettext support.
16591
16592 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16593
16594 * util/hostdisk.c: Include `<grub/i18n.h>'.
16595 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16596 (make_device_name): Rewrite using asprintf.
16597 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16598 (find_system_device): If a device is not found, generate one just
16599 by reusing the OS path name.
16600 (read_device_map): Make it permissible for device.map not to exist.
16601
16602 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16603
16604 * script/sh/execute.c: Move from here ...
16605 * script/execute.c: ... to here. Update all users.
16606 * script/sh/function.c: Move from here ...
16607 * script/function.c: ... to here. Update all users.
16608 * script/sh/lexer.c: Move from here ...
16609 * script/lexer.c: ... to here. Update all users.
16610 * script/sh/main.c: Move from here ...
16611 * script/main.c: ... to here. Update all users.
16612 * script/sh/parser.y: Move from here ...
16613 * script/parser.y: ... to here. Update all users.
16614 * script/sh/script.c: Move from here ...
16615 * script/script.c: ... to here. Update all users.
16616
16617 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16618
16619 * configure.ac: Detect all `emu' platforms. Define
16620 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16621 --enable-grub-emu logic. Disable include/grub/machine
16622 symlink on `emu' platforms.
16623
16624 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16625 * gensymlist.sh.in: Likewise.
16626
16627 * include/grub/i386/coreboot/machine.h: Remove file.
16628 * include/grub/i386/efi/machine.h: Likewise.
16629 * include/grub/i386/ieee1275/machine.h: Likewise.
16630 * include/grub/i386/pc/machine.h: Likewise.
16631 * include/grub/i386/qemu/machine.h: Likewise.
16632 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16633 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16634 * include/grub/x86_64/efi/machine.h: Likewise.
16635
16636 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16637 * commands/halt.c: Likewise.
16638 * commands/reboot.c: Likewise.
16639 * include/grub/autoefi.h: Likewise.
16640 * include/grub/i386/at_keyboard.h: Likewise.
16641 * include/grub/i386/kernel.h: Likewise.
16642 * include/grub/i386/loader.h: Likewise.
16643 * include/grub/i386/pc/memory.h: Likewise.
16644 * kern/dl.c: Likewise.
16645 * kern/i386/coreboot/init.c: Likewise.
16646 * loader/i386/bsd.c: Likewise.
16647 * loader/i386/linux.c: Likewise.
16648 * loader/multiboot_loader.c: Likewise.
16649 * term/i386/pc/serial.c: Likewise.
16650 * term/usb_keyboard.c: Likewise.
16651
16652 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16653 `<grub/machine/machine.h>'
16654 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16655 * util/misc.c: Remove `<grub/machine/machine.h>' and
16656 `<grub/machine/time.h>'.
16657
16658 * Makefile.in (enable_grub_emu): Remove variable.
16659 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16660
16661 * conf/any-emu.rmk: New file.
16662 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16663 (grub_emu_init.c): Move from here ...
16664 * conf/any-emu.rmk: ... to here.
16665
16666 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16667 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16668 * conf/any-emu.rmk: ... to here.
16669
16670 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16671
16672 * include/grub/parser.h (grub_parser_register): Document need
16673 of `name' parameter.
16674 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16675 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16676 "sh" to "grub".
16677
16678 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16679
16680 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16681 `$(XGETTEXT)'.
16682 * include/grub/i18n.h (N_): New macro.
16683 * util/mkisofs/mkisofs.h: Likewise.
16684 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16685 around N_().
16686 (usage): Use gettext() to translate help strings when printing them.
16687
16688 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16689
16690 Based on patch from Bean
16691 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16692
16693 * video/efi_fb.c: New file.
16694 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16695 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16696 variables.
16697 * conf/x86_64-efi.rmk: Likewise.
16698
16699 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16700
16701 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16702 * util/i386/pc/grub-setup.c: Likewise.
16703
16704 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16705
16706 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16707 <hurd/fs.h>
16708 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16709 file_get_storage_info to implement grub_guess_root_device.
16710
16711 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16712
16713 * Makefile.in (target): Use make's builtin $(shell) function
16714 instead of calling directly $(SHELL) to create the locale directories,
16715 inside the $(foreach) function.
16716
16717 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16718
16719 * util/grub-mkrescue.in: Print an error and usage if output option
16720 has not been given.
16721
16722 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16723
16724 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16725 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16726 root and /boot are on different devices.
16727
16728 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16729
16730 Fix build for srcdir != objdir.
16731
16732 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16733 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16734 $(srcdir).
16735 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16736 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16737 reference for input.
16738
16739 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16740
16741 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16742 or hardlinking it). Remove -J option, Joliet is not compatible with
16743 multiple source directories.
16744
16745 2009-11-21 Carles Pina i Estany <carles@pina.cat>
16746 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16747
16748 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16749 (process_input_dir): New function. Process an arbitrary input
16750 directory.
16751 Misc adjustments to support both "override mode" and system-wide mode.
16752
16753 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16754
16755 * configure.ac (UNIFONT_BDF): Rename to ...
16756 (FONT_SOURCE): ... this. Update all users.
16757
16758 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16759
16760 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16761 to the list of unifont files to look for.
16762
16763 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16764
16765 Patch from Joe Auricchio <jauricchio@gmail.com>
16766 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16767 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16768 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16769
16770 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16771
16772 * Makefile.in (install-local): Add a missing backslash.
16773
16774 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16775
16776 * include/grub/x86_64/io.h: New file.
16777
16778 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16779
16780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16781 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16782 Include `"progname.h"'.
16783 (main): Initialize gettext.
16784 * util/i386/pc/grub-setup.c: Gettexttize.
16785 * util/i386/pc/grub-mkimage.c: Likewise.
16786
16787 * Makefile.in (po/*.po): Redefine as ...
16788 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16789
16790 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16791
16792 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16793
16794 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16795 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16796 (program_name): Remove.
16797 (main): Initialize gettext support.
16798 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16799 Include `<libintl.h>'.
16800 (_): New macro.
16801
16802 * util/mkisofs/eltorito.c: Gettexttize.
16803 * util/mkisofs/joliet.c: Likewise.
16804 * util/mkisofs/mkisofs.c: Likewise.
16805 * util/mkisofs/multi.c: Likewise.
16806 * util/mkisofs/rock.c: Likewise.
16807 * util/mkisofs/tree.c: Likewise.
16808 * util/mkisofs/write.c: Likewise.
16809
16810 * po/POTFILES: Update with new files.
16811
16812 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16813
16814 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16815 * util/mkisofs/iso9660.h: Likewise.
16816 * util/mkisofs/joliet.c: Likewise.
16817 * util/mkisofs/mkisofs.c: Likewise.
16818 * util/mkisofs/mkisofs.h: Likewise.
16819 * util/mkisofs/rock.c: Likewise.
16820 * util/mkisofs/tree.c: Likewise.
16821 * util/mkisofs/write.c: Likewise.
16822
16823 * util/mkisofs/eltorito.c (rcsid): Remove.
16824 * util/mkisofs/hash.c: Likewise.
16825 * util/mkisofs/joliet.c: Likewise.
16826 * util/mkisofs/name.c: Likewise.
16827 * util/mkisofs/rock.c: Likewise.
16828 * util/mkisofs/tree.c: Likewise.
16829 * util/mkisofs/write.c: Likewise.
16830
16831 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16832
16833 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16834 instead of static allocation.
16835 * util/mkisofs/match.h: Likewise.
16836
16837 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16838
16839 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16840 and `util/grub.d/10_linux.in'.
16841 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16842 translatable Shell files.
16843
16844 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16845
16846 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16847
16848 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16849
16850 * INSTALL: Document Automake is needed for bootstrap.
16851 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
16852 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16853 Add gettext initialization.
16854 (kfreebsd_entry): Make menuentry output translatable.
16855
16856 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16857
16858 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16859 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16860 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16861 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16862 (LINGUAS): Auto-generate using `po/LINGUAS'.
16863 * po/LINGUAS: New file.
16864
16865 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16866
16867 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16868 other things).
16869 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16870 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16871 bindtextdomain() calls for gettext initialization.
16872
16873 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16874
16875 * gnulib/progname.c: New file (imported from Gnulib).
16876 * gnulib/progname.h: Likewise.
16877 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16878 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16879 (usage): Replace `progname' with `program_name'.
16880 (main): Use set_program_name() for program name initialization.
16881
16882 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16883
16884 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16885 from here ...
16886 * Makefile.in (CPPFLAGS): ... to here.
16887
16888 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16889
16890 * aclocal.m4: Move from here ...
16891 * acinclude.m4: ... to here.
16892 * autogen.sh: Add call to `aclocal'.
16893 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16894
16895 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16896
16897 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16898 (LINGUAS): New variable.
16899 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16900 (install-local): Install MO files.
16901 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16902 * include/grub/i18n.h: New file.
16903 * po/POTFILES: New file.
16904 * po/ca.po: New file.
16905 * util/grub.d/10_linux.in (bindir): New variable.
16906 Add gettext initialization.
16907 (linux_entry): Make menuentry output translatable.
16908 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16909 (usage): Make --help output translatable.
16910 (main): Initialize gettext.
16911
16912 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16913
16914 * import_gcry.py: New file (written by Vladimir with minor
16915 adjustments).
16916 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16917 ciphers.
16918 * INSTALL: Document that Python is required for bootstrap.
16919
16920 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16921
16922 Import ciphers from libgcrypt 1.4.4.
16923
16924 * lib/libgcrypt/cipher/ChangeLog
16925 * lib/libgcrypt/cipher/ac.c
16926 * lib/libgcrypt/cipher/arcfour.c
16927 * lib/libgcrypt/cipher/bithelp.h
16928 * lib/libgcrypt/cipher/blowfish.c
16929 * lib/libgcrypt/cipher/camellia-glue.c
16930 * lib/libgcrypt/cipher/camellia.c
16931 * lib/libgcrypt/cipher/camellia.h
16932 * lib/libgcrypt/cipher/cast5.c
16933 * lib/libgcrypt/cipher/cipher.c
16934 * lib/libgcrypt/cipher/crc.c
16935 * lib/libgcrypt/cipher/des.c
16936 * lib/libgcrypt/cipher/dsa.c
16937 * lib/libgcrypt/cipher/ecc.c
16938 * lib/libgcrypt/cipher/elgamal.c
16939 * lib/libgcrypt/cipher/hash-common.c
16940 * lib/libgcrypt/cipher/hash-common.h
16941 * lib/libgcrypt/cipher/hmac-tests.c
16942 * lib/libgcrypt/cipher/md.c
16943 * lib/libgcrypt/cipher/md4.c
16944 * lib/libgcrypt/cipher/md5.c
16945 * lib/libgcrypt/cipher/primegen.c
16946 * lib/libgcrypt/cipher/pubkey.c
16947 * lib/libgcrypt/cipher/rfc2268.c
16948 * lib/libgcrypt/cipher/rijndael-tables.h
16949 * lib/libgcrypt/cipher/rijndael.c
16950 * lib/libgcrypt/cipher/rmd.h
16951 * lib/libgcrypt/cipher/rmd160.c
16952 * lib/libgcrypt/cipher/rsa.c
16953 * lib/libgcrypt/cipher/seed.c
16954 * lib/libgcrypt/cipher/serpent.c
16955 * lib/libgcrypt/cipher/sha1.c
16956 * lib/libgcrypt/cipher/sha256.c
16957 * lib/libgcrypt/cipher/sha512.c
16958 * lib/libgcrypt/cipher/tiger.c
16959 * lib/libgcrypt/cipher/twofish.c
16960 * lib/libgcrypt/cipher/whirlpool.c
16961
16962 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16963
16964 Fix build for systems without error().
16965
16966 * gnulib/error.c: New file (imported from Gnulib).
16967 * gnulib/error.h: Likewise.
16968 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16969 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16970 (this variable is now used by error()).
16971
16972 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16973
16974 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16975 instead of relying that char is signed.
16976
16977 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16980 blocksize different from specified.
16981 (grub_pxefs_read): Likewise.
16982
16983 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16984
16985 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16986
16987 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16988 (grub_ata_readwrite): Likewise. Update 2 format strings.
16989 (grub_atapi_read): Likewise.
16990
16991 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16992 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16993 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16994 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16995 (ata_mod_LDFLAGS): Move from here ...
16996 * conf/i386.rmk: ... to here ...
16997 * conf/x86_64-efi.rmk: ... and here.
16998 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16999 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17000
17001 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17002
17003 Relicense multiboot.h, with RMS' blessing.
17004
17005 * include/multiboot.h: Change to X11 license.
17006
17007 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17008
17009 Support --version in grub-mkisofs.
17010
17011 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17012 (OPTION_VERSION): New macro.
17013 (ld_options): Recognize --version.
17014 (usage): Move `program_name' from here ...
17015 (program_name): ... to here. Add `static' qualifier.
17016 (main): Recognize `OPTION_VERSION'.
17017
17018 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
17019
17020 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17021 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17022
17023 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17024
17025 Fix help2man generation for mkisofs.
17026
17027 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17028 (usage): Send output to stdout (rather than stderr).
17029
17030 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17031
17032 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17033 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17034 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17035 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17036 (bin_SCRIPTS): Add `grub-mkfloppy'.
17037 (grub_mkfloppy_SOURCES): New variable.
17038
17039 * util/grub-mkrescue.in: New file.
17040 * util/i386/pc/grub-mkfloppy.in: New file.
17041
17042 * util/i386/coreboot/grub-mkrescue.in: Remove.
17043 * util/i386/pc/grub-mkrescue.in: Remove.
17044
17045 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17046
17047 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17048 from here ...
17049 * include/multiboot.h (struct multiboot_header): ... to here. Update
17050 all users.
17051 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17052 from here ...
17053 * include/multiboot.h (struct multiboot_info): ... to here. Update
17054 all users.
17055 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
17056 from here ...
17057 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
17058 Update all users.
17059 * include/grub/multiboot.h (struct grub_mod_list): Move
17060 from here ...
17061 * include/multiboot.h (struct multiboot_mod_list): ... to here.
17062 Update all users.
17063
17064 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17065
17066 * include/multiboot2.h (multiboot_word): Rename from this ...
17067 (multiboot2_word): ... to this. Update all users.
17068 (multiboot_header): Rename from this ...
17069 (multiboot2_header): ... to this. Update all users.
17070 (multiboot_tag_header): Rename from this ...
17071 (multiboot2_tag_header): ... to this. Update all users.
17072 (multiboot_tag_start): Rename from this ...
17073 (multiboot2_tag_start): ... to this. Update all users.
17074 (multiboot_tag_name): Rename from this ...
17075 (multiboot2_tag_name): ... to this. Update all users.
17076 (multiboot_tag_module): Rename from this ...
17077 (multiboot2_tag_module): ... to this. Update all users.
17078 (multiboot_tag_memory): Rename from this ...
17079 (multiboot2_tag_memory): ... to this. Update all users.
17080 (multiboot_tag_unused): Rename from this ...
17081 (multiboot2_tag_unused): ... to this. Update all users.
17082 (multiboot_tag_end): Rename from this ...
17083 (multiboot2_tag_end): ... to this. Update all users.
17084
17085 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17086
17087 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
17088 this platform we should support Multiboot1 first.
17089
17090 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17091 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
17092 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
17093
17094 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
17097 of write calls (converting them to fwrite() if they aren't already).
17098 (get_torito_desc): Likewise.
17099 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
17100
17101 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17102
17103 * util/i386/pc/grub-install.in: Move from here ...
17104 * util/grub-install.in: ... to here. Update all users.
17105
17106 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
17107
17108 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
17109
17110 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17111
17112 Support for El Torito without floppy emulation.
17113
17114 * util/mkisofs/eltorito.c: Include `<errno.h>'.
17115 (init_boot_catalog): Improve error handling.
17116 (get_torito_desc): Don't use floppy emulation unless requested by
17117 user. Patch boot information table when requested via
17118 `-boot-info-table'.
17119 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
17120 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
17121 (use_boot_info_table): New variables.
17122 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
17123 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
17124 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
17125 `--eltorito-emul-floppy'.
17126 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
17127 and `OPTION_ELTORITO_EMUL_FLOPPY'.
17128 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
17129 (use_boot_info_table, get_731): New prototypes.
17130 * util/mkisofs/write.c (get_731): New function.
17131
17132 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
17133
17134 Fix the generation of the man page.
17135
17136 * util/pc/i386/grub-install.in: Source
17137 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17138
17139 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17140
17141 Large file support for grub-mkisofs.
17142
17143 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
17144 * util/mkisofs/mkisofs.c (next_extent, last_extent)
17145 (session_start): Upgrade type to `uint64_t'. Update all users.
17146 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
17147 (struct directory_entry): Upgrade type of `starting_block' and
17148 `size' to `uint64_t'. Update all users.
17149 (struct deferred): Remove unused structure.
17150 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
17151 Update all users.
17152 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
17153 file is larger than `UINT32_MAX'.
17154 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
17155 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
17156 return value.
17157 (struct deferred_write): Upgrade type of `extent' and `size' to
17158 `uint64_t'. Update all users.
17159 (last_extent_written): Upgrade type to `uint64_t'. Update all
17160 users.
17161 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
17162 Update all users. Upgrade type of `remain' to `int64_t' and
17163 `use' to `size_t'. Use error() to handle fread() errors.
17164 (write_files): Rely on write_one_file() rather than calling
17165 xfwrite() directly.
17166
17167 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
17168
17169 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
17170
17171 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17172
17173 * util/mkisofs/fnmatch.c: Remove.
17174 * util/mkisofs/getopt1.c: Likewise.
17175 * util/mkisofs/getopt.c: Likewise.
17176 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
17177 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
17178 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
17179 `gnulib/getopt1.c' and `gnulib/getopt.c'.
17180 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
17181
17182 * configure.ac: Detect `mingw32msvc' host_os.
17183 Check for lstat(), getuid() and getgid().
17184
17185 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
17186 instances of `u_char' with `uint8_t'.
17187
17188 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
17189 [!HAVE_GETUID] (getuid): New function (stub).
17190 [!HAVE_GETGID] (getgid): Likewise.
17191 [!HAVE_LSTAT] (lstat): Likewise.
17192 [!S_IROTH] (S_IROTH): New macro (dummy).
17193 [!S_IRGRP] (S_IRGRP): Likewise.
17194
17195 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17196
17197 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
17198 conditional expression).
17199
17200 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17201
17202 Import from Gnulib.
17203
17204 * gnulib/fnmatch.c: New file.
17205 * gnulib/fnmatch.h: Likewise.
17206 * gnulib/fnmatch_loop.c: Likewise.
17207 * gnulib/getopt.c: Likewise.
17208 * gnulib/getopt.h: Likewise.
17209 * gnulib/getopt1.c: Likewise.
17210 * gnulib/getopt_int.h: Likewise.
17211 * gnulib/gettext.h: Likewise.
17212
17213 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
17216 * normal/handler.c (read_handler_list): Likewise.
17217
17218 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17219
17220 Misc cleanup.
17221
17222 * kern/command.c (grub_register_command_prio): Use
17223 grub_zalloc() instead of explicitly zeroing data.
17224 * kern/list.c: Include `<grub/mm.h>'.
17225 (grub_named_list_find): Replace `0' with `NULL'.
17226 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
17227 (fs_module_list): Change type to `grub_named_list_t'. Update all
17228 users.
17229 * normal/dyncmd.c (read_command_list): Add space between function
17230 call and parenthesis.
17231 * normal/handler.c (read_handler_list): Likewise.
17232
17233 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17234
17235 * normal/auth.c (punishment_delay): Moved from here ...
17236 (grub_auth_strcmp): ... to here (inside function).
17237
17238 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17239
17240 * include/grub/list.h (struct grub_named_list): Remove `const'
17241 qualifier from `name'.
17242 (struct grub_prio_list): Likewise.
17243
17244 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17245
17246 * normal/auth.c: Include `<grub/time.h>'.
17247 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
17248
17249 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17250
17251 * normal/auth.c (punishment_delay): New variable.
17252 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
17253 (grub_auth_check_authentication): Punish failed login attempts with
17254 an incremental (2^N) delay.
17255
17256 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17257
17258 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
17259 path with $(srcdir).
17260
17261 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
17264
17265 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17266
17267 * util/i386/coreboot/grub-mkrescue.in: New file.
17268 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
17269 variables.
17270
17271 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
17272 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
17273 * configure.ac: Add header and function checks to satisfy grub-mkisofs
17274 requirements.
17275 * util/mkisofs/defaults.h: New file.
17276 * util/mkisofs/eltorito.c: Likewise.
17277 * util/mkisofs/exclude.h: Likewise.
17278 * util/mkisofs/fnmatch.c: Likewise.
17279 * util/mkisofs/getopt.c: Likewise.
17280 * util/mkisofs/getopt1.c: Likewise.
17281 * util/mkisofs/hash.c: Likewise.
17282 * util/mkisofs/include/fctldefs.h: Likewise.
17283 * util/mkisofs/include/mconfig.h: Likewise.
17284 * util/mkisofs/include/prototyp.h: Likewise.
17285 * util/mkisofs/include/statdefs.h: Likewise.
17286 * util/mkisofs/iso9660.h: Likewise.
17287 * util/mkisofs/joliet.c: Likewise.
17288 * util/mkisofs/match.c: Likewise.
17289 * util/mkisofs/match.h: Likewise.
17290 * util/mkisofs/mkisofs.c: Likewise.
17291 * util/mkisofs/mkisofs.h: Likewise.
17292 * util/mkisofs/multi.c: Likewise.
17293 * util/mkisofs/name.c: Likewise.
17294 * util/mkisofs/rock.c: Likewise.
17295 * util/mkisofs/tree.c: Likewise.
17296 * util/mkisofs/write.c: Likewise.
17297
17298 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
17301 being insecure.
17302
17303 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17304
17305 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
17306 `grub-mkimage' (and use $0 when possible).
17307
17308 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17309
17310 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
17311 error message for excessively large memory map.
17312
17313 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17314
17315 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
17316 executable bit.
17317
17318 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17319
17320 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
17321 message for coreboot users.
17322
17323 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
17324
17325 Fix build with GNU gold.
17326
17327 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
17328 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
17329 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
17330 link addresses.
17331 * aclocal.m4: Likewise.
17332
17333 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
17334
17335 * configure.ac (AC_PREREQ): Bump to 2.59d.
17336 * INSTALL: Make it more clear when Autoconf and Ruby are
17337 needed and when to run `./autogen.sh'.
17338
17339 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
17340
17341 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
17342 OSes.
17343
17344 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17345
17346 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
17347
17348 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17349
17350 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
17351 giving it to GNU Mach.
17352
17353 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17354
17355 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17356 GNU partition number to get internal GRUB partition number.
17357
17358 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17359
17360 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17361 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17362
17363 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17366 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17367 case.
17368
17369 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
17370
17371 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17372
17373 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17374
17375 Fix build problem.
17376
17377 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17378 `-isystem=$(srcdir)/include'.
17379
17380 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17381
17382 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17383 checked (grub-install doesn't currently rely on it).
17384
17385 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17386
17387 Revert SVN r2660.
17388
17389 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17390 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17391 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17392 * conf/i386-ieee1275.rmk: Likewise.
17393 * conf/i386-pc.rmk: Likewise.
17394 * conf/powerpc-ieee1275.rmk: Likewise.
17395 * conf/sparc64-ieee1275.rmk: Likewise.
17396 * conf/x86_64-efi.rmk: Likewise.
17397
17398 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17399
17400 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17401
17402 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17403
17404 * include/grub/misc.h: Stop checking for APPLE_CC.
17405
17406 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17407
17408 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17409 doesn't cause an infinite call loop.
17410
17411 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
17412
17413 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17414 strings.
17415
17416 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17417
17418 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17419 variable.
17420 * Makefile.in: Likewise.
17421
17422 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17423
17424 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17425
17426 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17427
17428 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17429
17430 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17431
17432 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17433
17434 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17435
17436 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17437 from here ...
17438 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17439
17440 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17441
17442 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17443 in $(MAKEINFO) invocation. This makes it clear in output that
17444 errors are being ignored.
17445
17446 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17447
17448 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17449 from here ...
17450 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17451 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17452 * conf/i386-ieee1275.rmk: Likewise.
17453 * conf/i386-pc.rmk: Likewise.
17454 * conf/powerpc-ieee1275.rmk: Likewise.
17455 * conf/sparc64-ieee1275.rmk: Likewise.
17456 * conf/x86_64-efi.rmk: Likewise.
17457
17458 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17459
17460 * util/grub-editenv.c (main): If only a command is given, use
17461 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17462 (usage): FILENAME is now optional and has a default.
17463
17464 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17465
17466 Improve grub-mkconfig performance when there are several menu
17467 entries on a single filesystem.
17468
17469 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17470 prepare_grub_to_access_device.
17471 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17472 * util/grub.d/30_os-prober.in: Likewise.
17473
17474 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17475
17476 * util/grub.d/10_freebsd.in: Remove.
17477 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17478 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17479
17480 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17481
17482 * docs/grub.cfg: Fix example usage of *BSD loaders.
17483
17484 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17485
17486 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17487 grub_util_error() call.
17488
17489 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17490
17491 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17492 `reserved_first_sector' member.
17493 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17494 `reserved_first_sector' to 1.
17495 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17496 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17497 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17498 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17499 filesystems which begin at first sector.
17500 (options): New option --skip-fs-probe.
17501 (main): Handle --skip-fs-probe and pass it to setup().
17502
17503 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17504
17505 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17506 (memset): Fix function prototype.
17507
17508 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17509 2009-10-25 Vasily Averin <vvs@parallels.com>
17510
17511 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17512 `dirent.direntlen == 0'.
17513
17514 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17515
17516 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17517 `cpio'.
17518 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17519
17520 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17521
17522 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17523 `__trampoline_setup' and `__ucmpdi2'.
17524 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17525 that libgcc provides.
17526
17527 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17528
17529 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17530 * include/grub/sparc64/libgcc.h (memset): Likewise.
17531 * include/grub/misc.h (memset, memcmp): New function prototypes.
17532
17533 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17534
17535 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17536 `cpio'.
17537 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17538
17539 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17540
17541 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17542 * docs/grub.cfg: Compensate for recent change in multiboot
17543 loader (since 2009-08-14 it won't pass filename to payload).
17544 * util/grub.d/10_hurd.in: Likewise.
17545
17546 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
17547
17548 * config.guess: Update to latest version from config git
17549 repository.
17550 * config.sub: Likewise.
17551
17552 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17553
17554 Fix build on sparc64.
17555
17556 * configure.ac: Perform checks for libgcc symbols before
17557 adding `-nostdlib' to LDFLAGS.
17558
17559 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 Let user specify OpenBSD root device.
17562
17563 * loader/i386/bsd.c (openbsd_root): New variable.
17564 (openbsd_opts): New option 'root'.
17565 (OPENBSD_ROOT_ARG): New macro.
17566 (grub_openbsd_boot): Use 'openbsd_root'.
17567 (grub_cmd_openbsd): Fill 'openbsd_root'.
17568
17569 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17570
17571 * NEWS: Misc adjustments.
17572
17573 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17576
17577 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17578
17579 * configure.ac: Bump version to 1.97.
17580
17581 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
17582
17583 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17584 -mno-3dnow on x86 architectures. Some toolchains enable these
17585 features by default, but they rely on registers that aren't enabled
17586 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17587
17588 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17589
17590 Make entry text a bit more readable.
17591
17592 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17593
17594 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17597
17598 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17601 operations.
17602
17603 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * configure.ac: Add missing dollar.
17606
17607 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17610
17611 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17612 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17613 exports.
17614 * include/grub/sparc64/libgcc.h: Likewise. Use
17615 preprocessor conditionals.
17616
17617 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17618
17619 * conf/common.rmk (grub-dumpbios): Remove rule.
17620 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17621 * util/grub-dumpbios.in: Remove file.
17622
17623 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17624
17625 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17626 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17627
17628 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17629 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17630 users.
17631
17632 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17633 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17634 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17635 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17636 users.
17637
17638 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17639
17640 * term/tparm.c: Switch to GPLv3.
17641
17642 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17643
17644 * include/grub/i386/cpuid.h: Add header protection.
17645
17646 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17647
17648 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17649
17650 * include/grub/i386/cpuid.h: New file.
17651 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17652 (has_longmode): Rename to ...
17653 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17654 `static' attribute.
17655 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17656 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17657 on a CPU that doesn't implement AMD64 instruction set.
17658
17659 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17660
17661 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17662 that version.texi is rebuilt on version number changes.
17663
17664 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17665
17666 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17667 Fixes bug #27602.
17668
17669 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17670
17671 * util/i386/pc/grub-install.in: Source
17672 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17673 that the --grub-probe option will work.
17674 * util/sparc64/ieee1275/grub-install.in: Likewise.
17675
17676 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17677
17678 * configure.ac: Bump version to 1.97~beta4.
17679
17680 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17681
17682 Resync grub-mkdevicemap in x86_64-efi.
17683
17684 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17685 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17686 `util/devicemap.c'.
17687
17688 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
17689
17690 * util/grub-editenv.c (create_envblk_file): Write new block with a
17691 .new suffix and then rename it into place, to ensure atomic
17692 creation.
17693
17694 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17695
17696 Do not automatically install headers.
17697
17698 * Makefile.in (include_DATA): Remove. Update all users.
17699
17700 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17701
17702 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17703 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17704
17705 * util/osdetect.lua: Remove.
17706 * script/lua/lauxlib.c: Likewise.
17707 * script/lua/ldebug.c: Likewise.
17708 * script/lua/grub_main.c: Likewise.
17709 * script/lua/lauxlib.h: Likewise.
17710 * script/lua/ldebug.h: Likewise.
17711 * script/lua/ltablib.c: Likewise.
17712 * script/lua/liolib.c: Likewise.
17713 * script/lua/lstrlib.c: Likewise.
17714 * script/lua/lualib.h: Likewise.
17715 * script/lua/ldo.c: Likewise.
17716 * script/lua/ldump.c: Likewise.
17717 * script/lua/ldo.h: Likewise.
17718 * script/lua/loslib.c: Likewise.
17719 * script/lua/lundump.c: Likewise.
17720 * script/lua/grub_lib.c: Likewise.
17721 * script/lua/ldblib.c: Likewise.
17722 * script/lua/lundump.h: Likewise.
17723 * script/lua/lmem.c: Likewise.
17724 * script/lua/grub_lib.h: Likewise.
17725 * script/lua/lmathlib.c: Likewise.
17726 * script/lua/lstate.c: Likewise.
17727 * script/lua/ltm.c: Likewise.
17728 * script/lua/lvm.c: Likewise.
17729 * script/lua/lmem.h: Likewise.
17730 * script/lua/lstate.h: Likewise.
17731 * script/lua/ltm.h: Likewise.
17732 * script/lua/ltable.c: Likewise.
17733 * script/lua/lvm.h: Likewise.
17734 * script/lua/llex.c: Likewise.
17735 * script/lua/lgc.c: Likewise.
17736 * script/lua/grub_lua.h: Likewise.
17737 * script/lua/loadlib.c: Likewise.
17738 * script/lua/lfunc.c: Likewise.
17739 * script/lua/lopcodes.c: Likewise.
17740 * script/lua/lparser.c: Likewise.
17741 * script/lua/ltable.h: Likewise.
17742 * script/lua/llex.h: Likewise.
17743 * script/lua/lgc.h: Likewise.
17744 * script/lua/lfunc.h: Likewise.
17745 * script/lua/lbaselib.c: Likewise.
17746 * script/lua/lopcodes.h: Likewise.
17747 * script/lua/lparser.h: Likewise.
17748 * script/lua/lzio.c: Likewise.
17749 * script/lua/linit.c: Likewise.
17750 * script/lua/lobject.c: Likewise.
17751 * script/lua/llimits.h: Likewise.
17752 * script/lua/lstring.c: Likewise.
17753 * script/lua/lzio.h: Likewise.
17754 * script/lua/lapi.c: Likewise.
17755 * script/lua/lcode.c: Likewise.
17756 * script/lua/lua.h: Likewise.
17757 * script/lua/lobject.h: Likewise.
17758 * script/lua/lstring.h: Likewise.
17759 * script/lua/lapi.h: Likewise.
17760 * script/lua/lcode.h: Likewise.
17761 * script/lua/luaconf.h: Likewise.
17762
17763 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
17764
17765 * docs/grub.texi (Command-line and menu entry commands): Document
17766 date and echo commands.
17767
17768 2009-09-24 Pavel Roskin <proski@gnu.org>
17769
17770 * include/grub/kernel.h (struct grub_module_header): Remove
17771 `grub_module_header_types'. Make `type' unsigned. Make `size'
17772 32-bit on all platforms.
17773 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17774 8-bit field. Use grub_host_to_target32() for `size'.
17775 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17776 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17777 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17778
17779 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17780
17781 Fix "lost keypress" bug in at_keyboard.
17782
17783 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17784 Checks for readyness of input buffer (without flushing it).
17785 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17786 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17787
17788 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17789
17790 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17791 size check within GRUB_MACHINE_PCBIOS section.
17792
17793 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17794
17795 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17796 return value.
17797 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17798 KEYBOARD_ISREADY check.
17799 (grub_at_keyboard_checkkey): Rename to ...
17800 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17801 Remove gratuitous cast.
17802
17803 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
17804
17805 * configure.ac: Call AC_PROG_MKDIR_P.
17806 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17807 version.texi in $(builddir) rather than $(srcdir).
17808 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17809 to makeinfo's @include search path.
17810
17811 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17812
17813 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17814
17815 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17816
17817 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17818 for `*.dpkg-new'.
17819
17820 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
17821
17822 Build info documentation. Some code borrowed from Automake.
17823
17824 * configure.ac: Check for makeinfo.
17825 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17826 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17827 docs/version.texi.
17828 (MOSTLYCLEANFILES): Add vti.tmp.
17829 (docs/version.texi, docs/stamp-vti): Update automatically.
17830 (docs/grub.info): Build info documentation. Use --force and ignore
17831 errors for now.
17832 (all-local): Add $(INFOS).
17833 (install-local): Install info files.
17834 (uninstall): Uninstall info files.
17835 * docs/version.texi: Remove from revision control. This file is
17836 automatically generated on build now.
17837 * gendistlist.sh: Add `*.info'.
17838
17839 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17840
17841 * kern/term.c: Fix indentation.
17842
17843 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17844
17845 * util/hostdisk.c: Fix a comment.
17846
17847 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17848
17849 Fix regression introduced in r2539.
17850
17851 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17852 to 0xA1.
17853
17854 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
17855
17856 * util/grub.d/30_os-prober.in: Don't throw away stderr from
17857 os-prober. Under normal operation, it does not print anything to
17858 stderr; if it does, we need to debug it, and throwing away stderr
17859 makes that excessively difficult.
17860
17861 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17864
17865 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17866
17867 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17868 AC_LANG_PROGRAM from autoconf.
17869 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17870 prototypes (fixes warning).
17871
17872 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17873 `--disable-werror' was used.
17874
17875 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17876
17877 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17878 uninitialized `lastaddr'.
17879
17880 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
17883
17884 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17885
17886 * commands/test.c (get_fileinfo): Return immediately if
17887 grub_fs_probe fails.
17888
17889 2009-09-14 José Martínez <xosemp@gmail.com>
17890
17891 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17892
17893 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17894
17895 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17896 output.
17897
17898 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17899
17900 * configure.ac: Remove --enable-grub-pe2elf. Only build
17901 grub-pe2elf when needed by the build system itself.
17902 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17903
17904 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17905
17906 * configure.ac: Bump version to 1.97~beta3.
17907 * docs/version.texi: Likewise.
17908
17909 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17910
17911 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17912 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17913 from here ...
17914 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17915 (grub_linux_setup_video): ... to here (with some adjustments).
17916
17917 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17918
17919 Fix memory corruption issue (spotted by Colin Watson).
17920
17921 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17922 causing returned size to be stored in an incorrect memory location.
17923 Fix use of uninitialized value when storing the returned size.
17924
17925 2009-09-12 Yves Blusseau <blusseau@zetam.org>
17926
17927 Change clean rules to properly remove files
17928
17929 * genmk.rb: add new clean rules
17930 * Makefile.in (clean): add the new targets
17931 (mostlyclean): likewise
17932
17933 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17934
17935 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17936 to grub_uint64_t.
17937 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17938 non-resident files.
17939
17940 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17941
17942 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17943 part of bug #27349.
17944
17945 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17946
17947 * util/grub-mkconfig.in: Make the created config mode 400 and
17948 print a warning if it fails.
17949
17950 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17951
17952 * util/grub.d/40_custom.in: Ask user to type custom entries below
17953 comment, rather than below 'exec tail' line.
17954
17955 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17956
17957 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17958 visible in grub.cfg.
17959
17960 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17961
17962 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17963 file.
17964
17965 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17966
17967 * docs/grub.cfg: Add an example menu entry for memtest86+.
17968
17969 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
17970
17971 * config.guess: Update to latest version from config git.
17972 * config.sub: Likewise.
17973
17974 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
17975
17976 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17977 unknown-command case. Fixes bug #27320.
17978
17979 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
17980
17981 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17982 `help' if the command exists.
17983
17984 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17985
17986 * INSTALL: Require GCC 4.1.3 or later.
17987
17988 2009-09-06 Yves Blusseau <blusseau@zetam.org>
17989
17990 * Makefile.in (RMKFILES): add i386-qemu.rmk
17991 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17992 $(srcdir)/stamp-h.in
17993
17994 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17995
17996 * util/grub-probe.c (probe): Comment out buggy codepath, which
17997 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17998 should be re-enabled after 1.97.
17999
18000 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
18001
18002 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18003 find searches for.
18004
18005 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18008 unnecessary calls to grub_error.
18009
18010 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
18011
18012 * NEWS: Mention `keystatus' and Unicode fonts.
18013
18014 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18015
18016 * configure.ac: Bump version to 1.97~beta2.
18017 * docs/version.texi: Likewise.
18018
18019 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
18020
18021 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18022 containing unwind information in some cases where it previously did
18023 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18024 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18025 discussion.
18026
18027 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18028
18029 Embedding loadenv module into grub-emu
18030
18031 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18032 commands/loadenv.c
18033 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18035 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18037 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18039
18040 2009-09-03 Magnus Granberg <zorry@ume.nu>
18041
18042 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18043 include -fPIE in the default specs.
18044 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18045 to TARGET_CFLAGS.
18046
18047 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
18048
18049 * INSTALL: Note that GNU Bison 2.3 or later is required.
18050
18051 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * kern/i386/pc/startup.S: Fix typo.
18054
18055 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
18058 according to GCS.
18059
18060 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18061
18062 * docs/grub.texi (Naming convention): Describe one-based partition
18063 numbering.
18064 (Device syntax): Likewise.
18065 (File name syntax): Likewise.
18066 (Block list syntax): Likewise.
18067 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
18068 menu.lst.
18069 (File name syntax): Likewise.
18070 (Command-line and menu entry commands): Document acpi, blocklist,
18071 crc, export, insmod, keystatus, ls, set, and unset commands.
18072
18073 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18074
18075 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
18076 to avoid implying that only one of --shift, --ctrl, or --alt may be
18077 used.
18078
18079 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18080
18081 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
18082 rather than comparing against S_IFREG, which will almost never work.
18083
18084 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
18087 (write_blocklists): Likewise.
18088
18089 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * script/lua/grub_lua.h (fputs): Supply a format string as the first
18092 argument to grub_printf.
18093
18094 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
18095
18096 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
18097 non GNU test.
18098
18099 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * kern/file.c (grub_file_read): Spelling fix
18102
18103 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
18106 loading of headers in some cases.
18107
18108 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
18109
18110 * configure.ac: Bump version to 1.97~beta1.
18111 * docs/version.texi: Likewise.
18112
18113 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18114
18115 * include/grub/i386/xnu.h: Add license header.
18116 include grub/err.h explicitly.
18117
18118 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18119
18120 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
18121 to `ufs' in the vfs.root.mountfrom kernel parameter.
18122
18123 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18124
18125 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
18126
18127 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
18128 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
18129
18130 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
18131 `ARRAY_SIZE' macro.
18132
18133 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * kern/file.c (grub_file_read): Check offset.
18136 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
18137 * fs/jfs.c (grub_jfs_read_file): Likewise.
18138 * fs/ntfs.c (grub_ntfs_read): Likewise.
18139 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
18140 * fs/minix.c (grub_minix_read_file): Correct offset check.
18141 * fs/ufs.c (grub_ufs_read_file): Likewise.
18142
18143 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18144
18145 * term/i386/pc/console.c (bios_data_area): Cast
18146 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
18147
18148 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 1-bit optimised blitters.
18151
18152 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
18153 prototype.
18154 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18155 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18156 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18157 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18158 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18159 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18160 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
18161 function.
18162 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18163 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18164 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18165 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18166 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18167 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18168 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
18169 when possible.
18170 * video/video.c (grub_video_get_blit_format): Return
18171 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
18172
18173 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18174
18175 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
18176 the first argument to grub_printf.
18177
18178 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18179 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
18180
18181 Add `getkeystatus' terminal method. Add a new `keystatus' command
18182 to query it.
18183
18184 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
18185 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
18186 modifier key bitmasks.
18187 (struct grub_term_input): Add `getkeystatus' member.
18188 (grub_getkeystatus): Add prototype.
18189 * kern/term.c (grub_getkeystatus): New function.
18190
18191 * include/grub/i386/pc/memory.h
18192 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
18193 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
18194 Data Area layout.
18195 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
18196 (grub_console_term_input): Set `getkeystatus' member.
18197 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
18198 constants.
18199 (grub_usb_keyboard_getreport): Likewise.
18200 (grub_usb_keyboard_checkkey): Likewise.
18201 (grub_usb_keyboard_getkeystatus): New function.
18202 (grub_usb_keyboard_term): Set `getkeystatus' member.
18203
18204 * commands/keystatus.c: New file.
18205 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
18206 (keystatus_mod_SOURCES): New variable.
18207 (keystatus_mod_CFLAGS): Likewise.
18208 (keystatus_mod_LDFLAGS): Likewise.
18209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
18210 commands/keystatus.c.
18211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18213 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18216 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18217
18218 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 Split befs.mod and afs.mod into *_be.mod and *.mod
18221
18222 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
18223 (grub_fstest_SOURCES): Likewise.
18224 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
18225 (afs_be_mod_SOURCES): New variable.
18226 (afs_be_mod_CFLAGS): Likewise.
18227 (afs_be_mod_LDFLAGS): Likewise.
18228 (befs_be_mod_SOURCES): Likewise.
18229 (befs_be_mod_CFLAGS): Likewise.
18230 (befs_be_mod_LDFLAGS): Likewise.
18231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
18232 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18234 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18235 (grub_emu_SOURCES): Likewise.
18236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18238 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18239 * fs/afs_be.c: New file.
18240 * fs/befs_be.c: New file.
18241 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
18242 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
18243 (U16): Replaced with ...
18244 (grub_afs_to_cpu16): ...this. All users updated.
18245 (U32): Replaced with ...
18246 (grub_afs_to_cpu32): ...this. All users updated.
18247 (U64): Replaced with ...
18248 (grub_afs_to_cpu64): ...this. All users updated.
18249 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
18250 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
18251 (grub_afs_validate_sblock): Check only one endianness.
18252 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18253 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18254 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18255 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18256 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18257 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18258 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18259 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18260
18261 2009-08-26 Bean <bean123ch@gmail.com>
18262
18263 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
18264 64-bit number.
18265 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
18266 (grub_xfs_inode_block): Change return type to grub_uint64_t.
18267 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
18268
18269 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 NetBSD memory map support.
18272
18273 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
18274 (grub_netbsd_btinfo_mmap_header): New structure.
18275 (grub_netbsd_btinfo_mmap_entry): Likewise.
18276 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
18277
18278 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 Enable bsd.mod on coreboot.
18281
18282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
18283 (bsd_mod_SOURCES): New variable.
18284 (bsd_mod_CFLAGS): Likewise.
18285 (bsd_mod_LDFLAGS): Likewise.
18286 (bsd_mod_ASFLAGS): Likewise.
18287 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
18288 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
18289
18290 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 Cleanup NetBSD root support.
18293
18294 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
18295 grub_bsd_get_device.
18296 Fix typo.
18297
18298 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
18299
18300 * util/grub.d/00_header.in: Move check for the video backend of
18301 gfxterm from here ...
18302 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
18303 a suitable video backend.
18304
18305 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 Fix breakage in grub-setup.
18308
18309 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
18310 "msdos_partition_map".
18311
18312 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 Fix breakage in normal/auth.c.
18315
18316 * normal/auth.c (grub_iswordseparator): New function.
18317
18318 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 Authentication support.
18321
18322 * commands/password.c: New file.
18323 * conf/common.rmk (pkglib_MODULES): Add password.mod.
18324 (password_mod_SOURCES): New variable.
18325 (password_mod_CFLAGS): Likewise.
18326 (password_mod_LDFLAGS): Likewise.
18327 (normal_mod_SOURCES): Add normal/auth.c.
18328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
18329 normal/auth.c.
18330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18332 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18334 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18335 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18336 * include/grub/auth.h: New file.
18337 * include/grub/err.h (grub_err_t): New enum value
18338 GRUB_ERR_ACCESS_DENIED.
18339 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
18340 'users'.
18341 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
18342 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
18343 users updated.
18344 * normal/auth.c: New file.
18345 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
18346 (grub_cmdline_run): Don't allow to go to command line without
18347 authentication.
18348 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
18349 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
18350 menuentry without superuser rights.
18351 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18352 user isn't a superuser.
18353
18354 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 Save space by inlining misc.c functions.
18357
18358 * kern/misc.c (grub_iswordseparator): Made static.
18359 * kern/misc.c (grub_strcat): Moved from here ...
18360 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18361 * kern/misc.c (grub_strncat): Moved from here ...
18362 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18363 * kern/misc.c (grub_strcasecmp): Moved from here ...
18364 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18365 * kern/misc.c (grub_strncasecmp): Moved from here ...
18366 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18367 * kern/misc.c (grub_isalpha): Moved from here ...
18368 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18369 * kern/misc.c (grub_isdigit): Moved from here ...
18370 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18371 * kern/misc.c (grub_isgraph): Moved from here ...
18372 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18373 * kern/misc.c (grub_tolower): Moved from here ...
18374 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18375
18376 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 * script/sh/function.c (grub_script_function_find): Cut error message
18379 not to flood terminal.
18380 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18381 limit.
18382 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18383
18384 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
18385
18386 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18387 `report' grub_uint8_t *.
18388 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18389 Use a 50-millisecond timeout rather than just repeating
18390 grub_usb_keyboard_getreport 50 times.
18391 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18392
18393 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 Rename *_partition_map to part_*
18396
18397 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18398 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18399 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18400 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18401 All users updated.
18402 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18403 All users updated.
18404 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18405 * util/grub-probe.c (probe_partmap): Don't transform partition name
18406 to get module name.
18407
18408 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Fix OpenBSD and NetBSD support.
18411
18412 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18413 memory address conflict.
18414 (OPENBSD_MMAP_ACPI): New definition.
18415 (OPENBSD_MMAP_NVS): Likewise.
18416 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18417 and OPENBSD_MMAP_NVS.
18418 Add memory map terminator
18419 Explicit cast when calling grub_unix_real_boot.
18420 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
18421
18422 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 Let user specify NetBSD root device.
18425
18426 * loader/i386/bsd.c (netbsd_root): New variable.
18427 (netbsd_opts): New option 'root'.
18428 (NETBSD_ROOT_ARG): New macro.
18429 (grub_netbsd_boot): Use 'netbsd_root'.
18430 (grub_bsd_unload): Free 'netbsd_root'.
18431 (grub_cmd_netbsd): Fill 'netbsd_root'.
18432
18433 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 Support for 64-bit NetBSD.
18436
18437 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18438 point when booting non-FreeBSD.
18439
18440 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Support --no-smp and --no-acpi for NetBSD.
18443
18444 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18445 (NETBSD_AB_NOACPI): Likewise.
18446 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18447 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18448
18449 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18450
18451 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18452 errors.
18453 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18454 errors. Call grub_error when needed.
18455
18456 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 * commands/search.c (search_fs): Try searching without autoload first.
18459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18460 filesystem module explicitly for faster booting.
18461
18462 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18463
18464 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18465
18466 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18467
18468 * util/grub.d/30_os-prober.in: Disable os-prober if
18469 `GRUB_DISABLE_OS_PROBER' was set to true.
18470
18471 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18472
18473 * partmap/pc.c: Rename to ...
18474 * partmap/msdos.c: ... this. Update all users.
18475 (grub_pc_partition_map): Rename to ...
18476 (grub_msdos_partition_map): ... this. Update all users.
18477
18478 * parttool/pcpart.c: Rename to ...
18479 * parttool/msdospart.c: ... this. Update all users.
18480
18481 * include/grub/pc_partition.h: Rename to ...
18482 * include/grub/msdos_partition.h: ... this. Update all users.
18483 (grub_pc_partition_bsd_entry): Rename to ...
18484 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18485 (grub_pc_partition_disk_label): Rename to ...
18486 (grub_msdos_partition_disk_label): ... this. Update all users.
18487 (grub_pc_partition_entry): Rename to ...
18488 (grub_msdos_partition_entry): ... this. Update all users.
18489 (grub_pc_partition_mbr): Rename to ...
18490 (grub_msdos_partition_mbr): ... this. Update all users.
18491 (grub_pc_partition): Rename to ...
18492 (grub_msdos_partition): ... this. Update all users.
18493 (grub_pc_partition_is_empty): Rename to ...
18494 (grub_msdos_partition_is_empty): ... this. Update all users.
18495 (grub_pc_partition_is_extended): Rename to ...
18496 (grub_msdos_partition_is_extended): ... this. Update all users.
18497 (grub_pc_partition_is_bsd): Rename to ...
18498 (grub_msdos_partition_is_bsd): ... this. Update all users.
18499
18500 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18501 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18502 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18503 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18504 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18505 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18506 (gpt_mod_LDFLAGS): Rename to ...
18507 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18508 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18509 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18510 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18511 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18512 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18513 (part_gpt_mod_LDFLAGS): ... this.
18514 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18515 `pcpart.mod' to `msdospart.mod'.
18516 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18517 to ...
18518 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18519 (msdospart_mod_LDFLAGS): ... this.
18520
18521 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18524 (openbsd_opts): Likewise.
18525 (netbsd_opts): Likewise.
18526 (freebsd_flags): Added 0 terminator.
18527 (openbsd_flags): Likewise.
18528 (netbsd_flags): Likewise.
18529 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18530 (grub_cmd_freebsd): Transformed into extended command.
18531 (grub_cmd_openbsd): Likewise.
18532 (grub_cmd_netbsd): Likewise.
18533 (cmd_freebsd): Changed type to grub_extcmd_t.
18534 (cmd_openbsd): Likewise.
18535 (cmd_netbsd): Likewise.
18536 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18537 grub_cmd_openbsd as extended commands.
18538 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18539 cmd_netbsd and cmd_openbsd
18540
18541 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18544
18545 2009-08-21 Pavel Roskin <proski@gnu.org>
18546
18547 * Makefile.in (install-local): When checking if a file is in the
18548 build directory, use "test -e" to detect symlinks.
18549
18550 * Makefile.in (install-local): Remove all files in
18551 $(DESTDIR)$(pkglibdir) before installing new files there.
18552
18553 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18554
18555 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18556 grub-mkelfimage.
18557
18558 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18559
18560 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18561 explicitly specified by the user.
18562
18563 2009-08-18 Pavel Roskin <proski@gnu.org>
18564
18565 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18566 grub_uint8_t pointer for data.
18567 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18568 Likewise.
18569 * video/fb/fbutil.c: Remove unnecessary casts.
18570
18571 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18572
18573 VBE cleanup.
18574
18575 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18576 (grub_vbe_set_video_mode): Save active mode info
18577 only after setting the mode.
18578 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18579 second argument.
18580
18581 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18582
18583 Rename variables for clarity.
18584
18585 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18586 (active_vbe_mode_info): ... this. All users updated.
18587 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18588 All users updated.
18589 (initial_mode): Rename to ...
18590 (initial_vbe_mode): ... this. All users updated.
18591 (mode_in_use): Rename to ..
18592 (vbe_mode_in_use): ... this. All users updated.
18593 (mode_list): Rename to ..
18594 (vbe_mode_list): ... this. All users updated.
18595 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18596 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18597 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18598 'mode_list_size' to 'vbe_mode_list_size'.
18599 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18600 'best_mode_info' to 'best_vbe_mode_info' and
18601 'best_mode' to 'best_vbe_mode'
18602
18603 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18604
18605 Remove duplicate grub_video_fb_get_video_ptr.
18606
18607 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18608 (grub_video_fb_get_video_ptr): ... this.
18609 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18610 * video/fb/fbutil.c: Add comment about addressing.
18611 (get_data_ptr): Rename to ...
18612 (grub_video_fb_get_video_ptr): ... this. All users updated.
18613 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18614
18615 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18616
18617 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18618 grub_dprintf() that was just added.
18619
18620 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18621
18622 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18623 (DEFAULT_VIDEO_MODE): Remove macros.
18624 (grub_linux_boot): Remove assumption that Linux has FB support,
18625 and use "text" as default video mode.
18626
18627 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18630 grub_dprintf.
18631 * fs/fat.c (grub_fat_read_data): Likewise.
18632
18633 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18636 payload.
18637 (grub_module): Likewise.
18638
18639 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18642 mbi->cmdline but free playground.
18643
18644 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 Handle group offset on UFS1.
18647
18648 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18649 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18650
18651 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 Split ufs.mod into ufs1.mod and ufs2.mod.
18654
18655 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18656 (grub_fstest_SOURCES): Likewise.
18657 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18658 (ufs_mod_SOURCES): Remove.
18659 (ufs_mod_CFLAGS): Likewise.
18660 (ufs_mod_LDFLAGS): Likewise.
18661 (ufs1_mod_SOURCES): New variable.
18662 (ufs1_mod_CFLAGS): Likewise.
18663 (ufs1_mod_LDFLAGS): Likewise.
18664 (ufs2_mod_SOURCES): New variable.
18665 (ufs2_mod_CFLAGS): Likewise.
18666 (ufs2_mod_LDFLAGS): Likewise.
18667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18668 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18669 Likewise.
18670 (grub_emu_SOURCES): Likewise.
18671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18672 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18673 (grub_setup_SOURCES): Likewise.
18674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18675 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18676 (grub_setup_SOURCES): Likewise.
18677 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18678 Likewise.
18679 * fs/ufs2.c: New file.
18680 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18681
18682 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 Framebuffer split.
18685
18686 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18687 subsystem at the end.
18688 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18689 (video_fb_mod_SOURCES): New variable.
18690 (video_fb_mod_CFLAGS): Likewise.
18691 (video_fb_mod_LDFLAGS): Likewise.
18692 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18693 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18694 * video/i386/pc/vbeblit.c: Moved from here ...
18695 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18696 * video/i386/pc/vbefill.c: Moved from here ...
18697 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18698 * video/i386/pc/vbeutil.c: Moved from here ...
18699 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18700 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18701 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18702 * include/grub/i386/pc/vbefill.h: Moved from here ...
18703 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18704 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18705 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18706 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18707 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18708 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18709 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18710 (grub_video_adapter): Added 'get_info_and_fini'.
18711 (grub_video_get_info_and_fini): New prototype.
18712 (grub_video_set_mode): make modestring const char *.
18713 * loader/i386/linux.c (grub_linux_setup_video): Use
18714 grub_video_get_info_and_fini.
18715 (grub_linux_boot): Move modesetting just before booting.
18716 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18717 grub_video_get_info_and_fini.
18718 * video/i386/pc/vbe.c: Moved framebuffer part ...
18719 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18720 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18721 grub_video_fbstd_colors and grub_video_fb_set_palette.
18722 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18723 grub_video_fb_init.
18724 (grub_video_vbe_fini): Use grub_video_fb_fini.
18725 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18726 render_target and use grub_video_fb_set_active_render_target and
18727 grub_video_fb_set_palette.
18728 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18729 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18730 (grub_video_vbe_adapter): Use framebuffer.
18731 * video/video.c (grub_video_get_info_and_fini): New function.
18732 (grub_video_set_mode): Make modestring const char *.
18733 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18734 values are already initialised.
18735
18736 2009-08-14 Pavel Roskin <proski@gnu.org>
18737
18738 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18739 ABS and APPLE_CC.
18740 * boot/i386/pc/diskboot.S: Likewise.
18741 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18742 sectors allow compilation on MacOSX.
18743 * conf/i386-pc.rmk: Enable unconditional compilation of
18744 lnxboot.img.
18745
18746 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
18747
18748 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18749 * util/grub.d/00_header.in: Enter interruptible sleep if
18750 GRUB_HIDDEN_TIMEOUT is set.
18751
18752 2009-08-13 Yves Blusseau <blusseau@zetam.org>
18753
18754 * include/grub/symbol.h: Add the LOCAL macro.
18755 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18756 starting with "L_".
18757
18758 2009-08-13 Pavel Roskin <proski@gnu.org>
18759
18760 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18761 any modern compilers we support.
18762
18763 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18764 Use local labels starting with "L_" so that Apple assembler
18765 knows they are local.
18766
18767 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18768
18769 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18770 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18771 (bsd_kernel_types): ... this enum.
18772
18773 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18774 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18775 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18776
18777 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18778 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18779 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18780 messages.
18781
18782 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18783
18784 * util/grub-dumpdevtree: Moved from here ...
18785 * util/i386/efi/grub-dumpdevtree: ... to here.
18786 (hexify): New function. Converts a string to its hex version.
18787 Generate hex versions of "efi" and "device-properties" by calling
18788 hexify() on the ASCII strings rather than by hardcoding numbers.
18789
18790 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18791
18792 * fs/jfs.c: Update copyright year.
18793
18794 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18795
18796 * util/grub.d/00_header.in: Fix a comment.
18797 * util/grub.d/10_linux.in: Likewise.
18798 * util/grub.d/10_windows.in: Likewise.
18799 * util/grub.d/10_hurd.in: Likewise.
18800
18801 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18802
18803 * util/grub-mkconfig.in: Allow the user to specify the used font
18804 with GRUB_FONT.
18805
18806 2009-08-08 Pavel Roskin <proski@gnu.org>
18807
18808 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18809 available, xfs.mod needs it now.
18810
18811 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18812 the "g" modifier in sed when the intention is to strip something
18813 once. This fixes comparison of kernels with multiple dashes.
18814
18815 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18816 on it. Add missing space before closing bracket. Fix
18817 misleading formatting.
18818
18819 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18820
18821 * docs/grub.texi: Major overhaul. Remove all sections that are
18822 specific to GRUB Legacy, or mostly composed of Legacy-specific
18823 information.
18824
18825 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18826
18827 * docs/version.texi: New file. Provides version information for
18828 grub.texi.
18829
18830 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18831
18832 * docs/grub.texi: Update CVS information to SVN.
18833 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18834
18835 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18836
18837 * util/grub-mkconfig.in: Remove a wrong `fi'.
18838
18839 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18840
18841 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18842 (grub_jfs_uuid): New function.
18843 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18844
18845 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18846
18847 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18848 of it to ...
18849 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18850 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18851
18852 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18853
18854 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18855 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18856 Update all users.
18857
18858 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18859 not just "vmlinu[zx]".
18860 Moved from here ...
18861 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18862 all users.
18863
18864 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18865 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18866 all users.
18867
18868 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 * util/grub.d/10_freebsd.in: Use an absolute device path for
18871 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18872
18873 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
18874
18875 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18876 handling of multiple abstraction modules.
18877
18878 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18879
18880 Fix a bug resulting in black screen when loading Linux using a
18881 packed video mode.
18882
18883 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18884 function.
18885
18886 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18887 (grub_vbe_bios_getset_dac_palette_width): New function.
18888 (grub_vbe_bios_get_dac_palette_width)
18889 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18890 grub_vbe_bios_getset_dac_palette_width()).
18891
18892 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18893 check for return status.
18894 (grub_vbe_get_video_mode_info): When getting information for a packed
18895 mode (<= 8 bpp), obtain DAC palette width using
18896 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18897 {red,green,blue}_mark_size.
18898
18899 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
18900
18901 * commands/search.c (options): Fix help output to match actual code.
18902
18903 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18906 of homegrown code.
18907
18908 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18909
18910 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18911 on XFS or ReiserFS.
18912
18913 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18914
18915 Support Apple partition map with sector size different from 512 bytes.
18916
18917 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18918 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18919 and 'apart.partmap_size'.
18920
18921 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18922 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18923
18924 Fix cpuid command.
18925
18926 * commands/i386/cpuid.c (options): New variable.
18927 (grub_cmd_cpuid): Return real error.
18928 (GRUB_MOD_INIT(cpuid)): Declare options.
18929
18930 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18933 valid.
18934
18935 2009-07-31 Bean <bean123ch@gmail.com>
18936
18937 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18938 log2_inode.
18939 (grub_fshelp_node): Move inode field to the end.
18940 (grub_xfs_data): Remove inode field.
18941 (grub_xfs_inode_block): Calculate inode size using sblock.
18942 (grub_xfs_inode_offset): Likewise.
18943 (grub_xfs_read_inode): Calculate inode size using sblock.
18944 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18945 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18946 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18947 to match inode size.
18948 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18949 not accessible when data is null.
18950 (grub_xfs_open): Likewise.
18951
18952 2009-07-31 Bean <bean123ch@gmail.com>
18953
18954 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18955 Don't change pv->disk if it's already set.
18956
18957 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18958 (grub_raid_register): ... here.
18959 (grub_raid_rescan): Removed.
18960
18961 * include/grub/raid.h (grub_raid_rescan): Removed.
18962
18963 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18964 (fstest): Replace grub_raid_rescan with module fini function followed
18965 by init function.
18966
18967 * util/grub-probe.c: Add include file <grub/raid.h>.
18968 (probe_raid_level): New function.
18969 (probe): Detect abstraction by walking the disk device, support two
18970 level of abstraction (LVM on RAID) when detecting partition map.
18971
18972 2009-07-31 Pavel Roskin <proski@gnu.org>
18973
18974 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18975 to grub_zalloc(), it was erroneous.
18976 Reported by Bean <bean123ch@gmail.com>
18977
18978 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
18981 embedding zone, not only the first one.
18982
18983 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
18984
18985 * term/gfxterm.c (clear_char): New function.
18986 (grub_virtual_screen_setup): Use clear_char.
18987 (scroll_up): Likewise.
18988 (grub_virtual_screen_cls): Likewise.
18989
18990 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
18991
18992 * util/deviceiter.c (get_acceleraid_disk_name): New static
18993 function.
18994 (grub_util_iterate_devices): Handle Accelraid devices.
18995 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18996
18997 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18998
18999 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19000 separator for the suggested gfxpayload string (';' collides with the
19001 parser and needs escaping).
19002
19003 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19006 Clear direction flag before jumping to OS.
19007 (grub_multiboot2_real_boot): Likewise.
19008
19009 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
19010
19011 * util/i386/pc/grub-install: Fix parsing of --disk-module
19012 option.
19013
19014 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
19015
19016 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19017 when embedding.
19018
19019 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
19020
19021 * util/grub-mkconfig.in (package_version): New variable.
19022 Use it do display the version.
19023
19024 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
19025
19026 * kern/file.c (grub_file_open): Revert to previous check with
19027 grub_errno.
19028
19029 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19032 from help line. It's out of sync with code.
19033
19034 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19037 entries on failed boot.
19038
19039 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
19040
19041 * kern/file.c (grub_file_open): Fix an error check.
19042
19043 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19046 partition map couldn't be identified.
19047
19048 2009-07-23 Pavel Roskin <proski@gnu.org>
19049
19050 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19051 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19052 case of little endian words becomes just an optimization.
19053 Respect const modifier.
19054 (md5_final): Use code that doesn't depend on endianness.
19055
19056 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
19057 to avoid loss of upper bits if align is unsigned and shorter
19058 than addr.
19059
19060 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 UUID support for UFS
19063
19064 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
19065 (grub_ufs_uuid): New function.
19066 (grub_ufs_fs): add .uuid
19067
19068 2009-07-21 Pavel Roskin <proski@gnu.org>
19069
19070 * kern/dl.c (grub_dl_check_header): Make static.
19071
19072 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
19073
19074 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
19075 add drivemap for Vista. It breaks Windows 7.
19076
19077 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
19080 128 bytes
19081
19082 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 Add BFS support
19085
19086 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
19087 (grub_fstest_SOURCES): Likewise.
19088 (pkglib_MODULES): Add befs.mod.
19089 (befs_mod_SOURCES): New variable.
19090 (befs_mod_CFLAGS): Likewise.
19091 (befs_mod_LDFLAGS): Likewise.
19092 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19094 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19095 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19096 (grub_setup_SOURCES): Likewise.
19097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19098 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19099 (grub_setup_SOURCES): Likewise.
19100 * fs/befs.c: New file.
19101 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
19102 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
19103 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
19104 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
19105 (B_KEY_INDEX_ALIGN): New declaration.
19106 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
19107 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
19108 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
19109 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
19110 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
19111 (grub_afs_mount) [MODE_BFS]: Likewise.
19112 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
19113 (grub_afs_fs): Use GRUB_AFS_FSNAME
19114 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
19115 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
19116 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
19117 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
19118
19119 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
19120
19121 * util/getroot.c (find_root_device): Add support for MacOSX.
19122 * util/hostdisk.c: Likewise.
19123
19124 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * font/font.c (find_glyph): Check whether a font is present to avoid
19127 segmentation fault.
19128
19129 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
19130
19131 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
19132
19133 2009-07-20 Pavel Roskin <proski@gnu.org>
19134
19135 * configure.ac: Trim excessively wordy excuses.
19136
19137 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19138
19139 Add symlink, mtime and label support to AtheFS.
19140
19141 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
19142 (grub_afs_iterate_dir): Handle symlinks.
19143 (grub_afs_open): Use grub_afs_read_symlink.
19144 (grub_afs_dir): Likewise.
19145 Pass mtime.
19146 (grub_afs_label): New function.
19147 (grub_afs_fs): Add grub_afs_label.
19148 (grub_afs_read_symlink): New function.
19149
19150 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 Fix AtheFS support.
19153
19154 * fs/afs.c: Fix comments style.
19155 (grub_afs_blockrun): Declare as packed.
19156 (grub_afs_datastream): Likewise.
19157 (grub_afs_bnode): Likewise.
19158 (grub_afs_btree): Likewise.
19159 (grub_afs_sblock): Likewise.
19160 Declare `name' as char.
19161 (grub_afs_inode): Declare as packed.
19162 Change void *vnode to grub_uint32_t unused.
19163 (grub_afs_iterate_dir): Check that key_size is positive.
19164 (grub_afs_mount): Don't read superblock twice.
19165 (grub_afs_dir): Don't free node in case of error,
19166 grub_fshelp_find_file already handles this.
19167 (grub_afs_open): Likewise.
19168
19169 2009-07-19 Pavel Roskin <proski@gnu.org>
19170
19171 * Makefile.in: Remove LIBLZO and enable_lzo.
19172 * conf/i386-pc.rmk: Remove lzo support.
19173 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
19174 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
19175 support.
19176 * kern/i386/pc/lzo1x.S: Remove.
19177 * kern/i386/pc/startup.S: Remove lzo support.
19178 * util/i386/pc/grub-mkimage.c: Likewise.
19179
19180 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
19183 * fs/xfs.c (grub_xfs_dir): Likewise.
19184 * fs/afs.c (grub_afs_dir): Likewise.
19185 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
19186 (grub_iso9660_open): Likewise.
19187 * fs/jfs.c (grub_jfs_open): Likewise.
19188 * fs/ext2.c (grub_ext2_dir): Likewise.
19189 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
19190 * script/sh/lexer.c (grub_script_yylex): Likewise.
19191
19192 2009-07-16 Pavel Roskin <proski@gnu.org>
19193
19194 * configure.ac: Never add "-c" to CFLAGS.
19195
19196 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
19197
19198 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
19199 grub_cv_cc_efiemu should be used.
19200
19201 * configure.ac: Typo fixes.
19202
19203 * kern/mm.c (grub_zalloc): New function.
19204 (grub_debug_zalloc): Likewise.
19205 * include/grub/mm.h: Declare grub_zalloc() and
19206 grub_debug_zalloc().
19207 * util/misc.c (grub_zalloc): New function.
19208 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
19209 instead of grub_malloc(), remove unneeded initializations.
19210 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
19211 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
19212 * commands/parttool.c (grub_cmd_parttool): Likewise.
19213 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19214 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
19215 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
19216 * disk/usbms.c (grub_usbms_finddevs): Likewise.
19217 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
19218 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
19219 (grub_cmd_efiemu_pnvram): Likewise.
19220 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
19221 * fs/iso9660.c (grub_iso9660_mount): Likewise.
19222 (grub_iso9660_iterate_dir): Likewise.
19223 * fs/jfs.c (grub_jfs_opendir): Likewise.
19224 * fs/ntfs.c (list_file): Likewise.
19225 (grub_ntfs_mount): Likewise.
19226 * kern/disk.c (grub_disk_open): Likewise.
19227 * kern/dl.c (grub_dl_load_core): Likewise.
19228 * kern/elf.c (grub_elf_file): Likewise.
19229 * kern/env.c (grub_env_context_open): Likewise.
19230 (grub_env_set): Likewise.
19231 (grub_env_set_data_slot): Likewise.
19232 * kern/file.c (grub_file_open): Likewise.
19233 * kern/fs.c (grub_fs_blocklist_open): Likewise.
19234 * loader/i386/multiboot.c (grub_module): Likewise.
19235 * loader/xnu.c (grub_xnu_create_key): Likewise.
19236 (grub_xnu_create_value): Likewise.
19237 * normal/main.c (grub_normal_add_menu_entry): Likewise.
19238 (read_config_file): Likewise.
19239 * normal/menu_entry.c (make_screen): Likewise.
19240 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19241 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
19242 * script/sh/script.c (grub_script_parse): Likewise.
19243 * video/bitmap.c (grub_video_bitmap_create): Likewise.
19244 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
19245 * video/readers/png.c (grub_png_output_byte): Likewise.
19246 (grub_video_reader_png): Likewise.
19247
19248 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 Enable all targets that can be built by default
19251
19252 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
19253 grub-mkfont and grub-fstest if they can be built
19254
19255 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Fix hang and segmentation fault in grub-emu-usb
19258
19259 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
19260 * util/usb.c (grub_libusb_devices): likewise
19261 (grub_libusb_init): rename to ...
19262 (GRUB_MOD_INIT (libusb)):...this
19263 (grub_libusb_fini): rename to ..
19264 (GRUB_MOD_FINI (libusb)):...this
19265 * disk/usbms.c (grub_usbms_transfer): fix retry logic
19266 * include/grub/disk.h (grub_raid_init): removed, it's useless
19267 (grub_raid_fini): likewise
19268 (grub_lvm_init): likewise
19269 (grub_lvm_fini): likewise
19270 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
19271 by grub_init_all
19272
19273 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 Fix libusb
19276
19277 * Makefile.in (LIBUSB): new macro
19278 * genmk.rb (Utility/print_tail): new method
19279 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
19280 (top level): call util.print_tail at the end.
19281
19282 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 Make FreeBSD accept zpool.cache
19285
19286 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
19287 type is /boot/zfs/zpool.cache
19288
19289 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 Fix 64-bit efiemu
19292
19293 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
19294 correct wrong typedef
19295 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
19296
19297 2009-07-15 Pavel Roskin <proski@gnu.org>
19298
19299 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
19300 * kern/disk.c (struct grub_disk_cache): Likewise.
19301
19302 * commands/probe.c (options): Typo fix.
19303
19304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
19305 Increase to 0x5a to accommodate FAT32. Adjust other offsets
19306 accordingly.
19307 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
19308
19309 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
19310 the end of "Error" to make the message more readable.
19311
19312 * boot/i386/pc/boot.S (kernel_segment): Remove.
19313 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
19314 for destination.
19315
19316 * boot/i386/pc/boot.S (boot_version): Remove.
19317 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
19318 Remove.
19319
19320 * include/grub/i386/pc/boot.h: Sort all offsets.
19321 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
19322 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
19323 * boot/i386/pc/boot.S: Assert location of every offset listed in
19324 include/grub/i386/pc/boot.h.
19325
19326 2009-07-13 Pavel Roskin <proski@gnu.org>
19327
19328 * include/grub/i386/coreboot/machine.h: Rename
19329 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
19330 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
19331 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
19332
19333 * kern/dl.c: Force native word size to suppress warnings when
19334 compiling grub-emu.
19335
19336 * kern/device.c (grub_device_iterate): Change struct part_ent to
19337 hold the name, not a pointer to it. Use one grub_malloc() per
19338 partition, not two. Free partition_name if grub_malloc() fails.
19339 Set ents to NULL only before grub_partition_iterate() is called.
19340
19341 2009-07-11 Bean <bean123ch@gmail.com>
19342
19343 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
19344 childname.
19345
19346 2009-07-10 Bean <bean123ch@gmail.com>
19347 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
19348
19349 * kern/ieee1275/openfw.c (grub_children_iterate)
19350 (grub_devalias_iterate): Fix size evaluation for property or path
19351 strings, which was broken since r2132.
19352
19353 2009-07-07 Pavel Roskin <proski@gnu.org>
19354
19355 * commands/search.c (search_file): Merge into ...
19356 (search_fs): ... this. Accept search type as argument.
19357 (grub_cmd_search): Pass search type to search_fs().
19358
19359 * include/grub/util/console.h: New file.
19360 * util/console.c: Use it instead of grub/machine/console.h.
19361 * util/grub-emu.c: Likewise.
19362
19363 * lib/arg.c (find_long_option): Remove.
19364 (find_long): Add `len' argument, make `s' const char *.
19365 (grub_arg_parse): Parse long options in place, not in a
19366 temporary buffer.
19367
19368 2009-07-06 Pavel Roskin <proski@gnu.org>
19369
19370 * commands/search.c (search_fs): Fix potential NULL pointer
19371 dereference.
19372
19373 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19374 function pointer.
19375
19376 2009-07-06 Daniel Mierswa <impulze@impulze.org>
19377
19378 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19379 comparison.
19380
19381 2009-07-05 Pavel Roskin <proski@gnu.org>
19382
19383 * include/grub/i386/linux.h (struct linux_kernel_params):
19384 Restore padding3, it's still needed.
19385
19386 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19387 FreeBSD.
19388 * util/osdetect.lua: Likewise.
19389
19390 2009-07-05 Bean <bean123ch@gmail.com>
19391
19392 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19393
19394 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19395 (grub_lua_getenv): Likewise.
19396 (grub_lua_setenv): Likewise.
19397 (save_errno): New function.
19398 (push_result): Likewise.
19399 (grub_lua_enum_device): Likewise.
19400 (grub_lua_enum_file): Likewise.
19401 (grub_lua_file_open): Likewise.
19402 (grub_lua_file_close): Likewise.
19403 (grub_lua_file_seek): Likewise.
19404 (grub_lua_file_read): Likewise.
19405 (grub_lua_file_getline): Likewise.
19406 (grub_lua_file_getsize): Likewise.
19407 (grub_lua_file_getpos): Likewise.
19408 (grub_lua_file_eof): Likewise.
19409 (grub_lua_file_exist): Likewise.
19410 (grub_lua_add_menu): Likewise.
19411
19412 * script/lua/grub_lua.h (isupper): New inline function.
19413 (islower): Likewise.
19414 (ispunct): Likewise.
19415 (isxdigit): Likewise.
19416 (strcspn): Change to normal function.
19417 (strpbkr): New function declaration.
19418 (memchr): Likewise.
19419
19420 * script/lua/grub_main.c (scan_str): New function.
19421 (strcspn): Likewise.
19422 (strpbrk): Likewise.
19423 (memchr): Likewise.
19424
19425 * script/lua/linit.c (lualibs): Enable the string library.
19426
19427 * util/osdetect.lua: New file.
19428
19429 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19430
19431 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19432 `capabilities' member.
19433
19434 2009-07-02 Pavel Roskin <proski@gnu.org>
19435
19436 * genparttoollist.sh: Add missing newline at the end.
19437
19438 2009-07-01 Pavel Roskin <proski@gnu.org>
19439
19440 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19441
19442 * util/hostdisk.c (open_device): Remove `const' from
19443 `sysctl_size', as sysctlbyname() can change it (in this case it
19444 doesn't actually happen).
19445
19446 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19447 using signed long int constants.
19448
19449 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19450 constant to avoid a warning on FreeBSD.
19451
19452 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19453 where it's needed.
19454
19455 * Makefile.in: Install include/grub/machine symlink.
19456
19457 * Makefile.in: When installing symlinks, use "cp -fR", which
19458 works on FreeBSD and MacOSX.
19459 From Yves Blusseau <cl7m42e02@sneakemail.com>
19460
19461 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19462 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19463
19464 * util/misc.c: Move grub_reboot() and grub_halt() ...
19465 * util/grub-emu.c: ... here. Make main_env static.
19466 * include/grub/util/misc.h: Remove main_env.
19467
19468 * kern/mm.c: Use correct format to print size_t.
19469
19470 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19471 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19472 * kern/powerpc/dl.c: Likewise.
19473 * kern/sparc64/dl.c: Likewise.
19474 * kern/x86_64/dl.c: Likewise.
19475
19476 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19477
19478 Fix grub-emu build on sparc64-ieee1275.
19479
19480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
19481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19482
19483 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19486 (grub_reboot, grub_halt): New functions.
19487
19488 * util/i386/pc/misc.c: Delete. Update all users.
19489 * util/sparc64/ieee1275/misc.c: Likewise.
19490 * util/powerpc/ieee1275/misc.c: Likewise.
19491
19492 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 * conf/i386.rmk (setjmp_mod_SOURCES)
19495 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19496 * conf/common.rmk (setjmp_mod_SOURCES)
19497 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19498 to use $(target_cpu).
19499 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19500 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19501 * conf/powerpc-ieee1275.rmk: Likewise.
19502 * conf/sparc64-ieee1275.rmk: Likewise.
19503
19504 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19505 $(target_cpu) for kern/$(target_cpu)/dl.c.
19506 * conf/i386-efi.rmk: Likewise.
19507 * conf/i386-ieee1275.rmk: Likewise.
19508 * conf/x86_64-efi.rmk: Likewise.
19509 * conf/i386-coreboot.rmk: Likewise.
19510 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19511 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19512 kern/$(target_cpu)/cache.S.
19513 * conf/sparc64-ieee1275.rmk: Likewise.
19514
19515 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19516
19517 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19518 type to `grub_uint8_t', and adjust `padding9' accordingly.
19519
19520 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19521
19522 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19523
19524 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19525 assembly in final jump, using register constraints.
19526
19527 (grub_linux_boot): For text mode, initialize `have_vga' using
19528 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19529
19530 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19531 right before the final jump.
19532
19533 Set `video_mode' to 0x3.
19534
19535 Document initialization of `video_page', `video_mode' and
19536 `video_ega_bx'.
19537
19538 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19539
19540 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19541 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
19542 and set GRUB_LINUX_FLAG_QUIET appropriately.
19543
19544 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19545
19546 Fix build on Debian / sparc.
19547
19548 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19549
19550 2009-06-28 Pavel Roskin <proski@gnu.org>
19551
19552 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19553 fix a warning.
19554
19555 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19556
19557 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19558
19559 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19560 `err'.
19561
19562 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19563
19564 Revert r2338.
19565
19566 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19567 file can't be opened. grub_file_open() is already supposed to set
19568 grub_errno / grub_errmsg appropriately.
19569 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19570
19571 2009-06-27 Pavel Roskin <proski@gnu.org>
19572 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19573
19574 * include/grub/dl.h: Include grub/elf.h.
19575 (struct grub_dl): Add symtab field.
19576 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19577 GRUB_MODULES_MACHINE_READONLY.
19578 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19579 of the header for read-only modules.
19580 (grub_dl_unload): Free mod->symtab for read-only modules.
19581 * kern/i386/dl.c: Use mod->symtab.
19582 * kern/powerpc/dl.c: Likewise.
19583 * kern/sparc64/dl.c: Likewise.
19584 * kern/x86_64/dl.c: Likewise.
19585
19586 * conf/i386-qemu.rmk: New file.
19587 * kern/i386/qemu/startup.S: Likewise.
19588 * kern/i386/qemu/mmap.c: Likewise.
19589 * boot/i386/qemu/boot.S: Likewise.
19590 * include/grub/i386/qemu/time.h: Likewise.
19591 * include/grub/i386/qemu/serial.h: Likewise.
19592 * include/grub/i386/qemu/kernel.h: Likewise.
19593 * include/grub/i386/qemu/console.h: Likewise.
19594 * include/grub/i386/qemu/boot.h: Likewise.
19595 * include/grub/i386/qemu/init.h: Likewise.
19596 * include/grub/i386/qemu/machine.h: Likewise.
19597 * include/grub/i386/qemu/loader.h: Likewise.
19598 * include/grub/i386/qemu/memory.h: Likewise.
19599
19600 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19601 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19602 [qemu] (pkglib_IMAGES): Add `boot.img'.
19603 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19604 [qemu] (boot_img_FORMAT): New variables.
19605 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19606 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19607 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19608 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19609 [qemu] (kernel_img_FORMAT): New variables.
19610
19611 * configure.ac: Recognise `i386-qemu'.
19612
19613 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19614 (for no compression).
19615 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19616 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19617 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19618 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19619 ifdefs).
19620
19621 2009-06-27 Pavel Roskin <proski@gnu.org>
19622
19623 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19624 read.
19625 * efiemu/prepare32.c: Likewise.
19626 * efiemu/prepare64.c: Likewise.
19627
19628 2009-06-26 Pavel Roskin <proski@gnu.org>
19629
19630 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19631 * include/grub/elf.h: Define symbols without "32" or "64" based
19632 on GRUB_TARGET_WORDSIZE.
19633 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19634 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19635 ELF definitions.
19636 * efiemu/loadcore64.c: Likewise.
19637 * loader/i386/bsd32.c: Likewise.
19638 * loader/i386/bsd64.c: Likewise.
19639 * kern/dl.c: Remove own ELF definitions.
19640 * util/i386/efi/grub-mkimage.c: Likewise.
19641
19642 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19643
19644 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19645 segment 0x0 unconditionally, because the reference generated by
19646 GAS is an absolute address.
19647
19648 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19649
19650 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19651 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19652
19653 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19654
19655 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19656 indexes. Check for -f explicitly.
19657 (search_file): Improve error message.
19658 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
19659
19660 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19661
19662 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19663 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19664
19665 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19666
19667 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19668 * conf/i386-ieee1275.rmk: Likewise.
19669 * conf/i386-coreboot.rmk: Likewise.
19670
19671 * kern/i386/pc/startup.S (grub_stop): Remove function.
19672 * kern/i386/ieee1275/startup.S: Likewise.
19673 * kern/i386/coreboot/startup.S: Likewise.
19674 * kern/i386/misc.S (grub_stop): New function.
19675
19676 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19677
19678 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19679 * kern/i386/realmode.S (real_to_prot): ... to here.
19680
19681 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19682
19683 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19684 with `kernel.img'.
19685 (kernel_elf_SOURCES): Rename to ...
19686 (kernel_img_SOURCES): ... this.
19687 (kernel_elf_HEADERS): Rename to ...
19688 (kernel_img_HEADERS): ... this. Update all users.
19689 (kernel_elf_ASFLAGS): Rename to ...
19690 (kernel_img_ASFLAGS): ... this.
19691 (kernel_elf_CFLAGS): Rename to ...
19692 (kernel_img_CFLAGS): ... this.
19693 (kernel_elf_LDFLAGS): Rename to ...
19694 (kernel_img_LDFLAGS): ... this.
19695 * conf/i386-coreboot.rmk: Likewise.
19696 * conf/powerpc-ieee1275.rmk: Likewise.
19697
19698 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19699 with "kernel.img".
19700
19701 2009-06-21 Pavel Roskin <proski@gnu.org>
19702
19703 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19704 to match nested functions.
19705 * loader/sparc64/ieee1275/linux.c: Likewise.
19706
19707 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19708
19709 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19710
19711 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19712 all i386 platforms.
19713
19714 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19715
19716 Fix asm file handling on ELF, and remove workarounds.
19717
19718 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
19719 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
19720 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19721 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19722
19723 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 Load BSD ELF modules
19726
19727 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19728 and loader/i386/bsd64.c
19729 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19730 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19731 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19732 (grub_freebsd_load_elfmodule32): New declaration
19733 (grub_freebsd_load_elfmoduleobj64): Likewise
19734 (grub_freebsd_load_elf_meta32): Likewise
19735 (grub_freebsd_load_elf_meta64): Likewise
19736 (grub_freebsd_add_meta): Likewise
19737 (grub_freebsd_add_meta_module): Likewise
19738 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19739 (grub_freebsd_add_meta_module): Likewise and move module-specific
19740 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19741 (grub_cmd_freebsd): Add elf-kernel specific parts
19742 based on grub_freebsd_add_meta_module
19743 (grub_cmd_freebsd_module): Add type parsing moved from
19744 grub_freebsd_add_meta_module
19745 (grub_cmd_freebsd_module_elf): New function
19746 (cmd_freebsd_module_elf): New variable
19747 (GRUB_MOD_INIT): Register freebsd_module_elf
19748 * loader/i386/bsd32.c: New file
19749 * loader/i386/bsd64.c: Likewise
19750 * loader/i386/bsdXX.c: Likewise
19751 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19752 (grub_elf64_load): Likewise
19753 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19754 All users updated
19755 (grub_elf64_load_hook_t): Likewise
19756
19757 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
19758
19759 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19760 variable.
19761 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19762 don't write a menu entry for recovery mode.
19763
19764 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19765
19766 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19767 after it's no longer needed.
19768
19769 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19770
19771 * include/grub/i386/loader.h (grub_linux_prot_size)
19772 (grub_linux_tmp_addr, grub_linux_real_addr)
19773 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19774 GRUB_MACHINE_PCBIOS.
19775 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19776 common grub_util_info() call to ...
19777 (generate_image): ... here.
19778 Fix use of uninitialized memory, comparison of signed with
19779 unsigned integers and memory leak.
19780 Remove bogus module address message.
19781
19782 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19785 grub_raid_register
19786 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19787
19788 2009-06-19 Pavel Roskin <proski@gnu.org>
19789
19790 * configure.ac: Remove stray AC_MSG_CHECKING.
19791
19792 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19793
19794 * disk/scsi.c (grub_scsi_open): use continue instead of big if
19795
19796 2009-06-18 Pavel Roskin <proski@gnu.org>
19797
19798 * conf/common.rmk: Add fs_file.mod.
19799 * disk/fs_file.c: New file.
19800 * include/grub/disk.h (enum grub_disk_dev_id): Add
19801 GRUB_DISK_DEVICE_FILE_ID.
19802
19803 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 Fix build with Apple's toolchain. Part 2
19806
19807 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19808 a fake start
19809
19810 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 Fix build with Apple's toolchain. Part 1
19813
19814 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19815 for long calls
19816 * configure.ac: remove a leftover AC_MSG_RESULT
19817 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
19818 Apple's toolchain
19819
19820 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 Fix warnings
19823
19824 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19825 (decomp_block): initialize ch
19826 use grub_memcpy instead of memcpy
19827
19828 2009-06-17 Pavel Roskin <proski@gnu.org>
19829
19830 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19831 version, use declarations needed to use vga_text as the startup
19832 console.
19833
19834 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19835 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19836 the kernel.
19837 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19838 and grub_at_keyboard_fini(), it's done on module load and
19839 unload.
19840
19841 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
19842
19843 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19844 file can't be found.
19845 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19846
19847 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 Fix newline handling
19850
19851 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
19852 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
19853 (grub_script_yylex): don't segfault on unterminated script
19854 newline terminates command and variable
19855
19856 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 avoid double grub_adjust_range call. Bug reported by David Simner
19859
19860 * kern/disk.c (grub_disk_write): change to raw disk access before
19861 calling disk_read
19862
19863 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
19864
19865 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19866 spaces, for the benefit of help2man.
19867 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19868
19869 2009-06-16 Pavel Roskin <proski@gnu.org>
19870
19871 * kern/i386/halt.c: Include grub/machine/init.h.
19872 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19873
19874 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
19875
19876 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19877 drivemap menuentry.
19878
19879 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19880
19881 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19882 `echo' command.
19883
19884 2009-06-16 Pavel Roskin <proski@gnu.org>
19885
19886 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19887 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19888 save %dx, we only need %dl and we never change it.
19889 * boot/i386/pc/cdboot.S: Don't set the root drive.
19890 * boot/i386/pc/pxeboot.S: Likewise.
19891 * include/grub/i386/pc/boot.h: Remove
19892 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19893 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19894 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19895 * kern/i386/pc/init.c (make_install_device): Remove references
19896 to grub_root_drive.
19897 * kern/i386/pc/startup.S: Likewise.
19898 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19899
19900 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 xnu_uuid command
19903
19904 * commands/xnu_uuid.c: new file
19905 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19906 (xnu_uuid_mod_SOURCES): new variable
19907 (xnu_uuid_mod_CFLAGS): likewise
19908 (xnu_uuid_mod_LDFLAGS): likewise
19909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19910 * conf/i386-ieee1275.rmk: likewise
19911 * conf/i386-pc.rmk: likewise
19912 * conf/powerpc-ieee1275.rmk: likewise
19913 * conf/sparc64-ieee1275.rmk: likewise
19914 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19915
19916 2009-06-16 Pavel Roskin <proski@gnu.org>
19917
19918 * configure.ac: Avoid '==' in test command, it's not portable.
19919
19920 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 Probe command
19923
19924 * commands/probe.c: new file
19925 * conf/common.rmk (pkglib_MODULES): add probe.mod
19926 (probe_mod_SOURCES): new variable
19927 (probe_mod_CFLAGS): likewise
19928 (probe_mod_LDFLAGS): likewise
19929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19930 * conf/i386-ieee1275.rmk: likewise
19931 * conf/i386-pc.rmk: likewise
19932 * conf/powerpc-ieee1275.rmk: likewise
19933 * conf/sparc64-ieee1275.rmk: likewise
19934
19935 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 Fix handling of string like \"hello\" and "a
19938 b"
19939
19940 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19941 (grub_script_yylex): fix parsing of quoting, escaping and newline
19942
19943 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
19946 handling
19947
19948 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
19949
19950 * util/grub-mkconfig.in: Fix parsing of --output option.
19951
19952 2009-06-12 Pavel Roskin <proski@gnu.org>
19953
19954 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19955 genmk.rb don't need to be generated or installed.
19956
19957 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 * commands/i386/pc/drivemap_int13h.S: add more comments
19960
19961 2009-06-11 Pavel Roskin <proski@gnu.org>
19962
19963 * Makefile.in (uninstall): Uninstall manuals.
19964
19965 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19966 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19967 and update-grub_lib in two places.
19968 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19969
19970 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19971 a compiler warning.
19972
19973 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19974 `entry_lo' to fix variable shadowing.
19975
19976 2009-06-11 Christian Franke <franke@computer.org>
19977
19978 * kern/misc.c (__enable_execute_stack): Add missing return type
19979 to prevent gcc warning.
19980
19981 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19982
19983 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19984
19985 2009-06-11 Pavel Roskin <proski@gnu.org>
19986
19987 * Makefile.in: Don't rely on any scripts being executable.
19988 Always use $(SHELL) to run shell scripts.
19989
19990 * configure.ac: Always define ___main if using -nostdlib. This
19991 fixes tests on Cygwin.
19992
19993 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19994
19995 UDF fix
19996
19997 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
19998 is in bytes and not in blocks
19999
20000 2009-06-11 Pavel Roskin <proski@gnu.org>
20001
20002 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20003 warning.
20004
20005 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
20006
20007 * util/grub.d/30_os-prober.in: Fix a comment. Source
20008 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20009 to set the root device. Place drivemap command in the generated
20010 chain entry.
20011
20012 2009-06-11 Pavel Roskin <proski@gnu.org>
20013
20014 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20015 have long been resolved.
20016
20017 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
20018
20019 * util/grub.d/10_linux.in: Capitalise "Linux".
20020
20021 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20022
20023 2009-06-11 Pavel Roskin <proski@gnu.org>
20024
20025 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20026 fix a gcc warning and ensure that the function won't ever exit.
20027
20028 * kern/i386/ieee1275/init.c: Add missing prototype for
20029 grub_stop_floppy().
20030
20031 * loader/ieee1275/multiboot2.c [__i386__]: Include
20032 grub/cpu/multiboot.h.
20033
20034 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20035 casts to short - they are not portable and cause warnings. Fix
20036 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20037
20038 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 Drivemap fixes
20041
20042 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20043 new function
20044 (grub_get_root_biosnumber_saved): new variable
20045 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20046 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
20047 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
20048 %dx after the call if necessary
20049 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20050 (boot_mod_SOURCES): remove
20051 (boot_mod_CFLAGS): remove
20052 (boot_mod_LDFLAGS): remove
20053 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20054 (boot_mod_SOURCES): new variable
20055 (boot_mod_CFLAGS): likewise
20056 (boot_mod_LDFLAGS): likewise
20057 * conf/i386-efi.rmk: likewise
20058 * conf/i386-ieee1275.rmk: likewise
20059 * conf/i386-pc.rmk: likewise
20060 * conf/powerpc-ieee1275.rmk: likewise
20061 * conf/sparc64-ieee1275.rmk: likewise
20062 * conf/x86_64-efi.rmk: likewise
20063 * include/grub/i386/pc/biosnum.h: new file
20064 * lib/i386/pc/biosnum.c: likewise
20065 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
20066 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
20067 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
20068
20069 2009-06-10 Pavel Roskin <proski@gnu.org>
20070
20071 * io/gzio.c (test_header): Don't reuse one buffer for all data.
20072 Use separate variables. Read only the file size at the end, but
20073 not the checksum that we don't use.
20074
20075 * kern/file.c (grub_file_read): Use void pointer for the buffer.
20076 Adjust all callers.
20077
20078 * kern/ieee1275/openfw.c: Remove libc includes.
20079 * kern/ieee1275/cmain.c: Likewise.
20080 * include/grub/ieee1275/ieee1275.h: Likewise.
20081
20082 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
20083 compiler warnings.
20084
20085 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
20086
20087 * Makefile.in: Remove all trailing whitespace.
20088 * conf/i386-pc.rmk: Likewise.
20089 * conf/powerpc-ieee1275.rmk: Likewise.
20090 * conf/sparc64-ieee1275.rmk: Likewise.
20091 * docs/grub.texi: Likewise.
20092 * docs/texinfo.tex: Likewise.
20093 * disk/fs_uuid.c: Likewise.
20094 * disk/lvm.c: Likewise.
20095 * disk/scsi.c: Likewise.
20096 * disk/ata.c: Likewise.
20097 * disk/ieee1275/ofdisk.c: Likewise.
20098 * disk/i386/pc/biosdisk.c: Likewise.
20099 * disk/host.c: Likewise.
20100 * disk/raid.c: Likewise.
20101 * disk/efi/efidisk.c: Likewise.
20102 * disk/usbms.c: Likewise.
20103 * disk/memdisk.c: Likewise.
20104 * disk/loopback.c: Likewise.
20105 * kern/powerpc/dl.c: Likewise.
20106 * kern/device.c: Likewise.
20107 * kern/dl.c: Likewise.
20108 * kern/sparc64/dl.c: Likewise.
20109 * kern/ieee1275/ieee1275.c: Likewise.
20110 * kern/term.c: Likewise.
20111 * kern/fs.c: Likewise.
20112 * kern/i386/dl.c: Likewise.
20113 * kern/i386/pc/startup.S: Likewise.
20114 * kern/i386/pc/init.c: Likewise.
20115 * kern/i386/pc/mmap.c: Likewise.
20116 * kern/i386/pc/lzo1x.S: Likewise.
20117 * kern/i386/ieee1275/init.c: Likewise.
20118 * kern/i386/realmode.S: Likewise.
20119 * kern/i386/tsc.c: Likewise.
20120 * kern/partition.c: Likewise.
20121 * kern/corecmd.c: Likewise.
20122 * kern/file.c: Likewise.
20123 * kern/efi/efi.c: Likewise.
20124 * kern/efi/init.c: Likewise.
20125 * kern/efi/mm.c: Likewise.
20126 * kern/main.c: Likewise.
20127 * kern/err.c: Likewise.
20128 * kern/env.c: Likewise.
20129 * kern/disk.c: Likewise.
20130 * kern/generic/millisleep.c: Likewise.
20131 * kern/generic/rtc_get_time_ms.c: Likewise.
20132 * kern/misc.c: Likewise.
20133 * kern/parser.c: Likewise.
20134 * genmk.rb: Likewise.
20135 * configure.ac: Likewise.
20136 * boot/i386/pc/diskboot.S: Likewise.
20137 * boot/i386/pc/pxeboot.S: Likewise.
20138 * boot/i386/pc/boot.S: Likewise.
20139 * boot/i386/pc/lnxboot.S: Likewise.
20140 * boot/i386/pc/cdboot.S: Likewise.
20141 * parttool/pcpart.c: Likewise.
20142 * video/readers/tga.c: Likewise.
20143 * video/video.c: Likewise.
20144 * video/bitmap.c: Likewise.
20145 * lib/envblk.c: Likewise.
20146 * lib/i386/setjmp.S: Likewise.
20147 * fs/xfs.c: Likewise.
20148 * fs/afs.c: Likewise.
20149 * fs/fat.c: Likewise.
20150 * fs/ntfs.c: Likewise.
20151 * fs/udf.c: Likewise.
20152 * fs/affs.c: Likewise.
20153 * fs/iso9660.c: Likewise.
20154 * fs/hfs.c: Likewise.
20155 * fs/fshelp.c: Likewise.
20156 * fs/ext2.c: Likewise.
20157 * fs/jfs.c: Likewise.
20158 * fs/reiserfs.c: Likewise.
20159 * fs/hfsplus.c: Likewise.
20160 * fs/minix.c: Likewise.
20161 * fs/cpio.c: Likewise.
20162 * fs/sfs.c: Likewise.
20163 * fs/ufs.c: Likewise.
20164 * efiemu/prepare.c: Likewise.
20165 * efiemu/loadcore_common.c: Likewise.
20166 * efiemu/runtime/efiemu.sh: Likewise.
20167 * efiemu/runtime/efiemu.S: Likewise.
20168 * efiemu/runtime/efiemu.c: Likewise.
20169 * efiemu/pnvram.c: Likewise.
20170 * efiemu/main.c: Likewise.
20171 * efiemu/i386/pc/cfgtables.c: Likewise.
20172 * efiemu/i386/loadcore64.c: Likewise.
20173 * efiemu/i386/loadcore32.c: Likewise.
20174 * efiemu/loadcore.c: Likewise.
20175 * efiemu/symbols.c: Likewise.
20176 * efiemu/mm.c: Likewise.
20177 * include/grub/autoefi.h: Likewise.
20178 * include/grub/datetime.h: Likewise.
20179 * include/grub/term.h: Likewise.
20180 * include/grub/hfs.h: Likewise.
20181 * include/grub/lvm.h: Likewise.
20182 * include/grub/i386/tsc.h: Likewise.
20183 * include/grub/i386/linux.h: Likewise.
20184 * include/grub/i386/xnu.h: Likewise.
20185 * include/grub/i386/efiemu.h: Likewise.
20186 * include/grub/i386/pc/biosdisk.h: Likewise.
20187 * include/grub/i386/pc/memory.h: Likewise.
20188 * include/grub/i386/pc/vbe.h: Likewise.
20189 * include/grub/parttool.h: Likewise.
20190 * include/grub/video.h: Likewise.
20191 * include/grub/memory.h: Likewise.
20192 * include/grub/fs.h: Likewise.
20193 * include/grub/partition.h: Likewise.
20194 * include/grub/xnu.h: Likewise.
20195 * include/grub/efi/api.h: Likewise.
20196 * include/grub/efi/pe32.h: Likewise.
20197 * include/grub/efi/memory.h: Likewise.
20198 * include/grub/multiboot.h: Likewise.
20199 * include/grub/usbdesc.h: Likewise.
20200 * include/grub/multiboot2.h: Likewise.
20201 * include/grub/acpi.h: Likewise.
20202 * include/grub/efiemu/efiemu.h: Likewise.
20203 * include/grub/disk.h: Likewise.
20204 * include/grub/ieee1275/ieee1275.h: Likewise.
20205 * include/grub/net.h: Likewise.
20206 * include/grub/machoload.h: Likewise.
20207 * include/grub/macho.h: Likewise.
20208 * include/multiboot.h: Likewise.
20209 * genmoddep.awk: Likewise.
20210 * normal/main.c: Likewise.
20211 * normal/menu_entry.c: Likewise.
20212 * normal/menu_viewer.c: Likewise.
20213 * normal/completion.c: Likewise.
20214 * normal/cmdline.c: Likewise.
20215 * normal/misc.c: Likewise.
20216 * normal/datetime.c: Likewise.
20217 * bus/usb/usbtrans.c: Likewise.
20218 * bus/usb/ohci.c: Likewise.
20219 * bus/usb/uhci.c: Likewise.
20220 * bus/usb/usb.c: Likewise.
20221 * mmap/efi/mmap.c: Likewise.
20222 * mmap/i386/pc/mmap_helper.S: Likewise.
20223 * mmap/i386/pc/mmap.c: Likewise.
20224 * mmap/i386/mmap.c: Likewise.
20225 * mmap/i386/uppermem.c: Likewise.
20226 * mmap/mmap.c: Likewise.
20227 * commands/acpi.c: Likewise.
20228 * commands/echo.c: Likewise.
20229 * commands/blocklist.c: Likewise.
20230 * commands/loadenv.c: Likewise.
20231 * commands/usbtest.c: Likewise.
20232 * commands/boot.c: Likewise.
20233 * commands/parttool.c: Likewise.
20234 * commands/search.c: Likewise.
20235 * commands/cat.c: Likewise.
20236 * commands/i386/pc/play.c: Likewise.
20237 * commands/i386/pc/drivemap.c: Likewise.
20238 * commands/i386/pc/vbeinfo.c: Likewise.
20239 * commands/i386/pc/acpi.c: Likewise.
20240 * commands/i386/pc/vbetest.c: Likewise.
20241 * commands/ls.c: Likewise.
20242 * commands/cmp.c: Likewise.
20243 * commands/test.c: Likewise.
20244 * commands/efi/acpi.c: Likewise.
20245 * commands/gptsync.c: Likewise.
20246 * commands/help.c: Likewise.
20247 * partmap/amiga.c: Likewise.
20248 * partmap/apple.c: Likewise.
20249 * partmap/acorn.c: Likewise.
20250 * partmap/pc.c: Likewise.
20251 * partmap/sun.c: Likewise.
20252 * partmap/gpt.c: Likewise.
20253 * script/sh/lexer.c: Likewise.
20254 * script/sh/function.c: Likewise.
20255 * font/font.c: Likewise.
20256 * font/font_cmd.c: Likewise.
20257 * loader/powerpc/ieee1275/linux.c: Likewise.
20258 * loader/efi/chainloader.c: Likewise.
20259 * loader/multiboot_loader.c: Likewise.
20260 * loader/macho.c: Likewise.
20261 * loader/i386/multiboot.c: Likewise.
20262 * loader/i386/linux.c: Likewise.
20263 * loader/i386/pc/linux.c: Likewise.
20264 * loader/i386/pc/multiboot2.c: Likewise.
20265 * loader/i386/pc/chainloader.c: Likewise.
20266 * loader/i386/pc/xnu.c: Likewise.
20267 * loader/i386/bsd_trampoline.S: Likewise.
20268 * loader/i386/efi/linux.c: Likewise.
20269 * loader/i386/multiboot_elfxx.c: Likewise.
20270 * loader/i386/bsd_helper.S: Likewise.
20271 * loader/i386/bsd.c: Likewise.
20272 * loader/i386/linux_trampoline.S: Likewise.
20273 * loader/i386/xnu_helper.S: Likewise.
20274 * loader/i386/xnu.c: Likewise.
20275 * loader/i386/bsd_pagetable.c: Likewise.
20276 * loader/i386/multiboot_helper.S: Likewise.
20277 * loader/xnu.c: Likewise.
20278 * loader/xnu_resume.c: Likewise.
20279 * io/gzio.c: Likewise.
20280 * term/efi/console.c: Likewise.
20281 * term/terminfo.c: Likewise.
20282 * term/ieee1275/ofconsole.c: Likewise.
20283 * term/i386/pc/serial.c: Likewise.
20284 * term/i386/pc/vesafb.c: Likewise.
20285 * term/i386/pc/vga.c: Likewise.
20286 * term/usb_keyboard.c: Likewise.
20287 * term/gfxterm.c: Likewise.
20288 * aclocal.m4: Likewise.
20289 * util/lvm.c: Likewise.
20290 * util/grub.d/30_os-prober.in: Likewise.
20291 * util/grub.d/10_hurd.in: Likewise.
20292 * util/console.c: Likewise.
20293 * util/grub-macho2img.c: Likewise.
20294 * util/grub-probe.c: Likewise.
20295 * util/hostfs.c: Likewise.
20296 * util/i386/pc/grub-mkimage.c: Likewise.
20297 * util/i386/pc/grub-setup.c: Likewise.
20298 * util/i386/efi/grub-mkimage.c: Likewise.
20299 * util/grub-mkconfig.in: Likewise.
20300 * util/raid.c: Likewise.
20301 * util/resolve.c: Likewise.
20302 * util/grub-mkdevicemap.c: Likewise.
20303 * util/grub-emu.c: Likewise.
20304 * util/getroot.c: Likewise.
20305 * util/hostdisk.c: Likewise.
20306 * util/usb.c: Likewise.
20307 * util/grub-editenv.c: Likewise.
20308 * util/misc.c: Likewise.
20309
20310 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
20311
20312 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
20313 `genparttoollist.sh'.
20314 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
20315 Add `*.sh' to the list find searches for and change `mdate.sh'
20316 to `mdate-sh'.
20317
20318 2009-06-10 Pavel Roskin <proski@gnu.org>
20319
20320 * include/grub/multiboot2.h: Provide compatibility defines for
20321 multiboot2.h.
20322 * include/multiboot2.h: Include stdint.h only if needed, using
20323 angle brackets.
20324 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
20325 grub/multiboot2.h.
20326 * loader/ieee1275/multiboot2.c: Likewise.
20327 * loader/multiboot2.c: Likewise.
20328 * loader/multiboot_loader.c: Likewise.
20329
20330 * configure.ac: Use -nostdlib when probing for the target. It
20331 should not be required to have libc for the target.
20332
20333 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
20334 they fail without libc headers for the target.
20335 * include/grub/powerpc/libgcc.h: Use weak attribute for all
20336 exports.
20337 * include/grub/sparc64/libgcc.h: Likewise. Don't use
20338 preprocessor conditionals.
20339
20340 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
20341 build system doesn't need to be aware of the tar.c internals.
20342
20343 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
20344
20345 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
20346
20347 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
20348
20349 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
20350 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20351
20352 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
20353
20354 * util/i386/pc/grub-install.in: Change the error message if UUIDs
20355 aren't available if ata.mod gets used.
20356
20357 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
20358
20359 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
20360 initialising controller.
20361 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20362
20363 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20364
20365 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20366 to choose between ata and biosdisk module on i386-pc.
20367
20368 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
20369
20370 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20371 Subclass and Programming Interface fields in terms of the 3 byte
20372 Class Code register.
20373 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20374
20375 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20376 interface is OHCI. Add grub_dprintf for symmetry with
20377 bus/usb/uhci.c.
20378 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20379 interface is UHCI. Add interf variable for programming
20380 interface. Print interface with class/subclass.
20381
20382 * bus/usb/ohci.c: Set interf with correct field.
20383
20384 * bus/usb/uhci.c: Remove unneeded doubled lines.
20385 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20386 Remove whitespace inside comment.
20387
20388 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20389
20390 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20391 as fallback an equivalent option without depth.
20392
20393 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 Not fail if unable to retrieve C/H/S on LBA disks
20396
20397 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
20398 if unable to retrieve C/H/S on LBA disks
20399
20400 2009-06-08 Pavel Roskin <proski@gnu.org>
20401
20402 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20403 about aliasing.
20404
20405 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20406
20407 * Makefile.in (uninstall): Remove all $lib_DATA files.
20408
20409 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 Bugfix: install on partitionless device
20412
20413 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20414 is a whole disk
20415
20416 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20417
20418 * Makefile.in (uninstall): Remove all $include_DATA files.
20419
20420 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20421
20422 * commands/true.c: New file. Implement the true and false commands.
20423 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20424 (true_mod_SOURCES): New variable.
20425 (true_mod_CFLAGS): Likewise.
20426 (true_mod_LDFLAGS): Likewise.
20427
20428 2009-06-05 Colin D Bennett <colin@gibibit.com>
20429
20430 Optimized font character lookup using binary search instead of linear
20431 search. Fonts now are required to have the character index ordered by
20432 code point.
20433
20434 * font/font.c (load_font_index): Verify that fonts have ordered
20435 character indices.
20436 (find_glyph): Use binary search instead of linear search to find a
20437 character in a font.
20438
20439 2009-06-05 Michael Scherer <misc@mandriva.org>
20440
20441 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20442 uses case sensitive btree.
20443 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20444 only for case insensitive filesystems.
20445
20446 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20449 * conf/common.rmk (search_mod_CFLAGS): likewise
20450
20451 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
20454 compensate a compiler bug
20455
20456 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
20459 instead of '\b'
20460
20461 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 Definitions for creating asm symbols with Apple's CC
20464
20465 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20466 [APPLE_CC] (VARIABLE): likewise
20467
20468 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 Disable lnxboot.img when compiled
20471 with Apple's CC
20472
20473 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20474 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20475 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20476 [! APPLE_CC] (CODE_LENG): skip
20477 [! APPLE_CC] (setup_sects): likewise
20478 [! APPLE_CC]: skip filling
20479
20480 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 Address in trampolines based on 32-bit registers when compiled
20483 with Apple's CC
20484
20485 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
20486 for addresses
20487 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20488
20489 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20492
20493 * kern/misc.c [APPLE_CC] (memcpy): new function
20494 [APPLE_CC] (memmove): likewise
20495 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
20496 (memcpy): define alias conditionally on !APPLE_CC
20497 (memset): likewise
20498 (abort): likewise
20499 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20500 APPLE_CC are defined
20501 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20502 (grub_assert_fail): make prototype conditional
20503
20504 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20507
20508 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20509 grub-macho2img
20510 (CLEANFILES): add grub-macho2img
20511 (grub_macho2img_SOURCES): new variable
20512 * kern/i386/pc/startup.S (bss_start): new variable
20513 (bss_end): likewise
20514 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20515 * util/grub-macho2img.c: new file
20516
20517 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Use objconv when compiling with Apple's CC
20520
20521 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20522 (efiemu64.o): likewise
20523 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20524 when compiling with Apple's CC
20525 (efiemu64_s.o): likewise
20526 * configure.ac: check for objconv when compiling with Apple's CC
20527 * genmk.rb: use objconv for modules when compiled with Apple's CC
20528
20529 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 Define segment as well as section when compiling with
20532 Apple's CC
20533
20534 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20535 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20536 (efiemu_convert_pointer): likewise
20537 (efiemu_set_virtual_address_map): likewise
20538 (efiemu_convert_pointer): likewise
20539 (efiemu_getcrc32): likewise
20540 (init_crc32_table): likewise
20541 (reflect): likewise
20542 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20543 (GRUB_MOD_DEP): likewise
20544
20545 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 Allow a compilation without -mcmodel=large
20548
20549 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20550 when compiled without -mcmodel=large
20551 (filter_memory_map): remove memory post 4 GiB when compiled
20552 without -mcmodel=large
20553 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
20554 TARGET_CFLAGS when -mcmodel=large isn't supported
20555
20556 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 Remove nested functions in efiemu core
20559
20560 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
20561
20562 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20565
20566 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20567 temporary storage
20568 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20569 using Apple's CC
20570 (grub_cpu_is_tsc_supported): likewise
20571 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
20572
20573 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 Absolute addressing through constant with Apple's cc
20576
20577 * kern/i386/pc/startup.S: Define necessary constants
20578 and address through it when using ABS with Apple's CC
20579 * boot/i386/pc/diskboot.S: likewise
20580 * boot/i386/pc/boot.S: likewise
20581 * boot/i386/pc/lnxboot.S: likewise
20582 * boot/i386/pc/cdboot.S: likewise
20583 * mmap/i386/pc/mmap_helper.S: likewise
20584 * commands/i386/pc/drivemap_int13h.S: likewise
20585
20586 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 Check if compiler is apple cc
20589
20590 * Makefile.in (ASFLAGS): new variable
20591 (TARGET_ASFLAGS): likewise
20592 (TARGET_MODULE_FORMAT): likewise
20593 (TARGET_APPLE_CC): likewise
20594 (OBJCONV): likewise
20595 (TARGET_IMG_CFLAGS): likewise
20596 (TARGET_CPPFLAGS): add includedir
20597 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20598 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20599 Check for linker script only if compiler isn't Apple's CC
20600 (TARGET_MODULE_FORMAT): set
20601 (TARGET_APPLE_CC): likewise
20602 (TARGET_ASFLAGS): likewise
20603 (ASFLAGS): likewise
20604 Check for objcopy only if compiler isn't Apple's CC
20605 Check for BSS symbol only if compiler isn't Apple's CC
20606 * genmk.rb: adapt nm options if we use Apple's utils
20607 * aclocal.m4 (grub_apple_cc): new test
20608 (grub_apple_target_cc): likewise
20609
20610 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 Simplify sed expressions and improve awk
20613
20614 * Makefile.in (install-local): simplify sed expression
20615 * gencmdlist.sh: likewise
20616 * genmoddep.awk: avoid adding module as a dependency of itself
20617
20618 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 Add missing start symbols
20621
20622 * boot/i386/pc/boot.S: add start
20623 * boot/i386/pc/pxeboot.S: likewise
20624
20625 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 Fix wrong assumptions with grub-mkimage on EFI
20628
20629 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
20630 (relocate_addresses): consider both r_addend and value at offset
20631 (make_mods_section): zerofill modinfo and header
20632 (convert_elf): write prefix here
20633
20634 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 Use .asciz instead of .string
20637
20638 * i386/pc/diskboot.S: use .asciz instead of .string
20639 * i386/pc/boot.S: likewise
20640 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20641 (GRUB_MOD_NAME): likewise
20642
20643 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 gfxpayload support
20646
20647 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20648 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20649 (grub_video_setup): remove
20650 (grub_video_set_mode): new prototype
20651 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20652 (vid_mode): remove
20653 (linux_vesafb_res): compile only on PCBIOS
20654 (grub_linux_boot): support gfxpayload
20655 * loader/i386/pc/xnu.c (video_hook): new function
20656 (grub_xnu_set_video): support gfxpayload
20657 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20658 (DEFAULT_VIDEO_HEIGHT): likewise
20659 (DEFAULT_VIDEO_FLAGS): likewise
20660 (DEFAULT_VIDEO_MODE): new definition
20661 (video_hook): new function
20662 (grub_gfxterm_init): use grub_video_set_mode
20663 * util/grub.d/30_os-prober.in: remove explicit modesetting before
20664 loading xnu
20665 * video/video.c (grub_video_setup): removed
20666 (grub_video_set_mode): new function based on grub_gfxterm_init and
20667 grub_video_setup
20668
20669 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 Avoid calling biosdisk in drivemap
20672
20673 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20674 (revparse_biosdisk): likewise
20675 (list_mappings): derive name from id directly
20676 (grub_cmd_drivemap): use tryparse_diskstring
20677
20678 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 Script fixes
20681
20682 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20683 (grub_lexer_param): add tokenonhold
20684 (grub_script_create_cmdline): remove cmdline. All callers updated
20685 (grub_script_function_create): make functionname
20686 grub_script_arg. All callers updated
20687 (grub_script_execute_argument_to_string): new prototype
20688 * kern/parser.c (state_transitions): reorder
20689 (grub_parser_cmdline_state): fix a bug and make more compact
20690 * script/sh/execute.c (grub_script_execute_argument_to_string):
20691 make global
20692 (grub_script_execute_cmdline): use new format
20693 * script/sh/function.c (grub_script_function_create): make functionname
20694 grub_script_arg. All callers updated
20695 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
20696 (grub_script_yylex): remove
20697 (grub_script_yylex2): renamed to ...
20698 (grub_script_yylex): ...renamed
20699 parse the expressions like a${b}c
20700 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20701 (GRUB_PARSER_TOKEN_VAR): remove
20702 (GRUB_PARSER_TOKEN_NAME): likewise
20703 ("if"): declare as typeless
20704 ("while"): likewise
20705 ("function"): likewise
20706 ("else"): likewise
20707 ("then"): likewise
20708 ("fi"): likewise
20709 (text): remove
20710 (argument): likewise
20711 (script): accept empty scripts and make exit on error
20712 (arguments): use GRUB_PARSER_TOKEN_ARG
20713 (function): likewise
20714 (command): move error handling to script
20715 (menuentry): move grub_script_lexer_ref before
20716 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
20717 argument. All callers updated
20718
20719 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20720
20721 Prevent GRUB from probing floppies during boot.
20722
20723 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20724 * commands/search.c (options): Add --no-floppy.
20725 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20727 --no-floppy when searching for UUIDs.
20728
20729 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20730
20731 Simplify the code duplication in commands/search.c.
20732
20733 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20734 (search_fs): ... this. Update all users.
20735
20736 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
20737
20738 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20739
20740 2009-05-28 Pavel Roskin <proski@gnu.org>
20741
20742 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20743 Remove the original symlink explicitly.
20744
20745 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20746 just one slash. That's how grub_fshelp_find_file() does it.
20747
20748 2009-05-26 Pavel Roskin <proski@gnu.org>
20749
20750 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20751 to `str'.
20752
20753 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20754 possibly unused.
20755
20756 2009-05-25 Christian Franke <franke@computer.org>
20757
20758 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20759 register.
20760 (grub_atapi_identify): Add wait after drive select.
20761 (grub_ata_identify): Do more strict status register check before
20762 calling grub_atapi_identify (). Suppress error message if status
20763 register is 0x00 after command failure. Add status register
20764 check after PIO read to avoid bogus identify due to stuck DRQ.
20765 Thanks to Pavel Roskin for testing.
20766 (grub_device_initialize): Remove unsafe status register check.
20767 Thanks to 'phcoder' for problem report and patch.
20768 Prevent sign extension in debug message.
20769
20770 2009-05-23 Colin D Bennett <colin@gibibit.com>
20771
20772 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20773 definition file, and functions defined in `normal/menu.c' have had
20774 their prototypes moved to `include/grub/menu.h' for consistency.
20775
20776 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20777 from normal.h.
20778 (grub_menu_get_entry): Likewise.
20779 (grub_menu_get_timeout): Likewise.
20780 (grub_menu_set_timeout): Likewise.
20781 (grub_menu_execute_entry): Likewise.
20782 (grub_menu_execute_with_fallback): Likewise.
20783 (grub_menu_entry_run): Likewise.
20784
20785 * include/grub/normal.h: Re-ordered and grouped function
20786 prototypes by file that the function is defined in.
20787 (grub_menu_execute_callback): Removed; moved to menu.h.
20788 (grub_menu_get_entry): Likewise.
20789 (grub_menu_get_timeout): Likewise.
20790 (grub_menu_set_timeout): Likewise.
20791 (grub_menu_execute_entry): Likewise.
20792 (grub_menu_execute_with_fallback): Likewise.
20793 (grub_menu_entry_run): Likewise.
20794 (grub_menu_addentry): Renamed from this ...
20795 (grub_normal_add_menu_entry): ... to this.
20796
20797 * normal/main.c (grub_menu_addentry): Renamed from this ...
20798 (grub_normal_add_menu_entry): ... to this.
20799
20800 * script/sh/execute.c (grub_script_execute_menuentry): Update
20801 reference to renamed grub_menu_addentry function.
20802
20803 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
20804
20805 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20806
20807 2009-05-22 Pavel Roskin <proski@gnu.org>
20808
20809 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20810 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20811 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20812 compiling for the i386 targets, but not for the utilities.
20813
20814 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20815 to grub_uint8_t.
20816 (grub_root_drive): Likewise.
20817 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20818 remove alignment.
20819 (grub_root_drive): Change size to byte.
20820 (grub_start_addr): Remove.
20821 (grub_end_addr): Likewise.
20822 (grub_apm_bios_info): Likewise.
20823
20824 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
20825
20826 * normal/i386: Remove.
20827 * normal/powerpc: Likewise.
20828 * normal/sparc64: Likewise.
20829 * normal/x86_64: Likewise.
20830
20831 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
20834 * loader/i386/linux_trampoline.S: Fix indentation
20835 * loader/i386/xnu_helper.S: Likewise
20836
20837 2009-05-18 Colin D Bennett <colin@gibibit.com>
20838
20839 Display error messages when parsing a Lua statement fails.
20840 Previously, executing a syntactically invalid statement like
20841 ")foo" or "bar;" would silently fail.
20842
20843 * script/lua/grub_main.c (handle_lua_error): New function.
20844 (grub_lua_parse_line): Improved reporting of Lua parser and
20845 execution errors.
20846
20847 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 Remove -Werror which causes build to fail on some systems
20850
20851 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20852 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20853 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
20854
20855 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 trampoline for linux on 64-bit platform
20858
20859 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20860 loader/i386/efi/linux_trampoline.S
20861 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
20862 declaration
20863 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20864 here
20865 * loader/i386/linux_trampoline.S: moved here
20866 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20867 trampoline
20868 (jumpvector): removed
20869 (grub_linux_trampoline_start): new declaration
20870 (grub_linux_trampoline_end): likewise
20871 (grub_linux_boot): use trampoline when on 64-bit platform
20872 * loader/i386/linux.c: likewise
20873
20874 2009-05-16 Pavel Roskin <proski@gnu.org>
20875
20876 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20877 const to avoid a warning.
20878 (grub_lua_setenv): Likewise.
20879 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20880 lmsg to fix a warning.
20881
20882 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20883
20884 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
20885 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20886 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20887 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20888 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20889 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20890 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20891 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20892
20893 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20894
20895 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20896
20897 2009-05-16 Bean <bean123ch@gmail.com>
20898
20899 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20900 (lua_mod_SOURCES): New variable.
20901 (lua_mod_CFLAGS): Likewise.
20902 (lua_mod_LDFLAGS): Likewise.
20903
20904 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20905 (setjmp_mod_SOURCES): New variable.
20906 (setjmp_mod_CFLAGS): Likewise.
20907 (setjmp_LDFLAGS): Likewise.
20908
20909 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20910 (setjmp_mod_SOURCES): New variable.
20911 (setjmp_mod_CFLAGS): Likewise.
20912 (setjmp_LDFLAGS): Likewise.
20913
20914 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20915 (setjmp_mod_SOURCES): New variable.
20916 (setjmp_mod_CFLAGS): Likewise.
20917 (setjmp_LDFLAGS): Likewise.
20918
20919 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20920 (setjmp_mod_SOURCES): New variable.
20921 (setjmp_mod_CFLAGS): Likewise.
20922 (setjmp_LDFLAGS): Likewise.
20923
20924 * normal/i386/setjmp.S: Moved from here ...
20925 * lib/i386/setjmp.S: ... Moved here
20926 * normal/x86_64/setjmp.S: Moved from here ...
20927 * lib/x86_64/setjmp.S: ... Moved here
20928 * normal/powerpc/setjmp.S: Moved from here ...
20929 * lib/powerpc/setjmp.S: ... Moved here
20930 * normal/sparc64/setjmp.S: Moved from here ...
20931 * lib/sparc64/setjmp.S: ... Moved here
20932
20933 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20934 returns_twice in mingw.
20935
20936 * script/lua/grub_lib.c: New file.
20937 * script/lua/grub_lib.h: Likewise.
20938 * script/lua/grub_lua.h: Likewise.
20939 * script/lua/grub_main.c: Likewise.
20940 * script/lua/lapi.c: Likewise.
20941 * script/lua/lapi.h: Likewise.
20942 * script/lua/lauxlib.c: Likewise.
20943 * script/lua/lauxlib.h: Likewise.
20944 * script/lua/lbaselib.c: Likewise.
20945 * script/lua/lcode.c: Likewise.
20946 * script/lua/lcode.h: Likewise.
20947 * script/lua/ldblib.c: Likewise.
20948 * script/lua/ldebug.c: Likewise.
20949 * script/lua/ldebug.h: Likewise.
20950 * script/lua/ldo.c: Likewise.
20951 * script/lua/ldo.h: Likewise.
20952 * script/lua/ldump.c: Likewise.
20953 * script/lua/lfunc.c: Likewise.
20954 * script/lua/lfunc.h: Likewise.
20955 * script/lua/lgc.c: Likewise.
20956 * script/lua/lgc.h: Likewise.
20957 * script/lua/linit.c: Likewise.
20958 * script/lua/liolib.c: Likewise.
20959 * script/lua/llex.c: Likewise.
20960 * script/lua/llex.h: Likewise.
20961 * script/lua/llimits.h: Likewise.
20962 * script/lua/lmathlib.c: Likewise.
20963 * script/lua/lmem.c: Likewise.
20964 * script/lua/lmem.h: Likewise.
20965 * script/lua/loadlib.c: Likewise.
20966 * script/lua/lobject.c: Likewise.
20967 * script/lua/lobject.h: Likewise.
20968 * script/lua/lopcodes.c: Likewise.
20969 * script/lua/lopcodes.h: Likewise.
20970 * script/lua/loslib.c: Likewise.
20971 * script/lua/lparser.c: Likewise.
20972 * script/lua/lparser.h: Likewise.
20973 * script/lua/lstate.c: Likewise.
20974 * script/lua/lstate.h: Likewise.
20975 * script/lua/lstring.c: Likewise.
20976 * script/lua/lstring.h: Likewise.
20977 * script/lua/lstrlib.c: Likewise.
20978 * script/lua/ltable.c: Likewise.
20979 * script/lua/ltable.h: Likewise.
20980 * script/lua/ltablib.c: Likewise.
20981 * script/lua/ltm.c: Likewise.
20982 * script/lua/ltm.h: Likewise.
20983 * script/lua/lua.h: Likewise.
20984 * script/lua/luaconf.h: Likewise.
20985 * script/lua/lualib.h: Likewise.
20986 * script/lua/lundump.c: Likewise.
20987 * script/lua/lundump.h: Likewise.
20988 * script/lua/lvm.c: Likewise.
20989 * script/lua/lvm.h: Likewise.
20990 * script/lua/lzio.c: Likewise.
20991 * script/lua/lzio.h: Likewise.
20992
20993 2009-05-16 Bean <bean123ch@gmail.com>
20994
20995 * include/grub/kernel.h (grub_module_header_types): Add type
20996 OBJ_TYPE_CONFIG.
20997
20998 * kern/main.c (grub_load_config): New function.
20999 (grub_main): Call grub_load_config to read boot config.
21000
21001 * grub-mkimage (generate_image): New parameter config_path.
21002 (options): New option --config.
21003 (main): Parse --config option, and pass it to generate_image.
21004
21005 2009-05-14 Christian Franke <franke@computer.org>
21006
21007 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21008 This fixes build on Cygwin.
21009
21010 2009-05-14 Pavel Roskin <proski@gnu.org>
21011
21012 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21013 jump. This saves two bytes, so the typical case of 2 swapped
21014 drives would fit 32 bytes.
21015
21016 2009-05-13 Pavel Roskin <proski@gnu.org>
21017
21018 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21019 grub_uint32_t to avoid a warning.
21020
21021 * loader/i386/linux.c (allocate_pages): When assigning
21022 real_mode_mem, cast through grub_size_t to fix a warning. The
21023 code already makes sure that the value would fit a pointer.
21024 (grub_linux_setup_video): Cast render_target->data to
21025 grub_size_t to fix a warning.
21026
21027 2009-05-13 Javier Martín <lordhabbit@gmail.com>
21028
21029 * commands/i386/pc/drivemap.c: New file - implement drivemap
21030 command.
21031 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21032 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21033
21034 2009-05-13 Pavel Roskin <proski@gnu.org>
21035
21036 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21037 embedding_area_exists.
21038
21039 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21040
21041 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21042 it easier to understand / work with.
21043 Improve warning messages for cases where there's no embedding area,
21044 or when it is too small (or core.img too large).
21045
21046 2009-05-13 Pavel Roskin <proski@gnu.org>
21047
21048 * loader/i386/pc/multiboot2.c: Add necessary includes for
21049 grub_multiboot2_real_boot().
21050
21051 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21052 PX record is always little-endian. We only need the lower 2
21053 bytes of the mode.
21054
21055 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
21056 facilitate code reuse.
21057 (grub_cpio_mount): Use "struct head", not a char buffer. This
21058 fixes a warning reported by gcc 4.4.
21059
21060 * kernel/disk.c (grub_disk_read): Use void pointer for the
21061 buffer.
21062 (grub_disk_write): Use const void pointer for the buffer.
21063 Adjust all callers. Remove unnecessary casts.
21064
21065 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 * util/i386/pc/grub-install.in: Update copyright year.
21068
21069 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 gptsync
21072
21073 * commands/gptsync.c: new file
21074 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
21075 (gptsync_mod_SOURCES): new variable
21076 (gptsync_mod_CFLAGS): likewise
21077 (gptsync_mod_LDFLAGS): likewise
21078 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
21079 new definition
21080 (GRUB_PC_PARTITION_TYPE_HFS): likewise
21081 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
21082 * conf/i386-ieee1275.rmk: likewise
21083 * conf/i386-pc.rmk: likewise
21084 * conf/powerpc-ieee1275.rmk: likewise
21085
21086 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 Fixed grub-emu
21089
21090 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
21091 (grub_dl_ref): likewise
21092
21093 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
21094
21095 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
21096 split in two functions (one for msdos and one for gpt).
21097
21098 2009-05-08 Pavel Roskin <proski@gnu.org>
21099
21100 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
21101 not modified.
21102
21103 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
21104 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
21105 Initialize them with -1. Add sanity check for bad1. Eliminate
21106 nerr variable.
21107
21108 2009-05-08 David S. Miller <davem@davemloft.net>
21109
21110 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
21111
21112 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
21113
21114 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
21115 existence.
21116
21117 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
21118
21119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21120 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
21121
21122 2009-05-05 David S. Miller <davem@davemloft.net>
21123
21124 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
21125
21126 2009-05-05 Pavel Roskin <proski@gnu.org>
21127
21128 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
21129 of grub_dl_ref() and grub_dl_unref().
21130 * commands/parttool.c: Remove preprocessor conditionals around
21131 grub_dl_ref() and grub_dl_unref().
21132 * fs/affs.c: Likewise.
21133 * fs/afs.c: Likewise.
21134 * fs/cpio.c: Likewise.
21135 * fs/ext2.c: Likewise.
21136 * fs/fat.c: Likewise.
21137 * fs/hfs.c: Likewise.
21138 * fs/hfsplus.c: Likewise.
21139 * fs/iso9660.c: Likewise.
21140 * fs/jfs.c: Likewise.
21141 * fs/minix.c: Likewise.
21142 * fs/ntfs.c: Likewise.
21143 * fs/reiserfs.c: Likewise.
21144 * fs/sfs.c: Likewise.
21145 * fs/udf.c: Likewise.
21146 * fs/ufs.c: Likewise.
21147 * fs/xfs.c: Likewise.
21148 * include/grub/dl.h: Likewise.
21149 * loader/xnu.c: Likewise.
21150
21151 2009-05-04 Pavel Roskin <proski@gnu.org>
21152
21153 * commands/acpi.c: Remove unused variable my_mod.
21154 * partmap/amiga.c: Likewise.
21155 * partmap/apple.c: Likewise.
21156 * partmap/gpt.c: Likewise.
21157 * partmap/pc.c: Likewise.
21158 * partmap/sun.c: Likewise.
21159 * term/gfxterm.c: Likewise.
21160 * term/i386/pc/vesafb.c: Likewise.
21161 * term/i386/pc/vga.c: Likewise.
21162
21163 2009-05-04 David S. Miller <davem@davemloft.net>
21164
21165 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
21166 pointer args to grub_ieee1275_get_property().
21167
21168 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
21169
21170 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
21171 devices, and do not traverse down under controller nodes.
21172
21173 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
21174 (grub_ofdisk_open): Use it to un-escape "," characters.
21175 * kern/disk.c (find_part_sep): New.
21176 (grub_disk_open): Use it to find the first non-escaped ','
21177 character in the disk name.
21178 * util/ieee1275/devicemap.c (escape_of_path): New.
21179 (grub_util_emit_devicemap_entry): Use it.
21180 * util/sparc64/ieee1275/grub-install.in: Update script to
21181 strip partition specifiers properly by not triggering on
21182 '\' escaped ',' characters.
21183
21184 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21185
21186 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
21187 to 0x300.
21188 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
21189 resolutions.
21190 (linux_vesafb_modes): Add a lot of additional modes to the list (based
21191 on documentation from Wikipedia).
21192
21193 2009-05-04 Pavel Roskin <proski@gnu.org>
21194
21195 * disk/ata.c: Spelling fixes.
21196 * disk/raid.c: Likewise.
21197 * disk/usbms.c: Likewise.
21198 * disk/dmraid_nvidia.c: Likewise.
21199 * kern/ieee1275/openfw.c: Likewise.
21200 * kern/ieee1275/init.c: Likewise.
21201 * kern/ieee1275/cmain.c: Likewise.
21202 * boot/i386/pc/cdboot.S: Likewise.
21203 * video/readers/png.c: Likewise.
21204 * video/i386/pc/vbe.c: Likewise.
21205 * fs/udf.c: Likewise.
21206 * fs/hfs.c: Likewise.
21207 * fs/reiserfs.c: Likewise.
21208 * efiemu/runtime/efiemu.c: Likewise.
21209 * efiemu/main.c: Likewise.
21210 * efiemu/mm.c: Likewise.
21211 * include/grub/elf.h: Likewise.
21212 * include/grub/xnu.h: Likewise.
21213 * include/grub/usbdesc.h: Likewise.
21214 * include/grub/usb.h: Likewise.
21215 * include/grub/script_sh.h: Likewise.
21216 * include/grub/lib/LzmaEnc.h: Likewise.
21217 * include/grub/efiemu/efiemu.h: Likewise.
21218 * include/grub/command.h: Likewise.
21219 * normal/menu.c: Likewise.
21220 * normal/main.c: Likewise.
21221 * normal/datetime.c: Likewise.
21222 * bus/usb/uhci.c: Likewise.
21223 * mmap/i386/uppermem.c: Likewise.
21224 * mmap/mmap.c: Likewise.
21225 * commands/acpi.c: Likewise.
21226 * commands/test.c: Likewise.
21227 * partmap/apple.c: Likewise.
21228 * font/font.c: Likewise.
21229 * loader/sparc64/ieee1275/linux.c: Likewise.
21230 * loader/macho.c: Likewise.
21231 * loader/i386/bsd_trampoline.S: Likewise.
21232 * loader/i386/bsd.c: Likewise.
21233 * loader/xnu.c: Likewise.
21234 * term/i386/pc/vesafb.c: Likewise.
21235 * term/usb_keyboard.c: Likewise.
21236 * util/resolve.c: Likewise.
21237 * util/getroot.c: Likewise.
21238
21239 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
21240
21241 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
21242
21243 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21244
21245 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
21246 build error.
21247
21248 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
21251 parameter only available on BIOS.
21252
21253 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 Removed wrong semicolon in declaration
21256
21257 * grub/misc.h (grub_dprintf): remove semicolon
21258
21259 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21260
21261 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
21262 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
21263 is done by grub_cmd_linux() now).
21264 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
21265 restore video to text mode.
21266 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
21267 indicates lack of "vga=" parameter. "vga=0" is mapped to
21268 `GRUB_LINUX_VID_MODE_NORMAL'.
21269
21270 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
21271
21272 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
21273 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
21274 and `normal/script.c'. Add `kern/rescue_reader.c',
21275 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
21276 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
21277 `grub_script.tab.c'.
21278
21279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21280 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21282 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21283 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21284
21285 * Makefile.in: Remove duplicated 2008 in Copyright line.
21286
21287 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21288
21289 * util/misc.c (grub_util_warn): New function. Emits a warning
21290 unconditionally.
21291 * include/grub/util/misc.h (grub_util_warn): New declaration.
21292
21293 * util/i386/pc/grub-install.in: Understand --force and pass it down
21294 to grub-setup.
21295
21296 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
21297 down to setup().
21298 (setup): Improve error messages and add warnings when requested to
21299 install in odd layouts. Refuse to install using blocklists unless
21300 --force was set.
21301
21302 2009-05-04 martin f. krafft <madduck@madduck.net>
21303
21304 * disk/raid.c (grub_raid_scan_device): Improve debug message.
21305
21306 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 Updated copyright year
21309
21310 * fs/hfsplus.c: updated copyright year
21311
21312 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 HFS+ UUID
21315
21316 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
21317 in the space previously used by unused3
21318 (grub_hfsplus_uuid): new function
21319 (grub_hfsplus_fs): added uuid field
21320
21321 2009-05-03 Pavel Roskin <proski@gnu.org>
21322
21323 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
21324 suppress warnings. It's no longer needed.
21325 * disk/host.c: Likewise.
21326 * disk/ata_pthru.c: Likewise.
21327 * disk/loopback.c: Likewise.
21328 * hook/datehook.c: Likewise.
21329 * parttool/pcpart.c: Likewise.
21330 * fs/i386/pc/pxe.c: Likewise.
21331 * fs/ntfscomp.c: Likewise.
21332 * efiemu/main.c: Likewise.
21333 * mmap/mmap.c: Likewise.
21334 * commands/crc.c: Likewise.
21335 * commands/hexdump.c: Likewise.
21336 * commands/hdparm.c: Likewise.
21337 * commands/acpi.c: Likewise.
21338 * commands/echo.c: Likewise.
21339 * commands/minicmd.c: Likewise.
21340 * commands/blocklist.c: Likewise.
21341 * commands/memrw.c: Likewise.
21342 * commands/loadenv.c: Likewise.
21343 * commands/usbtest.c: Likewise.
21344 * commands/lsmmap.c: Likewise.
21345 * commands/boot.c: Likewise.
21346 * commands/parttool.c: Likewise.
21347 * commands/configfile.c: Likewise.
21348 * commands/search.c: Likewise.
21349 * commands/ieee1275/suspend.c: Likewise.
21350 * commands/cat.c: Likewise.
21351 * commands/i386/pc/pxecmd.c: Likewise.
21352 * commands/i386/pc/play.c: Likewise.
21353 * commands/i386/pc/halt.c: Likewise.
21354 * commands/i386/pc/vbeinfo.c: Likewise.
21355 * commands/i386/pc/vbetest.c: Likewise.
21356 * commands/lspci.c: Likewise.
21357 * commands/date.c: Likewise.
21358 * commands/handler.c: Likewise.
21359 * commands/ls.c: Likewise.
21360 * commands/test.c: Likewise.
21361 * commands/cmp.c: Likewise.
21362 * commands/efi/loadbios.c: Likewise.
21363 * commands/efi/fixvideo.c: Likewise.
21364 * commands/halt.c: Likewise.
21365 * commands/help.c: Likewise.
21366 * commands/reboot.c: Likewise.
21367 * hello/hello.c: Likewise.
21368 * script/sh/main.c: Likewise.
21369 * loader/xnu.c: Likewise.
21370 * term/terminfo.c: Likewise.
21371 * term/i386/pc/serial.c: Likewise.
21372 * term/usb_keyboard.c: Likewise.
21373
21374 2009-05-03 David S. Miller <davem@davemloft.net>
21375
21376 * normal/menu.c: Include grub/parser.h
21377
21378 2009-05-03 Pavel Roskin <proski@gnu.org>
21379
21380 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21381 not char*.
21382 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21383 Suggested by Javier Martín <lordhabbit@gmail.com>
21384
21385 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21386 efiemu??.o doesn't exist.
21387 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21388 copying.
21389
21390 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 FreeBSD 64-bit support
21393
21394 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
21395 and loader/i386/bsd_trampoline.S
21396 (bsd_mod_ASFLAGS): new variable
21397 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21398 (FREEBSD_MODTYPE_KERNEL64): likewise
21399 (grub_bsd64_trampoline_start): likewise
21400 (grub_bsd64_trampoline_end): likewise
21401 (grub_bsd64_trampoline_selfjump): likewise
21402 (grub_bsd64_trampoline_gdt): likewise
21403 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21404 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21405 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21406 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
21407 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21408 of "attrib" member
21409 * loader/i386/bsd_pagetable.c: new file
21410 * loader/i386/bsd_trampoline.S: likewise
21411 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21412 (ALIGN_VAR): likewise
21413 (entry_hi): new variable
21414 (kern_end_mdofs): likewise
21415 (is_64bit): likewise
21416 (grub_freebsd_add_meta): use ALIGN_VAR
21417 (grub_e820_mmap): new declaration
21418 (grub_freebsd_add_mmap): new function
21419 (grub_freebsd_add_meta_module): support 64 bit kernels
21420 (grub_freebsd_list_modules): use ALIGN_VAR
21421 (gdt_descriptor): new declaration
21422 (grub_freebsd_boot): support 64 bit kernels
21423 (grub_bsd_elf64_hook): new function
21424 (grub_bsd_load_elf): support elf64
21425
21426 2009-05-03 Bean <bean123ch@gmail.com>
21427
21428 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21429 after we get the result of if statement.
21430
21431 2009-05-03 Bean <bean123ch@gmail.com>
21432
21433 * Makefile.in (enable_efiemu): New variable.
21434
21435 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21436 set.
21437 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21438 path.
21439 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21440 path, add -mno-red-zone option.
21441 (efiemu64_s.o): Likewise.
21442 (efiemu64.o): Use macro $^ for source file.
21443
21444 * configure.ac (--enable-efiemu): New option.
21445
21446 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 xnu support
21449
21450 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21451 (pkglib_MODULES): add xnu.mod
21452 (xnu_mod_SOURCES): new variable
21453 (xnu_mod_CFLAGS): likewise
21454 (xnu_mod_LDFLAGS): likewise
21455 (xnu_mod_ASFLAGS): likewise
21456 * conf/i386-pc.rmk: likewise
21457 * conf/x86_64-efi.rmk: likewise
21458 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
21459 new declaration
21460 * include/grub/i386/macho.h: new file
21461 * include/grub/i386/xnu.h: likewise
21462 * include/grub/macho.h: likewise
21463 * include/grub/machoload.h: likewise
21464 * include/grub/x86_64/macho.h: likewise
21465 * include/grub/x86_64/xnu.h: likewise
21466 * include/grub/xnu.h: likewise
21467 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21468 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21469 * loader/i386/efi/xnu.c: new file
21470 * loader/i386/pc/xnu.c: likewise
21471 * loader/i386/xnu.c: likewise
21472 * loader/i386/xnu_helper.S: likewise
21473 * loader/macho.c: likewise
21474 * loader/xnu.c: likewise
21475 * loader/xnu_resume.c: likewise
21476 * util/grub-dumpdevtree: likewise
21477 * include/grub/i386/pit.h: include grub/err.h
21478 (grub_pit_wait): export
21479 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
21480
21481 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 Efiemu
21484
21485 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
21486 _linux_efi, linux_efi.
21487 new files in grub-emu
21488 new targets efiemu32.o and efiemu64.o
21489 * loader/linux_normal_efiemu.c: likewise
21490 * loader/i386/efi/linux.c: added preliminary efiemu support
21491 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
21492 files to copy
21493 * include/grub/autoefi.h: new file
21494 * include/grub/i386/efiemu.h: likewise
21495 * include/grub/i386/pc/efiemu.h: likewise
21496 * include/grub/efi/api.h: add LL suffix when necessary
21497 new definitions relating to tables
21498 * include/grub/efiemu/efiemu.h: new file
21499 * include/grub/efiemu/runtime.h: likewise
21500 * efiemu/prepare.c: likewise
21501 * efiemu/loadcore_common.c: likewise
21502 * efiemu/loadcore64.c: likewise
21503 * efiemu/runtime/efiemu.sh: likewise
21504 * efiemu/runtime/efiemu.S: likewise
21505 * efiemu/runtime/efiemu.c: likewise
21506 * efiemu/runtime/config.h: likewise
21507 * efiemu/prepare32.c: likewise
21508 * efiemu/main.c: likewise
21509 * efiemu/modules/pnvram.c: likewise
21510 * efiemu/modules/i386: likewise
21511 * efiemu/modules/i386/pc: likewise
21512 * efiemu/modules/acpi.c: likewise
21513 * efiemu/i386/pc/cfgtables.c: likewise
21514 * efiemu/i386/loadcore64.c: likewise
21515 * efiemu/i386/loadcore32.c: likewise
21516 * efiemu/prepare64.c: likewise
21517 * efiemu/loadcore.c: likewise
21518 * efiemu/symbols.c: likewise
21519 * efiemu/mm.c: likewise
21520 * efiemu/loadcore32.c: likewise
21521
21522 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 ACPI spoofing
21525
21526 * commands/acpi.c: new file
21527 * commands/i386/pc/acpi.c: likewise
21528 * commands/efi/acpi.c: likewise
21529 * include/grub/acpi.h: likewise
21530 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21531 (acpi_mod_SOURCES): new variable
21532 (acpi_mod_CFLAGS): likewise
21533 (acpi_mod_LDFLAGS): likewise
21534 * conf/i386-efi.rmk: likewise
21535 * conf/x86_64-efi.rmk: likewise
21536
21537 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 Missing part from mmap patch
21540
21541 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21542 (grub_mmap_unregister)
21543 (grub_mmap_free_and_unregister): use grub_mmap_register
21544
21545 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 Mmap services
21548
21549 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21550 * loader/i386/linux.c (find_mmap_size): likewise
21551 (allocate_pages): likewise
21552 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21553 (grub_fill_multiboot_mmap): likewise
21554 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21555 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21556 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21557 (OPENBSD_MMAP_RESERVED): likewise
21558 * include/grub/i386/pc/memory.h: include grub/memory.h
21559 (grub_lower_mem): removed
21560 (grub_upper_mem): likewise
21561 (GRUB_MACHINE_MEMORY_ACPI): new definition
21562 (GRUB_MACHINE_MEMORY_NVS): likewise
21563 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21564 (GRUB_MACHINE_MEMORY_HOLE): likewise
21565 (grub_machine_mmap_register): likewise
21566 (grub_machine_mmap_unregister): likewise
21567 (grub_machine_get_upper): likewise
21568 (grub_machine_get_lower): likewise
21569 (grub_machine_get_post64): likewise
21570 * include/grub/i386/efi/memory.h: new file
21571 * include/grub/x86_64/efi/memory.h: likewise
21572 * include/grub/efi/memory.h: likewise
21573 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21574 (mmap_mod_SOURCES): new variable
21575 (mmap_mod_LDFLAGS): likewise
21576 (mmap_mod_ASFLAGS): likewise
21577 * conf/i386-coreboot.rmk: likewise
21578 * conf/i386-ieee1275.rmk: likewise
21579 * conf/i386-efi.rmk: likewise
21580 * conf/x86_64-efi.rmk: likewise
21581 * include/grub/types.h (UINT_TO_PTR): new macro
21582 (PTR_TO_UINT32): likewise
21583 (PTR_TO_UINT64): likewise
21584 * include/grub/memory.h: new file
21585 * mmap/i386/pc/mmap.c: likewise
21586 * mmap/i386/pc/mmap_helper.S: likewise
21587 * mmap/i386/uppermem.c: likewise
21588 * mmap/mmap.c: likewise
21589 * mmap/efi/mmap.c: likewise
21590 * kern/i386/coreboot/init.c (grub_machine_init): don't use
21591 grub_upper_mem
21592 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21593 (grub_upper_mem): likewise
21594 (grub_machine_init): don't use grub_upper_mem,
21595 make grub_lower_mem local
21596 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21597 grub_mmap_iterate and grub_mmap_get_upper
21598 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21599
21600 2009-05-02 Bean <bean123ch@gmail.com>
21601
21602 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21603 script/sh/parser.y.
21604 (pkglib_MODULES): Add normal.mod and sh.mod.
21605 (normal_SOURCES): New variable.
21606 (normal_mod_CFLAGS): Likewise.
21607 (normal_mod_LDFLAGS): Likewise.
21608 (sh_mod_SOURCES): Likewise.
21609 (sh_mod_CFLAGS): Likewise.
21610 (sh_mod_LDFLAGS): Likewise.
21611
21612 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21613 script/sh/lexer.c_DEPENDENCIES.
21614 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21615 kern/rescue_reader.c and kern/rescue_parser.c.
21616 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21617 (grub_emu_SOURCES): Change source files.
21618 (pkglib_MODULES): Remove normal.mod.
21619 (normal_SOURCES): Removed.
21620 (normal_mod_CFLAGS): Likewise.
21621 (normal_mod_LDFLAGS): Likewise.
21622 * conf/i386-coreboot.rmk: Likewise.
21623 * conf/i386-efi.rmk: Likewise.
21624 * conf/i386-ieee1276.rmk: Likewise.
21625 * conf/powerpc-ieee1275.rmk: Likewise.
21626 * conf/sparc64-ieee1275.rmk: Likewise.
21627 * conf/x86_64-efi.rmk: Likewise.
21628
21629 * include/grub/command.h (grub_command_execute): New inline function.
21630
21631 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21632
21633 * include/grub/normal.h: Remove <grub/setjmp.h>.
21634 (grub_fs_module_list): Moved to normal/autofs.c.
21635 (grub_exit_env): Removed.
21636 (grub_command_execute): Likewise.
21637 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21638 parameter script.
21639 (read_command_list): New function declaration.
21640 (read_fs_list): Likewise.
21641
21642 * include/parser.h: Include <grub/reader.h>.
21643 (grub_parser_split_cmdline): Change type of getline parameter.
21644 (grub_parser): New structure.
21645 (grub_parser_class): New variable.
21646 (grub_parser_execute): New function declaration.
21647 (grub_register_rescue_parser): Likewise.
21648 (grub_parser_register): New inline function.
21649 (grub_parser_unregister): Likewise.
21650 (grub_parser_get_current): Likewise.
21651 (grub_parser_set_current): Likewise.
21652
21653 * include/grub/reader.h: New file.
21654 * kern/reader.c: Likewise.
21655 * kern/rescue_parser.c: Likewise.
21656 * kern/rescue_reader.c: Likewise.
21657 * normal/autofs.c: Likewise.
21658 * normal/dyncmd.c: Likewise.
21659
21660 * include/grub/rescue.h: Removed.
21661 * normal/command.h: Likewise.
21662
21663 * include/grub/script.h: Moved to ...
21664 * include/grub/script_sh.h: ... Moved here.
21665 * normal/execute.c: Moved to ...
21666 * script/sh/execute.c: ... Moved here.
21667 * normal/function.c: Moved to ...
21668 * script/sh/function.c: ... Moved here.
21669 * normal/lexer.c: Moved to ...
21670 * script/sh/lexer.c: ... Moved here.
21671 * normal/parser.y: Moved to ...
21672 * script/sh/parser.y: ... Moved here.
21673 * normal/script.c: Moved to ...
21674 * script/sh/script.c: ... Moved here.
21675
21676 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21677 <grub/reader.h>.
21678 (grub_exit_env): Removed.
21679 (fs_module_list): Moved to normal/autofs.c.
21680 (grub_file_getline): Don't handle comment here.
21681 (free_menu): Skip removed field entry->commands.
21682 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21683 script parameter.
21684 (read_config_file): Removed nested parameter, change getline function.
21685 (grub_enter_normal_mode): Removed.
21686 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21687 (read_command_list): Likewise.
21688 (autoload_fs_module): Moved to normal/autofs.c.
21689 (read_fs_list): Likewise.
21690 (reader_nested): New variable.
21691 (grub_normal_execute): Run parser.sh to switch to sh parser.
21692 (grub_cmd_rescue): Removed.
21693 (cmd_normal): Removed.
21694 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21695 rescue command.
21696 (grub_cmdline_run): New function.
21697 (grub_normal_reader_init): Likewise.
21698 (grub_normal_read_line): Likewise.
21699 (grub_env_write_pager): Likewise.
21700 (cmdline): New variable.
21701 (grub_normal_reader): Likewise.
21702 (GRUB_MOD_INIT): Register normal reader and set as current, register
21703 pager hook, register normal command with grub_register_command_prio,
21704 so that it won't show up in command.lst.
21705 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21706 grub_fs_autoload_hook.
21707
21708 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21709 (grub_menu_execute_entry): Replace grub_script_execute with
21710 grub_parser_execute, change parameter to grub_command_execute.
21711
21712 * normal/menu_text.c: Remove <grub/script.h>.
21713
21714 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21715 and <grub/parser.h>.
21716 (run): Change editor_getline to use new parser interface. Change
21717 parameter to grub_command_execute.
21718
21719 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21720 <grub/reader.h> and <grub/parser.h>.
21721 (grub_load_normal_mode): Execute normal command.
21722 (grub_main): Call grub_register_core_commands,
21723 grub_register_rescue_parser and grub_register_rescue_reader, use
21724 grub_reader_loop to enter input loop.
21725
21726 * kern/parser.c (grub_parser_split_cmdline): Change type of
21727 getline parameter.
21728 (grub_parser_class): New variable.
21729 (grub_parser_execute): New function.
21730
21731 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21732 * loader/multiboot2.c: Likewise.
21733 * loader/sparc64/ieee1275/linux.c: Likewise.
21734
21735 * util/grub-emu.c (read_command_list): New dummy function.
21736
21737 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21738
21739 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21740 count to 16 for CCISS and IDA.
21741
21742 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 * normal/menu_text.c (grub_wait_after_message): Print a newline
21745 after waiting for user input.
21746
21747 * loader/i386/linux.c: Include `<grub/normal.h>'.
21748 (grub_cmd_linux): Improve the error message about `ask' mode, by
21749 waiting for user input so it's not missed (we can do this, since
21750 user requested interaction).
21751
21752 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 Added missing lst to grub-mkrescue
21755
21756 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21757 and ${input_dir}/parttool.lst
21758
21759 2009-04-30 David S. Miller <davem@davemloft.net>
21760
21761 * util/hostdisk.c (device_is_wholedisk): New function.
21762 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21763 zero only if device_is_wholedisk() returns true.
21764
21765 * util/hostdisk.c (convert_system_partition_to_system_disk):
21766 Handle virtual disk devices named /dev/vdiskX as found on sparc
21767 and powerpc.
21768
21769 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21770 lettered partition specifier is found, convert to numbered.
21771
21772 2009-04-29 David S. Miller <davem@davemloft.net>
21773
21774 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21775 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21776
21777 * normal/command.c: Add missing newline at end of file.
21778
21779 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21780 warnings.
21781 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21782 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21783 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21784 ihandles have a 32-bit type but need to be stored in a "void *".
21785
21786 2009-04-28 Pavel Roskin <proski@gnu.org>
21787
21788 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21789 not disk. Adjust all dependencies.
21790 (grub_fs_uuid_close): Use grub_device_close(), not
21791 grub_disk_close().
21792
21793 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21794 parent's partition, don't copy it by reference, as it gets freed
21795 on close.
21796
21797 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 Preboot hooks support
21800
21801 * commands/boot.c (struct grub_preboot_t): new declaration
21802 (preboots_head): new variable
21803 (preboots_tail): likewise
21804 (grub_loader_register_preboot_hook): new function
21805 (grub_loader_unregister_preboot_hook): likewise
21806 (grub_loader_set): launch preboot hooks
21807 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21808 (grub_loader_register_preboot_hook): new declaration
21809 (grub_loader_unregister_preboot_hook): likewise
21810
21811 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 Warning fix
21814
21815 * disk/scsi.c (grub_scsi_open): added missing cast when
21816 calling grub_dprintf
21817
21818 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 Bug and warning fixes
21821
21822 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
21823 declaration
21824 * commands/test.c (test_parse): fixed bug with file tests and corrected
21825 declaration of find_file
21826
21827 2009-04-26 Pavel Roskin <proski@gnu.org>
21828
21829 * Makefile.in: Don't install empty manual pages if help2man is
21830 missing. Use help2man option for output, not shell redirection.
21831
21832 2009-04-26 David S. Miller <davem@davemloft.net>
21833
21834 * util/grub-mkdevicemap.c (make_device_map): Add missing
21835 NESTED_FUNC_ATTR to process_device().
21836
21837 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 Test command
21840
21841 * commands/test.c: rewritten to use bash-like test
21842
21843 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 Parttool autoloading and improvements
21846
21847 * Makefile.in (pkglib_DATA): add parttool.lst
21848 (parttool.lst): new target
21849 * genmk.rb: generate parttool-*
21850 (CLEANFILES): add #{parttool}
21851 (PARTTOOLFILES): new variable
21852 * genparttoollist.sh: new file
21853 * parttool/pcpart.c (grub_pcpart_boot): more feedback
21854 (grub_pcpart_type): likewise
21855 * commands/parttool.c (helpmsg): new variable
21856 (grub_cmd_parttool): output help if not enough arguments are supplied
21857 autoload modules
21858 (GRUB_MOD_INIT(parttool)): use helpmsg
21859
21860 2009-04-24 David S. Miller <davem@davemloft.net>
21861
21862 Avoiding opening same device multiple times in device iterator.
21863
21864 * kern/device.c: (grub_device_iterate): Define struct part_ent,
21865 and use it to build a list of partitions in iterate_disk() and
21866 iterate_partition().
21867
21868 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21869 on disk->data.
21870
21871 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21872 grub_devalias_iterate() result instead of unconditional 0.
21873 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21874 Also, capture hook return value, either directly or via
21875 grub_children_iterate(), and propagate to caller.
21876 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21877 grub_children_iterate): Return value is now 'int' instead of
21878 'grub_err_t'.
21879 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21880 like a proper iterator, stopping when hooks return non-zero.
21881 (grub_devalias_iterate): Likewise.
21882
21883 2009-04-23 David S. Miller <davem@davemloft.net>
21884
21885 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21886
21887 2009-04-22 David S. Miller <davem@davemloft.net>
21888
21889 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21890 is larger than address_cells, use that value for address_cells too.
21891
21892 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21893 IEEE1275_MAX_PATH_LEN): Define.
21894 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21895 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21896 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21897 'devtype'. Explicitly NULL terminate devalias expansion.
21898
21899 * util/sparc64/ieee1275/misc.c: New file.
21900 * util/sparc64/ieee1275/grub-setup.c: New file.
21901 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21902 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21903 * util/sparc64/ieee1275/grub-install.in: New file.
21904 * util/ieee1275/ofpath.c: New file.
21905 * util/ieee1275/devicemap.c: New file.
21906 * util/devicemap.c: New file.
21907 * util/deviceiter.c: New file.
21908 * kern/sparc64/ieee1275/init.c: New file.
21909 * include/grub/util/ofpath.h: New file.
21910 * include/grub/util/deviceiter.h: New file.
21911 * util/grub-mkdevicemap.c: Include deviceiter.h.
21912 Implement using grub_util_emit_devicemap_entry and
21913 grub_util_iterate_devices.
21914 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21915 util/devicemap.c into grub-mkdevicemap
21916 * conf/i386-efi.rmk: Likewise.
21917 * conf/i386-ieee1275.rmk: Likewise.
21918 * conf/i386-pc.rmk: Likewise.
21919 * conf/powerpc-ieee1275.rmk: Likewise.
21920 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21921 images and installation utilities. Build kernel as image
21922 instead of as elf binary. Use common rules as much as possible.
21923
21924 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 Correct GPT definition
21927
21928 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21929 of "attrib" member
21930
21931 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
21932
21933 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21934
21935 2009-04-19 David S. Miller <davem@davemloft.net>
21936
21937 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21938 (grub_rescue_cmd_linux): Rename to...
21939 (grub_cmd_linux): and fix prototype.
21940 (grub_rescue_cmd_initrd): Rename to...
21941 (grub_cmd_initrd): and fix prototype.
21942 (cmd_linux, cmd_initrd): New.
21943 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21944 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21945
21946 2009-04-17 Pavel Roskin <proski@gnu.org>
21947
21948 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21949 format.
21950 (grub_ohci_transfer): Likewise.
21951
21952 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21953
21954 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21955 return without a value. Fix inconsistent indentation.
21956
21957 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21958 match struct grub_fs.
21959
21960 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21961 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21962 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21963 * commands/lspci.c (grub_lspci_iter): Likewise.
21964
21965 2009-04-16 Bean <bean123ch@gmail.com>
21966
21967 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21968 value.
21969
21970 2009-04-15 Pavel Roskin <proski@gnu.org>
21971
21972 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21973 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21974 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21975 definitions.
21976
21977 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21978
21979 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
21980 that no multiple data or metadata areas are supported and `Unknown
21981 metadata header'.
21982
21983 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 Move loader out of the kernel
21986
21987 * kern/loader.c: moved to ...
21988 * commands/boot.c: ... moved here
21989 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21990 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21991 * include/grub/kernel.h (grub_machine_fini): export
21992 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21993 (grub_loader_set): likewise
21994 (grub_loader_unset): likewise
21995 (grub_loader_boot): likewise
21996 * conf/common.rmk: new module boot.mod
21997 (pkglib_MODULES): add boot.mod
21998 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21999 (grub_emu_SOURCES): likewise
22000 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22001 (grub_emu_SOURCES): likewise
22002 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22003 (grub_emu_SOURCES): likewise
22004 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22005 (grub_emu_SOURCES): likewise
22006 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22007 (grub_emu_SOURCES): likewise
22008 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22009 (grub_emu_SOURCES): likewise
22010 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
22011 (grub_emu_SOURCES): likewise
22012
22013 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
22016
22017 * kern/misc.c (grub_itoa): Removed function
22018 (grub_ltoa): likewise
22019 (grub_vsprintf): use grub_lltoa
22020
22021 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 Restore grub-emu
22024
22025 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22026 * conf/i386-coreboot.rmk: likewise
22027 * conf/i386-ieee1275.rmk: likewise
22028 * conf/powerpc-ieee1275.rmk: likewise
22029
22030 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
22031
22032 * INSTALL: Add that `./autogen.sh' needs to be run before
22033 `./configure.'.
22034
22035 2009-04-14 Bean <bean123ch@gmail.com>
22036
22037 * Makefile.in (pkglib_DATA): Add handler.lst.
22038 (handler.lst): New rule.
22039
22040 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22041 * conf/i386-coreboot.rmk: Likewise.
22042 * conf/i386-ieee1275.rmk: Likewise.
22043 * conf/i386-efi.rmk: Likewise.
22044 * conf/x86_64-efi.rmk: Likewise.
22045 * conf/powerpc-ieee1275.rmk: Likewise.
22046 * conf/sparc64-ieee1275.rmk: Likewise.
22047
22048 * genhandlerlist.sh: New file.
22049
22050 * genmk.rb: Add rules to generate handler.lst.
22051
22052 * include/grub/normal.h (grub_file_getline): New function definition.
22053 (read_handler_list): Likewise.
22054 (free_handler_list): Likewise.
22055
22056 * include/grub/term.h (grub_term_register_input): Add name parameter
22057 for auto generation of handler.lst.
22058 (grub_term_register_output): Likewise.
22059
22060 * normal/handler.c: New file.
22061
22062 * normal/main.c (get_line): Renamed to grub_file_getline.
22063 (read_config_file): Use the newly renamed grub_file_getline.
22064 (read_command_list): Likewise.
22065 (read_fs_list): Likewise.
22066 (grub_normal_execute): Call read_handler_list to parse handler.lst.
22067 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
22068
22069 * term/efi/console.c (grub_console_init): Add name parameter for auto
22070 generation of handler.lst.
22071 * term/gfxterm.c: Likewise.
22072 * term/i386/pc/at_keyboard.c: Likewise.
22073 * term/i386/pc/console.c: Likewise.
22074 * term/i386/pc/serial.c: Likewise.
22075 * term/i386/pc/vesafb.c: Likewise.
22076 * term/i386/pc/vga.c: Likewise.
22077 * term/i386/pc/vga_text.c: Likewise.
22078 * term/ieee1275/ofconsole.c: Likewise.
22079 * term/usb_keyboard.c: Likewise.
22080
22081 2009-04-14 Bean <bean123ch@gmail.com>
22082
22083 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
22084 properly with null character.
22085
22086 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
22087
22088 * configure: Remove.
22089 * config.h.in: Likewise.
22090 * stamp-h.in: Likewise.
22091 * DISTLIST: Likewise.
22092 * conf/common.mk: Likewise.
22093 * conf/i386-coreboot.mk: Likewise.
22094 * conf/i386-efi.mk: Likewise.
22095 * conf/i386-ieee1275.mk: Likewise.
22096 * conf/i386.mk: Likewise.
22097 * conf/i386-pc.mk: Likewise.
22098 * conf/powerpc-ieee1275.mk: Likewise.
22099 * conf/sparc64-ieee1275.mk: Likewise.
22100 * conf/x86_64-efi.mk: Likewise.
22101
22102 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
22103 develop on GRUB.
22104
22105 2009-04-14 John Stanley <jpsinthemix@verizon.net>
22106 David S. Miller <davem@davemloft.net>
22107
22108 * util/hostdisk.c (make_device_name): Fix buffer length
22109 calculations.
22110
22111 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
22112
22113 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
22114 <sys/param.h> and <sys/sysctl.h>.
22115 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
22116 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
22117 opening the device and reset them afterwards.
22118
22119 2009-04-13 Pavel Roskin <proski@gnu.org>
22120
22121 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
22122 Reported by John Stanley <jpsinthemix@verizon.net>
22123
22124 2009-04-13 Robert Millan <rmh@aybabtu.com>
22125
22126 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
22127 that name for menuentries when appropriate.
22128
22129 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22130
22131 * util/grub.d/10_freebsd.in: Add a missing `fi'.
22132
22133 2009-04-13 Robert Millan <rmh@aybabtu.com>
22134
22135 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
22136 to Linux, simply abort telling the user it's no longer supported.
22137
22138 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22139
22140 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
22141 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
22142 `freebsd_loadenv' only when devices.hints exist.
22143
22144 2009-04-13 Pavel Roskin <proski@gnu.org>
22145
22146 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
22147
22148 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22149
22150 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
22151 partition number.
22152 (grub_drive): Likewise.
22153
22154 2009-04-13 David S. Miller <davem@davemloft.net>
22155
22156 * kern/sparc64/ieee1275/ieee1275.c: New file.
22157 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
22158 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
22159 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
22160 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
22161 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
22162 grub_ieee1275_alloc_physmem): Declare new exported functions.
22163
22164 * include/grub/sparc64/ieee1275/loader.h: New file.
22165 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22166 * include/grub/sparc64/kernel.h: Likewise.
22167 * loader/sparc64/ieee1275/linux.c: Likewise.
22168
22169 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
22170 (grub_fstest_SOURCES): Likewise.
22171
22172 * util/hostdisk.c (make_device_name): Do not make any assumptions
22173 about the length of drive names.
22174
22175 * kern/dl.c (grub_dl_load_file): Close file immediately when
22176 we are done using it.
22177
22178 2009-04-12 David S. Miller <davem@davemloft.net>
22179
22180 * kern/misc.c (grub_ltoa): Fix cast when handling negative
22181 values. Noticed by Pavel Roskin.
22182
22183 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
22184 target compiler.
22185
22186 * genmk.rb: Add more flexible image type specification, also
22187 pass --strip-unneeded to objcopy.
22188 * conf/i386-pc.rmk: Use *_FORMAT.
22189 * conf/i386-pc.mk: Rebuilt.
22190
22191 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
22192 (OFDISK_HASH_SZ): Define.
22193 (ofdisk_hash): New hash table.
22194 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
22195 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
22196 instead of device phandle which is not unique.
22197
22198 * kern/sparc64/ieee1275/init.c: Delete, replace with...
22199 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
22200 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
22201 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
22202 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
22203 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
22204 GRUB_KERNEL_MACHINE_DATA_END): Define.
22205 (grub_kernel_image_size, grub_total_module_size): Declare.
22206
22207 2009-04-12 Pavel Roskin <proski@gnu.org>
22208
22209 * configure.ac: Change the logic when we check for target tools.
22210 Do it when the target is specified and it's different from the
22211 specified value of the host.
22212
22213 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
22214
22215 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
22216 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
22217 GNU/kFreeBSD. Check if a device is a character device. Use
22218 DIOCGMEDIASIZE to get the size.
22219 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
22220 support for GNU/kFreeBSD.
22221 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
22222 is a character device instead of a block device. Add support for
22223 FreeBSD device names.
22224
22225 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
22226 is a character device instead of a block device.
22227
22228 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
22229 is a character device instead of a block device.
22230
22231 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
22232
22233 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
22234 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
22235 FreeBSD. Check if a device is a character device. Use
22236 DIOCGMEDIASIZE to get the size.
22237 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
22238 support for FreeBSD.
22239 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
22240 is a character device instead of a block device. Add support for
22241 FreeBSD device names.
22242
22243 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
22244 a character device instead of a block device.
22245 (grub_util_check_char_device): New function.
22246
22247 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
22248 a character device instead of a block device.
22249
22250 * include/grub/util/getroot.h (grub_util_check_char_device): New
22251 prototype.
22252
22253 2009-04-11 David S. Miller <davem@davemloft.net>
22254
22255 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
22256 static libgcc.
22257 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
22258 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
22259 function, if present.
22260 (__bswapdi2): Likewise.
22261
22262 * include/grub/sparc64/ieee1275/boot.h: New file.
22263 * boot/sparc64/ieee1275/boot.S: Likewise.
22264 * boot/sparc64/ieee1275/diskboot.S: Likewise.
22265
22266 * kern/misc.c (grub_ltoa): New function.
22267 (grub_vsprintf): Use it to format 'long' integers.
22268
22269 2009-04-10 David S. Miller <davem@davemloft.net>
22270
22271 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
22272 slots are of type grub_ieee1275_cell_t.
22273 (grub_nand_read): Likewise.
22274 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
22275 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
22276 macros are used to compare values in arg/ret block of the call.
22277 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22278 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
22279 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
22280 grub_ieee1275_instance_to_path, grub_ieee1275_write,
22281 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
22282 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
22283 grub_ieee1275_close, grub_ieee1275_set_property,
22284 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
22285 grub_ieee1275_cell_t.
22286 * kern/ieee1275/openfw.c (grub_map): Likewise.
22287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
22288 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
22289
22290 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
22291 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
22292 (grub_devalias_iterate): Likewise.
22293
22294 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22295
22296 UFS improvements
22297
22298 * fs/ufs.c (INODE_NBLOCKS): new definition
22299 (struct grub_ufs_dirent): added fields for non-BSD dirents
22300 (grub_ufs_get_file_block): fixed double indirect handling
22301 (grub_ufs_lookup_symlink): use more robust way to determine whether
22302 symlink is inline
22303 (grub_ufs_find_file): support for non-BSD dirents
22304 (grub_ufs_dir): support for non-BSD dirents
22305
22306 2009-04-10 Bean <bean123ch@gnail.com>
22307
22308 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
22309 attribute, otherwise the size would be wrong for i386 platform.
22310
22311 * include/grub/pci.h (grub_pci_read_word): New inline function.
22312 (grub_pci_read_byte): Likewise.
22313 (grub_pci_write): Likewise.
22314 (grub_pci_write_word): Likewise.
22315 (grub_pci_write_byte): Likewise.
22316
22317 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
22318
22319 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
22320 (find_framebuf): Scan pci to locate the frame buffer address.
22321
22322 * commands/efi/fixvideo.c: New file.
22323
22324 * commands/efi/loadbios.c: Likewise.
22325
22326 * commands/memrw.c: Likewise.
22327
22328 * util/grub-dumpbios.in: Likewise.
22329
22330 * conf/common.rmk (grub-dumpbios): New utility.
22331 (pkglib_MODULES): New module memrw.mod.
22332 (memrw_mod_SOURCE): New macro.
22333 (memrw_mod_CFLAGS): Likewise.
22334 (memrw_mod_LDFLAGS): Likewise.
22335
22336 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
22337 fixvideo.mod.
22338 (loadbios_mod_SOURCE): New macro.
22339 (loadbios_mod_CFLAGS): Likewise.
22340 (loadbios_mod_LDFLAGS): Likewise.
22341 (fixvideo_mod_SOURCE): Likewise.
22342 (fixvideo_mod_CFLAGS): Likewise.
22343 (fixvideo_mod_LDFLAGS): Likewise.
22344
22345 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
22346 fixvideo.mod.
22347 (loadbios_mod_SOURCE): New macro.
22348 (loadbios_mod_CFLAGS): Likewise.
22349 (loadbios_mod_LDFLAGS): Likewise.
22350 (fixvideo_mod_SOURCE): Likewise.
22351 (fixvideo_mod_CFLAGS): Likewise.
22352 (fixvideo_mod_LDFLAGS): Likewise.
22353
22354 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
22355
22356 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22357
22358 2009-04-07 David S. Miller <davem@davemloft.net>
22359
22360 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22361 support for R_SPARC_OLO10 relocations. Fix compile warning for
22362 R_SPARC_WDISP30 case.
22363 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
22364
22365 2009-04-06 Pavel Roskin <proski@gnu.org>
22366
22367 * include/grub/misc.h (ARRAY_SIZE): New macro.
22368 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22369 New macro.
22370 * loader/i386/linux.c (allocate_pages): Use free_pages().
22371 (grub_linux_unload): Don't use free_pages().
22372 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22373 wrong index. Treat all other modes as text modes.
22374 (grub_cmd_linux): Initialize vid_mode unconditionally to
22375 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22376
22377 * commands/help.c (print_command_help): Use cmd->prio, not
22378 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22379
22380 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 Parttool
22383
22384 * parttool/pcpart.c: new file
22385 * commands/parttool.c: likewise
22386 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22387 (parttool_mod_SOURCES): new variable
22388 (parttool_mod_CFLAGS): likewise
22389 (parttool_mod_LDFLAGS): likewise
22390 (pcpart_mod_SOURCES): likewise
22391 (pcpart_mod_CFLAGS): likewise
22392 (pcpart_mod_LDFLAGS): likewise
22393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
22394 and parttool/pcpart.c
22395 * conf/i386-efi.rmk: likewise
22396 * conf/i386-ieee1275.rmk: likewise
22397 * conf/i386-pc.rmk: likewise
22398 * conf/powerpc-ieee1275.rmk: likewise
22399 * conf/sparc64-ieee1275.rmk: likewise
22400 * conf/x86_64-ieee1275.rmk: likewise
22401
22402 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 Support for mtime and further expandability of dir command
22405
22406 * include/grub/lib/datetime.h: moved to ...
22407 * include/grub/datetime.h: ... moved here and added
22408 declaration of grub_unixtime2datetime. All users updated
22409 * include/grub/fs.h: new syntax for dir and mtime functions in
22410 struct grub_fs
22411 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22412 and GRUB_FSHELP_FLAGS_MASK
22413 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22414 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22415 (grub_ext2_mtime): new function
22416 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22417 (grub_hfsplus_mtime): new function
22418 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22419 (GRUB_UFS_ATTR_FILE): likewise
22420 (GRUB_UFS_ATTR_LNK): likewise
22421 (struct grub_ufs_sblock): new fields mtime
22422 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22423 all users updated
22424 (grub_ufs_dir): mtime support
22425 (grub_ufs_mtime): new function
22426 * fs/affs.c (grub_affs_dir): use new dir syntax
22427 * fs/afs.c (grub_afs_dir): likewise
22428 * fs/cpio.c (grub_cpio_dir): likewise
22429 * fs/fat.c (grub_fat_find_dir): likewise
22430 * fs/hfs.c (grub_hfs_dir): likewise
22431 * fs/iso9660.c (grub_iso9660_dir): likewise
22432 * fs/jfs.c (grub_jfs_dir): likewise
22433 * fs/minix.c (grub_minix_dir): likewise
22434 * fs/ntfs.c (grub_ntfs_dir): likewise
22435 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22436 * fs/sfs.c (grub_sfs_dir): likewise
22437 * fs/xfs.c (grub_xfs_dir): likewise
22438 * util/hostfs.c (grub_hostfs_dir): likewise
22439 * lib/datetime.c: moved to ...
22440 * normal/datetime.c: ... moved here
22441 (grub_unixtime2datetime): new function
22442 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
22443 * normal/completion.c (iterate_dir): use new dir syntax
22444 * normal/misc.c (grub_normal_print_device_info): tell the
22445 last modification time of a volume
22446 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
22447 * conf/common.rmk: added lib/datetime.c to ls.mod
22448 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
22449 (normal_mod_SOURCES): likewise
22450 (datetime_mod_SOURCES): Removed lib/datetime.c
22451 * conf/i386-efi.rmk: likewise
22452 * conf/i386-ieee1275.rmk: likewise
22453 * conf/i386-pc.rmk: likewise
22454 * conf/powerpc-ieee1275.rmk: likewise
22455 * conf/sparc64-ieee1275.rmk: likewise
22456 * conf/x86_64-efi.rmk: likewise
22457
22458 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 Trim trailing spaces in FAT label and support mtools-like labels
22461
22462 * fs/fat.c (grub_fat_iterate_dir): New function based
22463 on grub_fat_find_dir
22464 (grub_fat_find_dir): use grub_fat_iterate_dir
22465 (grub_fat_label): likewise
22466
22467 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
22470 and command.h
22471 remove extraneous kernel_elf_HEADERS
22472
22473 2009-04-04 Bean <bean123ch@gnail.com>
22474
22475 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22476
22477 * util/misc.c: Likewise.
22478
22479 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22480
22481 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22482 instead of grub_printf.
22483
22484 2009-04-03 Robert Millan <rmh@aybabtu.com>
22485
22486 * loader/i386/linux.c (grub_linux_setup_video): Fill
22487 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22488 values from `mode info' structure instead of hardcoded
22489 values.
22490
22491 2009-04-01 Pavel Roskin <proski@gnu.org>
22492
22493 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22494 unused now.
22495 * genmk.rb: Likewise.
22496 * configure.ac: Likewise.
22497
22498 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22499
22500 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22501 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22502
22503 2009-04-01 David S. Miller <davem@davemloft.net>
22504
22505 * normal/sparc64/setjmp.S: Fix setjmp implementation.
22506 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
22507 (grub_setjmp): Mark with 'returns_twice' attribute.
22508 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22509 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22510 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22511
22512 2009-04-01 Robert Millan <rmh@aybabtu.com>
22513
22514 Reapply fix from 2008-07-28 which was accidentally reverted; also
22515 perform the same fix to a similar check in same function.
22516
22517 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22518 with the same number are found, just use issue a warning with
22519 grub_dprintf(), as this error has been reported to be non-fatal.
22520
22521 2009-03-31 Pavel Roskin <proski@gnu.org>
22522
22523 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22524 for cross-compilation.
22525
22526 2009-03-30 Robert Millan <rmh@aybabtu.com>
22527
22528 Fix i386-ieee1275 build.
22529
22530 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22531 Remove declaration.
22532
22533 2009-03-30 Pavel Roskin <proski@gnu.org>
22534
22535 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22536 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22537 zero-terminated, rely only on the strlen value. Fix comparison
22538 of strings differing in length.
22539
22540 2009-03-30 Robert Millan <rmh@aybabtu.com>
22541
22542 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22543 checking for abi version. Improve error messages on BIOS to notify
22544 user about `linux16' command.
22545
22546 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 Leak fixes
22549
22550 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22551 in case of collision
22552 * disk/scsi.c (grub_scsi_open): free scsi in case of error
22553
22554 2009-03-29 Robert Millan <rmh@aybabtu.com>
22555
22556 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22557 set `vid_mode' accordingly.
22558 (grub_linux_boot): Process `vid_mode' and set video mode.
22559
22560 2009-03-29 Robert Millan <rmh@aybabtu.com>
22561
22562 * util/grub.d/10_linux.in (linux_entry): New function.
22563 Factorize generation of Linux boot entries.
22564
22565 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22566
22567 Make the format of Environment Block plain text. The boot loader
22568 part is not tested well yet.
22569
22570 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22571 (buffer): Removed.
22572 (envblk): Likewise.
22573 (usage): Remove "info" and "clear". Add "unset". Update the
22574 description of "set", as this does not delete variables any
22575 longer.
22576 (create_envblk_file): Complete rewrite.
22577 (open_envblk_file): Likewise.
22578 (cmd_info): Removed.
22579 (cmd_list): Likewise.
22580 (cmd_set): Likewise.
22581 (cmd_clear): Likewise.
22582 (list_variables): New function.
22583 (write_envblk): Likewise.
22584 (set_variables): Likewise.
22585 (unset_variables): Likewise.
22586 (main): Complete rewrite.
22587
22588 * commands/loadenv.c (buffer): Removed.
22589 (envblk): Likewise.
22590 (open_envblk_file): New function.
22591 (read_envblk_file): Complete rewrite.
22592 (grub_cmd_load_env): Likewise.
22593 (grub_cmd_list_env): Likewise.
22594 (struct blocklist): New struct.
22595 (free_blocklists): New function.
22596 (check_blocklists): Likewise.
22597 (write_blocklists): Likewise.
22598 (grub_cmd_save_env): Complete rewrite.
22599
22600 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22601 a plain text signature.
22602 (GRUB_ENVBLK_MAXLEN): Removed.
22603 (struct grub_envblk): Complete rewrite.
22604 (grub_envblk_find): Removed.
22605 (grub_envblk_insert): Likewise.
22606 (grub_envblk_open): New prototype.
22607 (grub_envblk_set): Likewise.
22608 (grub_envblk_delete): Put const to VALUE.
22609 (grub_envblk_iterate): Put const to NAME and VALUE.
22610 (grub_envblk_close): New prototype.
22611 (grub_envblk_buffer): New inline function.
22612 (grub_envblk_size): Likewise.
22613
22614 * lib/envblk.c: Include grub/mm.h.
22615 (grub_env_find): Removed.
22616 (grub_envblk_open): New function.
22617 (grub_envblk_close): Likewise.
22618 (escaped_value_len): Likewise.
22619 (find_next_line): Likewise.
22620 (grub_envblk_insert): Removed.
22621 (grub_envblk_set): New function.
22622 (grub_envblk_delete): Complete rewrite.
22623 (grub_envblk_iterate): Likewise.
22624
22625 2009-03-28 Robert Millan <rmh@aybabtu.com>
22626
22627 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22628 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22629 variables. Use 16-bit loader.
22630 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22631 loader.
22632 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22633 (grub_linux16_boot): ... this. Update all users.
22634 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22635 (grub_linux_boot): ... this. Update all users.
22636
22637 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22638 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22639 commands to `linux16' and `initrd16'.
22640 (GRUB_MOD_FINI(linux)): Rename to ...
22641 (GRUB_MOD_FINI(linux16)): ... this.
22642
22643 2009-03-24 Pavel Roskin <proski@gnu.org>
22644
22645 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22646 not just for compilation.
22647
22648 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 Move multiboot helper out of kernel
22651
22652 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22653 `loader/i386/multiboot_helper.S'.
22654 * conf/i386-coreboot.rmk: Likewise
22655 * conf/i386-ieee1275.rmk: Likewise
22656
22657 * kern/i386/loader.S: Move multiboot helpers from here...
22658 * loader/i386/multiboot_helper.S: ...moved here
22659 * include/grub/i386/loader.h: Move declarations of multiboot
22660 helpers from here...
22661 * include/grub/i386/multiboot.h: ...moved here
22662 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22663
22664 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22665
22666 * kern/env.c (grub_env_context_open): Added an argument to specify
22667 whether a new context inherits exported variables from current
22668 one. This is useful when making a sandbox to interpret a config
22669 file.
22670 All callers updated.
22671
22672 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22673
22674 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22675
22676 * kern/env.c (grub_env_context_close): Fix memory leaks.
22677
22678 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22679
22680 * normal/main.c (grub_normal_execute): Added an argument
22681 BATCH to specify if an interactive interface should be provided
22682 after reading a config file.
22683 All callers updated.
22684 (read_command_list): Prevent being executed twice.
22685 (read_fs_list): Likewise.
22686
22687 * include/grub/normal.h (grub_normal_execute): Updated the
22688 prototype.
22689
22690 2009-03-22 Pavel Roskin <proski@gno.org>
22691
22692 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22693 _start.
22694 * kern/i386/pc/startup.S: Likewise.
22695 * kern/i386/efi/startup.S: Likewise.
22696 * kern/i386/ieee1275/startup.S: Likewise.
22697 * kern/i386/coreboot/startup.S: Likewise.
22698 * kern/x86_64/efi/startup.S: Likewise.
22699
22700 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22701 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22702 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22703
22704 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22707
22708 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22709 limit detection.
22710 Use vaddr of correct segment for entry_point.
22711
22712 2009-03-21 Bean <bean123ch@gmail.com>
22713
22714 * commands/blocklist.c: Add include file <grub/command.h>, remove
22715 <grub/normal.h> and <grub/arg.h>.
22716 (grub_cmd_blocklist): Use the new command interface.
22717 (GRUB_MOD_INIT): Likewise.
22718 (GRUB_MOD_FINI): Likewise.
22719 * commands/boot.c: Likewise.
22720 * commands/cat.c: Likewise.
22721 * commands/cmp.c: Likewise.
22722 * commands/configfile.c: Likewise.
22723 * commands/crc.c: Likewise.
22724 * commands/echo.c: Likewise.
22725 * commands/halt.c: Likewise.
22726 * commands/handler.c: Likewise.
22727 * commands/hdparm.c: Likewise.
22728 * commands/help.c: Likewise.
22729 * commands/hexdump.c: Likewise.
22730 * commands/loadenv.c: Likewise.
22731 * commands/ls.c: Likewise.
22732 * commands/lsmmap.c: Likewise.
22733 * commands/lspci.c: Likewise.
22734 * commands/loadenv.c: Likewise.
22735 * commands/read.c: Likewise.
22736 * commands/reboot.c: Likewise.
22737 * commands/search.c: Likewise.
22738 * commands/sleep.c: Likewise.
22739 * commands/test.c: Likewise.
22740 * commands/usbtest.c: Likewise.
22741 * commands/videotest.c: Likewise.
22742 * commands/i386/cpuid.c: Likewise.
22743 * commands/i386/pc/halt.c: Likewise.
22744 * commands/i386/pc/play.c: Likewise.
22745 * commands/i386/pc/pxecmd.c: Likewise.
22746 * commands/i386/pc/vbeinfo.c: Likewise.
22747 * commands/i386/pc/vbetest.c: Likewise.
22748 * commands/ieee1275/suspend.c: Likewise.
22749 * disk/loopback.c: Likewise.
22750 * font/font_cmd.c: Likewise.
22751 * hello/hello.c: Likewise.
22752 * loader/efi/appleloader.c: Likewise.
22753 * loader/efi/chainloader.c: Likewise.
22754 * loader/i386/bsd.c: Likewise.
22755 * loader/i386/efi/linux.c: Likewise.
22756 * loader/i386/ieee1275/linux.c: Likewise.
22757 * loader/i386/linux.c: Likewise.
22758 * loader/i386/pc/chainloader.c: Likewise.
22759 * loader/i386/pc/linux.c: Likewise.
22760 * loader/powerpc/ieee1275/linux.c: Likewise.
22761 * loader/multiboot_loader.c: Likewise.
22762 * term/gfxterm.c: Likewise.
22763 * term/i386/pc/serial.c: Likewise.
22764 * term/terminfo.c: Likewise.
22765
22766 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22767 * term/i386/pc/vga.c: Likewise.
22768 * video/readers/jpeg.c: Likewise.
22769 * video/readers/png.c: Likewise.
22770 * video/readers/tga.c: Likewise.
22771
22772 * util/grub-fstest (cmd_loopback): Removed.
22773 (cmd_blocklist): Likewise.
22774 (cmd_ls): Likewise.
22775 (grub_register_command): Likewise.
22776 (grub_unregister_command): Likewise.
22777 (execute_command): Use grub_command_find to locate command and execute
22778 it.
22779
22780 * include/grub/efi/chainloader.h: Removed.
22781 * loader/efi/chainloader_normal.c: Likewise.
22782 * loader/i386/bsd_normal.c: Likewise.
22783 * loader/i386/pc/chainloader_normal.c: Likewise.
22784 * loader/i386/pc/multiboot_normal.c: Likewise.
22785 * loader/linux_normal.c: Likewise.
22786 * loader/multiboot_loader_normal.c: Likewise.
22787 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22788
22789 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22790 and grub_register_command_p1.
22791
22792 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22793 kern/command.c, lib/arg.c and commands/extcmd.c.
22794 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22795 (minicmd_mod_SOURCES): New variable.
22796 (minicmd_mod_CFLAGS): Likewise.
22797 (minicmd_mod_LDFLAGS): Likewise.
22798 (extcmd_mod_SOURCES): Likewise.
22799 (extcmd_mod_CFLAGS): Likewise.
22800 (extcmd_mod_LDFLAGS): Likewise.
22801 (boot_mod_SOURCES): Removed.
22802 (boot_mod_CFLAGS): Likewise.
22803 (boot_mod_LDFLAGS): Likewise.
22804
22805 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22806 kern/corecmd.c.
22807 (kernel_img_HEADERS): Add command.h.
22808 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22809 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22810 and lib/arg.c.
22811 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22812 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22813 remove the corresponding normal mode command.
22814 (normal_mod_SOURCES): Remove normal/arg.c.
22815 * conf/i386-coreboot.rmk: Likewise.
22816 * conf/i386-efi.rmk: Likewise.
22817 * conf/i386-ieee1275.rmk: Likewise.
22818 * conf/powerpc-ieee1275.rmk: Likewise.
22819 * conf/x86_64-efi.rmk: Likewise.
22820
22821 * include/grub/arg.h: Move from here ...
22822 * include/grub/lib/arg.h: ... to here.
22823
22824 * normal/arg.c: Move from here ...
22825 * lib/arg.c: ... to here.
22826
22827 * commands/extcmd.c: New file.
22828 * commands/minicmd.c: Likewise.
22829 * include/grub/command.h: Likewise.
22830 * include/grub/extcmd.h: Likewise.
22831 * kern/command.c: Likewise.
22832 * kern/corecmd.c: Likewise.
22833
22834 * kern/list.c (grub_list_iterate): Return int instead of void.
22835 (grub_list_insert): New function.
22836 (grub_prio_list_insert): Likewise.
22837
22838 * kern/rescue.c (grub_rescue_command): Removed.
22839 (grub_rescue_command_list): Likewise.
22840 (grub_rescue_register_command): Likewise.
22841 (grub_rescue_unregister_command): Likewise.
22842 (grub_rescue_cmd_boot): Move to minicmd.c
22843 (grub_rescue_cmd_help): Likewise.
22844 (grub_rescue_cmd_info): Likewise.
22845 (grub_rescue_cmd_boot): Likewise.
22846 (grub_rescue_cmd_testload): Likewise.
22847 (grub_rescue_cmd_dump): Likewise.
22848 (grub_rescue_cmd_rmmod): Likewise.
22849 (grub_rescue_cmd_lsmod): Likewise.
22850 (grub_rescue_cmd_exit): Likewise.
22851 (grub_rescue_print_devices): Moved to corecmd.c.
22852 (grub_rescue_print_files): Likewise.
22853 (grub_rescue_cmd_ls): Likewise.
22854 (grub_rescue_cmd_insmod): Likewise.
22855 (grub_rescue_cmd_set): Likewise.
22856 (grub_rescue_cmd_unset): Likewise.
22857 (attempt_normal_mode): Use grub_command_find to get normal module.
22858 (grub_enter_rescue_mode): Use grub_register_core_commands to register
22859 commands, remove grub_rescue_register_command calls.
22860
22861 * normal/command.c (grub_register_command): Removed.
22862 (grub_unregister_command): Likewise.
22863 (grub_command_find): Likewise.
22864 (grub_iterate_commands): Likewise.
22865 (rescue_command): Likewise.
22866 (export_command): Moved to corecmd.c.
22867 (set_command): Removed.
22868 (unset_command): Likewise.
22869 (insmod_command): Likewise.
22870 (rmmod_command): Likewise.
22871 (lsmod_command): Likewise.
22872 (grub_command_init): Likewise.
22873
22874 * normal/completion.c (iterate_command): Use cmd->prio to check for
22875 active command.
22876 (complete_arguments): Use grub_extcmd_t structure to find options.
22877 (grub_normal_do_completion): Change function grub_iterate_commands to
22878 grub_command_iterate.
22879
22880 * normal/execute.c (grub_script_execute_cmd): No need to parse
22881 argument here.
22882
22883 * normal/main.c (grub_dyncmd_dispatcher): New function.
22884 (read_command_list): Register unload commands as dyncmd.
22885 (grub_cmd_normal): Use new command interface, register rescue,
22886 unregister normal at entry, register normal, unregister rescue at exit.
22887
22888 * include/grub/list.h (grub_list_test_t): New type.
22889 (grub_list_iterate): Return int instead of void.
22890 (grub_list_insert): New function.
22891 (GRUB_AS_NAMED_LIST_P): New macro.
22892 (GRUB_AS_PRIO_LIST): Likewise.
22893 (GRUB_AS_PRIO_LIST_P): Likewise.
22894 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22895 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22896 (grub_prio_list): New structure.
22897 (grub_prio_list_insert): New function.
22898 (grub_prio_list_remove): New inline function.
22899
22900 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22901 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22902 (GRUB_COMMAND_FLAG_MENU): Likewise.
22903 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22904 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22905 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22906 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22907 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22908 (grub_command): Likewise.
22909 (grub_register_command): Likewise.
22910 (grub_command_find): Likewise.
22911 (grub_iterate_commands): Likewise.
22912 (grub_command_init): Likewise.
22913 (grub_arg_parse): Likewise.
22914 (grub_arg_show_help): Likewise.
22915
22916 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22917 (grub_rescue_unregister_command): Likewise.
22918
22919 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22920 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22921 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22922
22923 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22924 grub_rescue_cmd_initrd.
22925 * include/grub/i386/loader.h: Likewise.
22926 * include/grub/x86_64/loader.h: Likewise.
22927
22928 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22929
22930 2009-03-21 Bean <bean123ch@gmail.com>
22931
22932 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22933 instead of stat in mingw environment.
22934
22935 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22936
22937 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22938
22939 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22940 AC_CONFIG_LINKS.
22941
22942 2009-03-21 Bean <bean123ch@gmail.com>
22943
22944 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22945 out of range error.
22946
22947 2009-03-18 Michel Dänzer <michel@daenzer.net>
22948
22949 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22950 checking inode flags for EXT4_EXTENTS_FLAG.
22951
22952 2009-03-18 Robert Millan <rmh@aybabtu.com>
22953
22954 * loader/i386/linux.c: Include `<grub/video.h>' and
22955 `<grub/i386/pc/vbe.h>'..
22956 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22957 (grub_linux32_boot): Attempt to configure video settings with
22958 grub_linux_setup_video().
22959 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22960 to avoid grub_console_fini() which would step out of graphical mode
22961 unconditionally.
22962
22963 2009-03-14 Robert Millan <rmh@aybabtu.com>
22964
22965 Fix build on powerpc.
22966 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22967
22968 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22971 background image command.
22972
22973 2009-03-12 Colin D Bennett <colin@gibibit.com>
22974
22975 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22976 (grub_gfxterm_putchar): Extract pairs of identical calls to
22977 draw_cursor out of conditional blocks.
22978
22979 2009-03-11 Pavel Roskin <proski@gnu.org>
22980
22981 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22982 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22983
22984 2009-03-11 Robert Millan <rmh@aybabtu.com>
22985
22986 * loader/i386/multiboot_elfxx.c
22987 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22988
22989 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
22990
22991 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22992 `kern/handler.c'.
22993
22994 2009-03-11 Robert Millan <rmh@aybabtu.com>
22995
22996 * loader/i386/multiboot.c (code_size): New variable.
22997 (grub_multiboot): Define offsets by adding to `code_size' rather
22998 than subtracting from `grub_multiboot_payload_size'. Provide
22999 4-byte alignment to MBI and others by increasing
23000 `boot_loader_name_length' appropriately.
23001
23002 * loader/i386/multiboot_elfxx.c
23003 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23004
23005 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
23006
23007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23008 `fs/ext2.c'.
23009
23010 2009-03-08 Robert Millan <rmh@aybabtu.com>
23011
23012 Make loader/i386/linux.c usable on i386-pc again.
23013
23014 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23015 memory to heap.
23016 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23017 `#error' stanza.
23018
23019 2009-03-07 Bean <bean123ch@gmail.com>
23020
23021 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23022 allocation.
23023
23024 2009-03-06 Robert Millan <rmh@aybabtu.com>
23025
23026 Fix display issue on terminals with screen size other than 80x25
23027 (e.g. gfxterm with resolution higher than 640x480).
23028
23029 * normal/main.c (grub_normal_init_page): Display title text in a
23030 position relative to the center of the terminal instead of relying
23031 on a hardcoded offset.
23032
23033 2009-03-04 Robert Millan <rmh@aybabtu.com>
23034
23035 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23036 installed.
23037
23038 * Makefile.in (host_kernel): New variable.
23039 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23040 scripts instead of just the windows one.
23041 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23042
23043 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23044
23045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23046 `kern/handler.c'.
23047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23053
23054 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23055
23056 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
23057 or if there's no space for the disk label and print the partition number on a
23058 invalid magic.
23059
23060 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23061
23062 * util/misc.c: Include <time.h>.
23063 (grub_millisleep): New function.
23064
23065 2009-03-04 Bean <bean123ch@gmail.com>
23066
23067 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
23068 another option -mno-red-zone.
23069
23070 * commands/handler.c: Change module description.
23071
23072 * kern/handler.c: Add missing space at the end of description line.
23073
23074 * kern/list.c: Likewise.
23075
23076 2009-03-03 Robert Millan <rmh@aybabtu.com>
23077
23078 Move more components to the relocation area, and fix mbi pointer
23079 handling to use the destination rather than the origin (thanks to
23080 Vladimir Serbinenko for spotting).
23081
23082 * loader/i386/multiboot.c (mbi_dest): New variable.
23083 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
23084 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
23085 relocation area.
23086
23087 2009-03-01 Bean <bean123ch@gmail.com>
23088
23089 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
23090 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
23091 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
23092 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
23093
23094 * loader/i386/efi/linux.c (acpi_guid): New variable.
23095 (acpi_guid): Likewise.
23096 (EBDA_SEG_ADDR): New constant.
23097 (LOW_MEM_ADDR): Likewise.
23098 (FAKE_EBDA_SEG): Likewise.
23099 (fake_bios_data): New function.
23100 (grub_linux_boot): Call fake_bios_data.
23101
23102 2009-03-01 Bean <bean123ch@gmail.com>
23103
23104 * commands/terminal.c: Removed.
23105
23106 * commands/handler.c: New file.
23107
23108 * include/grub/list.h: Likewise.
23109
23110 * include/grub/handler.h: Likewise.
23111
23112 * kern/list.c: Likewise.
23113
23114 * kern/handler.c: Likewise.
23115
23116 * kern/term.h: Include header file <grub/handler.h>.
23117 (grub_term_input): Move next field to the beginning.
23118 (grub_term_output): Likewise.
23119 (grub_term_input_class): New variable.
23120 (grub_term_output_class): Likewise.
23121 (grub_term_register_input): Changed to inline function.
23122 (grub_term_register_output): Likewise.
23123 (grub_term_unregister_input): Likewise.
23124 (grub_term_unregister_output): Likewise.
23125 (grub_term_set_current_input): Likewise.
23126 (grub_term_set_current_output): Likewise.
23127 (grub_term_get_current_input): Likewise.
23128 (grub_term_get_current_output): Likewise.
23129 (grub_term_iterate_input): Removed.
23130 (grub_term_iterate_output): Likewise.
23131
23132 * kern/term.c (grub_term_list_input): Removed.
23133 (grub_term_list_output): Likewise.
23134 (grub_term_input_class): New variable.
23135 (grub_term_output_class): Likewise.
23136 (grub_cur_term_input): Change variable as macro.
23137 (grub_cur_term_output): Likewise.
23138 (grub_term_register_input): Removed.
23139 (grub_term_register_output): Likewise.
23140 (grub_term_unregister_input): Likewise.
23141 (grub_term_unregister_output): Likewise.
23142 (grub_term_set_current_input): Likewise.
23143 (grub_term_set_current_output): Likewise.
23144 (grub_term_iterate_input): Likewise.
23145 (grub_term_iterate_output): Likewise.
23146 (grub_term_get_current_input): Likewise.
23147 (grub_term_get_current_output): Likewise.
23148
23149 * util/grub-editenv.c: Include header file <grub/handler.h>.
23150 (grub_term_get_current_input): Removed.
23151 (grub_term_get_current_output): Likewise.
23152 (grub_term_input_class): New variable.
23153 (grub_term_output_class): Likewise.
23154
23155 * util/grub-fstest.c (grub_term_get_current_input): Removed.
23156 (grub_term_get_current_output): Likewise.
23157 (grub_term_input_class): New variable.
23158 (grub_term_output_class): Likewise.
23159
23160 * util/grub-probe.c (grub_term_get_current_input): Removed.
23161 (grub_term_get_current_output): Likewise.
23162 (grub_term_input_class): New variable.
23163 (grub_term_output_class): Likewise.
23164
23165 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
23166 (grub_term_get_current_output): Likewise.
23167 (grub_term_input_class): New variable.
23168 (grub_term_output_class): Likewise.
23169
23170 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
23171 (terminal_mod_SOURCES): Likewise.
23172 (terminal_mod_CFLAGS): Likewise.
23173 (terminal_mod_LDFLAGS): Likewise.
23174
23175 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
23176 handler.c.
23177 (kernel_img_SOURCES): Add list.c and handler.c.
23178 (kernel_img_HEADERS): Add list.h and handler.h.
23179
23180 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23181 handler.c.
23182 (kernel_mod_SOURCES): Add list.c and handler.c.
23183 (kernel_mod_HEADERS): Add list.h and handler.h.
23184
23185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
23186 handler.c.
23187 (kernel_elf_SOURCES): Add list.c and handler.c.
23188 (kernel_elf_HEADERS): Add list.h and handler.h.
23189
23190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23191 handler.c.
23192 (kernel_elf_SOURCES): Add list.c and handler.c.
23193 (kernel_elf_HEADERS): Add list.h and handler.h.
23194
23195 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23196 handler.c.
23197 (kernel_mod_SOURCES): Add list.c and handler.c.
23198 (kernel_mod_HEADERS): Add list.h and handler.h.
23199
23200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23201 handler.c.
23202 (kernel_elf_SOURCES): Add list.c and handler.c.
23203 (kernel_elf_HEADERS): Add list.h and handler.h.
23204
23205 2009-02-27 Robert Millan <rmh@aybabtu.com>
23206
23207 Factorize elf32 / elf64 code in Multiboot loader. This will
23208 prevent it from getting out of sync again.
23209
23210 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
23211 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
23212 grub_multiboot_load_elf64): Move from here ...
23213 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
23214 grub_multiboot_load_elf): ... to here (new file).
23215
23216 2009-02-27 Robert Millan <rmh@aybabtu.com>
23217
23218 * util/grub.d/10_linux.in: Rename "single-user mode" to
23219 "recovery mode".
23220
23221 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 Don't leak in SCSI code.
23224 * disk/scsi.c (grub_scsi_close): free `scsi'.
23225
23226 2009-02-27 Robert Millan <rmh@aybabtu.com>
23227
23228 * loader/i386/pc/multiboot.c: Move from here ...
23229 * loader/i386/multiboot.c: ... to here. Update all users.
23230
23231 2009-02-27 Robert Millan <rmh@aybabtu.com>
23232
23233 Patch from Alexandre Bique <bique.alexandre@gmail.com>
23234 * util/i386/pc/grub-setup.c (setup): Fix directory path.
23235
23236 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
23237
23238 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
23239 b-tree.
23240
23241 2009-02-27 Robert Millan <rmh@aybabtu.com>
23242
23243 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
23244 `0x' qualifier as 0 when base is specified as parameter).
23245
23246 2009-02-24 Bean <bean123ch@gmail.com>
23247
23248 * configure.ac: Check for -mcmodel=large in x86_64 target.
23249
23250 * include/grub/efi/api.h (efi_call_10): New macro.
23251 (efi_wrap_10): New function.
23252
23253 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
23254 (GRUB_PE32_REL_BASED_HIGH): Likewise.
23255 (GRUB_PE32_REL_BASED_LOW): Likewise.
23256 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
23257 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
23258 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
23259 (GRUB_PE32_REL_BASED_SECTION): Likewise.
23260 (GRUB_PE32_REL_BASED_REL): Likewise.
23261 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
23262 (GRUB_PE32_REL_BASED_DIR64): Likewise.
23263 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
23264
23265 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
23266 issue.
23267
23268 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
23269 (efi_wrap_10): New function.
23270
23271 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
23272
23273 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
23274 MB/MBP model (NV chipset).
23275 (devdata_devs): Add devpath_5 to the list.
23276
23277 * load/i386/efi/linux.c (video_base): Remove variable.
23278 (RGB_MASK): New macro.
23279 (RGB_MAGIC): Likewise.
23280 (LINE_MIN): Likewise.
23281 (LINE_MAX): Likewise.
23282 (FBTEST_STEP): Likewise.
23283 (FBTEST_COUNT): Likewise.
23284 (fb_list): New variable.
23285 (grub_find_video_card): Remove function.
23286 (find_framebuf): New function.
23287 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
23288 line length.
23289
23290 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
23291 problem for x86_64.
23292
23293 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
23294
23295 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
23296
23297 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
23298 coding tool name.
23299
23300 2009-02-22 Robert Millan <rmh@aybabtu.com>
23301
23302 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
23303 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
23304 in our relocation, instead of using it directly from heap. Also
23305 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
23306
23307 2009-02-21 Robert Millan <rmh@aybabtu.com>
23308
23309 Implement USB keyboard support (based on patch by Marco Gerards)
23310
23311 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
23312 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
23313 (usb_keyboard_mod_LDFLAGS): New variables.
23314
23315 * term/usb_keyboard.c: New file.
23316
23317 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 Corrected wrong declaration
23320
23321 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
23322
23323 2009-02-14 Christian Franke <franke@computer.org>
23324
23325 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
23326 (grub_lspci_iter): Print class code and programming interface byte.
23327
23328 2009-02-14 Christian Franke <franke@computer.org>
23329
23330 * gendistlist.sh: Ignore `.svn' directories.
23331
23332 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
23333
23334 * fs/fat.c: Add 2009 to Copyright line.
23335
23336 2009-02-14 Christian Franke <franke@computer.org>
23337
23338 * commands/hdparm.c: New file. Provides `hdparm' command
23339 which sends ATA commands via grub_disk_ata_pass_through ().
23340
23341 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
23342
23343 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
23344 and <grub/cpu/io.h> to include/grub/ata.h.
23345 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
23346 (GRUB_CDROM_SECTOR_SIZE): Remove.
23347 (GRUB_ATA_*): Move to include/grub/ata.h.
23348 (GRUB_ATAPI_*): Likewise.
23349 (enum grub_ata_commands): Likewise.
23350 (enum grub_ata_timeout_milliseconds): Likewise.
23351 (struct grub_ata_device): Likewise.
23352 (grub_ata_regset): Likewise.
23353 (grub_ata_regget): Likewise.
23354 (grub_ata_regset2): Likewise.
23355 (grub_ata_regget2): Likewise.
23356 (grub_ata_check_ready): Likewise.
23357 (grub_ata_wait_not_busy): Remove static, exported in
23358 include/grub/ata.h.
23359 (grub_ata_wait_drq): Likewise.
23360 (grub_ata_pio_read): Likewise.
23361
23362 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23363 function for hdparm.mod.
23364
23365 * include/grub/ata.h: New file, contains declarations from
23366 disk/ata.c.
23367 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23368
23369 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23370 (grub_disk_ata_pass_through): New exported variable.
23371
23372 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23373
23374 2009-02-13 Colin D Bennett <colin@gibibit.com>
23375
23376 Support multiple fallback entries, and provide an API to support
23377 executing default+fallback menu entries. Renamed the `terminal' menu
23378 viewer to `text'.
23379
23380 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23381 variable declaration.
23382 (grub_menu_execute_callback): New structure declaration.
23383 (grub_menu_execute_callback_t): New typedef.
23384 (grub_menu_execute_with_fallback): New function declaration.
23385 (grub_menu_get_entry): Likewise.
23386 (grub_menu_get_timeout): Likewise.
23387 (grub_menu_set_timeout): Likewise.
23388
23389 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23390
23391 * normal/menu.c (grub_wait_after_message): Moved to
23392 `normal/menu_text.c'.
23393 (draw_border): Likewise.
23394 (print_message): Likewise.
23395 (print_entry): Likewise.
23396 (print_entries): Likewise.
23397 (grub_menu_init_page): Likewise.
23398 (get_entry_number): Likewise.
23399 (print_timeout): Likewise.
23400 (run_menu): Likewise.
23401 (grub_menu_execute_entry): Likewise.
23402 (show_text_menu): Likewise.
23403 (get_and_remove_first_entry_number): New function.
23404 (grub_menu_execute_with_fallback): Likewise.
23405 (get_entry): Renamed to ...
23406 (grub_menu_get_entry): .. this and made it global.
23407 (get_timeout): Renamed to ...
23408 (grub_menu_get_timeout): ... this and made it global.
23409 (set_timeout): Renamed to ...
23410 (grub_menu_set_timeout): ... this and made it global.
23411 (grub_normal_terminal_menu_viewer): Renamed to ...
23412 (grub_normal_text_menu_viewer): ... this.
23413
23414 * normal/menu_text.c: New file. Extracted text-menu-specific code
23415 from normal/menu.c.
23416
23417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23418 (normal_mod_SOURCES): Likewise.
23419
23420 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23421 (normal_mod_SOURCES): Likewise.
23422
23423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23424 (normal_mod_SOURCES): Likewise.
23425
23426 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23427 (normal_mod_SOURCES): Likewise.
23428
23429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23430 (normal_mod_SOURCES): Likewise.
23431
23432 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23433 (normal_mod_SOURCES): Likewise.
23434
23435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23436 (normal_mod_SOURCES): Likewise.
23437
23438 2009-02-11 Robert Millan <rmh@aybabtu.com>
23439
23440 * util/grub.d/00_header.in: Update old reference to `font' command.
23441
23442 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
23443
23444 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23445
23446 Based on patch from Javier Martín.
23447
23448 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23449
23450 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
23451 to avoid false positives with FAT.
23452 (grub_fstest_SOURCES): Likewise.
23453 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23454 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23456 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23459
23460 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23461
23462 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
23463 bpb.version_specific.fat12_or_fat16.fstype and
23464 bpb.version_specific.fat32.fstype.
23465
23466 2009-02-08 Robert Millan <rmh@aybabtu.com>
23467
23468 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
23469
23470 2009-02-08 Robert Millan <rmh@aybabtu.com>
23471
23472 * Makefile.in (host_os, host_cpu): New variables.
23473 (target_os): Remove. Update all users.
23474
23475 2009-02-08 Marco Gerards <marco@gnu.org>
23476
23477 * Makefile.in (enable_grub_emu_usb): New variable.
23478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23479 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23480 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23481 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23482 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23483 `usbtest.mod' and `usbms.mod'.
23484 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23485 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23486 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23487 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23488 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23489 variables.
23490
23491 * disk/usbms.c: New file.
23492
23493 * include/grub/usb.h: Likewise.
23494
23495 * include/grub/usbtrans.h: Likewise.
23496
23497 * include/grub/usbdesc.h: Likewise.
23498
23499 * bus/usb/usbtrans.c: Likewise.
23500
23501 * bus/usb/ohci.c: Likewise.
23502
23503 * bus/usb/uhci.c: Likewise.
23504
23505 * bus/usb/usbhub.c: Likewise.
23506
23507 * bus/usb/usb.c: Likewise.
23508
23509 * commands/usbtest.c: Likewise.
23510
23511 * util/usb.c: Likewise.
23512
23513 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23514
23515 * configure.ac: Test for libusb presence.
23516
23517 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23518
23519 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23520
23521 * kern/mm.c: Add more comments.
23522
23523 2009-02-08 Robert Millan <rmh@aybabtu.com>
23524
23525 Patch from Javier Martín.
23526 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23527 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23528
23529 2009-02-08 Robert Millan <rmh@aybabtu.com>
23530
23531 * fs/cpio.c: Split tar functionality to ...
23532 * fs/tar.c: ... here (new file). Update all users.
23533
23534 2009-02-07 Robert Millan <rmh@aybabtu.com>
23535
23536 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23537 backward-incompatible features.
23538
23539 Based on patch from Javier Martín, with some adjustments.
23540
23541 2009-02-07 Michael Scherer <misc@mandriva.org>
23542
23543 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23544
23545 2009-02-07 Robert Millan <rmh@aybabtu.com>
23546
23547 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23548 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23549 after the RAID stuff.
23550
23551 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23552
23553 Fixes problem when running vbetest command as reported by
23554 Vladimir Serbinenko <phcoder@gmail.com>.
23555
23556 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23557
23558 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
23559
23560 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23561 /dev/md/NpN style mdraid devices.
23562
23563 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23564
23565 * util/unifont2pff.rb: Remove.
23566
23567 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23568
23569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23570 `#'.
23571
23572 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23573
23574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23580 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23581
23582 2009-02-02 Christian Franke <franke@computer.org>
23583
23584 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23585
23586 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
23587
23588 * INSTALL: Note that we now require at least autoconf 2.59 and
23589 that LZO is optional.
23590
23591 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23592
23593 Base on patch on bug #24154 created by Tomas Tintera
23594 <trosos@seznam.cz>.
23595
23596 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23597
23598 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23599
23600 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
23601 <bero@arklinux.org>.
23602
23603 * normal/parser.y (script_init): Add missing semicolon.
23604
23605 2009-01-31 Colin D Bennett <colin@gibibit.com>
23606
23607 * normal/main.c: Add include to grub/menu_viewer.h.
23608 (free_menu_entry_classes): Added.
23609 (grub_normal_menu_addentry): Added class property handling.
23610 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23611 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23612
23613 * normal/menu_viewer.c: New file.
23614
23615 * normal/menu.c (run_menu_entry): Renamed to ...
23616 (grub_menu_execute_entry): ... this and made it as global.
23617 (grub_menu_run): Renamed to ...
23618 (show_text_menu): ... this and made it local.
23619 (show_text_menu): Adapt to new function names.
23620 (grub_normal_terminal_menu_viewer): New global variable.
23621
23622 * include/grub/menu.h: New file.
23623
23624 * include/grub/menu_viewer.h: New file.
23625
23626 * include/grub/normal.h: Added include to grub/menu.h.
23627 (grub_menu_entry): Moved to include/grub/menu.h.
23628 (grub_menu_entry_t): Likewise.
23629 (grub_menu): Likewise.
23630 (grub_menu_t): Likewise.
23631 (grub_normal_terminal_menu_viewer): Added.
23632 (grub_menu_execute_entry): Likewise.
23633 (grub_menu_run): Removed.
23634
23635 * DISTLIST: Added include/grub/menu.h.
23636 Added include/grub/menu_viewer.h.
23637 Added normal/menu_viewer.c.
23638
23639 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23640
23641 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23642 arglist for menutitle arguments.
23643
23644 * normal/main.c (grub_normal_menu_addentry): Likewise.
23645
23646 * normal/parser.y (menuentry): Likewise.
23647
23648 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23649
23650 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23651 (grub_script_create_cmdmenu): Likewise.
23652
23653 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23654
23655 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23656 changes.
23657
23658 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23659
23660 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23661
23662 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23663
23664 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23665
23666 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23667
23668 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23669
23670 2009-01-30 Christian Franke <franke@computer.org>
23671
23672 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23673 in option help text.
23674
23675 2009-01-27 Pavel Roskin <proski@gnu.org>
23676
23677 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23678
23679 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23680
23681 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23682
23683 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23684
23685 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23686 unregister function.
23687
23688 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23689
23690 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23691
23692 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23693
23694 * util/grub-mkfont.c (usage): Fix typo.
23695
23696 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23697
23698 2009-01-26 Daniel Mierswa <impulze@impulze.org>
23699
23700 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23701
23702 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23703
23704 * kern/misc.c (grub_strcasecmp): New function.
23705 (grub_strcasecmp): Use grub_size_t instead of int for length.
23706 Fix return value.
23707 * include/grub/misc.h: Update function prototypes.
23708
23709 2009-01-26 Robert Millan <rmh@aybabtu.com>
23710
23711 * configure.ac: Fix cross-compilation check.
23712
23713 2009-01-22 Christian Franke <franke@computer.org>
23714
23715 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23716 (precision) digit string. Allow `.format2' without `format1' (width).
23717 Limit input chars for `%s' output to `format2' if specified. This is
23718 compatible with standard printf ().
23719
23720 2009-01-22 Christian Franke <franke@computer.org>
23721
23722 * disk/ata.c (grub_ata_wait_status): Replace by ...
23723 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23724 other status bits may be invalid while BSY is asserted.
23725 (grub_ata_check_ready): New function.
23726 (grub_ata_cmd): Removed.
23727 (grub_ata_wait_drq): New function.
23728 (grub_ata_strncpy): Remove inline.
23729 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23730 and error check now done by grub_ata_wait_drq ().
23731 (grub_ata_pio_write): Likewise.
23732 (grub_atapi_identify): Set DEV before check for !BSY. Use
23733 grub_ata_wait_drq () to wait for data.
23734 (grub_ata_device_initialize): Add status register check to
23735 detect missing SATA slave devices. Add debug messages.
23736 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23737 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23738 transfer loop by grub_ata_pio_write ().
23739 (grub_ata_identify): Set DEV before check for !BSY. Use
23740 grub_ata_wait_drq () to wait for data.
23741 (grub_ata_setaddress): Set DEV before check for !BSY.
23742 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23743 read/write in one loop. Fix invalid command on write. Fix incomplete
23744 command on (size % batch) == 0. Add missing error check after write of
23745 last block. Add debug messages.
23746 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23747
23748 2009-01-19 Christian Franke <franke@computer.org>
23749
23750 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23751 (GRUB_ATAPI_IREASON_*): Likewise.
23752 (grub_ata_pio_write): Fix timeout error return.
23753 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23754 (grub_atapi_wait_drq): New function.
23755 (grub_atapi_packet): New parameter `size'.
23756 Use grub_atapi_wait_drq () and direct write instead of
23757 grub_ata_pio_write ().
23758 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23759 reads the number of bytes requested by the device for each DRQ
23760 assertion.
23761 (grub_atapi_write): Remove old implementation, return not
23762 implemented instead.
23763
23764 2009-01-19 Christian Franke <franke@computer.org>
23765
23766 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23767 of 512 to calculate data size.
23768 (grub_scsi_read12): Likewise.
23769 (grub_scsi_write10): Likewise.
23770 (grub_scsi_write12): Likewise.
23771 (grub_scsi_read): Adjust size according to blocksize.
23772 Add checks for invalid blocksize and unaligned transfer.
23773
23774 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23775
23776 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23777
23778 * term/gfxterm.c (write_char): Fix background rendering for wide
23779 width glyphs.
23780
23781 2009-01-19 Robert Millan <rmh@aybabtu.com>
23782
23783 * config.guess: Update to latest version from config git.
23784 * config.sub: Likewise.
23785
23786 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
23787
23788 * Makefile.in: Change font compilation to use new grub-mkfont instead
23789 of java version.
23790
23791 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23792 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23793 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23794 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23795 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23796 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23797 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23799 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23800
23801 2009-01-16 Christian Franke <franke@computer.org>
23802
23803 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23804 (enum grub_ata_timeout_milliseconds): New enum.
23805 (grub_ata_wait_status): Add parameter milliseconds.
23806 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23807 recovery from timed-out commands.
23808 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23809 return grub_errno instead of REG_ERROR.
23810 (grub_ata_pio_write): Add parameter milliseconds.
23811 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23812 Pass milliseconds to grub_ata_wait_status () and
23813 grub_ata_pio_read ().
23814 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23815 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23816 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23817 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23818 It is not suitable for device detection, because DEV bit is ignored,
23819 the command may run too long, and not all devices set the signature
23820 properly.
23821 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23822 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23823 Fix device selection, DEV bit must be set first to address the registers
23824 of the correct device.
23825 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23826 grub_ata_pio_read/write ().
23827 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23828 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23829
23830 2009-01-13 Carles Pina i Estany <carles@pina.cat>
23831
23832 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23833
23834 2009-01-13 Bean <bean123ch@gmail.com>
23835
23836 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23837
23838 2009-01-13 Bean <bean123ch@gmail.com>
23839
23840 * Makefile.in: (enable_grub_mkfont): New variable.
23841 (freetype_cflags): Likewise.
23842 (freetype_libs): Likewise.
23843
23844 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23845 (grub_mkfont_SOURCES): New variable.
23846 (grub_mkfont_CFLAGS): Likewise.
23847 (grub_mkfont_LDFLAGS): Likewise.
23848
23849 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23850 library if `--enable-grub-mkfont' is requested.
23851 (enable_grub_mkfont): New variable.
23852 (freetype_cflags): Likewise.
23853 (freetype_libs): Likewise.
23854
23855 * util/grub-mkfont.c: New file.
23856
23857 2009-01-12 Christian Franke <franke@computer.org>
23858
23859 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23860 mode check. Fix setting of compat_use[].
23861
23862 2009-01-10 Robert Millan <rmh@aybabtu.com>
23863
23864 Update a few copyright years which we forgot to do in 2008 (only for
23865 files whose changes made in 2008 were copyright-significant)
23866
23867 * Makefile.in: Add 2008 to Copyright line.
23868 * disk/ieee1275/ofdisk.c: Likewise.
23869 * disk/efi/efidisk.c: Likewise.
23870 * kern/dl.c: Likewise.
23871 * kern/sparc64/ieee1275/init.c: Likewise.
23872 * kern/mm.c: Likewise.
23873 * kern/efi/mm.c: Likewise.
23874 * boot/i386/pc/boot.S: Likewise.
23875 * genfslist.sh: Likewise.
23876 * fs/iso9660.c: Likewise.
23877 * fs/hfs.c: Likewise.
23878 * fs/jfs.c: Likewise.
23879 * fs/minix.c: Likewise.
23880 * fs/ufs.c: Likewise.
23881 * gensymlist.sh.in: Likewise.
23882 * genkernsyms.sh.in: Likewise.
23883 * include/grub/misc.h: Likewise.
23884 * include/grub/types.h: Likewise.
23885 * include/grub/symbol.h: Likewise.
23886 * include/grub/elf.h: Likewise.
23887 * include/grub/kernel.h: Likewise.
23888 * include/grub/disk.h: Likewise.
23889 * include/grub/dl.h: Likewise.
23890 * include/grub/i386/linux.h: Likewise.
23891 * include/grub/i386/pc/biosdisk.h: Likewise.
23892 * include/grub/efi/api.h: Likewise.
23893 * include/grub/efi/pe32.h: Likewise.
23894 * include/grub/util/misc.h: Likewise.
23895 * normal/execute.c: Likewise.
23896 * normal/arg.c: Likewise.
23897 * normal/completion.c: Likewise.
23898 * normal/lexer.c: Likewise.
23899 * normal/parser.y: Likewise.
23900 * normal/misc.c: Likewise.
23901 * commands/i386/pc/vbeinfo.c: Likewise.
23902 * commands/hexdump.c: Likewise.
23903 * commands/terminal.c: Likewise.
23904 * commands/ls.c: Likewise.
23905 * commands/help.c: Likewise.
23906 * partmap/pc.c: Likewise.
23907 * loader/efi/chainloader.c: Likewise.
23908 * loader/multiboot_loader.c: Likewise.
23909 * loader/i386/pc/multiboot2.c: Likewise.
23910 * term/efi/console.c: Likewise.
23911 * term/i386/pc/serial.c: Likewise.
23912 * util/lvm.c: Likewise.
23913 * util/console.c: Likewise.
23914 * util/i386/efi/grub-mkimage.c: Likewise.
23915 * util/raid.c: Likewise.
23916
23917 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23918
23919 * commands/videotest.c: Removed include to grub/machine/memory.h.
23920
23921 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23922 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23923 (video_mod_SOURCES): Removed.
23924 (video_mod_CFLAGS): Likewise.
23925 (video_mod_LDFLAGS): Likewise.
23926 (gfxterm_mod_SOURCES): Likewise.
23927 (gfxterm_mod_CFLAGS): Likewise.
23928 (gfxterm_mod_LDFLAGS): Likewise.
23929 (videotest_mod_SOURCES): Likewise.
23930 (videotest_mod_CFLAGS): Likewise.
23931 (videotest_mod_LDFLAGS): Likewise.
23932 (bitmap_mod_SOURCES): Likewise.
23933 (bitmap_mod_CFLAGS): Likewise.
23934 (bitmap_mod_LDFLAGS): Likewise.
23935 (tga_mod_SOURCES): Likewise.
23936 (tga_mod_CFLAGS): Likewise.
23937 (tga_mod_LDFLAGS): Likewise.
23938 (jpeg_mod_SOURCES): Likewise.
23939 (jpeg_mod_CFLAGS): Likewise.
23940 (jpeg_mod_LDFLAGS): Likewise.
23941 (png_mod_SOURCES): Likewise.
23942 (png_mod_CFLAGS): Likewise.
23943 (png_mod_LDFLAGS): Likewise.
23944
23945 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23946 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23947 (video_mod_SOURCES): Added.
23948 (video_mod_CFLAGS): Likewise.
23949 (video_mod_LDFLAGS): Likewise.
23950 (videotest_mod_SOURCES): Likewise.
23951 (videotest_mod_CFLAGS): Likewise.
23952 (videotest_mod_LDFLAGS): Likewise.
23953 (bitmap_mod_SOURCES): Likewise.
23954 (bitmap_mod_CFLAGS): Likewise.
23955 (bitmap_mod_LDFLAGS): Likewise.
23956 (tga_mod_SOURCES): Likewise.
23957 (tga_mod_CFLAGS): Likewise.
23958 (tga_mod_LDFLAGS): Likewise.
23959 (jpeg_mod_SOURCES): Likewise.
23960 (jpeg_mod_CFLAGS): Likewise.
23961 (jpeg_mod_LDFLAGS): Likewise.
23962 (png_mod_SOURCES): Likewise.
23963 (png_mod_CFLAGS): Likewise.
23964 (png_mod_LDFLAGS): Likewise.
23965 (gfxterm_mod_SOURCES): Likewise.
23966 (gfxterm_mod_CFLAGS): Likewise.
23967 (gfxterm_mod_LDFLAGS): Likewise.
23968
23969 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23970 grub/machine/console.h.
23971
23972 2009-01-04 Jerone Young <jerone@gmail.com>
23973
23974 Make on screen instructions clearer
23975
23976 Based on patch created by Jidanni <jidanni@jidanni.org>
23977
23978 * normal/menu.c: print clearer instructions on the screen
23979
23980 2009-01-02 Colin D Bennett <colin@gibibit.com>
23981
23982 New font engine.
23983
23984 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23985 build system and fixed gfxterm.c to work with different sized fonts.
23986
23987 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
23988
23989 * configure: Re-generated.
23990
23991 * DISTLIST: Removed font/manager.c.
23992 Added font/font.c.
23993 Added font/font_cmd.c.
23994
23995 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23996 compilation.
23997
23998 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
23999
24000 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
24001
24002 * kern/term.c: Changed users of grub_utf8_to_ucs4.
24003
24004 * normal/menu.c: Likewise.
24005
24006 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24007 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
24008
24009 * include/grub/font.h: Replaced with new file.
24010
24011 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24012 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24013 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24014 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24015 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
24016 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
24017 fg_red, fg_green, fg_blue, fg_alpha.
24018 (grub_video_adapter): Removed blit_glyph.
24019 (grub_video_blit_glyph): Removed.
24020
24021 * font/manager.c: Removed file.
24022
24023 * font/font.c: New file.
24024
24025 * font/font_cmd.c: Likewise.
24026
24027 * video/video.c (grub_video_blit_glyph): Removed.
24028
24029 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24030 (grub_video_vbe_map_rgba): Likewise.
24031 (grub_video_vbe_unmap_color_int): Likewise.
24032 (grub_video_vbe_blit_glyph): Removed.
24033 (grub_video_vbe_adapter): Removed blit_glyph.
24034
24035 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24036 (get_pixel): Likewise.
24037 (set_pixel): Likewise.
24038
24039 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
24040
24041 * term/gfxterm.c: Adapted to new font engine.
24042
24043 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
24044
24045 * term/i386/pc/vga.c: Likewise.
24046
24047 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
24048
24049 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24050
24051 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24052
24053 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24054
24055 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24056
24057 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24058
24059 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24060
24061 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24062
24063 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24064
24065 * util/grub.d/00_header.in: Changed to use new loadfont command.
24066
24067 * util/grub-mkconfig_lib.in: Changed font extension.
24068
24069 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
24070
24071 * util/getroot.c (grub_util_get_grub_dev): Add support for
24072 /dev/md/dNNpNN style partitionable mdraid devices.
24073
24074 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
24075
24076 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
24077 at a time limit of the PXE TFTP API correctly.
24078 (grub_pxefs_close): Likewise.
24079
24080 2008-11-29 Robert Millan <rmh@aybabtu.com>
24081
24082 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
24083 grub_ata_device_initialize() calls.
24084
24085 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
24086
24087 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
24088 iteration failed.
24089 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
24090
24091 2008-11-28 Robert Millan <rmh@aybabtu.com>
24092
24093 Fix build on powerpc-ieee1275. Based on patch created by
24094 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
24095 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24096 `kern/ieee1275/mmap.c'.
24097 * include/grub/powerpc/ieee1275/memory.h: New file.
24098
24099 Provide grub-install on coreboot.
24100 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
24101 (grub_install_SOURCES): New variable.
24102 * util/i386/pc/grub-install.in: Add a few condition checks to make it
24103 usable on coreboot.
24104
24105 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
24106
24107 * util/grub-fstest.c (grub_term_get_current_input): Change return type
24108 to `grub_term_input_t'.
24109 (grub_term_get_current_output): Change return type to
24110 `grub_term_output_t'.
24111
24112 2008-11-22 Robert Millan <rmh@aybabtu.com>
24113
24114 Fix breakage on coreboot due to declaration mismatch.
24115 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
24116 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
24117 grub_vga_text_cls().
24118
24119 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
24120 comments. Avoid copying one more byte than necessary (just in case).
24121
24122 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
24123 to 0x200000 (avoids trouble with some OFW implementations, and matches
24124 with the one in Yaboot).
24125 Reported by Manoel Abranches
24126
24127 2008-11-20 Robert Millan <rmh@aybabtu.com>
24128
24129 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
24130 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
24131
24132 * util/grub-mkconfig_lib.in (grub_warn): New function.
24133 (convert_system_path_to_grub_path): Use grub_warn() when issuing
24134 warnings, to obtain consistent formatting.
24135 * util/grub.d/00_header.in: Likewise.
24136 * util/update-grub_lib.in: Likewise.
24137
24138 * loader/i386/linux.c (allocate_pages): Fix a warning.
24139 Move comment text to `#error' stanza.
24140
24141 Harmonize ieee1275's grub_available_iterate() with the generic
24142 grub_machine_mmap_iterate() interface (fixes a recently-introduced
24143 build problem on i386-ieee1275):
24144 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
24145 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
24146 parameter `type'. Update all users of this function.
24147 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24148 `kern/ieee1275/mmap.c'.
24149 * kern/ieee1275/init.c
24150 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
24151 with ...
24152 (grub_machine_mmap_iterate): ... this.
24153 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
24154 return type to `grub_err_t'. Update all implementations of this
24155 function prototype.
24156 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
24157 Likewise.
24158
24159 Add `lsmmap' command (lists firmware-provided memory map):
24160 * commands/lsmmap.c: New file.
24161 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
24162 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
24163 variables.
24164 * conf/powerpc-ieee1275.rmk: Likewise.
24165 * conf/i386-coreboot.rmk: Likewise.
24166 * conf/i386-ieee1275.rmk: Likewise.
24167
24168 2008-11-19 Robert Millan <rmh@aybabtu.com>
24169
24170 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
24171 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
24172 constraints to initrd allocation (based on code from
24173 loader/i386/pc/linux.c). Without them, initrd was allocated too high
24174 for Linux to find it.
24175
24176 2008-11-14 Robert Millan <rmh@aybabtu.com>
24177
24178 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
24179 order to cope with duplicate slashes.
24180
24181 2008-11-14 Robert Millan <rmh@aybabtu.com>
24182
24183 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
24184 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
24185 don't want to mess with lower memory, because it is used in the Linux
24186 loader.
24187
24188 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
24189 an appropriate place in lower memory, between 0x10000 and 0x90000,
24190 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
24191 is in our heap (probably as a result of it being corrupted during
24192 decompression). Add #error instance with comment to explain why this
24193 loader isn't currently usable on PC/BIOS.
24194
24195 2008-11-14 Robert Millan <rmh@aybabtu.com>
24196
24197 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
24198 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
24199
24200 2008-11-12 Robert Millan <rmh@aybabtu.com>
24201
24202 Make loader/i386/linux.c buildable on i386-pc (although disabled).
24203
24204 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
24205 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
24206 from here ...
24207 * include/grub/i386/pc/memory.h: ... to here.
24208
24209 2008-11-12 Robert Millan <rmh@aybabtu.com>
24210
24211 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
24212 split).
24213
24214 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
24215 (grub_console_cur_color, grub_console_real_putchar)
24216 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24217 (grub_console_setcolorstate, grub_console_setcolor)
24218 (grub_console_getcolor): Move from here ...
24219 * include/grub/i386/vga_common.h: ... to here (new file).
24220
24221 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
24222 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
24223 `<grub/i386/io.h>'.
24224 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
24225 `<grub/i386/vga_common.h>'.
24226
24227 2008-11-12 Robert Millan <rmh@aybabtu.com>
24228
24229 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
24230 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
24231 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
24232 variables.
24233 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24234 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
24235
24236 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
24237 grub_console_init() with call to grub_vga_text_init().
24238 (grub_machine_fini): Replace call to
24239 grub_console_fini() with call to grub_vga_text_fini() and
24240 grub_at_keyboard_fini().
24241
24242 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
24243 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24244 (grub_console_setcolorstate, grub_console_setcolor)
24245 (grub_console_getcolor): New function prototypes.
24246
24247 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
24248 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
24249 (grub_vga_text_setcursor): Static-ize.
24250 (grub_vga_text_term): New structure.
24251 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
24252
24253 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
24254 (grub_console_cur_color, grub_console_standard_color)
24255 (grub_console_normal_color, grub_console_highlight_color)
24256 (map_char, grub_console_putchar, grub_console_getcharwidth)
24257 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
24258 (grub_console_getcolor): Move from here ...
24259 * term/i386/vga_common.c: ... to here (same function names).
24260
24261 2008-11-12 Robert Millan <rmh@aybabtu.com>
24262
24263 Use newly-added Multiboot support in coreboot.
24264
24265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24266 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
24267
24268 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
24269 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
24270 (codestart): Store the MBI in `startup_multiboot_info' when we're
24271 being loaded using Multiboot.
24272
24273 * kern/i386/coreboot/init.c (grub_machine_init): Move
24274 grub_at_keyboard_init() call to beginning of function (useful for
24275 debugging). Call grub_machine_mmap_init() before attempting to use
24276 grub_machine_mmap_iterate().
24277 (grub_lower_mem, grub_upper_mem): Move from here ...
24278 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
24279 here (new file).
24280
24281 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
24282 function prototype.
24283
24284 2008-11-12 Robert Millan <rmh@aybabtu.com>
24285
24286 Fix a regression introduced by the at_keyboard.mod split. Because
24287 some terminals are default on some platforms and non-default on
24288 others, the first terminal being registered determines which is
24289 going to be default.
24290
24291 * kern/term.c (grub_term_register_input): If this is the first
24292 terminal being registered, set it as the current one.
24293 (grub_term_register_output): Likewise.
24294
24295 * term/efi/console.c (grub_console_init): Do not call
24296 grub_term_set_current_output() or grub_term_set_current_input().
24297 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
24298 * term/i386/pc/console.c (grub_console_init): Likewise.
24299 (grub_console_fini): Do not call grub_term_set_current_input()
24300 (but leave grub_term_set_current_output() to restore text mode).
24301
24302 2008-11-10 Robert Millan <rmh@aybabtu.com>
24303
24304 * util/grub.d/00_header.in: Add backward compatibility check for
24305 versions of terminal.mod that don't understand `terminal_input' or
24306 `terminal_output'.
24307
24308 2008-11-09 Robert Millan <rmh@aybabtu.com>
24309
24310 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
24311 `terminal_input' / `terminal_output', not `terminal'.
24312
24313 2008-11-08 Robert Millan <rmh@aybabtu.com>
24314
24315 * Makefile.in (include_DATA): Fix srcdir=. assumption.
24316 (DISTCLEANFILES): Add `build_env.mk'.
24317
24318 2008-11-08 Robert Millan <rmh@aybabtu.com>
24319
24320 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
24321 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24322 members. Update all users.
24323 * util/console.c (grub_ncurses_term): Split in ...
24324 (grub_ncurses_term_input): ... this, and ...
24325 (grub_ncurses_term_output): ... this. Update all users.
24326 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
24327
24328 2008-11-08 Robert Millan <rmh@aybabtu.com>
24329
24330 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
24331 (PKGDATA): Add $(pkgdata_SRCDIR).
24332 (pkglib_BUILDDIR): New variable.
24333 (pkgdata_SRCDIR): New variable.
24334 (build_env.mk): New target.
24335 (include_DATA): New variable.
24336 (install-local): Install $(include_DATA) files in $(includedir).
24337
24338 2008-11-07 Pavel Roskin <proski@gnu.org>
24339
24340 * gendistlist.sh: Use C locale for sorting to ensure consistent
24341 output on all systems.
24342
24343 * util/grub.d/00_header.in: Remove incorrect space before
24344 "serial".
24345
24346 2008-11-07 Robert Millan <rmh@aybabtu.com>
24347
24348 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
24349 per specification.
24350 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
24351 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24352 (based on find_multi_boot1_header).
24353 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24354 using find_multi_boot2_header(), and abort if neither Multiboot or
24355 Multiboot headers were found.
24356
24357 2008-11-07 Robert Millan <rmh@aybabtu.com>
24358
24359 Modularize at_keyboard.mod:
24360
24361 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24362 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24363 (at_keyboard_mod_LDFLAGS): New variables.
24364
24365 Actual terminal split:
24366
24367 * include/grub/term.h (struct grub_term): Split in ...
24368 (struct grub_term_input): ... this, and ...
24369 (struct grub_term_output): ... this. Update all users.
24370 (grub_term_set_current): Split in ...
24371 (grub_term_set_current_input): ... this, and ...
24372 (grub_term_set_current_output): ... this.
24373 (grub_term_get_current): Split in ...
24374 (grub_term_get_current_input): ... this, and ...
24375 (grub_term_get_current_output): ... this.
24376 (grub_term_register): Split in ...
24377 (grub_term_register_input): ... this, and ...
24378 (grub_term_register_output): ... this.
24379 (grub_term_unregister): Split in ...
24380 (grub_term_unregister_input): ... this, and ...
24381 (grub_term_unregister_output): ... this.
24382 (grub_term_iterate): Split in ...
24383 (grub_term_iterate_input): ... this, and ...
24384 (grub_term_iterate_output): ... this.
24385
24386 * kern/term.c (grub_term_list): Split in ...
24387 (grub_term_list_input): ... this, and ...
24388 (grub_term_list_output): ... this. Update all users.
24389 (grub_cur_term): Split in ...
24390 (grub_cur_term_input): ... this, and ...
24391 (grub_cur_term_output): ... this. Update all users.
24392 (grub_term_set_current): Split in ...
24393 (grub_term_set_current_input): ... this, and ...
24394 (grub_term_set_current_output): ... this.
24395 (grub_term_get_current): Split in ...
24396 (grub_term_get_current_input): ... this, and ...
24397 (grub_term_get_current_output): ... this.
24398 (grub_term_register): Split in ...
24399 (grub_term_register_input): ... this, and ...
24400 (grub_term_register_output): ... this.
24401 (grub_term_unregister): Split in ...
24402 (grub_term_unregister_input): ... this, and ...
24403 (grub_term_unregister_output): ... this.
24404 (grub_term_iterate): Split in ...
24405 (grub_term_iterate_input): ... this, and ...
24406 (grub_term_iterate_output): ... this.
24407
24408 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24409 a check for input and one for output (and only attempt to get keys
24410 from user when input works).
24411
24412 * util/grub-probe.c (grub_term_get_current): Split in ...
24413 (grub_term_get_current_input): ... this, and ...
24414 (grub_term_get_current_output): ... this.
24415 * util/grub-fstest.c: Likewise.
24416 * util/i386/pc/grub-setup.c: Likewise.
24417 * util/grub-editenv.c: Likewise.
24418
24419 Portability adjustments:
24420
24421 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24422 `term/i386/pc/at_keyboard.c'.
24423 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24424 grub_keyboard_controller_init() (now handled by terminal .init).
24425 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24426 grub_at_keyboard_init().
24427 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24428 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24429 at_keyboard.mod via input terminal interface).
24430 * include/grub/i386/coreboot/console.h: Convert into a stub for
24431 `<grub/i386/pc/console.h>'.
24432
24433 Migrate full terminals to new API:
24434
24435 * term/efi/console.c (grub_console_term): Split into ...
24436 (grub_console_term_input): ... this, and ...
24437 (grub_console_term_output): ... this. Update all users.
24438 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24439 (grub_ofconsole_init): Split into ...
24440 (grub_ofconsole_init_input): ... this, and ...
24441 (grub_ofconsole_init_output): ... this.
24442 (grub_ofconsole_term): Split into ...
24443 (grub_ofconsole_term_input): ... this, and ...
24444 (grub_ofconsole_term_output): ... this. Update all users.
24445 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24446 (grub_serial_term_input): ... this, and ...
24447 (grub_serial_term_output): ... this. Update all users.
24448 * term/i386/pc/console.c (grub_console_term): Split into ...
24449 (grub_console_term_input): ... this, and ...
24450 (grub_console_term_output): ... this. Update all users.
24451 (grub_console_term_input): Only enable it on PC/BIOS platform.
24452 (grub_console_init): Remove grub_keyboard_controller_init() call.
24453
24454 Migrate input terminals to new API:
24455
24456 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24457 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24458 i386-specific anyway).
24459 (grub_console_checkkey): Rename to ...
24460 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24461 users.
24462 (grub_keyboard_controller_orig): New variable.
24463 (grub_console_getkey): Rename to ...
24464 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24465 users.
24466 (grub_keyboard_controller_init): Static-ize. Save original
24467 controller value so that it can be restored ...
24468 (grub_keyboard_controller_fini): ... here (new function).
24469 (grub_at_keyboard_term): New structure.
24470 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24471 functions.
24472
24473 Migrate output terminals to new API:
24474
24475 * term/i386/pc/vga.c (grub_vga_term): Change type to
24476 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24477 members. Update all users.
24478 * term/gfxterm.c (grub_video_term): Change type to
24479 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24480 members. Update all users.
24481 * include/grub/i386/pc/console.h (grub_console_checkkey)
24482 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24483 etc).
24484
24485 Migrate `terminal' command and userland tools to new API:
24486
24487 * commands/terminal.c (grub_cmd_terminal): Split into ...
24488 (grub_cmd_terminal_input): ... this, and ...
24489 (grub_cmd_terminal_output): ... this.
24490 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24491 `terminal_input' and `terminal_output'.
24492 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24493 `terminal_input' / `terminal_output' API.
24494 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24495 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24496 provided ${GRUB_TERMINAL}, convert it).
24497
24498 2008-11-04 Robert Millan <rmh@aybabtu.com>
24499
24500 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24501 for FreeBSD.
24502 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24503
24504 2008-11-03 Bean <bean123ch@gmail.com>
24505
24506 * kern/elf.c (grub_elf32_load): Revert to previous code.
24507 (grub_elf64_load): Likewise.
24508
24509 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24510
24511 2008-11-01 Robert Millan <rmh@aybabtu.com>
24512
24513 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24514 (TARGET_CPPFLAGS): Likewise.
24515 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24516
24517 2008-11-01 Carles Pina i Estany <carles@pina.cat>
24518
24519 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24520
24521 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24522
24523 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24524 addition of objects until the code is not going to be able to fail.
24525
24526 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24527
24528 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24529 (add a missing NULL check, and correct them by moving the pointer
24530 operations after the actual check).
24531
24532 2008-10-29 Robert Millan <rmh@aybabtu.com>
24533
24534 * util/i386/pc/grub-install.in: Handle empty string as output from
24535 make_system_path_relative_to_its_root().
24536
24537 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24538
24539 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24540 circular metadata worst case scenario. If the metadata is circular
24541 then copy the wrap in place.
24542 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24543 project lib/format_text/layout.h
24544 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24545
24546 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24547
24548 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
24549
24550 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24551
24552 * util/update-grub_lib.in: Mention filename in warning message.
24553
24554 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24555
24556 * NEWS: Update for rename of update-grub to grub-mkconfig.
24557
24558 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24559
24560 * util/update-grub_lib.in: Copy to ...
24561 * util/grub-mkconfig_lib.in: ... this. Update all users.
24562 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
24563 * util/update-grub.in: Rename to ...
24564 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24565 option. Add `--output' option to allow users to specify the generated
24566 configuration file. Default to stdout.
24567 (update_grub_dir): Rename to ...
24568 (grub_mkconfig_dir): ... this.
24569 (grub_cfg): Default to an empty string.
24570 * conf/common.rmk (update-grub): Rename to ...
24571 (grub-mkconfig): ... this.
24572 (update-grub_lib): Copy to ...
24573 (grub-mkconfig_lib): ... this.
24574 (update-grub_SCRIPTS): Copy to ...
24575 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24576 (update-grub_DATA): Rename to ...
24577 (grub-mkconfig_DATA): ... this.
24578
24579 2008-09-28 Robert Millan <rmh@aybabtu.com>
24580
24581 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24582 to `modified'. Add the real `created' field.
24583 (grub_iso9660_uuid): Use `modified' rather than `created' for
24584 constructing the UUID.
24585
24586 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
24587
24588 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24589 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24590
24591 2008-09-28 Bean <bean123ch@gmail.com>
24592
24593 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24594 Thanks to Christian Franke for finding this bug.
24595
24596 2008-09-25 Robert Millan <rmh@aybabtu.com>
24597
24598 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24599 instances of grub_util_get_disk_name() (see previous commit).
24600
24601 2008-09-25 Robert Millan <rmh@aybabtu.com>
24602
24603 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24604 `util/i386/get_disk_name.c'.
24605 * conf/i386-efi.rmk: Likewise.
24606 * conf/x86_64-efi.rmk: Likewise.
24607 * conf/i386-coreboot.rmk: Likewise.
24608 * conf/i386-ieee1275.rmk: Likewise.
24609 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24610 `util/ieee1275/get_disk_name.c'.
24611 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24612 * util/ieee1275/get_disk_name.c: Remove file.
24613 * util/i386/get_disk_name.c: Remove file.
24614 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24615 "hd%d" for device.map entries, rather than using
24616 grub_util_get_disk_name().
24617
24618 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24619
24620 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24621 warning.
24622 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24623
24624 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24625
24626 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24627 Changed to 0x5100.
24628 (GRUB_TERM_PPAGE): Changed to 0x4900.
24629
24630 2008-09-24 Robert Millan <rmh@aybabtu.com>
24631
24632 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24633 macros (they were i386-pc specific).
24634 * include/grub/sparc64/ieee1275/console.h: Likewise.
24635 * include/grub/efi/console.h: Likewise.
24636
24637 2008-09-22 Bean <bean123ch@gmail.com>
24638
24639 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24640 resident and in attribute list.
24641
24642 * include/grub/ntfs.h (BMP_LEN): Removed.
24643
24644 2008-09-22 Bean <bean123ch@gmail.com>
24645
24646 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
24647 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24648
24649 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24650 error occurs, as grub_disk_open will call grub_disk_close, which will
24651 call p->close (scsi).
24652
24653 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24654
24655 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24656 (AC_PREREQ): Bumped to 2.59.
24657 (AC_TRY_COMPILE): Replace obsolete macro with ...
24658 (AC_COMPILE_IFELSE): ... this.
24659 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24660 (AC_LINK_IFELSE): ... this.
24661
24662 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24663
24664 * autogen.sh: Add a call to `gendistlist.sh'.
24665
24666 2008-09-19 Christian Franke <franke@computer.org>
24667
24668 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24669 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24670 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24671 Export __enable_execute_stack() to modules.
24672 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24673 New function.
24674
24675 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24676
24677 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24678 Sort the list.
24679
24680 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24681
24682 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
24683 #include <grub/util/hostdisk.h>.
24684
24685 2008-09-08 Robert Millan <rmh@aybabtu.com>
24686
24687 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24688 segments when their filesz is zero (grub_file_read() interprets
24689 zero-size as "read until EOF", which results in memory corruption).
24690 Use `lowest_segment' rather than 0 for calculating the current
24691 segment load address.
24692
24693 2008-09-08 Robert Millan <rmh@aybabtu.com>
24694
24695 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24696 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24697 clobbered useful information.
24698
24699 2008-09-08 Robert Millan <rmh@aybabtu.com>
24700
24701 * include/grub/util/biosdisk.h: Move to ...
24702 * include/grub/util/hostdisk.h: ... here. Update all users.
24703 * util/biosdisk.c: Move to ...
24704 * util/hostdisk.c: ... here. Update all users.
24705
24706 2008-09-07 Robert Millan <rmh@aybabtu.com>
24707
24708 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24709 variables.
24710 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24711 and length can be stored directly in the `mbi->mmap_addr' and
24712 `mbi->mmap_length' struct fields.
24713
24714 2008-09-07 Robert Millan <rmh@aybabtu.com>
24715
24716 * conf/i386.rmk: New file. Provides declaration for building
24717 `cpuid.mod'.
24718 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24719 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24720 variables.
24721 Include `conf/i386.mk'.
24722 * conf/i386-efi.rmk: Likewise.
24723 * conf/x86_64-efi.rmk: Likewise.
24724 * conf/i386-coreboot.rmk: Likewise.
24725 * conf/i386-ieee1275.rmk: Likewise.
24726
24727 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24728
24729 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24730 Adds optimization support for BGR based modes.
24731
24732 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24733 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24734 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24735 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24736 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24737 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24738 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24739 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24740 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24741 (grub_video_i386_vbeblit_index_index): Likewise.
24742 (grub_video_i386_vbeblit_replace_directN): Added.
24743 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24744 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24745 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24746 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24747 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24748 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24749 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24750 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24751 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24752 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24753 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24754 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24755 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24756
24757 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24758 (grub_video_i386_vbefill_R8G8B8): Likewise.
24759 (grub_video_i386_vbefill_index): Likewise.
24760 (grub_video_i386_vbefill_direct32): Added.
24761 (grub_video_i386_vbefill_direct24): Likewise.
24762 (grub_video_i386_vbefill_direct16): Likewise.
24763 (grub_video_i386_vbefill_direct8): Likewise.
24764
24765 * include/grub/video.h (grub_video_blit_format): Removed
24766 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24767 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24768 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24769 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24770 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
24771
24772 * video/video.c (grub_video_get_blit_format): Updated to use new
24773 blit formats. Added handling for 16 bit color modes.
24774
24775 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
24776 fillers.
24777 (common_blitter): Updated to use new blitters.
24778
24779 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24780 Removed.
24781 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24782 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24783 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24784 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24785 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24786 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24787 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24788 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24789 (grub_video_i386_vbeblit_index_index): Likewise.
24790 (grub_video_i386_vbeblit_replace_directN): Added.
24791 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24792 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24793 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24794 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24795 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24796 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24797 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24798 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24799 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24800 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24801 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24802 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24803 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24804
24805 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24806 (grub_video_i386_vbefill_R8G8B8): Likewise.
24807 (grub_video_i386_vbefill_index): Likewise.
24808 (grub_video_i386_vbefill_direct32): Added.
24809 (grub_video_i386_vbefill_direct24): Likewise.
24810 (grub_video_i386_vbefill_direct16): Likewise.
24811 (grub_video_i386_vbefill_direct8): Likewise.
24812
24813 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24814 types.
24815
24816 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24817 types.
24818
24819 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24820 blitter types.
24821
24822 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24823 types.
24824
24825 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24826
24827 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24828 RAID level 1.
24829
24830 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24831
24832 * fs/iso9660.c (grub_iso9660_date): New structure.
24833 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24834 (grub_iso9660_uuid): New function.
24835
24836 2008-09-05 Bean <bean123ch@gmail.com>
24837
24838 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24839
24840 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24841 insensitive bit for names in Win32 and Win32 & DOS namespace.
24842
24843 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24844
24845 * include/grub/types.h (LONG_MAX): Likewise.
24846
24847 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24848
24849 * util/getroot.c: Include <config.h>.
24850 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24851 add support for /dev/md/N devices and handle LVM double dash escaping.
24852
24853 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24854
24855 * config.guess: Update to latest version from config git.
24856 * config.sub: Likewise.
24857
24858 2008-09-03 Robert Millan <rmh@aybabtu.com>
24859
24860 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24861 `disk->total_sectors'.
24862
24863 2008-09-01 Colin D Bennett <colin@gibibit.com>
24864
24865 * include/grub/normal.h: Fixed incorrect comment for
24866 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24867
24868 2008-09-01 Colin D Bennett <colin@gibibit.com>
24869
24870 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24871 values with defines.
24872
24873 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24874 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24875 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24876 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24877 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24878 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24879 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24880 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24881 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24882 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24883 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24884 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24885 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24886 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24887 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24888 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24889 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24890 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24891 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24892
24893 2008-08-31 Robert Millan <rmh@aybabtu.com>
24894
24895 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24896 declaration.
24897 (grub_multiboot): Fix a few warnings.
24898
24899 2008-08-31 Robert Millan <rmh@aybabtu.com>
24900
24901 * loader/i386/pc/multiboot.c: Update comment not to say that
24902 boot_device support is unimplemented.
24903
24904 2008-08-31 Robert Millan <rmh@aybabtu.com>
24905
24906 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24907 or memory map support are unimplemented.
24908
24909 2008-08-31 Colin D Bennett <colin@gibibit.com>
24910
24911 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24912
24913 2008-08-31 Colin D Bennett <colin@gibibit.com>
24914
24915 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24916 total video memory in 'vbeinfo' output; show color format details for
24917 each video mode.
24918
24919 2008-08-30 Pavel Roskin <proski@gnu.org>
24920
24921 * util/genmoddep.c: Remove for real this time.
24922 * DISTLIST: Remove util/genmoddep.c.
24923
24924 2008-08-30 Robert Millan <rmh@aybabtu.com>
24925
24926 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24927 as required by Multiboot spec (it was already 4-byte aligned, but
24928 only by chance).
24929
24930 2008-08-29 Pavel Roskin <proski@gnu.org>
24931
24932 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24933 * kern/powerpc/ieee1275/startup.S: ... this.
24934 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24935 * DISTLIST: Likewise.
24936
24937 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24938 grub/cpu/kernel.h. Add start label for consistency with other
24939 platforms. Add grub_prefix immediately after start. Add jump
24940 to the code after grub_prefix.
24941 * include/grub/powerpc/kernel.h: Provide valid values for
24942 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24943
24944 2008-08-29 Bean <bean123ch@gmail.com>
24945
24946 * configure.ac: Change host_os to cygwin for mingw.
24947 (asprintf): New check for function.
24948
24949 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24950 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24951
24952 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
24953 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
24954 sync, sleep and grub_util_get_disk_size for mingw.
24955
24956 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24957 to get size in mingw.
24958 (open_device): Use flag O_BINARY if it's defined.
24959 (find_root_device): Add dummy code for mingw.
24960
24961 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24962 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24963 (get_scsi_disk_name): Return 0 for mingw.
24964
24965 * util/hostfs.c: #include <grub/util/misc.h>.
24966 (grub_hostfs_open): Use "rb" flag to open file, use
24967 grub_util_get_disk_size to get disk size for mingw.
24968
24969 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24970 (asprintf): New function if HAVE_ASPRINTF is not set.
24971 (sync): New function for mingw.
24972 (sleep): Likewise.
24973 (grub_util_get_disk_size): Likewise.
24974
24975 2008-08-28 Pavel Roskin <proski@gnu.org>
24976
24977 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24978 kern/time.c.
24979
24980 2008-08-28 Robert Millan <rmh@aybabtu.com>
24981
24982 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24983
24984 2008-08-28 Robert Millan <rmh@aybabtu.com>
24985
24986 Change find_grub_drive() syntax so it doesn't prevent it from
24987 detecting NULL names as errors.
24988
24989 * util/biosdisk.c (find_grub_drive): Move free slot search code
24990 from here ...
24991 (find_free_slot): ... to here.
24992 (read_device_map): Use find_free_slot() to search for free slots.
24993
24994 2008-08-27 Marco Gerards <marco@gnu.org>
24995
24996 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24997 (scsi_mod_SOURCES): New variable.
24998 (scsi_mod_CFLAGS): Likewise
24999 (scsi_mod_LDFLAGS): Likewise.
25000
25001 * disk/scsi.c: New file.
25002
25003 * include/grub/scsi.h: Likewise.
25004
25005 * include/grub/scsicmd.h: Likewise.
25006
25007 * disk/ata.c: Include <grub/scsi.h>.
25008 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25009 instead.
25010 (grub_ata_iterate): Skip ATAPI devices.
25011 (grub_ata_open): Only handle ATAPI devices.
25012 (struct grub_atapi_read): Removed.
25013 (grub_atapi_readsector): Likewise.
25014 (grub_ata_read): No longer handle ATAPI devices.
25015 (grub_ata_write): Likewise.
25016 (grub_atapi_iterate): New function.
25017 (grub_atapi_read): Likewise.
25018 (grub_atapi_write): Likewise.
25019 (grub_atapi_open): Likewise.
25020 (grub_atapi_close): Likewise.
25021 (grub_atapi_dev): New variable.
25022 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25023 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25024
25025 * include/grub/disk.h (enum grub_disk_dev_id): Add
25026 `GRUB_DISK_DEVICE_SCSI_ID'.
25027
25028 2008-08-26 Robert Millan <rmh@aybabtu.com>
25029
25030 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25031 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25032 descriptive.
25033
25034 2008-08-23 Bean <bean123ch@gmail.com>
25035
25036 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25037 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25038 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25039 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25040 dm_nv.mod.
25041 (raid5rec_mod_SOURCES): New macro.
25042 (raid5rec_mod_CFLAGS): Likewise.
25043 (raid5rec_mod_LDFLAGS): Likewise.
25044 (raid6rec_mod_SOURCES): Likewise.
25045 (raid6rec_mod_CFLAGS): Likewise.
25046 (raid6rec_mod_LDFLAGS): Likewise.
25047 (mdraid_mod_SOURCES): Likewise.
25048 (mdraid_mod_CFLAGS): Likewise.
25049 (mdraid_mod_LDFLAGS): Likewise.
25050 (dm_nv_mod_SOURCES): Likewise.
25051 (dm_nv_mod_CFLAGS): Likewise.
25052 (dm_nv_mod_LDFLAGS): Likewise.
25053
25054 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
25055 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25056 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25057
25058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
25059 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25060
25061 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25062
25063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25064
25065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25066
25067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25068
25069 * disk/raid5_recover.c: New file.
25070
25071 * disk/raid6_recover.c: Likewise.
25072
25073 * disk/mdraid_linux.c: Likewise.
25074
25075 * disk/dmraid_nvidia.c: Likewise.
25076
25077 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
25078 ULONG_MAX.
25079
25080 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
25081 calculate the size of raid device.
25082 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
25083 different layout of raid5.
25084 (grub_raid_scan_device): Remove code specific to mdraid.
25085 (grub_raid_list): New variable.
25086 (free_array): New function.
25087 (grub_raid_register): Likewise.
25088 (grub_raid_unregister): Likewise.
25089 (grub_raid_rescan): Likewise.
25090 (GRUB_MOD_INIT): Don't iterate device here.
25091 (GRUB_MOD_FINI): Use free_array to release resource.
25092
25093 * include/grub/raid.h: Remove macro and structure specific to mdraid.
25094 (grub_raid5_recover_func_t): New function variable type.
25095 (grub_raid6_recover_func_t): Likewise.
25096 (grub_raid5_recover_func): New variable.
25097 (grub_raid6_recover_func): Likewise.
25098 (grub_raid_register): New function.
25099 (grub_raid_unregister): Likewise.
25100 (grub_raid_rescan): Likewise.
25101 (grub_raid_block_xor): Likewise.
25102
25103 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
25104 (CMD_CRC): New macro.
25105 (part): Removed.
25106 (read_file): Handle device as well as file.
25107 (cmd_crc): New function.
25108 (fstest): Handle multiple disks.
25109 (options): Remove part, raw and long, add root and diskcount.
25110 (usage): Add crc, remove -p, -r, -l, add -r and -c.
25111 (main): Find the first non option entry and ignore subsequent options,
25112 add handling for the new options, support multiple disks.
25113
25114 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
25115
25116 2008-08-23 Bean <bean123ch@gmail.com>
25117
25118 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
25119
25120 * genfslist.sh: Ignore kernel.mod.
25121
25122 * genpartmaplist.sh: Likewise.
25123
25124 2008-08-23 Robert Millan <rmh@aybabtu.com>
25125
25126 * util/getroot.c (find_root_device): Skip anything that starts with
25127 a dot, not just directories. This avoids things like /dev/.tmp.md0.
25128
25129 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
25130
25131 * util/update-grub.in (GRUB_GFXMODE): Export variable.
25132 * util/grub.d/00_header.in: Allow the administrator to change default
25133 gfxmode via ${GRUB_GFXMODE}.
25134
25135 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
25136
25137 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
25138
25139 2008-08-21 Robert Millan <rmh@aybabtu.com>
25140
25141 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
25142 loader.
25143 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
25144 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
25145
25146 2008-08-20 Carles Pina i Estany <carles@pina.cat>
25147
25148 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
25149 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
25150
25151 2008-08-19 Robert Millan <rmh@aybabtu.com>
25152
25153 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
25154 (struct grub_virtual_screen): Remove `cursor_color'.
25155 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
25156 initialization.
25157 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
25158
25159 2008-08-18 Robert Millan <rmh@aybabtu.com>
25160
25161 Unify (identical) linux_normal.c files.
25162 * loader/i386/efi/linux_normal.c: Move from here ...
25163 * loader/linux_normal.c: ... to here. Update all users.
25164 * loader/i386/pc/linux_normal.c: Delete. Update all users.
25165 * loader/i386/ieee1275/linux_normal.c: Likewise.
25166
25167 2008-08-18 Robert Millan <rmh@aybabtu.com>
25168
25169 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
25170 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
25171 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
25172 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
25173 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
25174 New macros.
25175 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
25176 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
25177 (GRUB_LINUX_CL_END_OFFSET): ... to here.
25178 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
25179 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
25180 (GRUB_EFI_CL_END_OFFSET): Rename to ...
25181 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
25182 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
25183 Initialize `params->video_cursor_x' and `params->video_cursor_y'
25184 portably using grub_getxy().
25185 Replace `-EFI' with `-bzImage' in boot message.
25186
25187 2008-08-17 Robert Millan <rmh@aybabtu.com>
25188
25189 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
25190
25191 2008-08-17 Robert Millan <rmh@aybabtu.com>
25192
25193 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
25194
25195 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
25196 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
25197 (grub_machine_mmap_iterate): New function declaration.
25198 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
25199 structure.
25200 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
25201 macros.
25202
25203 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
25204 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
25205 Move e820 parsing from here ...
25206 * kern/i386/pc/mmap.c: New file.
25207 (grub_machine_mmap_iterate): ... to here.
25208
25209 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
25210 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
25211 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
25212 (grub_available_iterate): Redeclare to return `void', and redeclare
25213 its hook to use grub_uint64_t as addr and size parameters, and rename
25214 to ...
25215 (grub_machine_mmap_iterate): ... this. Update all users.
25216
25217 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
25218 to make it more readable. Rename to ...
25219 (grub_machine_mmap_iterate): ... this.
25220
25221 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
25222 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
25223 (grub_multiboot): Allocate an extra region after the payload, and fill
25224 it with a Multiboot memory map. Adjust a.out loader to calculate size
25225 with the extra space.
25226 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
25227 with the extra space.
25228
25229 2008-08-17 Carles Pina i Estany <carles@pina.cat>
25230
25231 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
25232
25233 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
25234
25235 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
25236 mdate-sh to the list `find' searches for.
25237 * DISTLIST: Regenerated.
25238
25239 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
25240
25241 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
25242 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
25243 genmoddep.awk, gensymlist.sh.in.
25244 (DISTDIRS): Add bus, docs, hook, lib.
25245 * DISTLIST: Regenerated.
25246 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
25247
25248 2008-08-16 Robert Millan <rmh@aybabtu.com>
25249
25250 * disk/raid.c (grub_raid_init): Handle/report errors set by
25251 grub_device_iterate().
25252 * disk/lvm.c (grub_lvm_init): Likewise.
25253
25254 2008-08-15 Bean <bean123ch@gmail.com>
25255
25256 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25257 and datehook.mod.
25258 (datetime_mod_SOURCES): New macro.
25259 (datetime_mod_CFLAGS): Likewise.
25260 (datetime_mod_LDFLAGS): Likewise.
25261 (date_mod_SOURCES): Likewise.
25262 (date_mod_CFLAGS): Likewise.
25263 (date_mod_LDFLAGS): Likewise.
25264 (datehook_mod_SOURCES): Likewise.
25265 (datehook_mod_CFLAGS): Likewise.
25266 (datehook_mod_LDFLAGS): Likewise.
25267
25268 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25269 and datehook.mod.
25270 (datetime_mod_SOURCES): New macro.
25271 (datetime_mod_CFLAGS): Likewise.
25272 (datetime_mod_LDFLAGS): Likewise.
25273 (date_mod_SOURCES): Likewise.
25274 (date_mod_CFLAGS): Likewise.
25275 (date_mod_LDFLAGS): Likewise.
25276 (datehook_mod_SOURCES): Likewise.
25277 (datehook_mod_CFLAGS): Likewise.
25278 (datehook_mod_LDFLAGS): Likewise.
25279
25280 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25281 and datehook.mod.
25282 (datetime_mod_SOURCES): New macro.
25283 (datetime_mod_CFLAGS): Likewise.
25284 (datetime_mod_LDFLAGS): Likewise.
25285 (date_mod_SOURCES): Likewise.
25286 (date_mod_CFLAGS): Likewise.
25287 (date_mod_LDFLAGS): Likewise.
25288 (datehook_mod_SOURCES): Likewise.
25289 (datehook_mod_CFLAGS): Likewise.
25290 (datehook_mod_LDFLAGS): Likewise.
25291
25292 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25293 and datehook.mod.
25294 (datetime_mod_SOURCES): New macro.
25295 (datetime_mod_CFLAGS): Likewise.
25296 (datetime_mod_LDFLAGS): Likewise.
25297 (date_mod_SOURCES): Likewise.
25298 (date_mod_CFLAGS): Likewise.
25299 (date_mod_LDFLAGS): Likewise.
25300 (datehook_mod_SOURCES): Likewise.
25301 (datehook_mod_CFLAGS): Likewise.
25302 (datehook_mod_LDFLAGS): Likewise.
25303
25304 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25305 and datehook.mod.
25306 (datetime_mod_SOURCES): New macro.
25307 (datetime_mod_CFLAGS): Likewise.
25308 (datetime_mod_LDFLAGS): Likewise.
25309 (date_mod_SOURCES): Likewise.
25310 (date_mod_CFLAGS): Likewise.
25311 (date_mod_LDFLAGS): Likewise.
25312 (datehook_mod_SOURCES): Likewise.
25313 (datehook_mod_CFLAGS): Likewise.
25314 (datehook_mod_LDFLAGS): Likewise.
25315
25316 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
25317
25318 * commands/date.c: New file.
25319
25320 * hook/datehook.c: Likewise.
25321
25322 * include/grub/lib/datetime.h: Likewise.
25323
25324 * include/grub/i386/cmos.h: Likewise.
25325
25326 * lib/datetime.c: Likewise.
25327
25328 * lib/i386/datetime.c: Likewise.
25329
25330 * lib/efi/datetime.c: Likewise.
25331
25332 2008-08-14 Robert Millan <rmh@aybabtu.com>
25333
25334 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
25335 (grub_mkelfimage_SOURCES): New variable.
25336 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
25337
25338 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
25339 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
25340 * conf/powerpc-ieee1275.rmk: Likewise.
25341 * conf/i386-ieee1275.rmk: Likewise.
25342
25343 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
25344 * kern/i386/coreboot/init.c: Likewise.
25345
25346 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
25347 with `<grub/cpu/kernel.h>'.
25348 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
25349 to ...
25350 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
25351 * kern/i386/coreboot/startup.S: Likewise.
25352
25353 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25354 (GRUB_MOD_GAP): Remove.
25355 * include/grub/powerpc/kernel.h: New file.
25356 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25357 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25358 * include/grub/i386/kernel.h: New file.
25359 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25360 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25361 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25362
25363 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25364 `grub-mkelfimage'.
25365 Use --directory when invoking grub_mkimage.
25366
25367 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25368 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25369 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25370 and GRUB_KERNEL_CPU_PREFIX.
25371
25372 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
25373
25374 * include/grub/err.h (grub_err_printf): New function prototype.
25375 * util/misc.c (grub_err_printf): New function.
25376 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25377 grub_printf.
25378 * kern/err.c (grub_print_error): Use grub_err_printf.
25379
25380 2008-08-13 Robert Millan <rmh@aybabtu.com>
25381
25382 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25383
25384 2008-08-13 Robert Millan <rmh@aybabtu.com>
25385
25386 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25387 boot entry.
25388
25389 2008-08-12 Robert Millan <rmh@aybabtu.com>
25390
25391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25392 of the relocation code from here ...
25393 (grub_multiboot): ... to here.
25394 (forward_relocator, backward_relocator): Move from here ...
25395 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25396 (grub_multiboot_backward_relocator): ... to here.
25397 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25398 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25399 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25400 (grub_multiboot_forward_relocator_end)
25401 (grub_multiboot_backward_relocator)
25402 (grub_multiboot_backward_relocator_end): New variables.
25403
25404 2008-08-12 Bean <bean123ch@gmail.com>
25405
25406 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25407
25408 2008-08-11 Robert Millan <rmh@aybabtu.com>
25409
25410 * kern/i386/linuxbios/startup.S: Move from here ...
25411 * kern/i386/coreboot/startup.S: ... to here.
25412
25413 * kern/i386/linuxbios/init.c: Move from here ...
25414 * kern/i386/coreboot/init.c: ... to here.
25415
25416 * kern/i386/linuxbios/table.c: Move from here ...
25417 * kern/i386/coreboot/mmap.c: ... to here.
25418
25419 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25420
25421 2008-08-11 Robert Millan <rmh@aybabtu.com>
25422
25423 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25424 errors. Leave it to the upper layer to handle them.
25425
25426 2008-08-09 Christian Franke <franke@computer.org>
25427
25428 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25429 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25430 Install `grub.d/10_windows' only on Cygwin.
25431 * configure.ac: Add subst of `target_os'.
25432 Check `target_os' also before setting TARGET_OBJ2ELF.
25433 Add `--enable-grub-pe2elf'.
25434
25435 2008-08-08 Robert Millan <rmh@aybabtu.com>
25436
25437 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25438 (grub_last_time): Change type to grub_uint64_t.
25439 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25440 (grub_disk_close): Likewise.
25441
25442 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25443 (run_menu): Migrate code from to using grub_get_time_ms().
25444
25445 * util/misc.c (grub_get_time_ms): New function.
25446
25447 2008-08-08 Marco Gerards <marco@gnu.org>
25448
25449 * disk/ata.c (grub_ata_regget): Change return type to
25450 `grub_uint8_t'.
25451 (grub_ata_regget2): Likewise.
25452 (grub_ata_wait_status): New function.
25453 (grub_ata_wait_busy): Removed function, updated all users to use
25454 `grub_ata_wait_status'.
25455 (grub_ata_wait_drq): Likewise.
25456 (grub_ata_cmd): New function.
25457 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25458 error handling.
25459 (grub_ata_pio_write): Add error handling.
25460 (grub_atapi_identify): Likewise.
25461 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25462 handling.
25463 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25464 handling. Actually use the detected registers. Reorder the
25465 detection logic such that it is easier to read.
25466 (grub_ata_pciinit): Do not assign the same ID to each controller.
25467 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25468 handling.
25469 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25470
25471 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25472
25473 2008-08-08 Marco Gerards <marco@gnu.org>
25474
25475 * NEWS: Update.
25476
25477 2008-08-07 Bean <bean123ch@gmail.com>
25478
25479 * include/grub/x86_64/pci.h: New file.
25480
25481 2008-08-07 Christian Franke <franke@computer.org>
25482
25483 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25484 (TIMER2_GATE): Likewise.
25485 (grub_pit_wait): Add enable/disable of the timer2 gate
25486 bit of port 0x61. This fixes a possible infinite loop.
25487
25488 2008-08-07 Bean <bean123ch@gmail.com>
25489
25490 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25491 kern/i386/tsc.c and kern/i386/pit.c.
25492
25493 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25494 x86_64 platform.
25495
25496 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25497 <grub/i386/tsc.h>.
25498
25499 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25500
25501 2008-08-07 Bean <bean123ch@gmail.com>
25502
25503 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25504
25505 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25506
25507 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25508 multiple inclusion. Add #include <grub/types.h>.
25509
25510 2008-08-06 Christian Franke <franke@computer.org>
25511
25512 * conf/common.rmk: Build and install `10_windows'.
25513 * util/grub.d/10_windows.in: New script.
25514
25515 2008-08-06 Pavel Roskin <proski@gnu.org>
25516
25517 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25518
25519 2008-08-06 Robert Millan <rmh@aybabtu.com>
25520
25521 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25522 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25523
25524 2008-08-06 Bean <bean123ch@gmail.com>
25525
25526 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25527 (grub_pxefs_fs_int): Remove dummy definition.
25528 (grub_pxefs_open): Use data->block_size to store the current block
25529 size setting.
25530 (grub_pxefs_read): Use block size stored in data->block_size. As the
25531 value of grub_pxe_blksize can be changed after the file is opened.
25532
25533 2008-08-06 Bean <bean123ch@gmail.com>
25534
25535 * fs/i386/pc/pxe.c (curr_file): new variable.
25536 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25537 require the dummy internal file system anymore.
25538 (grub_pxefs_read): Removed.
25539 (grub_pxefs_close): Likewise.
25540 (grub_pxefs_fs_int): Likewise.
25541 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25542 connection when we switch file.
25543 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25544
25545 2008-08-06 Robert Millan <rmh@aybabtu.com>
25546
25547 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25548 `halt.mod'.
25549 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25550 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25551
25552 * kern/i386/halt.c: New file.
25553 * kern/i386/reboot.c: Likewise.
25554 * include/grub/i386/reboot.h: Likewise.
25555 * include/grub/i386/halt.h: Likewise.
25556
25557 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25558 Include `<grub/cpu/halt.h>'.
25559 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25560 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25561
25562 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25563 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25564 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25565 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25566 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25567 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25568 from here ...
25569 * include/grub/i386/at_keyboard.h: ... to here.
25570
25571 2008-08-05 Robert Millan <rmh@aybabtu.com>
25572
25573 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25574 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25575 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25576 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25577 `kern/generic/millisleep.c'.
25578
25579 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25580 instead of grub_get_rtc().
25581 (grub_tsc_init): Initialize `tsc_boot_time'.
25582
25583 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25584 (grub_machine_init): Use grub_tsc_init() rather than
25585 installing an RTC-based handler via grub_install_get_time_ms().
25586
25587 * kern/i386/pit.c: New file.
25588 * include/grub/i386/pit.h: Likewise.
25589
25590 2008-08-05 Bean <bean123ch@gmail.com>
25591
25592 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25593
25594 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25595 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25596 (pxe_mod_SOURCES): New macro.
25597 (pxe_mod_CFLAGS): Likewise.
25598 (pxe_mod_LDFLAGS): Likewise.
25599 (pxecmd_mod_SOURCES): Likewise.
25600 (pxecmd_mod_CFLAGS): Likewise.
25601 (pxecmd_mod_LDFLAGS): Likewise.
25602
25603 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25604 (grub_pxe_call): Likewise.
25605
25606 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25607
25608 * commands/i386/pc/pxecmd.c: New file.
25609
25610 * fs/i386/pc/pxe.c: Likewise.
25611
25612 * include/grub/i386/pc/pxe.h: Likewise.
25613
25614 2008-08-05 Bean <bean123ch@gmail.com>
25615
25616 * util/console.c (grub_console_cur_color): New variable.
25617 (grub_console_standard_color): Likewise.
25618 (grub_console_normal_color): Likewise.
25619 (grub_console_highlight_color): Likewise.
25620 (color_map): Likewise.
25621 (use_color): Likewise.
25622 (NUM_COLORS): New macro.
25623 (grub_ncurses_setcolorstate): Handle color properly.
25624 (grub_ncurses_setcolor): Don't change color here, just remember the
25625 settings, color will be set in grub_ncurses_setcolorstate.
25626 (grub_ncurses_getcolor): New function.
25627 (grub_ncurses_init): Initialize color pairs.
25628 (grub_ncurses_term): New member grub_ncurses_getcolor.
25629
25630 2008-08-05 Colin D Bennett <colin@gibibit.com>
25631
25632 High resolution timer support. Implemented for x86 CPUs using TSC.
25633 Extracted generic grub_millisleep() so it's linked in only as needed.
25634 This requires a Pentium compatible CPU; if the RDTSC instruction is
25635 not supported, then it falls back on the generic grub_get_time_ms()
25636 implementation that uses the machine's RTC.
25637
25638 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25639 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25640 `kern/generic/millisleep.c'.
25641
25642 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25643 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25644
25645 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25646 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25647
25648 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25649
25650 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25651 `kern/generic/millisleep.c'.
25652
25653 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25654
25655 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25656
25657 * kern/generic/rtc_get_time_ms.c: New file.
25658
25659 * kern/generic/millisleep.c: New file.
25660
25661 * kern/misc.c: Don't include
25662 <kern/time.h> anymore.
25663 (grub_millisleep_generic): Removed.
25664
25665 * commands/sleep.c (grub_interruptible_millisleep): Uses
25666 grub_get_time_ms() instead of grub_get_rtc().
25667
25668 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25669 function.
25670 (grub_cpu_is_cpuid_supported): New inline function.
25671 (grub_cpu_is_tsc_supported): New inline function.
25672 (grub_tsc_init): New function prototype.
25673 (grub_tsc_get_time_ms): New function prototype.
25674
25675 * kern/i386/tsc.c (grub_get_time_ms): New file.
25676
25677 * include/grub/time.h: Include <grub/types.h.
25678 (grub_millisleep_generic): Removed.
25679 (grub_get_time_ms): New prototype.
25680 (grub_install_get_time_ms): New prototype.
25681 (grub_rtc_get_time_ms): New prototype.
25682
25683 * kern/time.c (grub_get_time_ms): New function.
25684 (grub_install_get_time_ms): New function.
25685
25686 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25687 <grub/time.h> anymore.
25688 (grub_millisleep): Removed.
25689 (grub_machine_init): Call grub_tsc_init.
25690
25691 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25692 get_time_ms() implementation.
25693
25694 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25695 (ieee1275_get_time_ms): New function.
25696 (grub_machine_init): Install get_time_ms() implementation.
25697
25698 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25699 (grub_machine_init): Call grub_tsc_init().
25700 (grub_millisleep): Removed.
25701
25702 * kern/ieee1275/init.c (grub_millisleep): Removed.
25703 (grub_machine_init): Install ieee1275_get_time_ms()
25704 implementation.
25705 (ieee1275_get_time_ms): New function.
25706 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25707 real work.
25708
25709 2008-08-05 Marco Gerards <marco@gnu.org>
25710
25711 * disk/ata.c: Include <grub/pci.h>.
25712 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25713 (grub_ata_initialize): Rewritten.
25714 (grub_ata_device_initialize): New function.
25715
25716 2008-08-04 Pavel Roskin <proski@gnu.org>
25717
25718 * kern/main.c: Include grub/mm.h.
25719
25720 2008-08-04 Robert Millan <rmh@aybabtu.com>
25721
25722 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25723 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25724 corruption problem).
25725
25726 2008-08-04 Robert Millan <rmh@aybabtu.com>
25727
25728 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25729 warnings introduced in my last commit.
25730
25731 2008-08-03 Robert Millan <rmh@aybabtu.com>
25732
25733 Make PCI available on all i386 architectures.
25734
25735 * include/grub/i386/pc/pci.h: Move from here ...
25736 * include/grub/i386/pci.h: ... to here.
25737
25738 * include/grub/i386/pc/pci.h: Remove.
25739 * include/grub/i386/efi/pci.h: Remove.
25740 * include/grub/x86_64/efi/pci.h: Remove.
25741
25742 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25743 `<grub/cpu/pci.h>'.
25744
25745 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25746 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25747 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25748
25749 * conf/i386-ieee1275.rmk: Likewise.
25750
25751 2008-08-03 Robert Millan <rmh@aybabtu.com>
25752
25753 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25754 (grub_console_setcursor): Make it possible to set cursor off.
25755
25756 2008-08-03 Robert Millan <rmh@aybabtu.com>
25757
25758 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25759 of modules instead of assuming which platform provides what.
25760 * util/update-grub.in: Likewise.
25761
25762 2008-08-03 Robert Millan <rmh@aybabtu.com>
25763
25764 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25765 instead of `grub_install_dos_part' to determine whether a drive needs
25766 to be prepended to prefix (`grub_install_dos_part' is not reliable,
25767 because it can be overridden when loading GRUB via Multiboot).
25768
25769 2008-08-02 Robert Millan <rmh@aybabtu.com>
25770
25771 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25772
25773 2008-08-02 Robert Millan <rmh@aybabtu.com>
25774
25775 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25776 of informational grub_dprintf() calls.
25777
25778 2008-08-02 Robert Millan <rmh@aybabtu.com>
25779
25780 * disk/memdisk.c (memdisk_size): Don't initialize.
25781 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25782
25783 * include/grub/i386/pc/kernel.h
25784 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25785 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25786 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25787 (grub_arch_memdisk_size): Remove.
25788
25789 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25790 field (was only used to transfer a constant). Add `type' field to
25791 support multiple module types.
25792 (grub_module_iterate): New function.
25793
25794 * kern/device.c (grub_device_open): Do not hide error messages
25795 when grub_disk_open() fails. Use grub_print_error() instead.
25796
25797 * kern/i386/pc/init.c (grub_arch_modules_addr)
25798 (grub_arch_memdisk_size): Remove functions.
25799 (grub_arch_modules_addr): Return the module address in high memory
25800 (now that it isn't copied anymore).
25801
25802 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25803 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25804 decompression routine (grub_total_module_size already includes that
25805 now). Don't copy modules back to low memory.
25806
25807 * kern/main.c: Include `<grub/mm.h>'.
25808 (grub_load_modules): Split out (and use) ...
25809 (grub_module_iterate): ... this function, which iterates through
25810 module objects and runs a hook.
25811 Comment out grub_mm_init_region() call, as it would cause non-ELF
25812 modules to be overwritten.
25813
25814 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25815 the memdisk image in its own region, make it part of the module list.
25816 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25817 (main): Parse --memdisk|-m option, and pass user-provided path as
25818 parameter to generate_image().
25819 (add_segments): Pass `memdisk_path' down to load_modules().
25820 (load_modules): Embed memdisk image in module section when requested.
25821 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25822 `header.type' instead of `header.offset'.
25823
25824 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25825 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25826 (memdisk_mod_LDFLAGS): New variables.
25827 * conf/i386-coreboot.rmk: Likewise.
25828 * conf/i386-ieee1275.rmk: Likewise.
25829
25830 2008-08-02 Robert Millan <rmh@aybabtu.com>
25831
25832 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25833 (backward_relocator): New variables. Used to allocate and relocate
25834 the payload, respectively.
25835 (grub_multiboot_load_elf32): Load into heap instead of requested
25836 address, install the appropriate relocator code in each bound of
25837 the payload, and set the entry point such that
25838 grub_multiboot_real_boot() will jump to one of them.
25839
25840 * kern/i386/loader.S (grub_multiboot_payload_size)
25841 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25842 (grub_multiboot_payload_entry_offset): New variables.
25843 (grub_multiboot_real_boot): Set cpu context to what the relocator
25844 expects, and jump to the relocator instead of the payload.
25845
25846 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25847 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25848 (grub_multiboot_payload_entry_offset): Export.
25849
25850 2008-08-01 Bean <bean123ch@gmail.com>
25851
25852 * normal/menu_entry.c (editor_getline): Don't return the original
25853 string as result, as it will be released by lexer once it has done
25854 using it.
25855
25856 2008-08-01 Robert Millan <rmh@aybabtu.com>
25857
25858 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25859 within menuentries, not before them.
25860 util/grub.d/10_hurd.in: Likewise.
25861
25862 2008-08-01 Bean <bean123ch@gmail.com>
25863
25864 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25865 (bufio_mod_SOURCES): New macro.
25866 (bufio_mod_CFLAGS): Likewise.
25867 (bufio_mod_LDFLAGS): Likewise.
25868
25869 * include/grub/bufio.h: New file.
25870
25871 * io/bufio.c: Likewise.
25872
25873 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25874 (grub_video_reader_png): Use grub_buffile_open to open file.
25875
25876 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25877 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25878
25879 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25880 (grub_video_reader_tga): Use grub_buffile_open to open file.
25881
25882 * font/manager.c: Include <grub/bufio.h>.
25883 (add_font): Use grub_buffile_open to open file.
25884
25885 2008-07-31 Robert Millan <rmh@aybabtu.com>
25886
25887 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25888 ELF segments, use a macro for arbitrarily accessing any of them instead
25889 of preparing a pointer that allows access to one at a time.
25890 (grub_multiboot_load_elf64): Likewise.
25891
25892 2008-07-31 Bean <bean123ch@gmail.com>
25893
25894 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25895 GRUB_KERNEL_MACHINE_DATA_END.
25896
25897 2008-07-30 Robert Millan <rmh@aybabtu.com>
25898
25899 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25900 Increase from 0x50 to 0x60.
25901 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25902 use UUIDs to identify the root drive for them. If that's not
25903 possible, abort.
25904 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25905 check, for cross-disk installs.
25906
25907 2008-07-30 Robert Millan <rmh@aybabtu.com>
25908
25909 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25910 is non-empty, use it to set the `prefix' environment variable instead
25911 of the usual approach.
25912 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25913 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25914 environment variable instead of dummy make_install_device().
25915
25916 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25917 (start): Insert a data section, with `grub_prefix' variable.
25918 * kern/i386/linuxbios/startup.S: Likewise.
25919
25920 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25921 New variable reference.
25922 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25923 New macro. Defines offset of `grub_prefix' within startup.S (relative
25924 to `start').
25925 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25926 section within startup.S (relative to `start').
25927 * include/grub/i386/coreboot/kernel.h: Likewise.
25928
25929 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25930 Overwrite grub_prefix with its contents, at the beginning of the
25931 first segment.
25932 (main): Understand -p|--prefix.
25933
25934 2008-07-30 Robert Millan <rmh@aybabtu.com>
25935
25936 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25937
25938 2008-07-30 Robert Millan <rmh@aybabtu.com>
25939
25940 * term/i386/pc/vga_text.c (grub_console_cls): Use
25941 grub_console_gotoxy() to go back to beginning of the screen.
25942 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25943
25944 2008-07-29 Christian Franke <franke@computer.org>
25945
25946 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25947 Add conversion of emulated mount points on Cygwin.
25948
25949 2008-07-29 Christian Franke <franke@computer.org>
25950
25951 * util/update-grub.in: Add a check for admin
25952 group on Cygwin.
25953 Remove old `grub.cfg.new' before creation.
25954 Add `-f' to `mv' to handle the different filesystem
25955 semantics of Windows.
25956
25957 2008-07-29 Bean <bean123ch@gmail.com>
25958
25959 * normal/main.c (get_line): Fix buffer overflow bug.
25960
25961 2008-07-28 Robert Millan <rmh@aybabtu.com>
25962
25963 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25964 (struct grub_apple_header): New struct. Describes the layout of
25965 the partmap header.
25966 (apple_partition_map_iterate): Check the header magic as well as the
25967 partition magic (which was already being checked).
25968
25969 2008-07-28 Pavel Roskin <proski@gnu.org>
25970
25971 * genmk.rb: Add a warning to the beginning of the output that
25972 it's a generated file and should not be edited.
25973
25974 2008-07-28 Robert Millan <rmh@aybabtu.com>
25975
25976 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25977 with the same number are found, just use issue a warning with
25978 grub_dprintf(), as this error has been reported to be non-fatal.
25979
25980 2008-07-27 Robert Millan <rmh@aybabtu.com>
25981
25982 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25983 information.
25984
25985 2008-07-27 Bean <bean123ch@gmail.com>
25986
25987 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25988 (grub_fat_find_dir): Ignore case when comparing filename.
25989
25990 2008-07-27 Bean <bean123ch@gmail.com>
25991
25992 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25993 smallino, as it's more descriptive, and i8count can be confused with
25994 the other field count.
25995 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25996 inode type.
25997
25998 2008-07-27 Bean <bean123ch@gmail.com>
25999
26000 * commands/crc.c: New file.
26001
26002 * lib/crc.c: Likewise.
26003
26004 * include/grub/lib/crc.h: Likewise.
26005
26006 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26007
26008 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26009 (hexdump): Move this function to ...
26010
26011 * lib/hexdump.c: ... here.
26012
26013 * include/grub/hexdump.h: Renamed to ...
26014
26015 * include/grub/lib/hexdump.h: ... this.
26016
26017 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26018
26019 * util/grub-editenv.c: Likewise.
26020
26021 * include/envblk.h: Renamed to ...
26022
26023 * include/lib/envblk.h: ... this.
26024
26025 * util/envblk.c: Renamed to ...
26026
26027 * lib/envblk.c: ... this.
26028
26029 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26030 lib/hexdump.c.
26031 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26032 (pkglib_MODULES): Add crc.mod.
26033 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26034 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26035 (crc_mod_SOURCES): New macro.
26036 (crc_mod_CFLAGS): Likewise.
26037 (crc_mod_LDFLAGS): Likewise.
26038
26039 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26040
26041 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26042
26043 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26044
26045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26046
26047 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26048
26049 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
26050
26051 * commands/help.c: Include <grub/term.h>.
26052 (TERM_WIDTH): Removed. Updated all users.
26053
26054 2008-07-27 Pavel Roskin <proski@gnu.org>
26055
26056 * util/getroot.c (find_root_device): Rephrase a comment to avoid
26057 spurious warnings about a comment within a comment.
26058
26059 2008-07-25 Robert Millan <rmh@aybabtu.com>
26060
26061 * util/getroot.c (find_root_device): Skip devices that match
26062 /dev/dm-[0-9]. This lets the real device be found for any type of
26063 abstraction (LVM, EVMS, RAID..).
26064 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
26065 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
26066 device is found first, find_root_device() will now skip it.
26067
26068 2008-07-24 Pavel Roskin <proski@gnu.org>
26069
26070 * include/grub/types.h: Use __builtin_bswap32() and
26071 __builtin_bswap64() with gcc 4.3 and newer.
26072
26073 2008-07-24 Christian Franke <franke@computer.org>
26074
26075 * util/i386/pc/grub-install.in: If `--debug' is specified,
26076 pass `--verbose' to grub-setup.
26077 Abort script if make_system_path_relative_to_its_root() fails.
26078
26079 2008-07-24 Bean <bean123ch@gmail.com>
26080
26081 * configure.ac: Fixed a bug caused by the previous cygwin patch,
26082 variable `target_platform' should be `platform'.
26083
26084 2008-07-24 Bean <bean123ch@gmail.com>
26085
26086 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
26087 (grub_png_init_fixed_block): New function.
26088 (grub_png_decode_image_data): Handle fixed huffman code compression.
26089
26090 2008-07-24 Bean <bean123ch@gmail.com>
26091
26092 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
26093 (grub_pe2elf_SOURCES): New macro.
26094 (CLEANFILES): Add grub-pe2elf.
26095
26096 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
26097 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
26098 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
26099 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
26100 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
26101 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
26102 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
26103 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
26104 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
26105 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
26106 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
26107 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
26108 (GRUB_PE32_DT_FUNCTION): Likewise.
26109 (GRUB_PE32_REL_I386_DIR32): Likewise.
26110 (GRUB_PE32_REL_I386_REL32): Likewise.
26111 (grub_pe32_symbol): New structure.
26112 (grub_pe32_reloc): Likewise.
26113
26114 * util/grub-pe2elf.c: New file.
26115
26116 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
26117 start symbol in non pc platform.
26118
26119 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
26120
26121 The following patches are from Christian Franke.
26122
26123 * include/grub/dl.h: Remove .previous, gas supports this only
26124 for ELF format.
26125
26126 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
26127 Remove .type, gas supports this only for ELF format.
26128
26129 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
26130 nullbytes in symbol table. This fixes an infinite loop if table is
26131 zero filled.
26132
26133 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
26134 TARGET_IMG_LDFLAGS and EXEEXT.
26135
26136 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
26137 TARGET_IMG_LDFLAGS_AC.
26138 (grub_CHECK_STACK_ARG_PROBE): New function.
26139
26140 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
26141
26142 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
26143
26144 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
26145 to set TARGET_IMG_LD* accordingly.
26146 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
26147 Add call to grub_CHECK_STACK_ARG_PROBE.
26148 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
26149
26150 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
26151
26152 * genmk.rb: Add EXEEXT to CLEANFILES.
26153
26154 2008-07-23 Robert Millan <rmh@aybabtu.com>
26155
26156 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
26157 define the codes for arrows and lines used for the menu).
26158 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
26159 as well.
26160
26161 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
26162 fonts, because the latter are too slow.
26163
26164 2008-07-21 Bean <bean123ch@gmail.com>
26165
26166 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
26167 a20. Run keyboard test last, as it will cause macbook to halt.
26168
26169 2008-07-18 Pavel Roskin <proski@gnu.org>
26170
26171 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
26172 load foreign architecture modules correctly anyway. Keep
26173 support for loading host architecture modules, whether we
26174 compile them or not.
26175
26176 2008-07-17 Pavel Roskin <proski@gnu.org>
26177
26178 * configure.ac: Use -m32 or -m64 regardless of whether we had to
26179 change target_cpu. The compiler default can mismatch target_cpu
26180 in any case.
26181
26182 * disk/efi/efidisk.c: Fix format warnings on x86_64.
26183 * kern/efi/efi.c: Likewise.
26184
26185 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
26186 target compiler is functional.
26187 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
26188 are set up.
26189
26190 * configure.ac: Default to efi platform for x86_64-apple. Allow
26191 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
26192 adjustments from the rest, only do them if target is not
26193 explicitly given. Merge other adjustments with the final sanity
26194 check. Remove an extraneous check for supported CPU. Be
26195 specific which CPU and which platform is not supported.
26196
26197 * configure.ac: Default to pc platform for x86_64.
26198
26199 2008-07-17 Robert Millan <rmh@aybabtu.com>
26200
26201 Partial LinuxBIOS -> Coreboot rename.
26202
26203 * conf/i386-linuxbios.rmk: Renamed to ...
26204 * conf/i386-coreboot.rmk: ... this.
26205 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
26206 * configure.ac: Accept "coreboot" as input platform (but maintain
26207 compatibility with "linuxbios").
26208 * include/grub/i386/linuxbios: Renamed to ...
26209 * include/grub/i386/coreboot: ... this.
26210
26211 2008-07-17 Bean <bean123ch@gmail.com>
26212
26213 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
26214 (appleldr_mod_SOURCE): New variable.
26215 (appleldr_mod_CFLAGS): Likewise.
26216 (appleldr_mod_LDFLAGS): Likewise.
26217 (pci_mod_SOURCES): Likewise.
26218 (pci_mod_CFLAGS): Likewise.
26219 (pci_mod_LDFLAGS): Likewise.
26220 (lspci_mod_SOURCES): Likewise.
26221 (lspci_mod_CFLAGS): Likewise.
26222 (lspci_mod_LDFLAGS): Likewise.
26223
26224 * conf/x86_64-efi.rmk: New file.
26225
26226 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
26227 macro.
26228 (grub_efidisk_write): Likewise.
26229
26230 * include/efi/api.h (efi_call_0): New macro.
26231 (efi_call_1): Likewise.
26232 (efi_call_2): Likewise.
26233 (efi_call_3): Likewise.
26234 (efi_call_4): Likewise.
26235 (efi_call_5): Likewise.
26236 (efi_call_6): Likewise.
26237
26238 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
26239 grub_rescue_cmd_chainloader.
26240
26241 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
26242 (grub_pe32_optional_header): Change some fields based on i386 or
26243 x86_64 platform.
26244 (GRUB_PE32_PE32_MAGIC): Likewise.
26245
26246 * include/grub/efi/uga_draw.h: New file.
26247
26248 * include/grub/elf.h (STN_ABS): New constant.
26249 (R_X86_64_NONE): Relocation constant for x86_64.
26250 (R_X86_64_64): Likewise.
26251 (R_X86_64_PC32): Likewise.
26252 (R_X86_64_GOT32): Likewise.
26253 (R_X86_64_PLT32): Likewise.
26254 (R_X86_64_COPY): Likewise.
26255 (R_X86_64_GLOB_DAT): Likewise.
26256 (R_X86_64_JUMP_SLOT): Likewise.
26257 (R_X86_64_RELATIVE): Likewise.
26258 (R_X86_64_GOTPCREL): Likewise.
26259 (R_X86_64_32): Likewise.
26260 (R_X86_64_32S): Likewise.
26261 (R_X86_64_16): Likewise.
26262 (R_X86_64_PC16): Likewise.
26263 (R_X86_64_8): Likewise.
26264 (R_X86_64_PC8): Likewise.
26265
26266 * include/grub/i386/efi/pci.h: New file.
26267
26268 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
26269 Change it value based on platform.
26270 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
26271 (GRUB_E820_RAM): Likewise.
26272 (GRUB_E820_RESERVED): Likewise.
26273 (GRUB_E820_ACPI): Likewise.
26274 (GRUB_E820_NVS): Likewise.
26275 (GRUB_E820_EXEC_CODE): Likewise.
26276 (GRUB_E820_MAX_ENTRY): Likewise.
26277 (grub_e820_mmap): New structure.
26278 (linux_kernel_header): Change the efi field according to different
26279 kernel version, also field from linux_kernel_header.
26280
26281 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
26282
26283 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
26284 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
26285 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
26286 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
26287 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
26288 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
26289 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
26290 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
26291 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
26292 (GRUB_PCI_ADDR_IO_MASK): Likewise.
26293
26294 * include/grub/x86_64/efi/kernel.h: New file.
26295
26296 * include/grub/x86_64/efi/loader.h: Likewise.
26297
26298 * include/grub/x86_64/efi/machine.h: Likewise.
26299
26300 * include/grub/x86_64/efi/pci.h: Likewise.
26301
26302 * include/grub/x86_64/efi/time.h: Likewise.
26303
26304 * include/grub/x86_64/linux.h: Likewise.
26305
26306 * include/grub/x86_64/setjmp.h: Likewise.
26307
26308 * include/grub/x86_64/time.h: Likewise.
26309
26310 * include/grub/x86_64/types.h: Likewise.
26311
26312 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
26313 GRUB_TARGET_SIZEOF_VOID_P.
26314
26315 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
26316 (grub_efi_locate_handle): Likewise.
26317 (grub_efi_open_protocol): Likewise.
26318 (grub_efi_set_text_mode): Likewise.
26319 (grub_efi_stall): Likewise.
26320 (grub_exit): Likewise.
26321 (grub_reboot): Likewise.
26322 (grub_halt): Likewise.
26323 (grub_efi_exit_boot_services): Likewise.
26324 (grub_get_rtc): Likewise.
26325
26326 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
26327 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
26328 (grub_efi_allocate_pages): Wrap efi calls.
26329 (grub_efi_free_pages): Wrap efi calls.
26330 (grub_efi_get_memory_map): Wrap efi calls.
26331
26332 * kern/x86_64/dl.c: New file.
26333
26334 * kern/x86_64/efi/callwrap.S: Likewise.
26335
26336 * kern/x86_64/efi/startup.S: Likewise.
26337
26338 * loader/efi/appleloader.c: Likewise.
26339
26340 * loader/efi/chainloader.c (cmdline): New variable.
26341 (grub_chainloader_unload): Wrap efi calls.
26342 (grub_chainloader_boot): Likewise.
26343 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
26344 command line.
26345
26346 * loader/efi/chainloader_normal.c (chainloader_command):
26347 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
26348 command line.
26349
26350 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26351 method.
26352 (grub_e820_add_region): New function.
26353 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26354 booting.
26355 (grub_find_video_card): New function.
26356 (grub_linux_setup_video): New function.
26357 (grub_rescue_cmd_linux): Probe for video information.
26358
26359 * normal/x86_64/setjmp.S: New file.
26360
26361 * term/efi/console.c (map_char): New function.
26362 (grub_console_putchar): Map unicode char.
26363 (grub_console_checkkey): Wrap efi calls.
26364 (grub_console_getkey): Likewise.
26365 (grub_console_getwh): Likewise.
26366 (grub_console_gotoxy): Likewise.
26367 (grub_console_cls): Likewise.
26368 (grub_console_setcolorstate): Likewise.
26369 (grub_console_setcursor): Likewise.
26370
26371 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26372
26373 2008-07-16 Pavel Roskin <proski@gnu.org>
26374
26375 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26376 format strings.
26377
26378 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26379 pointer, not an integer. This fixes a warning and prevents
26380 precision loss on 64-bit systems.
26381 (relocate_addresses): Remove unneeded cast.
26382
26383 2008-07-15 Pavel Roskin <proski@gnu.org>
26384
26385 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26386
26387 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26388
26389 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26390 Fix comparison between signed and unsigned.
26391
26392 * include/grub/i386/ieee1275/console.h: Declare
26393 grub_console_init() and grub_console_fini().
26394
26395 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26396 It's empty and unused.
26397
26398 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26399 beginning to avoid warnings with some compilers.
26400
26401 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26402 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26403
26404 2008-07-14 Pavel Roskin <proski@gnu.org>
26405
26406 * kern/env.c (grub_register_variable_hook): Don't copy empty
26407 string, it leaks memory. Pass "" to grub_env_set(), it should
26408 handle constant strings.
26409
26410 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26411 * commands/cmp.c (grub_cmd_cmp): Likewise.
26412 * kern/dl.c (grub_dl_flush_cache): Likewise.
26413 (grub_dl_load_core): Likewise.
26414 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26415 (grub_elf64_load_phdrs): Likewise.
26416
26417 2008-07-13 Pavel Roskin <proski@gnu.org>
26418
26419 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26420 between signed and unsigned.
26421 (LzmaEnc_Finish): Fix warning about an unused parameter.
26422
26423 2008-07-13 Bean <bean123ch@gmail.com>
26424
26425 * Makefile.in (enable_lzo): New rule.
26426
26427 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26428
26429 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26430
26431 * boot/i386/pc/lnxboot.S: #include <config.h>.
26432
26433 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
26434 its value according to the compression algorithm used, lzo or lzma.
26435
26436 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26437 compression algorithm according to configure macro.
26438
26439 * kern/i386/pc/startup.S (codestart): Likewise.
26440
26441 * kern/i386/pc/lzma_decode.S: New file.
26442
26443 * include/grub/lib/LzFind.h: Likewise.
26444
26445 * include/grub/lib/LzHash.h: Likewise.
26446
26447 * include/grub/lib/LzmaDec.h: Likewise.
26448
26449 * include/grub/lib/LzmaEnc.h: Likewise.
26450
26451 * include/grub/lib/LzmaTypes.h: Likewise.
26452
26453 * lib/LzFind.c: Likewise.
26454
26455 * lib/LzmaDec.c: Likewise.
26456
26457 * lib/LzmaEnc.c: Likewise.
26458
26459 2008-07-13 Bean <bean123ch@gmail.com>
26460
26461 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26462 (grub_ext4_extent_header): New structure.
26463 (grub_ext4_extent): Likewise.
26464 (grub_ext4_extent_idx): Likewise.
26465 (grub_ext4_find_leaf): New function.
26466 (grub_ext2_read_block): Handle extents.
26467
26468 2008-07-12 Robert Millan <rmh@aybabtu.com>
26469
26470 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26471
26472 2008-07-11 Robert Millan <rmh@aybabtu.com>
26473
26474 * util/grub.d/40_custom.in: New file. Example on how to add custom
26475 entries to /etc/grub.d.
26476 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26477 40_custom (implicitly, by merging all the grub.d rules).
26478
26479 2008-07-11 Pavel Roskin <proski@gnu.org>
26480
26481 * commands/read.c (grub_getline): Fix invalid memory access.
26482 Don't add newline to the variable value.
26483
26484 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26485 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26486 (serial_hw_get_port): Check validity of the port number.
26487 (grub_cmd_serial): Check return value of serial_hw_get_port().
26488
26489 2008-07-07 Pavel Roskin <proski@gnu.org>
26490
26491 * boot/i386/pc/diskboot.S (notification_string): Replace
26492 "Loading kernel" with just "loading". This is shorter, less
26493 confusing and saves a few bytes for possible future changes.
26494
26495 2008-07-05 Pavel Roskin <proski@gnu.org>
26496
26497 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26498 size for ATAPI devices, they are undefined. Output sector
26499 number in decimal form.
26500
26501 * disk/ata.c: Use named constants for status bits.
26502
26503 2008-07-04 Pavel Roskin <proski@gnu.org>
26504
26505 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26506 grub_addr_t before casting it to the void pointer to fix a
26507 warning. Non-addressable regions are discarded earlier.
26508 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26509 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26510 (check_signature): Don't shadow table_header.
26511 (grub_linuxbios_table_iterate): Cast numeric constants to
26512 grub_linuxbios_table_header_t.
26513 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26514 grub_stop().
26515
26516 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26517 prevent warnings.
26518
26519 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26520 pointer, which can cause warnings. Support 64-bit addresses.
26521
26522 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26523 of sizeof(long). This fixes PowerPC image generation on x86_64.
26524
26525 2008-07-04 Robert Millan <rmh@aybabtu.com>
26526
26527 This fixes a performance issue when pc & gpt partmap iterators
26528 didn't abort iteration even after our hook found what it was
26529 looking for (often causing expensive probes of non-existent drives).
26530
26531 Some callers relied on previous buggy behaviour, since they would
26532 raise an error when their own hooks caused early abortion of its
26533 iteration.
26534
26535 * kern/device.c (grub_device_open): Improve error message.
26536 * disk/lvm.c (grub_lvm_open): Likewise.
26537 * disk/raid.c (grub_raid_open): Likewise.
26538
26539 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26540 when hook requests it, independently of grub_errno.
26541 (pc_partition_map_probe): Do not fail when find_func() caused
26542 early abortion of pc_partition_map_iterate().
26543
26544 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26545 when hook requests it, independently of grub_errno.
26546 (gpt_partition_map_probe): Do not fail when find_func() caused
26547 early abortion of gpt_partition_map_iterate().
26548
26549 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26550 when hook requests it, independently of grub_errno. Do not fail when
26551 part_map_iterate_hook() caused early abortion of p->iterate().
26552
26553 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26554 when grub_partition_iterate() returned with non-zero.
26555
26556 2008-07-03 Pavel Roskin <proski@gnu.org>
26557
26558 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26559 like we do in grub_ata_pio_read().
26560 (grub_ata_readwrite): Always write individual sectors. Fix the
26561 sector count for the remainder.
26562 (grub_ata_write): Enable writing to ATA devices. Correctly
26563 report error for ATAPI devices.
26564
26565 2008-07-02 Pavel Roskin <proski@gnu.org>
26566
26567 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26568 warning.
26569
26570 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26571 for every read sector, we already increment it for the whole
26572 batch. This fixes reading more than 256 sectors at once.
26573
26574 * util/grub-editenv.c (cmd_info): Cast argument to long
26575 explicitly. ptrdiff_t reduces to int on i386.
26576
26577 * util/grub-editenv.c (main): Be specific which parameter is
26578 missing.
26579
26580 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26581 (memdisk): Make memdisk_orig_addr a pointer.
26582
26583 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26584 for file offsets, use grub_off_t instead. Fix printf format
26585 warnings.
26586
26587 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26588 there. Real unexpected warnings should not drown in the noise
26589 about known problems.
26590
26591 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26592 grub_disk_addr_t for memory addresses.
26593
26594 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26595 explicitly to fix a warning.
26596
26597 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26598
26599 * Makefile.in (MODULE_LDFLAGS): New variable.
26600 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26601 the linker accepts --build-id=none.
26602 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26603 MODULE_LDFLAGS.
26604 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26605
26606 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26607 those in Linux XFS code. Provide a way to access 64-bit parent
26608 inode.
26609 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26610 the end of struct grub_xfs_dir_header.
26611
26612 2008-07-02 Bean <bean123ch@gmail.com>
26613
26614 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26615 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26616 and GRUB_IEEE1275_FLAG_NO_ANSI.
26617
26618 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26619 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26620 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26621
26622 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26623 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26624
26625 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26626 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26627
26628 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26629 esc sequence on non ANSI terminal.
26630 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26631
26632 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26633 beginning of file.
26634
26635 2008-07-02 Bean <bean123ch@gmail.com>
26636
26637 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26638 (grub_editenv_SOURCES): New variable.
26639 (pkglib_MODULES): Add loadenv.mod.
26640 (loadenv_mod_SOURCES): New variable.
26641 (loadenv_mod_CFLAGS): Likewise.
26642 (loadenv_mod_LDFLAGS): Likewise.
26643
26644 * include/grub/envblk.h: New file.
26645
26646 * util/envblk.c: New file.
26647
26648 * util/grub-editenv.c: New file.
26649
26650 * commands/loadenv.c: New file.
26651
26652 2008-07-01 Pavel Roskin <proski@gnu.org>
26653
26654 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26655 not unsigned char. This fixes warnings and is consistent with
26656 other tags.
26657
26658 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26659
26660 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26661
26662 * term/tparm.c (analyze): Always set *popcount.
26663
26664 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26665 cast to fix a warning.
26666
26667 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26668 cast to suppress a warning.
26669
26670 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26671 grub_fshelp_read_file() expects.
26672
26673 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26674 write uuid as a 32-bit value in CPU byte order, so declare and
26675 use it as such.
26676
26677 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26678 long if the format specifier expects it.
26679 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26680 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26681 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26682 long to fix a warning.
26683 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26684 grub_dprintf() arguments to fix warnings.
26685
26686 2008-06-30 Pavel Roskin <proski@gnu.org>
26687
26688 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26689 install_bsd_part immediately before core.img is embedded or
26690 modified on disk. This fixes core.img verification if core.img
26691 cannot be embedded.
26692
26693 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26694 core_path to calculate the blocklist.
26695 Patch from Javier Martín <lordhabbit@gmail.com>
26696
26697 2008-06-29 Robert Millan <rmh@aybabtu.com>
26698
26699 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26700 block to disk block.
26701 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26702 Patch from Niels Böhm <bitbucket@arcor.de>
26703
26704 2008-06-29 Robert Millan <rmh@aybabtu.com>
26705
26706 * util/update-grub_lib.in (font_path): Search for fonts in
26707 /boot/grub first, which is more likely to be readable (we aren't
26708 deciding where fonts live, just looking for them).
26709
26710 2008-06-26 Pavel Roskin <proski@gnu.org>
26711
26712 * util/biosdisk.c (read_device_map): Don't leave dead map
26713 entries for devices failing stat() check.
26714
26715 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26716 core_path_dev for the core.img path on the target device.
26717
26718 2008-06-26 Robert Millan <rmh@aybabtu.com>
26719
26720 * disk/fs_uuid.c: New file.
26721 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26722 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26723 (fs_uuid_mod_LDFLAGS): New variables.
26724 * include/grub/disk.h (grub_disk_dev_id): Add
26725 `GRUB_DISK_DEVICE_UUID_ID'.
26726 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26727 implement iterate().
26728
26729 2008-06-26 Robert Millan <rmh@aybabtu.com>
26730
26731 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26732 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26733 Linux image includes no initrd.
26734
26735 2008-06-21 Javier Martín <lordhabbit@gmail.com>
26736
26737 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26738 call to resolve the core image location that effectively appended the
26739 name twice.
26740
26741 2008-06-21 Robert Millan <rmh@aybabtu.com>
26742
26743 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26744 call from here ...
26745
26746 * util/grub.d/10_hurd.in: ... to here ...
26747 * util/grub.d/10_linux.in: ... and here.
26748
26749 2008-06-19 Robert Millan <rmh@aybabtu.com>
26750
26751 * kern/main.c (grub_main): Export `prefix' variable immediately
26752 after it has been set by grub_machine_set_prefix().
26753
26754 2008-06-19 Robert Millan <rmh@aybabtu.com>
26755
26756 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26757 search result when not saving to variable, not the other way around.
26758 When saving to variable, abort iteration as soon as a match is found.
26759
26760 2008-06-19 Robert Millan <rmh@aybabtu.com>
26761
26762 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26763 check for partition that provides /boot/grub. Its logic is flawed,
26764 as it prevents prepare_grub_to_access_device() from being called
26765 multiple times.
26766
26767 2008-06-19 Robert Millan <rmh@aybabtu.com>
26768
26769 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26770 "insmod" command directly when abstraction modules are needed,
26771 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
26772 since it had already been processed).
26773
26774 2008-06-19 Pavel Roskin <proski@gnu.org>
26775
26776 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26777 changed. This is needed in case GRUB_LIBDIR changes.
26778 * conf/i386-ieee1275.rmk: Likewise.
26779 * conf/i386-linuxbios.rmk: Likewise.
26780 * conf/i386-pc.rmk: Likewise.
26781 * conf/powerpc-ieee1275.rmk: Likewise.
26782
26783 2008-06-18 Pavel Roskin <proski@gnu.org>
26784
26785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26786 kernel_elf_symlist.c to symlist.c for consistency with other
26787 architectures. Update all users.
26788 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26789
26790 2008-06-18 Robert Millan <rmh@aybabtu.com>
26791
26792 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26793 it in prefix.
26794
26795 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26796 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26797 a RAID device, run setup() for all members independently on whether
26798 LVM abstraction is being used.
26799 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26800 If grub-mkimage has set `*install_dos_part == -2', don't override this
26801 value.
26802 Perform *install_dos_part adjustments independently on whether
26803 we're embedding or not.
26804 Clarify error message when image is too big for embedding.
26805 Remove duplicate *install_dos_part stanza.
26806
26807 2008-06-17 Robert Millan <rmh@aybabtu.com>
26808
26809 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26810 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26811 variables.
26812 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26813 values in grub_ofconsole_normal_color and
26814 grub_ofconsole_highlight_color (they're not directly related to
26815 background and foreground).
26816 (grub_ofconsole_setcolorstate): Extract background and foreground
26817 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26818
26819 2008-06-17 Robert Millan <rmh@aybabtu.com>
26820
26821 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26822 /boot/grub for the check in last commit, not /boot (they could be
26823 different partitions).
26824
26825 2008-06-16 Robert Millan <rmh@aybabtu.com>
26826
26827 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26828 asked to setup access for the same partition that provides /boot,
26829 don't bother using UUIDs since our root already has the value we
26830 want.
26831
26832 2008-06-16 Robert Millan <rmh@aybabtu.com>
26833
26834 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26835 I2O devices.
26836 Patch from Sven Mueller <sven@debian.org>.
26837
26838 2008-06-16 Robert Millan <rmh@aybabtu.com>
26839
26840 * util/update-grub.in: Check for $EUID instead of $UID.
26841 Reported by Vincent Zweije.
26842
26843 2008-06-16 Bean <bean123ch@gmail.com>
26844
26845 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
26846 (grub_ext2_read_block): Likewise.
26847 (grub_ext2_read_inode): Likewise.
26848 (grub_ext2_mount): Likewise.
26849 (grub_ext2_close): Likewise.
26850 (grub_ext3_get_journal): Removed.
26851
26852 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
26853 (grub_reiserfs_read_symlink): Likewise.
26854 (grub_reiserfs_mount): Likewise.
26855 (grub_reiserfs_open): Likewise.
26856 (grub_reiserfs_read): Likewise.
26857 (grub_reiserfs_close): Likewise.
26858 (grub_reiserfs_get_journal): Removed.
26859
26860 * fs/fshelp.c (grub_fshelp_read): Removed.
26861 (grub_fshelp_map_block): Likewise.
26862
26863 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26864 (grub_fshelp_journal): Likewise.
26865 (grub_fshelp_read): Likewise.
26866 (grub_fshelp_map_block): Likewise.
26867
26868 2008-06-16 Pavel Roskin <proski@gnu.org>
26869
26870 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26871 floating point anymore.
26872 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26873
26874 2008-06-15 Pavel Roskin <proski@gnu.org>
26875
26876 * commands/ls.c (grub_ls_list_files): Use integer calculations
26877 for human readable format, avoid floating point use.
26878 * kern/misc.c (grub_ftoa): Remove.
26879 (grub_vsprintf): Remove floating point support.
26880
26881 2008-06-15 Robert Millan <rmh@aybabtu.com>
26882
26883 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
26884 devices.
26885 Reported by Max Vozeler.
26886
26887 2008-06-15 Robert Millan <rmh@aybabtu.com>
26888
26889 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26890 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26891 skipped later.
26892 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26893 the beginning of the prefix.
26894
26895 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26896 It is assumed that if we have a memdisk, grub-mkimage has set
26897 grub_prefix to include the "(memdisk)" drive in it.
26898
26899 2008-06-15 Robert Millan <rmh@aybabtu.com>
26900
26901 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26902 Initialize keyboard controller after registering the terminal, so that
26903 grub_printf() can be called from grub_keyboard_controller_init().
26904
26905 2008-06-15 Robert Millan <rmh@aybabtu.com>
26906
26907 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26908 extent-btree which is written as big endian on disk.
26909 Reported by Alain Greppin <al@chilibi.org>.
26910
26911 2008-06-14 Robert Millan <rmh@aybabtu.com>
26912
26913 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26914 * util/i386/pc/grub-install.in (modules): Likewise.
26915
26916 2008-06-13 Pavel Roskin <proski@gnu.org>
26917
26918 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26919
26920 2008-06-13 Bean <bean123ch@gmail.com>
26921
26922 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26923
26924 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26925
26926 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26927 to indicate sparse block.
26928
26929 2008-06-12 Pavel Roskin <proski@gnu.org>
26930
26931 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26932 number, grub_fshelp_read() does it for us.
26933
26934 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26935 linear disk read with journal translation.
26936 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26937 * include/grub/fshelp.h: Declare grub_fshelp_read().
26938
26939 2008-06-09 Pavel Roskin <proski@gnu.org>
26940
26941 * fs/minix.c (grub_minix_mount): Handle error reading
26942 superblock.
26943
26944 2008-06-08 Robert Millan <rmh@aybabtu.com>
26945
26946 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26947 don't append the RAID prefix afterwards.
26948 Reported by Clint Adams.
26949
26950 2008-06-08 Robert Millan <rmh@aybabtu.com>
26951
26952 Based on description from Pavel:
26953 * kern/disk.c (grub_disk_check_range): Rename to ...
26954 (grub_disk_adjust_range): ... this. Add a comment explaining the
26955 tasks performed by this function.
26956
26957 2008-06-08 Robert Millan <rmh@aybabtu.com>
26958
26959 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26960 `num_serial' (for consistency with other variables).
26961 (struct grub_ntfs_data): Add `uuid' member.
26962 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26963 (grub_ntfs_uuid): New function.
26964 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26965
26966 2008-06-07 Pavel Roskin <proski@gnu.org>
26967
26968 * util/biosdisk.c (open_device): Revert last change to the
26969 function, it broke installation. The sector needs to be
26970 different dependent on which device is opened.
26971
26972 2008-06-06 Robert Millan <rmh@aybabtu.com>
26973
26974 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26975 rest of GRUB, and breakage doesn't happen if its value were modified.
26976
26977 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26978 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26979 a constant (same value).
26980 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26981 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26982
26983 2008-06-06 Robert Millan <rmh@aybabtu.com>
26984
26985 * util/biosdisk.c (open_device): Do not modify sector offset when
26986 accessing a partition. kern/disk.c already handles this for us.
26987
26988 2008-06-06 Robert Millan <rmh@aybabtu.com>
26989
26990 * util/grub-emu.c (grub_machine_init): Move code in this function from
26991 here ...
26992 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26993 segfault in case grub_printf() is called).
26994
26995 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26996 grub_probe. Update all users not to explicitly add it again.
26997 (grub_device): New variable; contains corresponding device for grubdir.
26998 (fs_module, partmap_module, devabstraction_module): Pass
26999 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27000 every time.
27001
27002 2008-06-05 Robert Millan <rmh@aybabtu.com>
27003
27004 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27005 is found, print it (same layout as with labels).
27006
27007 2008-06-04 Robert Millan <rmh@aybabtu.com>
27008
27009 * util/biosdisk.c (get_drive): Rename to ...
27010 (find_grub_drive): ... this. Update all users.
27011
27012 (get_os_disk): Rename to ...
27013 (convert_system_partition_to_system_disk): ... this. Update all users.
27014
27015 (find_drive): Rename to ...
27016 (find_system_device): ... this. Update all users.
27017
27018 2008-06-04 Robert Millan <rmh@aybabtu.com>
27019
27020 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27021 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27022 (make_device_map): Likewise.
27023
27024 2008-06-01 Robert Millan <rmh@aybabtu.com>
27025
27026 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27027 before dereferencing it.
27028
27029 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27030 union with fat12/fat16-specific ones. Add some new fields, including
27031 `num_serial' for both versions.
27032 (struct grub_fat_data): Add `uuid' member.
27033 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27034 names. Initialize `data->uuid' using `num_serial'.
27035 (grub_fat_uuid): New function.
27036 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27037
27038 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27039 (grub_reiserfs_uuid): New function.
27040 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27041 member.
27042
27043 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27044 (grub_xfs_uuid): New function.
27045 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27046
27047 2008-06-01 Robert Millan <rmh@aybabtu.com>
27048
27049 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27050 code that is backward compatible with pre-uuid search command.
27051
27052 2008-05-31 Robert Millan <rmh@aybabtu.com>
27053
27054 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
27055 floppies after everything else, to ensure floppy drive isn't accessed
27056 unnecessarily (patch from Bean).
27057
27058 2008-05-31 Robert Millan <rmh@aybabtu.com>
27059
27060 * commands/search.c (search_label, search_fs_uuid, search_file): Do
27061 not print device names when we were asked to set a variable.
27062
27063 2008-05-31 Robert Millan <rmh@aybabtu.com>
27064
27065 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
27066 using "cursor-on" and "cursor-off" commands (understood at least by
27067 the Open Firmware flavour on OLPC).
27068
27069 2008-05-31 Michael Gorven <michael@gorven.za.net>
27070
27071 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
27072 on and off sequences.
27073
27074 2008-05-31 Robert Millan <rmh@aybabtu.com>
27075
27076 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
27077 * util/update-grub.in: Likewise.
27078
27079 2008-05-30 Pavel Roskin <proski@gnu.org>
27080
27081 * util/biosdisk.c (linux_find_partition): Simplify logic and
27082 make the code more universal. Keep special processing for
27083 devfs, but use a simple rule for all other devices. If the
27084 device ends with a number, append 'p' and the partition number.
27085 Otherwise, append only the partition number.
27086
27087 2008-05-30 Robert Millan <rmh@aybabtu.com>
27088
27089 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
27090 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
27091 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
27092 the `root' parameter to Linux.
27093
27094 2008-05-30 Robert Millan <rmh@aybabtu.com>
27095
27096 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
27097 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
27098 --fs_uuid with --fs-uuid.
27099 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
27100 all filesystems support them).
27101
27102 2008-05-30 Robert Millan <rmh@aybabtu.com>
27103
27104 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
27105 grub_printf() flags, since we're printing in units of 2 bytes.
27106
27107 2008-05-30 Robert Millan <rmh@aybabtu.com>
27108
27109 * util/grub.d/00_header.in: Remove obsolete comment referencing
27110 convert_system_path_to_grub_path().
27111 * util/update-grub.in: Likewise.
27112 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
27113 (convert_system_path_to_grub_path): Add a warning message explaining
27114 that this function is deprecated. Rely on is_path_readable_by_grub()
27115 for the readability checks.
27116 (font_path): Use is_path_readable_by_grub() for the readability
27117 check rather than convert_system_path_to_grub_path().
27118
27119 2008-05-30 Robert Millan <rmh@aybabtu.com>
27120
27121 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
27122 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
27123 converting it first.
27124 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
27125 grub.cfg for access to font file, and afterwards call it again to set
27126 the root device.
27127
27128 2008-05-30 Robert Millan <rmh@aybabtu.com>
27129
27130 * commands/search.c (options): Add --fs_uuid option.
27131 (search_fs_uuid): New function.
27132 (grub_cmd_search): Fix --set argument passing.
27133 Use search_fs_uuid() when requested via --fs_uuid.
27134 (grub_search_init): Update help message.
27135 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
27136 and redeclare it as an array of 16-bit words.
27137 (grub_ext2_uuid): New function.
27138 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
27139 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
27140 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
27141 (GRUB_DEVICE_BOOT_UUID): New variables.
27142 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
27143 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
27144 whenever possible.
27145 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
27146 just assume `root' variable has the right value.
27147 * util/grub.d/10_linux.in: Likewise.
27148 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
27149 via PRINT_FS_UUID.
27150 (main): Recognise `-t fs_uuid' argument.
27151
27152 2008-05-30 Robert Millan <rmh@aybabtu.com>
27153
27154 * util/biosdisk.c (map): Redefine structure to hold information
27155 about GRUB drive name.
27156 (get_drive): Reimplement without assuming (and verifying) BIOS-like
27157 drive names.
27158 (call_hook): Remove.
27159 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
27160 member. Assume drive has partitions.
27161 (grub_util_biosdisk_open): Access device names via `.device' struct
27162 member.
27163 (open_device): Likewise.
27164 (find_drive): Likewise.
27165 (read_device_map): Adjust map[] usage to match the new struct
27166 definition. Don't check for duplicates (still possible, but not cheap
27167 anymore).
27168 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
27169 (make_device_name): Remove assumption of BIOS-like drive names.
27170
27171 2008-05-30 Pavel Roskin <proski@gnu.org>
27172
27173 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
27174 compiling execute.c doesn't need grub_script.tab.h anymore.
27175 (normal/command.c_DEPENDENCIES): Likewise.
27176 (normal/function.c_DEPENDENCIES): Likewise.
27177 * conf/i386-ieee1275.rmk: Likewise.
27178 * conf/i386-linuxbios.rmk: Likewise.
27179 * conf/i386-pc.rmk: Likewise.
27180 * conf/powerpc-ieee1275.rmk: Likewise.
27181 * conf/sparc64-ieee1275.rmk: Likewise.
27182
27183 2008-05-29 Pavel Roskin <proski@gnu.org>
27184
27185 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
27186 when scanning metadata for volume group name.
27187
27188 * include/grub/script.h: Don't include grub_script.tab.h. It's
27189 a generated file, which may only be included from the files with
27190 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
27191 use union YYSTYPE, as the later allows forward declaration.
27192 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
27193
27194 2008-05-29 Robert Millan <rmh@aybabtu.com>
27195
27196 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
27197 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
27198 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
27199 (grub_console_checkkey): Add grub_dprintf() call to report unknown
27200 scan codes.
27201
27202 2008-05-29 Robert Millan <rmh@aybabtu.com>
27203
27204 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
27205 control key combinations.
27206
27207 2008-05-29 Robert Millan <rmh@aybabtu.com>
27208
27209 * util/powerpc/ieee1275/grub-install.in: Move from here ...
27210 * util/ieee1275/grub-install.in: ... to here.
27211 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
27212 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
27213 (grub_install_SOURCES): Likewise.
27214
27215 2008-05-29 Robert Millan <rmh@aybabtu.com>
27216
27217 * fs/affs.c: Update copyright year.
27218 * fs/ext2.c: Likewise.
27219 * fs/fshelp.c: Likewise.
27220 * fs/hfsplus.c: Likewise.
27221 * fs/ntfs.c: Likewise.
27222 * fs/xfs.c: Likewise.
27223 * include/grub/fshelp.h: Likewise.
27224 * util/grub-mkdevicemap.c: Likewise.
27225
27226 2008-05-28 Robert Millan <rmh@aybabtu.com>
27227
27228 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
27229 might need to be fatfs to support some firmware implementations
27230 (e.g. OFW or EFI).
27231
27232 2008-05-28 Robert Millan <rmh@aybabtu.com>
27233
27234 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
27235 devices.
27236 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27237 (make_device_map): Likewise.
27238
27239 2008-05-20 Bean <bean123ch@gmail.com>
27240
27241 * fs/fshelp.c (grub_fshelp_map_block): New function.
27242 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
27243 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
27244
27245 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
27246 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
27247 (grub_fshelp_journal): New structure.
27248 (grub_fshelp_map_block): New function prototype.
27249 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
27250 (grub_fshelp_map_block): Likewise.
27251
27252 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
27253 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
27254 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
27255 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
27256 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
27257 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
27258 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
27259 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
27260 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
27261 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
27262 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
27263 (grub_ext2_sblock): New members for journal support.
27264 (grub_ext3_journal_header): New structure.
27265 (grub_ext3_journal_revoke_header): Likewise.
27266 (grub_ext3_journal_block_tag): Likewise.
27267 (grub_ext3_journal_sblock): Likewise.
27268 (grub_fshelp_node): New members logfile and journal.
27269 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
27270 grub_fshelp_map_block to get real block number.
27271 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
27272 number.
27273 (grub_ext2_read_inode): Likewise.
27274 (grub_ext3_get_journal): New function.
27275 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
27276 (grub_ext2_close): Release memory used by journal.
27277
27278 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
27279 (REISERFS_MAGIC_DESC_BLOCK): New macro.
27280 (grub_reiserfs_transaction_header): Renamed to
27281 grub_reiserfs_description_block, replace field data with real_blocks.
27282 (grub_reiserfs_commit_block): New structure.
27283 (grub_reiserfs_data): New member journal.
27284 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
27285 number.
27286 (grub_reiserfs_read_symlink): Likewise.
27287 (grub_reiserfs_iterate_dir): Likewise.
27288 (grub_reiserfs_open): Likewise.
27289 (grub_reiserfs_read): Likewise.
27290 (grub_reiserfs_get_journal): New function.
27291 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
27292 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
27293 using grub_reiserfs_get_journal.
27294 (grub_reiserfs_close): Release memory used by journal.
27295
27296 * fs/affs.c (grub_affs_read_block): Change block type to
27297 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
27298
27299 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
27300
27301 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
27302
27303 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
27304
27305 * fs/udf.c (grub_udf_read_block): Change block type to
27306 grub_disk_addr_t. Use type cast to avoid warning.
27307
27308 * fs/xfs.c (grub_xfs_read_block): Likewise.
27309
27310 2008-05-16 Christian Franke <franke@computer.org>
27311
27312 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
27313 to ensure that break with ESC will always work.
27314 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
27315 Remove ESC from keyboard queue.
27316
27317 2008-05-16 Christian Franke <franke@computer.org>
27318
27319 * util/biosdisk.c: [__CYGWIN__] Add includes.
27320 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
27321 (get_os_disk): Move variable declarations to OS specific
27322 parts to avoid warning.
27323 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
27324 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
27325 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
27326 Cygwin.
27327 * util/getroot.c: [__CYGWIN__] Add includes.
27328 (strip_extra_slashes): Fix "/" case.
27329 [__CYGWIN__] (get_win32_path): New function.
27330 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
27331 [__CYGWIN__] (find_root_device): Disable.
27332 [__CYGWIN__] (get_bootsec_serial): New function.
27333 [__CYGWIN__] (find_cygwin_root_device): Likewise.
27334 [__linux__] (grub_guess_root_device): Add early returns to simplify
27335 structure.
27336 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
27337 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
27338 check for Linux only.
27339
27340 2008-05-15 Bean <bean123ch@gmail.com>
27341
27342 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
27343 keyboard hang problem in apple's intel mac.
27344
27345 2008-05-09 Robert Millan <rmh@aybabtu.com>
27346
27347 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
27348 devices.
27349 * util/grub-mkdevicemap.c (get_virtio_disk_name)
27350 (make_device_map): Likewise.
27351 Reported by Aurelien Jarno <aurel32@debian.org>
27352
27353 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
27354
27355 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27356 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27357 (make_device_map): Output entries for xvd type disks.
27358
27359 2008-05-07 Robert Millan <rmh@aybabtu.com>
27360
27361 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27362 devices.
27363 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27364 (make_device_map): Likewise.
27365 Reported by Roland Dreier <rdreier@cisco.com>
27366
27367 2008-05-07 Robert Millan <rmh@aybabtu.com>
27368
27369 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27370 grub_strstr() call. Correct a few mistakes in failure path handling.
27371
27372 2008-05-06 Robert Millan <rmh@aybabtu.com>
27373
27374 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27375 Do not print a trailing slash (therefore, the root directory is an
27376 empty string).
27377 (convert_system_path_to_grub_path): Do not remove trailing slash
27378 from make_system_path_relative_to_its_root() output.
27379
27380 * util/i386/pc/grub-install.in: Add trailing slash to output from
27381 make_system_path_relative_to_its_root().
27382
27383 2008-05-06 Robert Millan <rmh@aybabtu.com>
27384
27385 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27386 ensures that output lines aren't intermangled with those sent to
27387 stderr (via grub_util_info()).
27388 * util/grub-probe.c (grub_refresh): Likewise.
27389 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27390
27391 2008-05-05 Christian Franke <franke@computer.org>
27392
27393 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27394 Add Cygwin device names.
27395 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27396 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27397 (check_device): Return error instead of success on empty name.
27398 (make_device_map): Move label inside linux specific code to
27399 prevent compiler warning.
27400
27401 2008-04-30 Robert Millan <rmh@aybabtu.com>
27402
27403 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27404 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27405 first boot option.
27406 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27407
27408 2008-04-29 Robert Millan <rmh@aybabtu.com>
27409
27410 * docs/grub.cfg: New file (example GRUB configuration).
27411
27412 2008-04-26 Robert Millan <rmh@aybabtu.com>
27413
27414 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27415 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27416 and `disk/ieee1275/nand.c'.
27417
27418 2008-04-25 Bean <bean123ch@gmail.com>
27419
27420 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27421 i386-linuxbios.
27422
27423 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27424 change the buffer size to 4096 for cdrom device.
27425
27426 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27427 and nand.mod.
27428 (_linux_mod_SOURCES): New variable.
27429 (_linux_mod_CFLAGS): Likewise.
27430 (_linux_mod_LDFLAGS): Likewise.
27431 (linux_mod_SOURCES): Likewise.
27432 (linux_mod_CFLAGS): Likewise.
27433 (linux_mod_LDFLAGS): Likewise.
27434 (nand_mod_SOURCES): Likewise.
27435 (nand_mod_CFLAGS): Likewise.
27436 (nand_mod_LDFLAGS): Likewise.
27437
27438 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27439 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27440 type property. (nand device in olpc don't have this property)
27441
27442 * include/grub/disk.h (grub_disk_dev_id): New macro
27443 GRUB_DISK_DEVICE_NAND_ID.
27444
27445 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27446 function prototype.
27447 (grub_rescue_cmd_initrd): Likewise.
27448
27449 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27450 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27451 ofw_cif_handler and ofw_idt, adjust padding number.
27452
27453 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27454 GRUB_MACHINE_IEEE1275 is defined.
27455
27456 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27457 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27458
27459 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27460 on nested function heap_init.
27461 (grub_upper_mem): New variable for i386-ieee1275.
27462 (grub_get_extended_memory): New function for i386-ieee1275.
27463 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27464
27465 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27466 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27467 property.
27468
27469 * loader/i386/ieee1275/linux.c: New file.
27470
27471 * loader/i386/ieee1275/linux_normal.c: New file.
27472
27473 * disk/ieee1275/nand.c: New file.
27474
27475 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27476
27477 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27478 value.
27479 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27480
27481 2008-04-18 Robert Millan <rmh@aybabtu.com>
27482
27483 Restructures early code path on ieee1275 to unify grub_main() as
27484 the first C function that is executed in every platform.
27485
27486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27487 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27488 cmain().
27489 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27490 * kern/ieee1275/cmain.c (cmain): Rename to ...
27491 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27492 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27493 at the beginning.
27494
27495 2008-04-18 Robert Millan <rmh@aybabtu.com>
27496
27497 * util/update-grub.in: Fix syntax error when setting
27498 `GRUB_PRELOAD_MODULES'.
27499 Reported by Stephane Chazelas <stephane@artesyncp.com>
27500
27501 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27502
27503 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27504 section into account, newer toolchains generate unique build ids
27505 * configure.ac: remove the test for --build-id=none acceptance,
27506 we want build ids to be preserved
27507 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27508 far from other sections don't cause the raw binary images grow
27509 size
27510
27511 2008-04-15 Robert Millan <rmh@aybabtu.com>
27512
27513 * disk/lvm.c: Update copyright year.
27514 * kern/misc.c: Likewise.
27515
27516 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27517
27518 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
27519 there is no memory left for physical volume name.
27520
27521 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27522
27523 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27524 volume name mapping to support bigger than 9 character names properly.
27525
27526 2008-04-13 Robert Millan <rmh@aybabtu.com>
27527
27528 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27529 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27530
27531 2008-04-13 Christian Franke <franke@computer.org>
27532
27533 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27534 to create a floppy emulation boot CD when non emulation mode
27535 does not work.
27536 Enable Joliet CD filesystem extension.
27537
27538 2008-04-13 Robert Millan <rmh@aybabtu.com>
27539
27540 * kern/misc.c (grub_strncat): Fix off-by-one error.
27541 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27542
27543 * kern/env.c (grub_env_context_close): Clear current context, not
27544 previous one.
27545 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27546
27547 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27548
27549 2008-04-13 Robert Millan <rmh@aybabtu.com>
27550
27551 Improve robustness when handling LVM.
27552
27553 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
27554 (and leave `*p' unmodified).
27555 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27556 through it.
27557 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27558 iterating through it.
27559 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27560 through it.
27561 (grub_lvm_scan_device): Check the return value (and fail gracefully
27562 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27563 Don't assume `vg->pvs != NULL' when iterating through it.
27564
27565 2008-04-13 Robert Millan <rmh@aybabtu.com>
27566
27567 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27568 * genmk.rb (partmap): New variable.
27569 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27570 (#{partmap}): New target rule.
27571 * genpartmaplist.sh: New file.
27572 * Makefile.in (pkglib_DATA): Add partmap.lst.
27573 (partmap.lst): New target rule.
27574 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27575 modules (including all partition maps), instead of preloading them.
27576
27577 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27578
27579 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27580 `linux-boot-prober' (if installed) to detect other operating
27581 systems which are installed on the computer and add them to
27582 the boot menu.
27583 * conf/common.rmk: Build and install 30_os-prober.
27584
27585 2008-04-12 Robert Millan <rmh@aybabtu.com>
27586
27587 * kern/powerpc/ieee1275/init.c: Move from here ...
27588 * kern/ieee1275/init.c: ... to here. Update all users.
27589
27590 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27591 * kern/ieee1275/cmain.c: ... to here. Update all users.
27592
27593 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27594 * kern/ieee1275/openfw.c: ... to here. Update all users.
27595
27596 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27597 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27598
27599 2008-04-10 Pavel Roskin <proski@gnu.org>
27600
27601 * configure.ac: Always use "_cv_" in cache variables for
27602 compatibility with Autoconf 2.62.
27603
27604 2008-04-07 Robert Millan <rmh@aybabtu.com>
27605
27606 Revert grub/machine/init.h addition by Pavel (since it breaks on
27607 i386-ieee1275 and others):
27608 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27609 * util/powerpc/ieee1275/misc.c: Likewise.
27610
27611 2008-04-07 Robert Millan <rmh@aybabtu.com>
27612
27613 * util/grub-probe.c (probe): Improve error message.
27614
27615 2008-04-07 Robert Millan <rmh@aybabtu.com>
27616
27617 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27618 (this prevents the presence of a bogus entry from ruining the whole
27619 thing).
27620
27621 2008-04-06 Pavel Roskin <proski@gnu.org>
27622
27623 * util/biosdisk.c: Include grub/util/biosdisk.h.
27624 * util/grub-fstest.c (execute_command): Make static.
27625 * util/grub-mkdevicemap.c (check_device): Likewise.
27626 * util/i386/pc/misc.c: Include grub/machine/init.h.
27627 * util/powerpc/ieee1275/misc.c: Likewise.
27628 * util/lvm.c: Include grub/util/lvm.h.
27629 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27630 grub/cache.h.
27631 * util/raid.c: Include grub/util/raid.h.
27632 (grub_util_getdiskname): Make static.
27633
27634 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27635 grub_hostfs_fini(), as they are called from grub_init_all() and
27636 grub_fini_all() respectively. This fixes an infinite loop in
27637 grub-fstest due to double registration of hostfs.
27638 Reported by Christian Franke <Christian.Franke@t-online.de>
27639
27640 2008-04-05 Pavel Roskin <proski@gnu.org>
27641
27642 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27643 all 8 functions. Otherwise, probe function 0 only.
27644
27645 2008-04-04 Pavel Roskin <proski@gnu.org>
27646
27647 * commands/lspci.c (grub_lspci_iter): Print the bus number
27648 correctly.
27649
27650 * commands/lspci.c (grub_pci_classes): Fix typos.
27651 (grub_lspci_iter): Don't print func twice. Print vendor ID
27652 before device ID, as it's normally done.
27653
27654 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27655 Fix signedness warnings.
27656 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27657 Likewise.
27658 * util/ieee1275/get_disk_name.c: Include config.h so that
27659 _GNU_SOURCE is defined and getline() is declared. Mark an
27660 unused argument as such. Fix a signedness warning.
27661
27662 2008-04-02 Pavel Roskin <proski@gnu.org>
27663
27664 * genkernsyms.sh.in: Use more robust assignments for CC and
27665 srcdir. Quote srcdir.
27666 * gensymlist.sh.in: Likewise. Assert at the compile time that
27667 the symbol table is not empty.
27668
27669 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27670 * fs/cpio.c (grub_cpio_read): Likewise.
27671
27672 2008-04-01 Pavel Roskin <proski@gnu.org>
27673
27674 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27675 * disk/host.c (grub_host_open): Likewise.
27676 * disk/loopback.c (grub_loopback_open): Likewise.
27677 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27678 disk->id as in disk/host.c, not a multi-character constant.
27679
27680 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27681 later is obsolete, potentially dangerous and sets a bad example.
27682 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27683 * util/misc.c (grub_util_get_image_size): Likewise.
27684
27685 * disk/loopback.c (options): Improve help for "--partitions".
27686
27687 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27688 options to align them with the short options, e.g. "echo -e".
27689
27690 2008-03-31 Bean <bean123ch@gmail.com>
27691
27692 * video/reader/png.c (grub_png_data): New member is_16bit and
27693 image_data.
27694 (grub_png_decode_image_header): Detect 16 bit png image.
27695 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27696 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27697 (grub_video_reader_png): Release memory occupied by image_data.
27698
27699 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27700 4096 bytes.
27701 (grub_nfs_mount): Skip the test for sector per cluster.
27702
27703 * include/grub/ntfs.h (MAX_SPC): Removed.
27704
27705 2008-03-31 Bean <bean123ch@gmail.com>
27706
27707 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27708 (grub_probe_SOURCES): Add fs/afs.c.
27709 (grub_fstest_SOURCES): Likewise.
27710 (afs_mod_SOURCES): New variable.
27711 (afs_mod_CFLAGS): Likewise.
27712 (afs_mod_LDFLAGS): Likewise.
27713
27714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27715 (grub_emu_SOURCES): Likewise.
27716
27717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27718
27719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27720
27721 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27722
27723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27724
27725 * fs/afs.c: New file.
27726
27727 2008-03-30 Pavel Roskin <proski@gnu.org>
27728
27729 * disk/host.c: Include grub/misc.h to fix a warning.
27730 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27731 warnings about implicit declarations.
27732
27733 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27734 variable.
27735 * include/grub/i386/loader.h: Change declaration of
27736 grub_linux_boot() to match what grub_loader_set() expects.
27737 * util/getroot.c (grub_guess_root_device): Return const char* to
27738 fix a warning.
27739 * util/grub-probe.c (probe): Fix a warning about uninitialized
27740 abstraction_name variable.
27741 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27742 second argument as unused to fix a warning.
27743
27744 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27745 missing grub_error() call.
27746
27747 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27748 2.60 and newer uses it to define datadir.
27749
27750 * commands/sleep.c: Fix warning about implicit declaration.
27751 * disk/memdisk.c: Likewise.
27752 * loader/aout.c: Likewise.
27753 * loader/i386/bsd_normal.c: Likewise.
27754 * util/grub-probe.c: Likewise.
27755
27756 * commands/i386/cpuid.c (has_longmode): Make static.
27757 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27758 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27759
27760 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27761 GDT. This is more robust, as %ds can change.
27762 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27763 calling real_to_prot().
27764 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27765
27766 2008-03-28 Pavel Roskin <proski@gnu.org>
27767
27768 * kern/i386/pc/startup.S: Assert that uncompressed functions
27769 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27770 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27771 code, as they push parts of the code (error handlers) beyond
27772 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27773 code as correctness and size.
27774
27775 2008-03-28 Pavel Roskin <proski@gnu.org>
27776
27777 * kern/i386/pc/startup.S
27778 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27779 data block address to the real mode, keep offset minimal. This
27780 works around a bug in AWARD BIOS on old Athlon systems, which
27781 makes CD detection hang.
27782
27783 2008-03-26 Pavel Roskin <proski@gnu.org>
27784
27785 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27786 const.
27787 * include/grub/normal.h: Add grub_parse_color_name_pair()
27788 declaration.
27789
27790 2008-03-24 Bean <bean123ch@gmail.com>
27791
27792 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27793 (cd_count): Removed.
27794 (cd_drive): New variable.
27795 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27796 (grub_biosdisk_call_hook): Likewise.
27797 (grub_biosdisk_iterate): Change cdrom detection method.
27798 (grub_biosdisk_open): Replace cd_start with cd_drive.
27799 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27800 detect cdrom device.
27801
27802 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27803 Removed.
27804 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27805 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27806 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27807 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27808 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27809 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27810 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27811 (grub_biosdisk_cdrp): New structure.
27812 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27813
27814 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27815
27816 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27817 device.
27818
27819 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27820 New function.
27821
27822 2008-03-20 Robert Millan <rmh@aybabtu.com>
27823
27824 Remove 2 TiB limit in ata.mod.
27825 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27826 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27827 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27828 grub_uint64_t instead of grub_uint32_t.
27829
27830 2008-03-05 Bean <bean123ch@gmail.com>
27831
27832 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27833 (grub_multiboot): Set boot device.
27834
27835 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27836
27837 2008-03-02 Bean <bean123ch@gmail.com>
27838
27839 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27840 symlink_buffer.
27841
27842 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27843
27844 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27845 texinfo.tex.
27846
27847 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27848 modified.
27849
27850 * docs/fdl.texi: New file.
27851
27852 * docs/mdate-sh: New file. Copied from gnulib.
27853 * docs/texinfo.tex: Likewise.
27854
27855 * config.guess: Updated from gnulib.
27856 * install-sh: Likewise.
27857
27858 2008-02-28 Robert Millan <rmh@aybabtu.com>
27859
27860 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27861 (aout_mod_SOURCES): New variable.
27862 (aout_mod_CFLAGS): Likewise.
27863 (aout_mod_LDFLAGS): Likewise.
27864
27865 * conf/i386-ieee1275.rmk: Likewise.
27866
27867 2008-02-28 Robert Millan <rmh@aybabtu.com>
27868
27869 * util/update-grub.in: Reorganise terminal validity check. Accept
27870 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27871 Based on suggestion by Franklin PIAT.
27872
27873 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27874
27875 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27876 function.
27877 * util/getroot.c (grub_util_check_block_device): New function that
27878 returns the given argument if it is a block device and returns NULL else.
27879 * util/grub-probe.c (argument_is_device): New variable.
27880 (probe): Promote device_name from a variable to an argument. Receive
27881 device_name from grub_util_check_block_device() if path is NULL and from
27882 grub_guess_root_device() else. Do not free() device_name anymore.
27883 (options): Introduce new parameter '-d, --device'.
27884 (main): Add description of the new parameter to the help screen.
27885 Rename path variable to argument. Set argument_is_device if the '-d'
27886 option is given. Pass argument to probe() depending on
27887 argument_is_device.
27888
27889 2008-02-24 Bean <bean123ch@gmail.com>
27890
27891 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27892 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27893 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27894 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27895 (GRUB_ISO9660_VOLDESC_END): Likewise.
27896 (grub_iso9660_primary_voldesc): New member escape.
27897 (grub_iso9660_data): New member joliet.
27898 (grub_iso9660_convert_string): New function.
27899 (grub_iso9660_mount): Detect joliet extension.
27900 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27901 (grub_iso9660_iso9660_label): Likewise.
27902
27903 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27904 (grub_setup_SOURCES): Add fs/udf.c.
27905 (grub_fstest_SOURCES): Likewise.
27906 (udf_mod_SOURCES): New variable.
27907 (udf_mod_CFLAGS): Likewise.
27908 (udf_mod_LDFLAGS): Likewise.
27909
27910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27911 (grub_emu_SOURCES): Likewise.
27912
27913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27914
27915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27916
27917 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27918
27919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27920
27921 * fs/udf.c: New file.
27922
27923 2008-02-24 Robert Millan <rmh@aybabtu.com>
27924
27925 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27926 (normal/lexer.c_DEPENDENCIES): New variables.
27927 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27928 (normal/lexer.c_DEPENDENCIES): Likewise.
27929 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27930 (normal/lexer.c_DEPENDENCIES): Likewise.
27931 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27932 (normal/lexer.c_DEPENDENCIES): Likewise.
27933 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27934 (normal/lexer.c_DEPENDENCIES): Likewise.
27935 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27936 (normal/lexer.c_DEPENDENCIES): Likewise.
27937
27938 2008-02-23 Robert Millan <rmh@aybabtu.com>
27939
27940 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27941 since they were intended to be in hex. This didn't break previously
27942 because of a bug in gpt_partition_map_iterate() (see below).
27943
27944 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27945 when checking the validity of GPT header.
27946 Remove `partno', since it always provides the same information as `i'.
27947
27948 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27949
27950 * include/grub/efi/time.h: Fix a wrong comment.
27951
27952 2008-02-19 Pavel Roskin <proski@gnu.org>
27953
27954 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27955 message.
27956
27957 2008-02-19 Bean <bean123ch@gmail.com>
27958
27959 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27960 (aout_mod_SOURCES): New variable.
27961 (aout_mod_CFLAGS): Likewise.
27962 (aout_mod_LDFLAGS): Likewise.
27963 (_bsd_mod_SOURCES): New variable.
27964 (_bsd_mod_CFLAGS): Likewise.
27965 (_bsd_mod_LDFLAGS): Likewise.
27966 (bsd_mod_SOURCES): New variable.
27967 (bsd_mod_CFLAGS): Likewise.
27968 (bsd_mod_LDFLAGS): Likewise.
27969
27970 * include/grub/aout.h: New file.
27971
27972 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27973
27974 * include/grub/i386/bsd.h: New file.
27975
27976 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27977 to make it public.
27978
27979 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27980 function is called, so that it's possible to change it inside the hook.
27981 (grub_elf64_load): Likewise.
27982 (grub_elf_file): Don't close the file if elf header is not found.
27983 (grub_elf_close): Close the file if grub_elf_file fails (The new
27984 grub_elf_file won't close it).
27985 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27986 (grub_elf64_size): Likewise.
27987
27988 * kern/i386/loader.S (grub_unix_real_boot): New function.
27989
27990 * loader/aout.c: New file.
27991
27992 * loader/i386/bsd.c: New file.
27993
27994 * loader/i386/bsd_normal.c: New file.
27995
27996 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27997
27998 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
27999 can test other formats.
28000
28001 2008-02-19 Robert Millan <rmh@aybabtu.com>
28002
28003 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28004 (grub_gpt_partition_type_empty): Redefine with macro from
28005 `<grub/gpt_partition.h>'.
28006 (gpt_partition_map_iterate): Adjust partition type comparison.
28007
28008 Export `entry' as partmap-specific `part.data' struct.
28009 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28010
28011 * include/grub/gpt_partition.h (grub_gpt_header)
28012 (grub_gpt_partentry): ... to here (new file).
28013
28014 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28015
28016 (grub_gpt_partition_type_bios_boot): New const variable, defined
28017 with macro from `<grub/gpt_partition.h>'.
28018
28019 (setup): Replace `first_start' with `embed_region', which keeps
28020 track of the embed region (and is partmap-agnostic).
28021
28022 Replace find_first_partition_start() with find_usable_region(),
28023 which finds a usable region for embedding using partmap-specific
28024 knowledge (supports PC/MSDOS and GPT).
28025
28026 Fix all assumptions that the embed region start at sector 1, using
28027 `embed_region.start' from now on. Similarly, use `embed_region.end'
28028 rather than `first_start' to calculate available size.
28029
28030 In grub_util_info() message, replace "into after the MBR" with an
28031 indication of the specific sector our embed region starts at.
28032
28033 2008-02-19 Robert Millan <rmh@aybabtu.com>
28034
28035 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28036 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28037 `commands/reboot.c'.
28038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28039 (halt_mod_SOURCES): Likewise.
28040 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28041 (halt_mod_SOURCES): Likewise.
28042
28043 2008-02-17 Christian Franke <franke@computer.org>
28044
28045 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28046
28047 2008-02-17 Robert Millan <rmh@aybabtu.com>
28048
28049 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28050 set `first_start' to 0 for non-PC/MSDOS partition maps.
28051
28052 2008-02-16 Robert Millan <rmh@aybabtu.com>
28053
28054 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28055 do not assume partition map is PC/MSDOS before performing checks that
28056 are specific to that layout.
28057
28058 2008-02-13 Robert Millan <rmh@aybabtu.com>
28059
28060 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
28061 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
28062 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
28063
28064 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
28065
28066 * configure.ac: Only a cosmetic change on the handling of
28067 -fno-stack-protector.
28068
28069 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
28070
28071 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
28072 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
28073 reboot.c.
28074 (grub_install_SOURCES): Add halt.mod and reboot.mod.
28075 (halt_mod_SOURCES): New variable.
28076 (halt_mod_CFLAGS): Likewise.
28077 (halt_mod_LDFLAGS): Likewise.
28078 (reboot_mod_SOURCES): Likewise.
28079 (reboot_mod_CFLAGS): Likewise.
28080 (reboot_mod_LDFLAGS): Likewise.
28081
28082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
28083 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
28084 reboot.c.
28085 (halt_mod_SOURCES): Likewise.
28086 (reboot_mod_SOURCES): Likewise.
28087
28088 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
28089 commands/i386/pc/reboot.c by commands/reboot.c.
28090 (reboot_mod_SOURCES): Likewise.
28091
28092 * commands/i386/pc/reboot.c: merge this file ...
28093
28094 * commands/ieee1275/reboot.c: ... and this file ...
28095
28096 * commands/reboot.c: ... to this file.
28097 Add some precompiler directive to include the correct header for
28098 each machine.
28099
28100 * commands/ieee1275/halt.c: move this file ...
28101
28102 * commands/halt.c: ... to here.
28103 Add some precompiler directive to include the correct header for
28104 each machine.
28105
28106 * include/grub/efi/efi.h (grub_reboot): New function declaration.
28107 (grub_halt): Likewise.
28108
28109 * kern/efi/efi.c (grub_reboot): New function.
28110 (grub_halt): Likewise.
28111
28112 2008-02-12 Robert Millan <rmh@aybabtu.com>
28113
28114 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
28115 /dev (like it is done for /dev/mapper). This doesn't provide support
28116 for EVMS, but at least it is now easy to identify the problem when it
28117 arises.
28118
28119 2008-02-11 Robert Millan <rmh@aybabtu.com>
28120
28121 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
28122 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
28123 comparing it with -1, not 0.
28124
28125 2008-02-10 Robert Millan <rmh@aybabtu.com>
28126
28127 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
28128 `disk/lvm.c'.
28129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28130 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28131
28132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
28133 `disk/lvm.c' to the end of the list.
28134 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28135 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28136
28137 2008-02-10 Robert Millan <rmh@aybabtu.com>
28138
28139 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
28140 grub_print_error() instead. This will let user know why we're entering
28141 rescue mode.
28142 Based on suggestions from Sam Morris.
28143
28144 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
28145
28146 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
28147 on remaining N args, instead of "--" arg N times.
28148
28149 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
28150
28151 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
28152 (fill_with_default_glyph): Changed to use unknown_glyph for fill
28153 pattern for unknown glyphs.
28154
28155 2008-02-09 Robert Millan <rmh@aybabtu.com>
28156
28157 * configure.ac: Probe for `help2man'.
28158 * Makefile.in (builddir): New variable.
28159 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
28160 or otherwise add a few flags/options to it.
28161 (install-local): For every executable utility or script that is
28162 installed, invoke $(HELP2MAN) to install a manpage based on --help
28163 output.
28164
28165 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
28166 that it doesn't prevent --help from working in build tree.
28167
28168 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
28169 with `bug-grub@gnu.org'.
28170 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
28171 * util/update-grub.in (usage): New function.
28172 Implement proper argument check, with support for --help and --version
28173 (as well as existing -y).
28174
28175 2008-02-09 Christian Franke <franke@computer.org>
28176
28177 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
28178 avoid overwriting previous output.
28179 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
28180
28181 2008-02-09 Robert Millan <rmh@aybabtu.com>
28182
28183 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
28184 drawing the menu.
28185
28186 2008-02-09 Robert Millan <rmh@aybabtu.com>
28187
28188 * commands/sleep.c: New file.
28189 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
28190 (sleep_mod_SOURCES): New variable.
28191 (sleep_mod_CFLAGS): Likewise.
28192 (sleep_mod_LDFLAGS): Likewise.
28193
28194 2008-02-09 Robert Millan <rmh@aybabtu.com>
28195
28196 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
28197 situations in which we can deduce the RAID size and the superblock
28198 doesn't match it.
28199
28200 2008-02-09 Robert Millan <rmh@aybabtu.com>
28201
28202 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
28203 and return a grub_diskmemberlist_t composed of LVM physical volumes.
28204 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
28205
28206 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
28207 and return a grub_diskmemberlist_t composed of physical array members.
28208 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
28209
28210 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
28211 prototype.
28212 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
28213 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
28214 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
28215
28216 * util/grub-probe.c (probe): Move partmap probing code from here ...
28217 (probe_partmap): ... to here.
28218 (probe): Use probe_partmap() once for the disk we're probing, and
28219 additionally, when such disk contains a memberlist() struct member,
28220 once for each disk that is contained in the structure returned by
28221 memberlist().
28222
28223 2008-02-09 Robert Millan <rmh@aybabtu.com>
28224
28225 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
28226 environment variable to 'all' in order to obtain debug output from
28227 non-util/ code.
28228 * util/i386/pc/grub-setup.c (main): Likewise.
28229
28230 2008-02-08 Robert Millan <rmh@aybabtu.com>
28231
28232 * disk/raid.c (grub_raid_scan_device): Check for
28233 `array->device[sb.this_disk.number]' rather than for
28234 `array->device[sb.this_disk.number]->name', since the latter is not
28235 guaranteed to be accessible.
28236
28237 2008-02-08 Robert Millan <rmh@aybabtu.com>
28238
28239 * disk/raid.c: Update copyright.
28240 * fs/cpio.c: Likewise.
28241 * include/grub/raid.h: Likewise.
28242 * loader/i386/pc/multiboot.c: Likewise.
28243 * util/hostfs.c: Likewise.
28244
28245 2008-02-08 Robert Millan <rmh@aybabtu.com>
28246
28247 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
28248 to a grub_disk_t array.
28249 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
28250 `device[x]'.
28251 (grub_raid_scan_device): Replace `device[x].name' accesses with
28252 `device[x]->name'. Simplify initialization of `array->device[x]'.
28253
28254 2008-02-08 Robert Millan <rmh@aybabtu.com>
28255
28256 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
28257 grub_dprintf() calls.
28258 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
28259 error message.
28260
28261 2008-02-07 Christian Franke <franke@computer.org>
28262
28263 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
28264 instead of fseek and ftell to support large files.
28265 (grub_hostfs_read): Likewise.
28266
28267 2008-02-07 Robert Millan <rmh@aybabtu.com>
28268
28269 Patch from Jeroen Dekkers.
28270 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
28271 failure, since successfully reading all array members might not be
28272 required.
28273
28274 2008-02-06 Robert Millan <rmh@aybabtu.com>
28275
28276 * util/grub-probe.c (probe): Simplify partmap probing (with the
28277 assumption that the first word up to the underscore equals to
28278 the module name).
28279
28280 2008-02-06 Christian Franke <franke@computer.org>
28281
28282 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
28283 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
28284 last block of a cpio or tar stream.
28285 Check for "TRAILER!!!" instead of any empty data
28286 block to detect last block of a cpio stream.
28287 (grub_cpio_dir): Fix constness of variable np.
28288 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
28289 cpio or tar trailer is detected. This fixes a crash
28290 on open of a non existing file.
28291
28292 2008-02-05 Bean <bean123ch@gmail.com>
28293
28294 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
28295 address of entry.
28296 (grub_multiboot_load_elf64): Likewise.
28297 (grub_multiboot): Initialize mbi structure.
28298
28299 * util/grub-fstest.c: Don't include unused header file script.h.
28300
28301 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
28302 of file.
28303 (grub_fstest_SOURCES): Likewise.
28304
28305 2008-02-05 Robert Millan <rmh@aybabtu.com>
28306
28307 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
28308 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
28309 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
28310 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
28311
28312 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
28313 (translation_table): Replace hardcoded values with macros
28314 provided by `<grub/term.h>'.
28315
28316 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
28317 (keyboard_map): Correct/add a few values, with macros provided
28318 by `<grub/term.h>'.
28319 (keyboard_map_shift): Zero values that don't differ from their
28320 `keyboard_map' equivalents.
28321 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
28322 Discard the second scan code that is always sent by Caps lock.
28323 Only use `keyboard_map_shift' when it provides a non-zero value,
28324 otherwise fallback to `keyboard_map'.
28325
28326 2008-02-04 Bean <bean123ch@gmail.com>
28327
28328 * Makefile.in (enable_grub_fstest): New variable.
28329
28330 * conf/common.rmk (grub_fstest_init.lst): New rule.
28331 (grub_fstest_init.h): Likewise.
28332 (grub_fstest_init.c): Likewise.
28333 (util/grub-fstest.c_DEPENDENCIES): New variable.
28334 (grub_fstest_SOURCES): Likewise.
28335
28336 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
28337
28338 * util/grub-fstest.c: New file.
28339
28340 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28341
28342 Make grub-setup handle a separate root device.
28343
28344 * util/i386/pc/grub-setup.c (setup): Always open the root device,
28345 so that the root device can be compared with the destination
28346 device.
28347 When embedding the core image, if the root and destination devices
28348 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
28349 0xFF.
28350 When not embedding, set ROOT_DRIVE to 0xFF.
28351
28352 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28353
28354 Add support for having a grub directory in a different drive. This
28355 is still only the data handling part.
28356
28357 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28358 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28359 (grub_root_drive): New variable.
28360
28361 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28362 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28363 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28364 as it was.
28365
28366 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28367
28368 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28369 macro.
28370 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28371
28372 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28373 is bogus, because PXE booting does not specify any drive
28374 correctly.
28375
28376 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28377 am not sure if this is really correct.
28378
28379 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28380 is always identical to the boot drive when booting from a CD.
28381
28382 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28383 longer.
28384 (root_drive): New variable.
28385 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28386 (setup_sectors): Push %dx right after popping it, because %dh will
28387 be modified later.
28388 (copy_buffer): Restore %dx.
28389
28390 2008-02-03 Robert Millan <rmh@aybabtu.com>
28391
28392 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28393 use `cdboot.img' for cdrom images.
28394
28395 2008-02-03 Robert Millan <rmh@aybabtu.com>
28396
28397 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28398 only setup gfxterm when `font' command has succeeded.
28399
28400 2008-02-03 Robert Millan <rmh@aybabtu.com>
28401
28402 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28403 (grub_rescue_cmd_multiboot_loader)
28404 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28405
28406 2008-02-03 Pavel Roskin <proski@gnu.org>
28407
28408 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
28409 %edx and %esi from stack only after grub_gate_a20() is called.
28410 grub_gate_a20() clobbers %edx.
28411
28412 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28413
28414 * configure.ac (AC_INIT): Bumped to 1.96.
28415
28416 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28417 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28418 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28419 video/readers/png.c.
28420
28421 2008-02-03 Bean <bean123ch@gmail.com>
28422
28423 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28424 (cdboot_img_SOURCES): New variable.
28425 (cdboot_img_ASFLAGS): New variable.
28426 (cdboot_img_LDFLAGS): New variable.
28427
28428 * boot/i386/pc/cdboot.S: New file.
28429
28430 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28431 (cd_count): Likewise.
28432 (grub_biosdisk_get_drive): Add support for cd device.
28433 (grub_biosdisk_call_hook): Likewise.
28434 (grub_biosdisk_iterate): Likewise.
28435 (grub_biosdisk_open): Likewise.
28436 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28437 (grub_biosdisk_rw): Support reading from cd device.
28438 (GRUB_MOD_INIT): Iterate cd devices.
28439
28440 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28441 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28442 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28443
28444 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28445
28446 2008-02-02 Robert Millan <rmh@aybabtu.com>
28447
28448 * commands/read.c: New file.
28449 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28450 (read_mod_SOURCES): New variable.
28451 (read_mod_CFLAGS): Likewise.
28452 (read_mod_LDFLAGS): Likewise.
28453
28454 2008-02-02 Robert Millan <rmh@aybabtu.com>
28455
28456 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28457 determining whether menu has to be displayed.
28458
28459 2008-02-02 Marco Gerards <marco@gnu.org>
28460
28461 * bus/pci.c: New file.
28462
28463 * include/grub/pci.h: Likewise.
28464
28465 * include/grub/i386/pc/pci.h: Likewise.
28466
28467 * commands/lspci.c: Likewise.
28468
28469 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28470 `lspci.mod'.
28471 (pci_mod_SOURCES): New variable.
28472 (pci_mod_CFLAGS): Likewise.
28473 (pci_mod_LDFLAGS): Likewise.
28474 (lspci_mod_SOURCES): Likewise.
28475 (lspci_mod_CFLAGS): Likewise.
28476 (lspci_mod_LDFLAGS): Likewise.
28477
28478 2008-02-02 Bean <bean123ch@gmail.com>
28479
28480 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28481 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28482
28483 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28484 (grub_xfs_btree_node): New structure.
28485 (grub_xfs_btree_root): New structure.
28486 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28487 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28488 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28489 (GRUB_XFS_EXTENT_SIZE): Likewise.
28490 (grub_xfs_read_block): Support btree format type.
28491 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28492 Use directory block as basic unit.
28493
28494 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28495
28496 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28497 __attribute__ ((__regparm__ (1))).
28498
28499 2008-02-01 Robert Millan <rmh@aybabtu.com>
28500
28501 Correct a mistake in previous commit.
28502
28503 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28504 top.
28505 (normal/command.c_DEPENDENCIES): New variable.
28506
28507 2008-02-01 Robert Millan <rmh@aybabtu.com>
28508
28509 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28510 top.
28511 (normal/command.c_DEPENDENCIES): New variable.
28512 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28513 * conf/i386-ieee1275.rmk: Likewise.
28514 * conf/i386-linuxbios.rmk: Likewise.
28515 * conf/i386-pc.rmk: Likewise.
28516 * conf/sparc64-ieee1275.rmk: Likewise.
28517 * conf/powerpc-ieee1275.rmk: Likewise.
28518 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28519
28520 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28521
28522 2008-02-01 Robert Millan <rmh@aybabtu.com>
28523
28524 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28525 call at beginning of function.
28526
28527 2008-01-31 Pavel Roskin <proski@gnu.org>
28528
28529 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
28530 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28531 (grub_mkrescue_SOURCES): Likewise.
28532 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28533
28534 2008-01-30 Robert Millan <rmh@aybabtu.com>
28535
28536 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28537 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28538 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28539 (grub_probe_SOURCES): ... to here.
28540
28541 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28542 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28543 * conf/i386-ieee1275.rmk: Likewise.
28544 * conf/i386-linuxbios.rmk: Likewise.
28545 * conf/powerpc-ieee1275.rmk: Likewise.
28546
28547 2008-01-30 Tristan Gingold <gingold@free.fr>
28548
28549 * kern/rescue.c: Silently accept empty lines.
28550
28551 2008-01-29 Bean <bean123ch@gmail.com>
28552
28553 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28554 (real_code_2): Code cleanup and change comment style.
28555 (move_memory): Avoid using 32-bit address mode.
28556
28557 2008-01-29 Bean <bean123ch@gmail.com>
28558
28559 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28560 (png_mod_SOURCES): New variable.
28561 (png_mod_CFLAGS): Likewise.
28562 (png_mod_LDFLAGS): Likewise.
28563
28564 * video/readers/png.c: New file.
28565
28566 2008-01-28 Robert Millan <rmh@aybabtu.com>
28567
28568 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28569 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28570 `ifndef GRUB_MOD_GAP' hack.
28571 * util/elf/grub-mkimage.c (add_segments): Likewise.
28572
28573 2008-01-27 Robert Millan <rmh@aybabtu.com>
28574
28575 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28576 `GRUB_MOD_GAP' for platforms in which it's not defined.
28577 * util/elf/grub-mkimage.c (add_segments): Likewise.
28578
28579 2008-01-27 Robert Millan <rmh@aybabtu.com>
28580
28581 Get grub-emu to build again (including parallel builds).
28582
28583 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28584 Split into ...
28585 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28586 (normal/execute.c_DEPENDENCIES): ... this, ...
28587 (grub-emu_DEPENDENCIES): ... and this.
28588
28589 * conf/i386-efi.rmk: Likewise.
28590 * conf/i386-linuxbios.rmk: Likewise.
28591 * conf/i386-ieee1275.rmk: Likewise.
28592 * conf/powerpc-ieee1275.rmk: Likewise.
28593 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28594
28595 2008-01-27 Robert Millan <rmh@aybabtu.com>
28596
28597 * NEWS: Add a few items.
28598
28599 2008-01-27 Robert Millan <rmh@aybabtu.com>
28600
28601 Fix parallel builds with grub-emu. Based on earlier commit for
28602 grub-probe and grub-setup.
28603
28604 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28605 (util/grub-emu.c_DEPENDENCIES): ... this.
28606 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28607 (util/grub-emu.c_DEPENDENCIES): ... this.
28608 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28609 (util/grub-emu.c_DEPENDENCIES): ... this.
28610 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28611 (util/grub-emu.c_DEPENDENCIES): ... this.
28612 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28613 (util/grub-emu.c_DEPENDENCIES): ... this.
28614
28615 2008-01-27 Pavel Roskin <proski@gnu.org>
28616
28617 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28618 to create a gap between _end and the modules added to the image
28619 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28620 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28621 * util/elf/grub-mkimage.c (add_segments): Likewise.
28622
28623 2008-01-26 Pavel Roskin <proski@gnu.org>
28624
28625 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28626 just return an error.
28627
28628 2008-01-26 Bean <bean123ch@gmail.com>
28629
28630 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28631 (grub_reiserfs_get_item): Save offset of the next item.
28632 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28633
28634 2008-01-25 Robert Millan <rmh@aybabtu.com>
28635
28636 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28637 make all filesystem sources appear together (possibly fixing omissions
28638 while at it).
28639 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28641 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28643
28644 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28645 add `kern/file.c'.
28646 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28647 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28648 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28649 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28650
28651 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28652 (probe): Add a sanity check to make sure of our ability to read
28653 requested files when probing for filesystem type.
28654
28655 * genmk.rb: Update copyright year (2007).
28656
28657 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28658 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28659 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28660 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28661 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28662 : Remove function prototypes.
28663
28664 2008-01-25 Robert Millan <rmh@aybabtu.com>
28665
28666 Revert my previous commits (based on wrong assumption of how grub_errno
28667 works).
28668
28669 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
28670 * kern/file.c (grub_file_open): Likewise.
28671
28672 2008-01-24 Pavel Roskin <proski@gnu.org>
28673
28674 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28675 that hang if GRUB tries to setup colors.
28676 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28677 colors for firmwares that don't support it.
28678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28679 Recognize Open Hack'Ware, set flags to work around its
28680 limitations.
28681
28682 2008-01-24 Robert Millan <rmh@aybabtu.com>
28683
28684 * kern/file.c (grub_file_open): Do not account previous failures of
28685 unrelated functions when grub_errno is checked for.
28686 Reported by Oleg Strikov.
28687
28688 2008-01-24 Bean <bean123ch@gmail.com>
28689
28690 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28691 (grub_ufs_sblock): New member volume name.
28692 (grub_ufs_find_file): Fix string copy bug.
28693 (grub_ufs_label): Implement this function properly.
28694
28695 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28696 (grub_hfs_iterate_records): Use the correct file number for extents
28697 and catalog file. Fix problem in next index calculation.
28698 (grub_hfs_find_node): Replace recursive function call with loop.
28699 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28700
28701 2008-01-23 Robert Millan <rmh@aybabtu.com>
28702
28703 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28704 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28705 (grub_multiboot2_real_boot): New function prototype.
28706
28707 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28708 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28709
28710 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28711 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28712
28713 2008-01-23 Robert Millan <rmh@aybabtu.com>
28714
28715 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28716 #ifdef'ed out grub_printf().
28717
28718 2008-01-23 Robert Millan <rmh@aybabtu.com>
28719
28720 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28721 grub_dprintf calls, since they make "debug=all" mode unusable.
28722 (grub_console_checkkey): Likewise.
28723
28724 2008-01-23 Robert Millan <rmh@aybabtu.com>
28725
28726 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28727 `term/i386/pc/at_keyboard.c'.
28728 (pkglib_MODULES): Add `serial.mod'.
28729 (serial_mod_SOURCES): New variable.
28730 (serial_mod_CFLAGS): Likewise.
28731 (serial_mod_LDFLAGS): Likewise.
28732
28733 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28734 `<grub/powerpc/ieee1275/console.h>'.
28735 (grub_keyboard_controller_init): New function prototype.
28736 (grub_console_checkkey): Likewise.
28737 (grub_console_getkey): Likewise.
28738
28739 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28740 keyboard on i386.
28741
28742 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28743 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28744
28745 2008-01-23 Robert Millan <rmh@aybabtu.com>
28746
28747 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28748 present, "(memdisk)/boot/grub" becomes the default prefix.
28749
28750 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28751 a memdisk tarball with all the modules. Add --overlay=DIR option that
28752 allows users to overlay additional files into the image.
28753
28754 2008-01-23 Robert Millan <rmh@aybabtu.com>
28755
28756 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28757 and `machine/memory.h'.
28758 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28759 (_multiboot_mod_SOURCES): New variable.
28760 (_multiboot_mod_CFLAGS): Likewise.
28761 (_multiboot_mod_LDFLAGS): Likewise.
28762 (multiboot_mod_SOURCES): Likewise.
28763 (multiboot_mod_CFLAGS): Likewise.
28764 (multiboot_mod_LDFLAGS): Likewise.
28765
28766 * include/grub/i386/ieee1275/loader.h: New file.
28767
28768 * include/grub/i386/ieee1275/machine.h: Likewise.
28769
28770 * include/grub/i386/ieee1275/memory.h: Likewise.
28771
28772 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28773 variable declaration.
28774 (grub_os_area_size): Likewise.
28775
28776 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28777 (grub_lower_mem, grub_upper_mem): New variables.
28778 (grub_stop_floppy): New function (just to make
28779 grub_multiboot2_real_boot() happy).
28780
28781 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28782 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28783 (grub_stop): New function.
28784 Include `"../realmode.S"' and `"../loader.S"'.
28785
28786 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28787 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28788
28789 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28790 rely on grub_multiboot2_real_boot() for final boot.
28791
28792 2008-01-22 Robert Millan <rmh@aybabtu.com>
28793
28794 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28795 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28796 device that doesn't look like an SD card.
28797 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28798 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28799 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28800 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28801 found.
28802
28803 2008-01-22 Robert Millan <rmh@aybabtu.com>
28804
28805 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28806 avoid claiming over our own code.
28807
28808 2008-01-22 Bean <bean123ch@gmail.com>
28809
28810 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28811 (jpeg_mod_SOURCES): New variable.
28812 (jpeg_mod_CFLAGS): Likewise.
28813 (jpeg_mod_LDFLAGS): Likewise.
28814
28815 * video/readers/jpeg.c : New file.
28816
28817 2008-01-22 Bean <bean123ch@gmail.com>
28818
28819 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28820 there are no more items.
28821
28822 2008-01-21 Robert Millan <rmh@aybabtu.com>
28823
28824 * kern/mm.c (grub_mm_init_region): Improve debug message.
28825
28826 2008-01-21 Robert Millan <rmh@aybabtu.com>
28827
28828 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28829 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28830 address.
28831 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28832 a C macro.
28833 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28834 Indicates start of upper memory.
28835 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28836 (generate_image): Abort when image size is big enough to corrupt
28837 upper memory.
28838
28839 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28840 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28841 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28842 instead of hardcoding 0xA0000.
28843 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28844 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28845 instead of hardcoding 0xA0000.
28846
28847 2008-01-21 Robert Millan <rmh@aybabtu.com>
28848
28849 * disk/memdisk.c (memdisk_size): New variable.
28850 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28851 `memdisk_size'.
28852 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28853 image to dynamic memory.
28854 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28855 `memdisk_size'. Free memdisk block.
28856
28857 2008-01-21 Robert Millan <rmh@aybabtu.com>
28858
28859 Fix detection of very small filesystems (like tar).
28860
28861 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28862 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28863 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28864 a problem with this disk).
28865
28866 2008-01-21 Robert Millan <rmh@aybabtu.com>
28867
28868 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28869 on grub_biosdisk_rw_standard() error.
28870
28871 2008-01-21 Robert Millan <rmh@aybabtu.com>
28872
28873 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28874 recent changes.
28875 * kern/elf.c: Likewise.
28876 * kern/ieee1275/ieee1275.c: Likewise.
28877 * kern/powerpc/ieee1275/openfw.c: Likewise.
28878 * term/ieee1275/ofconsole.c: Likewise.
28879
28880 2008-01-21 Robert Millan <rmh@aybabtu.com>
28881
28882 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28883
28884 * include/grub/kernel.h (grub_arch_memdisk_addr)
28885 (grub_arch_memdisk_size): Moved from here ...
28886
28887 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28888 (grub_arch_memdisk_size): ... to here.
28889
28890 2008-01-21 Robert Millan <rmh@aybabtu.com>
28891
28892 Mostly based on bugfix from Bean.
28893
28894 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28895 attribute with hook() parameter.
28896 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28897 declaration.
28898 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28899 attribute with hook() parameter.
28900 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28901 declaration.
28902
28903 2008-01-21 Robert Millan <rmh@aybabtu.com>
28904
28905 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28906 (pkglib_MODULES): Add `memdisk.mod'.
28907 (memdisk_mod_SOURCES): New variable.
28908 (memdisk_mod_CFLAGS): Likewise.
28909 (memdisk_mod_LDFLAGS): Likewise.
28910
28911 * disk/memdisk.c: New file.
28912
28913 * include/grub/disk.h (grub_disk_dev_id): Add
28914 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28915
28916 * include/grub/i386/pc/kernel.h
28917 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28918 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28919 (grub_kernel_image_size): New variable declaration.
28920 (grub_total_module_size): Likewise.
28921 (grub_memdisk_image_size): Likewise.
28922
28923 * include/grub/i386/pc/memory.h
28924 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28925
28926 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28927 (grub_arch_memdisk_addr): New variable declaration.
28928 (grub_arch_memdisk_size): Likewise.
28929
28930 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28931 (grub_arch_memdisk_size): Likewise.
28932
28933 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28934 (codestart): Replace hardcoded `0x100000' with
28935 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28936
28937 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28938 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28939 not NULL, append the contents of the file it refers to, at the end of
28940 the compressed kernel image. Initialize `grub_memdisk_image_size'
28941 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28942 (options): Add "memdisk"|'m' option.
28943 (main): Parse --memdisk|-m option, and pass user-provided path as
28944 parameter to generate_image().
28945
28946 2008-01-20 Robert Millan <rmh@aybabtu.com>
28947
28948 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28949 grub_dprintf() calls from here ...
28950 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28951
28952 2008-01-20 Robert Millan <rmh@aybabtu.com>
28953
28954 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28955
28956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28957 declaration.
28958 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28959 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28960 `GRUB_IEEE1275_FLAG_REAL_MODE'.
28961 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
28962 property).
28963 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28964 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28965
28966 2008-01-19 Robert Millan <rmh@aybabtu.com>
28967
28968 Get rid of confusing function (superseded by
28969 `grub_ieee1275_get_integer_property')
28970 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28971 prototype.
28972 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28973 function.
28974 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28975 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
28976 in native endianness from grub_ieee1275_get_integer_property().
28977
28978 2008-01-19 Robert Millan <rmh@aybabtu.com>
28979
28980 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28981 command after "shut-down", since implementations differ on which
28982 the command for halt is.
28983
28984 2008-01-19 Robert Millan <rmh@aybabtu.com>
28985
28986 * include/grub/i386/linuxbios/console.h: Add header protection.
28987 (grub_keyboard_controller_init): New function prototype.
28988 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28989 (KEYBOARD_COMMAND_READ): Likewise.
28990 (KEYBOARD_COMMAND_WRITE): Likewise.
28991 (KEYBOARD_SCANCODE_SET1): Likewise.
28992 (grub_keyboard_controller_write): New function.
28993 (grub_keyboard_controller_read): Likewise.
28994 (grub_keyboard_controller_init): Likewise.
28995
28996 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28997 (grub_console_init): On coreboot/LinuxBIOS, call
28998 grub_keyboard_controller_init().
28999
29000 2008-01-19 Robert Millan <rmh@aybabtu.com>
29001
29002 PowerPC changes provided by Pavel Roskin.
29003
29004 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29005 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29006 don't rely on cmain() doing it.
29007 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29008 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29009
29010 2008-01-16 Robert Millan <rmh@aybabtu.com>
29011
29012 * include/grub/i386/linuxbios/memory.h
29013 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29014 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29015 receive `table_header' as argument. Instead, probe for it in the
29016 known memory ranges where it can be present.
29017 (grub_available_iterate): Do not pass a fixed `table_header' address
29018 to grub_linuxbios_table_iterate().
29019
29020 2008-01-15 Robert Millan <rmh@aybabtu.com>
29021
29022 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29023 * conf/i386-ieee1275.rmk: New file.
29024 * include/grub/i386/ieee1275/console.h: Likewise.
29025 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29026 * include/grub/i386/ieee1275/kernel.h: Likewise.
29027 * include/grub/i386/ieee1275/time.h: Likewise.
29028 * kern/i386/ieee1275/init.c: Likewise.
29029 * kern/i386/ieee1275/startup.S: Likewise.
29030
29031 2008-01-15 Robert Millan <rmh@aybabtu.com>
29032
29033 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29034 when pointers are 32-bit (but still do set it to one when they are
29035 64-bit).
29036
29037 2008-01-15 Robert Millan <rmh@aybabtu.com>
29038
29039 * include/grub/ieee1275/ieee1275.h
29040 (grub_ieee1275_get_integer_property): New function prototype.
29041
29042 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29043 (grub_ieee1275_get_integer_property): New function. Wraps around
29044 grub_ieee1275_get_property() to handle endianness.
29045
29046 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29047 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
29048 where appropriate.
29049 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29050 (grub_map): Likewise.
29051 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29052
29053 2008-01-15 Bean <bean123ch@gmail.com>
29054
29055 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
29056 (grub_script_execute_cmdline): Reset grub_errno.
29057
29058 * normal/main.c (read_config_file): Reset grub_errno.
29059
29060 * normal/parse.y (script_init): New.
29061 (script): Move function and menuentry here.
29062 (delimiter): New.
29063 (command): Add delimiter at the end of command.
29064 (commands): Adjust to match the new command.
29065 (commandblock): Remove grub_script_lexer_record_start.
29066 (menuentry): Add grub_script_lexer_record_start, use the new commands.
29067 (if): Use the new commands.
29068
29069 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
29070
29071 2008-01-15 Robert Millan <rmh@aybabtu.com>
29072
29073 * normal/menu.c (run_menu): Move timeout message from here ...
29074 (print_timeout): ... to here.
29075 (run_menu): Use print_timeout() once during initial draw to print
29076 the whole message, and again in every clock tick to update only
29077 the number of seconds.
29078
29079 2008-01-15 Robert Millan <rmh@aybabtu.com>
29080
29081 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
29082 actual size of `available' from grub_ieee1275_get_property(), and
29083 restrict parsing to that bound.
29084
29085 2008-01-15 Christian Franke <franke@computer.org>
29086
29087 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
29088 (argp_program_version): Remove variable.
29089 (argp_program_bug_address): Likewise.
29090 (options): Convert from struct argp_option to struct option.
29091 (struct arguments): Remove.
29092 (parse_opt): Remove.
29093 (usage): New function.
29094 (main): Replace struct args members by simple variables.
29095 Replace argp_parse() by getopt_long().
29096 Add switch to evaluate options.
29097 Add missing "(...)" around root_dev in prefix string.
29098
29099 2008-01-14 Robert Millan <rmh@aybabtu.com>
29100
29101 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
29102 for grub_ieee1275_exit(), in order to improve portability.
29103
29104 2008-01-14 Robert Millan <rmh@aybabtu.com>
29105
29106 * util/grub.d/10_linux.in (prefix): Define.
29107 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
29108
29109 2008-01-13 Pavel Roskin <proski@gnu.org>
29110
29111 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
29112 grub_errno if no errors have been detected.
29113
29114 2008-01-12 Robert Millan <rmh@aybabtu.com>
29115
29116 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
29117 (grub_util_get_dev_abstraction): New function prototype.
29118
29119 * util/getroot.c: Include `<grub/util/getroot.h>'
29120 (grub_util_get_grub_dev): Move detection of abstraction type to ...
29121 (grub_util_get_dev_abstraction): ... here (new function).
29122
29123 * util/grub-probe.c: Convert PRINT_* to an enum. Add
29124 `PRINT_ABSTRACTION'.
29125 (probe): Probe for abstraction type when requested.
29126 (main): Understand `--target=abstraction'.
29127
29128 * util/i386/efi/grub-install.in: Add abstraction module to core
29129 image when it is found to be necessary.
29130 * util/i386/pc/grub-install.in: Likewise.
29131 * util/powerpc/ieee1275/grub-install.in: Likewise.
29132
29133 * util/update-grub_lib.in (font_path): Return system path without
29134 converting to GRUB path.
29135 * util/update-grub.in: Convert system path returned by font_path()
29136 to a GRUB path. Use `grub-probe -t abstraction' to determine what
29137 abstraction module is needed for loading fonts (if any). Export
29138 that as `GRUB_PRELOAD_MODULES'.
29139 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
29140 insmod commands).
29141
29142 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
29143
29144 Remove some unused code from reiserfs.
29145
29146 * fs/reiserfs.c (struct grub_reiserfs_key)
29147 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
29148 (struct grub_reiserfs_node_body): Removed.
29149 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29150 Likewise.
29151 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29152 Likewise.
29153 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29154 Likewise.
29155 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29156 Likewise.
29157 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29158 Likewise.
29159 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
29160 Likewise.
29161 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29162 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29163 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29164
29165 2008-01-10 Robert Millan <rmh@aybabtu.com>
29166
29167 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
29168 Determines if a file is garbage left by packaging systems, etc.
29169 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
29170 for processing /etc/grub.d scripts.
29171 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
29172 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
29173 as a condition for processing Linux images.
29174
29175 2008-01-10 Pavel Roskin <proski@gnu.org>
29176
29177 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
29178 to compile reiserfs.c on PowerPC.
29179
29180 2008-01-10 Robert Millan <rmh@aybabtu.com>
29181
29182 * kern/device.c (grub_device_iterate): Do not abort device iteration
29183 when one of the devices cannot be opened.
29184 * kern/disk.c (grub_disk_open): Do not account previous failures of
29185 unrelated functions when grub_errno is checked for.
29186
29187 2008-01-08 Robert Millan <rmh@aybabtu.com>
29188
29189 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
29190 `! grub_linux_is_bzimage', change order of address comparison to make
29191 it more intuitive, and improve "too big zImage" error message.
29192
29193 2008-01-08 Robert Millan <rmh@aybabtu.com>
29194
29195 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
29196 `$(update-grub_DATA)'.
29197 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
29198 targets.
29199
29200 2008-01-07 Robert Millan <rmh@aybabtu.com>
29201
29202 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
29203 which instruction is modified by grub-setup during installation
29204 (since it wasn't obvious by only looking at this file).
29205
29206 2008-01-07 Robert Millan <rmh@aybabtu.com>
29207
29208 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
29209 listing actual TODO items.
29210
29211 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29212
29213 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
29214 correctly.
29215 (grub_reiserfs_get_key_offset): Likewise.
29216 (grub_reiserfs_set_key_offset): Likewise.
29217 (grub_reiserfs_set_key_type): Likewise.
29218 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
29219
29220 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
29221 better to remove the bitfield version completely.
29222
29223 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29224
29225 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
29226 allocated from the heap, due to the fshelp implementation.
29227 (grub_reiserfs_dir): Free NODE, due to the same reason.
29228
29229 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29230
29231 Mostly from Vincent Pelletier:
29232
29233 * fs/reiserfs.c: New file.
29234
29235 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
29236 (reiserfs_mod_SOURCES): New variable.
29237 (reiserfs_mod_CFLAGS): Likewise.
29238 (reiserfs_mod_LDFLAGS): Likewise.
29239
29240 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
29241 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
29242 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
29243 normal/color.c.
29244
29245 2008-01-06 Robert Millan <rmh@aybabtu.com>
29246
29247 * normal/color.c: Remove `<grub/env.h>'.
29248
29249 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
29250
29251 * include/grub/normal.h: Include <grub/env.h>.
29252
29253 2008-01-05 Robert Millan <rmh@aybabtu.com>
29254
29255 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
29256 usage example with `(hd0,1)'.
29257 Reported by Samuel Thibault.
29258
29259 2008-01-05 Robert Millan <rmh@aybabtu.com>
29260
29261 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
29262 (grub_linux_boot_zimage): Rename to ...
29263 (grub_linux_boot): ... this.
29264 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
29265 (grub_linux_boot_zimage): Conditionalize zImage copy.
29266
29267 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
29268 (grub_linux_boot_bzimage): Remove prototype.
29269 (grub_linux_boot_zimage): Rename to ...
29270 (grub_linux_boot): ... this.
29271
29272 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
29273 (grub_linux_boot): Remove function.
29274
29275 2008-01-05 Robert Millan <rmh@aybabtu.com>
29276
29277 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
29278 (grub_env_write_color_highlight): Likewise.
29279 (grub_wait_after_message): Likewise.
29280
29281 * normal/color.c: New file.
29282
29283 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29284 (normal_mod_DEPENDENCIES): Likewise.
29285
29286 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29287 (normal_mod_DEPENDENCIES): Likewise.
29288
29289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29290 (normal_mod_DEPENDENCIES): Likewise.
29291
29292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29293 (normal_mod_DEPENDENCIES): Likewise.
29294
29295 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
29296 for waiting after a message is printed.
29297 * normal/main.c (read_config_file): Likewise.
29298 (grub_normal_init): Register grub_env_write_color_normal() and
29299 grub_env_write_color_highlight() hooks. Mark `color_normal' and
29300 `color_highlight' variables as global.
29301
29302 * normal/menu.c (grub_wait_after_message): New function.
29303 (grub_color_menu_normal): New variable. Replaces ...
29304 (GRUB_COLOR_MENU_NORMAL): ... this macro.
29305 (grub_color_menu_highlight): New variable. Replaces ...
29306 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
29307 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
29308 `GRUB_TERM_COLOR_STANDARD'.
29309 (print_message): Use `grub_setcolorstate' to reload colors. Rename
29310 `normal_code' and `highlight_code' to `old_color_normal' and
29311 `old_color_highlight', respectively.
29312 (grub_menu_init_page): Update colors when drawing the menu, based on
29313 `menu_color_normal' and `menu_color_highlight' variables.
29314 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
29315 a message is printed.
29316
29317 2008-01-05 Robert Millan <rmh@aybabtu.com>
29318
29319 * kern/env.c (grub_env_context_open): Propagate hooks for global
29320 variables to new context.
29321
29322 * kern/main.c (grub_set_root_dev): Export `root' variable.
29323
29324 2008-01-05 Robert Millan <rmh@aybabtu.com>
29325
29326 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
29327 discs unconditionally, since udev and others have options to provide
29328 them.
29329
29330 2008-01-05 Robert Millan <rmh@aybabtu.com>
29331
29332 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
29333
29334 2008-01-04 Christian Franke <franke@computer.org>
29335
29336 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
29337 of eisa_mmap.
29338
29339 2008-01-03 Pavel Roskin <proski@gnu.org>
29340
29341 * kern/i386/linuxbios/init.c: Put "void" to all function
29342 declarations with no arguments.
29343 * kern/powerpc/ieee1275/init.c: Likewise.
29344 * term/i386/pc/at_keyboard.c: Likewise.
29345 * term/i386/pc/vga_text.c: Likewise.
29346 * util/grub-mkdevicemap.c: Likewise.
29347
29348 2008-01-02 Robert Millan <rmh@aybabtu.com>
29349
29350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
29351 message when loaded image is out of bounds.
29352 (grub_multiboot_load_elf64): Likewise.
29353
29354 2008-01-02 Pavel Roskin <proski@gnu.org>
29355
29356 * util/grub.d/10_linux.in: Try version without ".old" when
29357 looking for initrd. It's better to use initrd from the newer
29358 kernel of the same version than no initrd at all.
29359
29360 2008-01-01 Robert Millan <rmh@aybabtu.com>
29361
29362 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29363
29364 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29365
29366 * include/grub/video.h: Added grub_video_unmap_color and
29367 grub_video_get_active_render_target.
29368 (grub_video_adapter): Added unmap_color and get_active_render_target.
29369
29370 * video/video.c: Added grub_video_unmap_color and
29371 grub_video_get_active_render_target.
29372 (grub_video_get_info): Changed method to accept NULL pointer as an
29373 argument to allow detection of active video adapter.
29374
29375 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29376 grub_video_vbe_unmap_color_int.
29377 Added grub_video_vbe_unmap_color and
29378 grub_video_vbe_get_active_render_target.
29379 (grub_video_vbe_adapter): Added unmap_color and
29380 get_active_render_target.
29381
29382 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
29383 with grub_video_vbe_unmap_color_int.
29384
29385 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29386 (DEFAULT_NORMAL_COLOR): Likewise.
29387 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29388 (DEFAULT_FG_COLOR): Removed.
29389 (DEFAULT_BG_COLOR): Likewise.
29390 (DEFAULT_CURSOR_COLOR): Changed value.
29391 (grub_virtual_screen): Added standard_color_setting,
29392 normal_color_setting, highlight_color_setting and term_color.
29393 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29394 (bitmap_width): Added.
29395 (bitmap_height): Likewise.
29396 (bitmap): Likewise.
29397 (set_term_color): Likewise.
29398 (grub_virtual_screen_setup): Changed to use new terminal coloring
29399 settings.
29400 (grub_gfxterm_init): Added init for bitmap.
29401 (grub_gfxterm_fini): Added destroy for bitmap.
29402 (redraw_screen_rect): Updated to use background bitmap and new
29403 terminal coloring.
29404 (scroll_up): Added optimization for case when there is no bitmap.
29405 (grub_gfxterm_cls): Fixed to use correct background color.
29406 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29407 coloring.
29408 (grub_virtual_screen_setcolor): Likewise.
29409 (grub_virtual_screen_getcolor): Added.
29410 (grub_gfxterm_background_image_cmd): Likewise.
29411 (grub_video_term): Added setcolor and getcolor.
29412 (MOD_INIT): Added registration of background_image command.
29413 (MOD_TERM): Added unregistration for background_image command.
29414
29415 2007-12-30 Pavel Roskin <proski@gnu.org>
29416
29417 * loader/multiboot_loader.c: Fix multiboot command
29418 unregistration. Fix all typos in the word "multiboot".
29419
29420 2007-12-29 Pavel Roskin <proski@gnu.org>
29421
29422 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29423 support for initrd names used in Fedora.
29424
29425 2007-12-26 Bean <bean123ch@gmail.com>
29426
29427 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29428 (cpio_mod_SOURCES): New variable.
29429 (cpio_mod_CFLAGS): Likewise.
29430 (cpio_mod_LDFLAGS): Likewise.
29431
29432 * fs/cpio.c: New file.
29433
29434 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29435
29436 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29437
29438 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29439
29440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29441
29442 2007-12-25 Robert Millan <rmh@aybabtu.com>
29443
29444 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29445 (grub_getcolor): New function.
29446
29447 * kern/term.c (grub_getcolor): New function.
29448 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29449 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29450 (print_entry): Set normal and highlight colors to
29451 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29452 respectively, before printing and restore them to old
29453 values afterwards.
29454 (grub_menu_init_page): Likewise. Fill an additional colored space
29455 that would otherwise be left blank.
29456
29457 * term/efi/console.c (grub_console_getcolor): New function.
29458 (struct grub_console_term.getcolor): New variable.
29459 * term/i386/pc/console.c (grub_console_getcolor): New function.
29460 (struct grub_console_term.getcolor): New variable.
29461 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29462 (struct grub_console_term.getcolor): New variable.
29463
29464 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29465 (struct grub_console_term.setcolor): Remove variable.
29466 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29467 (struct grub_console_term.setcolor): Remove variable.
29468 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29469 (struct grub_console_term.setcolor): Remove variable.
29470 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29471 (struct grub_console_term.setcolor): Remove variable.
29472
29473 2007-12-25 Robert Millan <rmh@aybabtu.com>
29474
29475 * configure.ac: Search for possible unifont.hex locations, and
29476 define UNIFONT_HEX if found.
29477
29478 * Makefile.in (UNIFONT_HEX): Define variable.
29479 (DATA): Rename to ...
29480 (PKGLIB): ... this. Update all users.
29481 (PKGDATA): New variable.
29482 (pkgdata_IMAGES): Rename to ...
29483 (pkglib_IMAGES): ... this. Update all users.
29484 (pkgdata_MODULES): Rename to ...
29485 (pkglib_MODULES): ... this. Update all users.
29486 (pkgdata_PROGRAMS): Rename to ...
29487 (pkglib_PROGRAMS): ... this. Update all users.
29488 (pkgdata_DATA): Rename to ...
29489 (pkglib_DATA): ... this. Update all users.
29490 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29491 (unicode.pff, ascii.pff): New rules.
29492 (all-local): Add `$(PKGDATA)' dependency.
29493 (install-local): Process `$(PKGDATA)'.
29494
29495 * util/update-grub_lib.in (font_path): Search for *.pff files in
29496 a few more locations, including `${pkgdata}'.
29497
29498 2007-12-23 Robert Millan <rmh@aybabtu.com>
29499
29500 Patch from Bean <bean123ch@gmail.com>:
29501 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29502 `size'.
29503
29504 2007-12-21 Bean <bean123ch@gmail.com>
29505
29506 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29507 (ntfscomp_mod_SOURCES): New variable.
29508 (ntfscomp_mod_CFLAGS): Likewise.
29509 (ntfscomp_mod_LDFLAGS): Likewise.
29510
29511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29512 (grub_probe_SOURCES): Likewise.
29513 (grub_emu_SOURCES): Likewise.
29514
29515 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29516 (grub_emu_SOURCES): Likewise.
29517
29518 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29519 (grub_emu_SOURCES): Likewise.
29520
29521 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29522 (grub_emu_SOURCES): Likewise.
29523
29524 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29525 (read_run_list): Renamed to grub_ntfs_read_run_list.
29526 (decomp_nextvcn): Moved to ntfscomp.c.
29527 (decomp_getch): Likewise.
29528 (decomp_get16): Likewise.
29529 (decomp_block): Likewise.
29530 (read_block): Likewise.
29531 (read_data): Partially moved to ntfscomp.c.
29532 (fixup): Change unsigned to grub_uint16_t.
29533 (read_mft): Change unsigned long to grub_uint32_t.
29534 (read_attr): Likewise.
29535 (read_data): Likewise.
29536 (read_run_data): Likewise.
29537 (read_run_list): Likewise.
29538 (read_mft): Likewise.
29539
29540 * fs/ntfscomp.c: New file.
29541
29542 * include/grub/ntfs.h: New file.
29543
29544 2007-12-16 Robert Millan <rmh@aybabtu.com>
29545
29546 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29547 IDE disk check, since Linux is known to support 20 IDE disks.
29548 Reported by Colin Watson.
29549
29550 2007-12-15 Bean <bean123ch@gmail.com>
29551
29552 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29553 (lnxboot_img_SOURCES): New variable.
29554 (lnxboot_img_ASFLAGS): Likewise.
29555 (lnxboot_img_LDFLAGS): Likewise.
29556
29557 * boot/i386/pc/lnxboot.S: New file.
29558
29559 2007-11-24 Pavel Roskin <proski@gnu.org>
29560
29561 * configure.ac: Test if '--build-id=none' is supported by the
29562 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29563 objcopy to generate incorrect binary files (binutils
29564 2.17.50.0.18-1 as shipped by Fedora 8).
29565 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29566 linking, so that build ID doesn't break the test.
29567
29568 2007-11-24 Pavel Roskin <proski@gnu.org>
29569
29570 * include/grub/i386/time.h: use "void" in the argument list
29571 of grub_cpu_idle().
29572 * include/grub/powerpc/time.h: Likewise.
29573 * include/grub/sparc64/time.h: Likewise.
29574
29575 2007-11-18 Christian Franke <franke@computer.org>
29576
29577 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29578 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29579 This fixes the problem that function keys did not work in grub-emu.
29580
29581 2007-11-18 Christian Franke <franke@computer.org>
29582
29583 * disk/host.c (grub_host_open): Remove attribute unused from
29584 name parameter. Add check for "host". This fixes the problem
29585 that grub-emu does not find partitions.
29586
29587 2007-11-18 Christian Franke <franke@computer.org>
29588
29589 * util/hostfs.c (is_dir): New function.
29590 (grub_hostfs_dir): Handle missing dirent.d_type case.
29591 (grub_hostfs_read): Add missing fseek().
29592 (grub_hostfs_label): Clear label pointer. This fixes a crash
29593 of grub-emu on "ls (host)".
29594
29595 2007-11-18 Christian Franke <franke@computer.org>
29596
29597 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29598 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29599 to 64 bit boundary by default.
29600
29601 2007-11-18 Bean <bean123ch@gmail.com>
29602
29603 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29604 (hexdump_mod_SOURCES): New variable.
29605 (hexdump_mod_CFLAGS): Likewise.
29606 (hexdump_mod_LDFLAGS): Likewise.
29607
29608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29609
29610 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29611
29612 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29613
29614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29615
29616 * include/grub/hexdump.h: New file.
29617
29618 * commands/hexdump.c: New file.
29619
29620 2007-11-10 Robert Millan <rmh@aybabtu.com>
29621
29622 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29623 in grub_outb() calls.
29624 (beep_on): Likewise.
29625
29626 2007-11-10 Christian Franke <franke@computer.org>
29627
29628 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29629 (grub_menu_run): Likewise.
29630
29631 2007-11-10 Robert Millan <rmh@aybabtu.com>
29632
29633 * include/grub/i386/efi/machine.h: New file.
29634 * include/grub/i386/linuxbios/machine.h: Likewise.
29635 * include/grub/i386/pc/machine.h: Likewise.
29636 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29637 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29638
29639 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29640 (serial_hw_io_addr): New variable.
29641 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29642 instead of `(unsigned short *) 0x400'.
29643
29644 2007-11-10 Bean <bean123ch@gmail.com>
29645
29646 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29647
29648 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29649
29650 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29651 (vga_mod_SOURCES): Added.
29652 (vga_mod_CFLAGS): Likewise.
29653 (vga_mod_LDFLAGS): Likewise.
29654
29655 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29656 grub_outb() calls.
29657 (set_map_mask): Likewise.
29658 (set_read_map): Likewise.
29659 (set_read_address): Likewise.
29660 (vga_font): Removed variable.
29661 (get_vga_glyph): Removed function.
29662 (invalidate_char): Likewise.
29663 (write_char): Changed to use grub_font_get_glyph() for font
29664 information.
29665 (grub_vga_putchar): Likewise.
29666 (grub_vga_getcharwidth): Likewise.
29667
29668 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29669
29670 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29671 flags.
29672 (pxeboot_img_LDFLAGS): Likewise.
29673 (diskboot_img_LDFLAGS): Likewise.
29674 (kernel_img_LDFLAGS): Likewise.
29675
29676 2007-11-06 Robert Millan <rmh@aybabtu.com>
29677
29678 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29679 in grub_outb() calls.
29680 (serial_hw_init): Likewise.
29681
29682 2007-11-05 Robert Millan <rmh@aybabtu.com>
29683
29684 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29685 spaces. Skip non-regular files.
29686
29687 2007-11-05 Robert Millan <rmh@aybabtu.com>
29688
29689 * kern/disk.c (grub_disk_firmware_fini)
29690 (grub_disk_firmware_is_tainted): New variables.
29691
29692 * include/grub/disk.h (grub_disk_firmware_fini)
29693 (grub_disk_firmware_is_tainted): Likewise.
29694
29695 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29696 (grub_disk_biosdisk_fini): ... to here.
29697 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29698 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29699 is set. Register grub_disk_biosdisk_fini() in
29700 `grub_disk_firmware_fini'.
29701
29702 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29703 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29704 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29705 to finish existing firmware disk interface.
29706
29707 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29708 (ata_mod_SOURCES): New variable.
29709 (ata_mod_CFLAGS): Likewise.
29710 (ata_mod_LDFLAGS): Likewise.
29711
29712 2007-11-05 Robert Millan <rmh@aybabtu.com>
29713
29714 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29715 (grub_ata_wait): Reimplement using grub_millisleep().
29716
29717 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29718 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29719
29720 2007-11-03 Marco Gerards <marco@gnu.org>
29721
29722 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29723 (CRTC_ADDR_PORT): New macro.
29724 (CRTC_DATA_PORT): Likewise.
29725 (CRTC_CURSOR): Likewise.
29726 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29727 (CRTC_CURSOR_ADDR_LOW): Likewise.
29728 (update_cursor): New function.
29729 (grub_console_real_putchar): Call `update_cursor'.
29730 (grub_console_gotoxy): Likewise.
29731 (grub_console_cls): Set the default color when clearing the
29732 screen.
29733 (grub_console_setcursor): Implemented.
29734
29735 2007-11-03 Marco Gerards <marco@gnu.org>
29736
29737 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29738 become activate.
29739 (grub_ata_pio_write): Likewise.
29740
29741 (grub_atapi_identify): Wait after issuing an ATA command.
29742 (grub_atapi_packet): Likewise.
29743 (grub_ata_identify): Likewise.
29744 (grub_ata_readwrite): Likewise.
29745
29746 2007-11-03 Marco Gerards <marco@gnu.org>
29747
29748 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29749 (grub_ata_pio_write): Likewise.
29750 (grub_ata_readwrite): Use `grub_error', instead of
29751 returning `grub_errno'.
29752
29753 2007-11-03 Marco Gerards <marco@gnu.org>
29754
29755 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29756 grub_ata_pio_write once for every single sector, instead of for
29757 multiple sectors.
29758
29759 2007-10-31 Robert Millan <rmh@aybabtu.com>
29760
29761 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29762
29763 * conf/i386-linuxbios.rmk: New file.
29764
29765 * kern/i386/pc/hardware.c: Likewise.
29766 * term/i386/pc/at_keyboard.c: Likewise.
29767 * term/i386/pc/vga_text.c: Likewise.
29768
29769 * include/grub/i386/linuxbios/boot.h: Likewise.
29770 * include/grub/i386/linuxbios/console.h: Likewise.
29771 * include/grub/i386/linuxbios/init.h: Likewise.
29772 * include/grub/i386/linuxbios/kernel.h: Likewise.
29773 * include/grub/i386/linuxbios/loader.h: Likewise.
29774 * include/grub/i386/linuxbios/memory.h: Likewise.
29775 * include/grub/i386/linuxbios/serial.h: Likewise.
29776 * include/grub/i386/linuxbios/time.h: Likewise.
29777
29778 * kern/i386/linuxbios/init.c: Likewise.
29779 * kern/i386/linuxbios/startup.S: Likewise.
29780 * kern/i386/linuxbios/table.c: Likewise.
29781
29782 2007-10-31 Marco Gerards <marco@gnu.org>
29783
29784 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29785 (ata_mod_SOURCES): New variable.
29786 (ata_mod_CFLAGS): Likewise.
29787 (ata_mod_LDFLAGS): Likewise.
29788
29789 * disk/ata.c: New file.
29790
29791 * include/grub/disk.h (grub_disk_dev_id): Add
29792 `GRUB_DISK_DEV_ATA_ID'.
29793
29794 2007-10-31 Robert Millan <rmh@aybabtu.com>
29795
29796 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29797 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29798
29799 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29800 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29801
29802 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29803 `<grub/types.h>'.
29804
29805 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29806
29807 2007-10-27 Robert Millan <rmh@aybabtu.com>
29808
29809 * include/grub/types.h (ULONG_MAX): Define macro.
29810
29811 2007-10-22 Robert Millan <rmh@aybabtu.com>
29812
29813 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29814 `"../realmode.S"'.
29815 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29816
29817 2007-10-22 Robert Millan <rmh@aybabtu.com>
29818
29819 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29820 (pkgdata_MODULES): Add `biosdisk.mod'.
29821 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29822 variables.
29823
29824 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29825 (grub_biosdisk_init): Replace with ...
29826 (GRUB_MOD_INIT(biosdisk)): ... this.
29827 (grub_biosdisk_fini): Replace with ...
29828 (GRUB_MOD_FINI(biosdisk)): ... this.
29829
29830 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29831 (grub_machine_init): Remove call to grub_biosdisk_init().
29832 (grub_machine_fini): Remove call to grub_machine_fini().
29833
29834 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29835
29836 2007-10-22 Robert Millan <rmh@aybabtu.com>
29837
29838 * include/grub/time.h: New file.
29839 * include/grub/i386/time.h: Likewise.
29840 * include/grub/powerpc/time.h: Likewise.
29841 * include/grub/sparc64/time.h: Likewise.
29842
29843 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29844 instances to ...
29845 (KERNEL_MACHINE_TIME_HEADER): ... this.
29846 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29847 instances to ...
29848 (KERNEL_MACHINE_TIME_HEADER): ... this.
29849 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29850 instances to ...
29851 (KERNEL_MACHINE_TIME_HEADER): ... this.
29852
29853 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29854 (grub_millisleep): New function.
29855 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29856 (grub_millisleep): New function.
29857 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29858 Remove `grub/machine/time.h' include.
29859 (grub_millisleep): New function.
29860 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29861 Remove `grub/machine/time.h' include.
29862 (grub_millisleep): New function.
29863
29864 * include/grub/misc.h (grub_div_roundup): New function.
29865
29866 * kern/misc.c: Include `<grub/time.h>'.
29867 (grub_millisleep_generic): New function.
29868
29869 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29870 Add `time.h'.
29871 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29872 Add `time.h'.
29873 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29874 `machine/time.h'. Add `time.h'.
29875 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29876
29877 2007-10-21 Robert Millan <rmh@aybabtu.com>
29878
29879 * include/grub/misc.h (grub_max): New function.
29880
29881 2007-10-21 Robert Millan <rmh@aybabtu.com>
29882
29883 * util/misc.c (grub_util_info): Call fflush() before returning.
29884
29885 2007-10-20 Robert Millan <rmh@aybabtu.com>
29886
29887 * genmk.rb (Image): Copy `extra_flags' from here ...
29888 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29889
29890 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29891 to `argc' and `args' arguments.
29892
29893 2007-10-17 Robert Millan <rmh@aybabtu.com>
29894
29895 * kern/i386/loader.S: New file.
29896
29897 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29898 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29899 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29900 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29901 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29902 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29903 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29904 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29905 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29906 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29907 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29908 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29909 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29910 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29911
29912 * kern/i386/realmode.S: New file.
29913
29914 * kern/i386/pc/startup.S (protstack): Moved from here ...
29915 * kern/i386/realmode.S (protstack)... to here.
29916 * kern/i386/pc/startup.S (gdt): Moved from here ...
29917 * kern/i386/realmode.S (gdt)... to here.
29918 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29919 * kern/i386/realmode.S (prot_to_real)... to here.
29920
29921 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29922 `kern/i386/realmode.S'.
29923
29924 2007-10-17 Robert Millan <rmh@aybabtu.com>
29925
29926 * include/grub/i386/loader.h: New file.
29927
29928 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29929 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29930 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29931 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29932 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29933 * include/grub/i386/loader.h (grub_linux_prot_size)
29934 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29935 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29936 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29937 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29938
29939 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29940
29941 2007-10-15 Robert Millan <rmh@aybabtu.com>
29942
29943 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29944 filesystem when dev->disk is unset.
29945 Do probe for filesystem even when dev->disk->has_partitions is set.
29946 In case a filesystem is found, always report it.
29947 In case it isn't, if dev->disk->has_partitions is set, report that
29948 a partition table was found instead of reporting that no filesystem
29949 could be identified.
29950
29951 2007-10-12 Robert Millan <rmh@aybabtu.com>
29952
29953 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29954 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29955
29956 * include/grub/types.h (grub_host_to_target16): New macro.
29957 (grub_host_to_target32): Likewise.
29958 (grub_host_to_target64): Likewise.
29959 (grub_target_to_host16): Likewise.
29960 (grub_target_to_host32): Likewise.
29961 (grub_target_to_host64): Likewise.
29962
29963 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29964 Renamed from to ...
29965 (GRUB_MOD_ALIGN): ...this. Update all users.
29966
29967 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29968 grub_host_to_target32.
29969 Replace grub_be_to_cpu32 with grub_target_to_host32.
29970 (load_modules): Likewise.
29971 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29972 Replace grub_be_to_cpu32 with grub_target_to_host32.
29973 Replace grub_cpu_to_be16 with grub_host_to_target16.
29974 Replace grub_cpu_to_be32 grub_host_to_target32.
29975
29976 2007-10-12 Robert Millan <rmh@aybabtu.com>
29977
29978 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29979 * util/elf/grub-mkimage.c: ... here.
29980
29981 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29982 `util/powerpc/ieee1275/grub-mkimage.c'.
29983
29984 2007-10-07 Robert Millan <rmh@aybabtu.com>
29985
29986 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29987 and make it easier to figure out.
29988 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29989 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29990 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29991 leave us with less than HEAP_MIN_SIZE total heap.
29992 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
29993
29994 2007-10-03 Robert Millan <rmh@aybabtu.com>
29995
29996 * include/grub/i386/io.h: New file.
29997 * commands/i386/pc/play.c (inb): Removed.
29998 (outb): Removed.
29999 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30000 with grub_outb().
30001 * term/i386/pc/serial.c (inb): Removed.
30002 (outb): Removed.
30003 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30004 with grub_outb().
30005 * term/i386/pc/vga.c (inb): Removed.
30006 (outb): Removed.
30007 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30008 with grub_outb().
30009
30010 2007-10-02 Robert Millan <rmh@aybabtu.com>
30011
30012 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30014 Reported by Marcin Kurek.
30015
30016 2007-09-07 Robert Millan <rmh@aybabtu.com>
30017
30018 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30019 SmartFirmware version updates (as released by Sven Luther), and avoid
30020 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30021 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30022 known broken.
30023
30024 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30025
30026 From Hitoshi Ozeki:
30027 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30028 when merging two regions.
30029
30030 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30031
30032 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30033 * normal/completion.c (grub_normal_do_completion): Likewise.
30034 Reported by Hitoshi Ozeki.
30035
30036 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30037
30038 Do not use devices at boot in chainloading.
30039
30040 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30041 (boot_part_addr): Likewise.
30042 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30043 with BOOT_DRIVE and BOOT_PART_ADDR.
30044 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30045 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30046
30047 2007-08-29 Robert Millan <rmh@aybabtu.com>
30048
30049 Patch from Simon Peter <dn.tlp@gmx.net>:
30050 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30051 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30052 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30053 util/i386/pc/grub-setup.c_DEPENDENCIES.
30054 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
30055 util/grub-probe.c_DEPENDENCIES.
30056 * conf/powerpc-ieee1275.rmk: Likewise.
30057
30058 2007-08-28 Robert Millan <rmh@aybabtu.com>
30059
30060 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
30061 to tell grub-mkdevicemap how to name devices.
30062 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
30063 feature).
30064
30065 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
30066 util/i386/get_disk_name.c.
30067 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
30068 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
30069 util/ieee1275/get_disk_name.c.
30070
30071 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
30072
30073 * DISTLIST: Add util/i386/get_disk_name.c and
30074 util/ieee1275/get_disk_name.c.
30075
30076 * util/grub-mkdevicemap.c: Replace device naming logic with
30077 grub_util_get_disk_name() calls.
30078
30079 2007-08-20 Robert Millan <rmh@aybabtu.com>
30080
30081 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
30082 (so that it works for both plural and singular quantities).
30083
30084 2007-08-05 Robert Millan <rmh@aybabtu.com>
30085
30086 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
30087 so that [xz] isn't taken into account when determining order.
30088
30089 2007-08-02 Marco Gerards <marco@gnu.org>
30090
30091 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
30092 `include/multiboot2.h', `include/grub/elfload.h',
30093 `include/multiboot.h', `include/grub/multiboot.h',
30094 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
30095 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
30096 `kern/elf.c', `loader/multiboot_loader.c',
30097 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
30098 `loader/i386/pc/multiboot2.c',
30099 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
30100 `util/i386/pc/grub-mkrescue.in'. Remove
30101 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
30102 `include/grub/i386/pc/util/biosdisk.h' and
30103 `include/grub/powerpc/ieee1275/multiboot.h'.
30104
30105 2007-08-02 Bean <bean123ch@gmail.com>
30106
30107 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
30108 (ntfs_mod_SOURCES): New variable.
30109 (ntfs_mod_CFLAGS): Likewise.
30110 (ntfs_mod_LDFLAGS): Likewise.
30111
30112 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
30113 (grub_probe_SOURCES): Likewise.
30114 (grub_emu_SOURCES): Likewise.
30115
30116 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30117 (grub_emu_SOURCES): Likewise.
30118
30119 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30120 (grub_emu_SOURCES): Likewise.
30121
30122 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
30123
30124 * fs/ntfs.c: New file.
30125
30126 2007-08-02 Bean <bean123ch@gmail.com>
30127
30128 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
30129
30130 * file.h (grub_file): Likewise.
30131
30132 * fshelp.h (grub_fshelp_read_file): Likewise.
30133
30134 * util/i386/pc/grub-setup.c (setup): Likewise.
30135 (save_first_sector): Likewise.
30136 (save_blocklists): Likewise.
30137
30138 * fs/affs.c (grub_affs_read_file): Likewise.
30139
30140 * fs/ext2.c (grub_ext2_read_file): Likewise.
30141
30142 * fs/fat.c (grub_fat_read_data): Likewise.
30143
30144 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
30145
30146 * fs/hfs.c (grub_hfs_read_file): Likewise.
30147
30148 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30149
30150 * fs/jfs.c (grub_jfs_read_file): Likewise.
30151
30152 * fs/minix.c (grub_minix_read_file): Likewise.
30153
30154 * fs/sfs.c (grub_sfs_read_file): Likewise.
30155
30156 * fs/ufs.c (grub_ufs_read_file): Likewise.
30157
30158 * fs/xfs.c (grub_xfs_read_file): Likewise.
30159
30160 * command/blocklist.c (read_blocklist): Likewise.
30161 (print_blocklist): Likewise.
30162
30163 2007-08-02 Marco Gerards <marco@gnu.org>
30164
30165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
30166 `util/hostfs.c'.
30167
30168 * disk/host.c: New file.
30169
30170 * util/hostfs.c: Likewise.
30171
30172 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
30173 return `GRUB_ERR_BAD_FS'.
30174 * fs/sfs.c (grub_sfs_mount): Likewise.
30175 * fs/xfs.c (grub_xfs_mount): Likewise.
30176
30177 * include/grub/disk.h (enum grub_disk_dev_id): Add
30178 `GRUB_DISK_DEVICE_HOST_ID'.
30179
30180 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
30181
30182 2007-07-24 Jerone Young <jerone@gmail.com>
30183
30184 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
30185 modules for compilation.
30186 * conf/powerpc-ieee1275.rmk: Likewise.
30187
30188 * include/multiboot.h: Move multiboot definitions to one file. Rename
30189 many definitions to not get grub specific.
30190 * include/multiboot2.h: Create header with multiboot 2 definitions.
30191 * include/grub/multiboot.h: Header for grub specific function
30192 prototypes and definitions.
30193 * include/grub/multiboot2.h: Likewise.
30194 * include/grub/multiboot_loader.h: Likewise.
30195 * include/grub/i386/pc/multiboot.h: Removed.
30196 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
30197
30198 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
30199 and 2 to allow for one multiboot and module commands.
30200 * loader/multiboot2.c: Add multiboot2 functionality.
30201 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
30202 and definition names.
30203 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
30204 2 functions.
30205 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
30206 ieee1275 specific multiboot2 code.
30207
30208 * kern/i386/pc/startup.S: Change headers and definition names for
30209 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
30210
30211 2007-07-22 Robert Millan <rmh@aybabtu.com>
30212
30213 * geninitheader.sh: Process file specified in first parameter rather
30214 than hardcoding grub_modules_init.lst.
30215 * geninit.sh: Likewise. Also, construct header name dynamically rather
30216 than hardcoding grub_modules_init.h.
30217
30218 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
30219 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
30220 grub_probe_init.[ch] and grub_setup_init.[ch].
30221
30222 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
30223 grub_modules_init.h with grub_emu_init.h.
30224 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
30225 grub_probe_init.[ch] files.
30226 * conf/i386-efi.rmk: Likewise.
30227 * conf/i386-pc.rmk: Likewise.
30228 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
30229 grub_setup_init.[ch] files.
30230
30231 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
30232 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
30233 to initialize modules rather than a list of hardcoded functions.
30234 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
30235 grub_init_all() to initialize modules rather than a list of hardcoded
30236 functions.
30237
30238 2007-07-22 Robert Millan <rmh@aybabtu.com>
30239
30240 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
30241 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
30242
30243 2007-07-22 Robert Millan <rmh@aybabtu.com>
30244
30245 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30246 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
30247 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
30248 flag when running on SmartFirmware.
30249 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
30250 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
30251 was set.
30252
30253 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30254 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
30255 rather than decreasing it.
30256
30257 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
30258 there's not enough space to do it, fail in the same way as when it
30259 can't be done because there are no partitions.
30260
30261 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
30262 when nvsetenv failed.
30263
30264 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30265
30266 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
30267 because this rule is automatically generated.
30268 (grub-mkrescue): Removed for the same reason as above.
30269
30270 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30271
30272 Migrate to GNU General Public License Version 3.
30273
30274 * COPYING: Replaced with the plain text version of GPLv3.
30275
30276 * config.guess: Updated from gnulib.
30277 * config.sub: Likewise.
30278
30279 * geninit.sh: Output a GPLv3 copyright notice.
30280 * geninitheader.sh: Likewise.
30281 * genmodsrc.sh: Likewise.
30282 * gensymlist.sh.in: Likewise.
30283
30284 * boot/i386/pc/boot.S: Upgraded to GPLv3.
30285 * boot/i386/pc/diskboot.S: Likewise.
30286 * boot/i386/pc/pxeboot.S: Likewise.
30287 * commands/blocklist.c: Likewise.
30288 * commands/boot.c: Likewise.
30289 * commands/cat.c: Likewise.
30290 * commands/cmp.c: Likewise.
30291 * commands/configfile.c: Likewise.
30292 * commands/echo.c: Likewise.
30293 * commands/help.c: Likewise.
30294 * commands/ls.c: Likewise.
30295 * commands/search.c: Likewise.
30296 * commands/terminal.c: Likewise.
30297 * commands/test.c: Likewise.
30298 * commands/videotest.c: Likewise.
30299 * commands/i386/cpuid.c: Likewise.
30300 * commands/i386/pc/halt.c: Likewise.
30301 * commands/i386/pc/play.c: Likewise.
30302 * commands/i386/pc/reboot.c: Likewise.
30303 * commands/i386/pc/vbeinfo.c: Likewise.
30304 * commands/i386/pc/vbetest.c: Likewise.
30305 * commands/ieee1275/halt.c: Likewise.
30306 * commands/ieee1275/reboot.c: Likewise.
30307 * commands/ieee1275/suspend.c: Likewise.
30308 * disk/loopback.c: Likewise.
30309 * disk/lvm.c: Likewise.
30310 * disk/raid.c: Likewise.
30311 * disk/efi/efidisk.c: Likewise.
30312 * disk/i386/pc/biosdisk.c: Likewise.
30313 * disk/ieee1275/ofdisk.c: Likewise.
30314 * font/manager.c: Likewise.
30315 * fs/affs.c: Likewise.
30316 * fs/ext2.c: Likewise.
30317 * fs/fat.c: Likewise.
30318 * fs/fshelp.c: Likewise.
30319 * fs/hfs.c: Likewise.
30320 * fs/hfsplus.c: Likewise.
30321 * fs/iso9660.c: Likewise.
30322 * fs/jfs.c: Likewise.
30323 * fs/minix.c: Likewise.
30324 * fs/sfs.c: Likewise.
30325 * fs/ufs.c: Likewise.
30326 * fs/xfs.c: Likewise.
30327 * hello/hello.c: Likewise.
30328 * include/grub/acorn_filecore.h: Likewise.
30329 * include/grub/arg.h: Likewise.
30330 * include/grub/bitmap.h: Likewise.
30331 * include/grub/boot.h: Likewise.
30332 * include/grub/cache.h: Likewise.
30333 * include/grub/device.h: Likewise.
30334 * include/grub/disk.h: Likewise.
30335 * include/grub/dl.h: Likewise.
30336 * include/grub/elfload.h: Likewise.
30337 * include/grub/env.h: Likewise.
30338 * include/grub/err.h: Likewise.
30339 * include/grub/file.h: Likewise.
30340 * include/grub/font.h: Likewise.
30341 * include/grub/fs.h: Likewise.
30342 * include/grub/fshelp.h: Likewise.
30343 * include/grub/gzio.h: Likewise.
30344 * include/grub/hfs.h: Likewise.
30345 * include/grub/kernel.h: Likewise.
30346 * include/grub/loader.h: Likewise.
30347 * include/grub/lvm.h: Likewise.
30348 * include/grub/misc.h: Likewise.
30349 * include/grub/mm.h: Likewise.
30350 * include/grub/net.h: Likewise.
30351 * include/grub/normal.h: Likewise.
30352 * include/grub/parser.h: Likewise.
30353 * include/grub/partition.h: Likewise.
30354 * include/grub/pc_partition.h: Likewise.
30355 * include/grub/raid.h: Likewise.
30356 * include/grub/rescue.h: Likewise.
30357 * include/grub/script.h: Likewise.
30358 * include/grub/setjmp.h: Likewise.
30359 * include/grub/symbol.h: Likewise.
30360 * include/grub/term.h: Likewise.
30361 * include/grub/terminfo.h: Likewise.
30362 * include/grub/tparm.h: Likewise.
30363 * include/grub/types.h: Likewise.
30364 * include/grub/video.h: Likewise.
30365 * include/grub/efi/api.h: Likewise.
30366 * include/grub/efi/chainloader.h: Likewise.
30367 * include/grub/efi/console.h: Likewise.
30368 * include/grub/efi/console_control.h: Likewise.
30369 * include/grub/efi/disk.h: Likewise.
30370 * include/grub/efi/efi.h: Likewise.
30371 * include/grub/efi/pe32.h: Likewise.
30372 * include/grub/efi/time.h: Likewise.
30373 * include/grub/i386/linux.h: Likewise.
30374 * include/grub/i386/setjmp.h: Likewise.
30375 * include/grub/i386/types.h: Likewise.
30376 * include/grub/i386/efi/kernel.h: Likewise.
30377 * include/grub/i386/efi/loader.h: Likewise.
30378 * include/grub/i386/efi/time.h: Likewise.
30379 * include/grub/i386/pc/biosdisk.h: Likewise.
30380 * include/grub/i386/pc/boot.h: Likewise.
30381 * include/grub/i386/pc/chainloader.h: Likewise.
30382 * include/grub/i386/pc/console.h: Likewise.
30383 * include/grub/i386/pc/init.h: Likewise.
30384 * include/grub/i386/pc/kernel.h: Likewise.
30385 * include/grub/i386/pc/loader.h: Likewise.
30386 * include/grub/i386/pc/memory.h: Likewise.
30387 * include/grub/i386/pc/multiboot.h: Likewise.
30388 * include/grub/i386/pc/serial.h: Likewise.
30389 * include/grub/i386/pc/time.h: Likewise.
30390 * include/grub/i386/pc/vbe.h: Likewise.
30391 * include/grub/i386/pc/vbeblit.h: Likewise.
30392 * include/grub/i386/pc/vbefill.h: Likewise.
30393 * include/grub/i386/pc/vbeutil.h: Likewise.
30394 * include/grub/i386/pc/vga.h: Likewise.
30395 * include/grub/ieee1275/ieee1275.h: Likewise.
30396 * include/grub/ieee1275/ofdisk.h: Likewise.
30397 * include/grub/powerpc/libgcc.h: Likewise.
30398 * include/grub/powerpc/setjmp.h: Likewise.
30399 * include/grub/powerpc/types.h: Likewise.
30400 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30401 * include/grub/powerpc/ieee1275/console.h: Likewise.
30402 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30403 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30404 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30405 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30406 * include/grub/powerpc/ieee1275/time.h: Likewise.
30407 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30408 * include/grub/sparc64/libgcc.h: Likewise.
30409 * include/grub/sparc64/setjmp.h: Likewise.
30410 * include/grub/sparc64/types.h: Likewise.
30411 * include/grub/sparc64/ieee1275/console.h: Likewise.
30412 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30413 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30414 * include/grub/sparc64/ieee1275/time.h: Likewise.
30415 * include/grub/util/biosdisk.h: Likewise.
30416 * include/grub/util/getroot.h: Likewise.
30417 * include/grub/util/lvm.h: Likewise.
30418 * include/grub/util/misc.h: Likewise.
30419 * include/grub/util/raid.h: Likewise.
30420 * include/grub/util/resolve.h: Likewise.
30421 * io/gzio.c: Likewise.
30422 * kern/device.c: Likewise.
30423 * kern/disk.c: Likewise.
30424 * kern/dl.c: Likewise.
30425 * kern/elf.c: Likewise.
30426 * kern/env.c: Likewise.
30427 * kern/err.c: Likewise.
30428 * kern/file.c: Likewise.
30429 * kern/fs.c: Likewise.
30430 * kern/loader.c: Likewise.
30431 * kern/main.c: Likewise.
30432 * kern/misc.c: Likewise.
30433 * kern/mm.c: Likewise.
30434 * kern/parser.c: Likewise.
30435 * kern/partition.c: Likewise.
30436 * kern/rescue.c: Likewise.
30437 * kern/term.c: Likewise.
30438 * kern/efi/efi.c: Likewise.
30439 * kern/efi/init.c: Likewise.
30440 * kern/efi/mm.c: Likewise.
30441 * kern/i386/dl.c: Likewise.
30442 * kern/i386/efi/init.c: Likewise.
30443 * kern/i386/efi/startup.S: Likewise.
30444 * kern/i386/pc/init.c: Likewise.
30445 * kern/i386/pc/lzo1x.S: Likewise.
30446 * kern/i386/pc/startup.S: Likewise.
30447 * kern/ieee1275/ieee1275.c: Likewise.
30448 * kern/powerpc/cache.S: Likewise.
30449 * kern/powerpc/dl.c: Likewise.
30450 * kern/powerpc/ieee1275/cmain.c: Likewise.
30451 * kern/powerpc/ieee1275/crt0.S: Likewise.
30452 * kern/powerpc/ieee1275/init.c: Likewise.
30453 * kern/powerpc/ieee1275/openfw.c: Likewise.
30454 * kern/sparc64/cache.S: Likewise.
30455 * kern/sparc64/dl.c: Likewise.
30456 * kern/sparc64/ieee1275/init.c: Likewise.
30457 * kern/sparc64/ieee1275/openfw.c: Likewise.
30458 * loader/efi/chainloader.c: Likewise.
30459 * loader/efi/chainloader_normal.c: Likewise.
30460 * loader/i386/efi/linux.c: Likewise.
30461 * loader/i386/efi/linux_normal.c: Likewise.
30462 * loader/i386/pc/chainloader.c: Likewise.
30463 * loader/i386/pc/chainloader_normal.c: Likewise.
30464 * loader/i386/pc/linux.c: Likewise.
30465 * loader/i386/pc/linux_normal.c: Likewise.
30466 * loader/i386/pc/multiboot.c: Likewise.
30467 * loader/i386/pc/multiboot_normal.c: Likewise.
30468 * loader/powerpc/ieee1275/linux.c: Likewise.
30469 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30470 * normal/arg.c: Likewise.
30471 * normal/cmdline.c: Likewise.
30472 * normal/command.c: Likewise.
30473 * normal/completion.c: Likewise.
30474 * normal/execute.c: Likewise.
30475 * normal/function.c: Likewise.
30476 * normal/lexer.c: Likewise.
30477 * normal/main.c: Likewise.
30478 * normal/menu.c: Likewise.
30479 * normal/menu_entry.c: Likewise.
30480 * normal/misc.c: Likewise.
30481 * normal/parser.y: Likewise.
30482 * normal/script.c: Likewise.
30483 * normal/i386/setjmp.S: Likewise.
30484 * normal/powerpc/setjmp.S: Likewise.
30485 * normal/sparc64/setjmp.S: Likewise.
30486 * partmap/acorn.c: Likewise.
30487 * partmap/amiga.c: Likewise.
30488 * partmap/apple.c: Likewise.
30489 * partmap/gpt.c: Likewise.
30490 * partmap/pc.c: Likewise.
30491 * partmap/sun.c: Likewise.
30492 * term/gfxterm.c: Likewise.
30493 * term/terminfo.c: Likewise.
30494 * term/efi/console.c: Likewise.
30495 * term/i386/pc/console.c: Likewise.
30496 * term/i386/pc/serial.c: Likewise.
30497 * term/i386/pc/vesafb.c: Likewise.
30498 * term/i386/pc/vga.c: Likewise.
30499 * term/ieee1275/ofconsole.c: Likewise.
30500 * util/biosdisk.c: Likewise.
30501 * util/console.c: Likewise.
30502 * util/genmoddep.c: Likewise.
30503 * util/getroot.c: Likewise.
30504 * util/grub-emu.c: Likewise.
30505 * util/grub-mkdevicemap.c: Likewise.
30506 * util/grub-probe.c: Likewise.
30507 * util/lvm.c: Likewise.
30508 * util/misc.c: Likewise.
30509 * util/raid.c: Likewise.
30510 * util/resolve.c: Likewise.
30511 * util/update-grub.in: Likewise.
30512 * util/update-grub_lib.in: Likewise.
30513 * util/grub.d/00_header.in: Likewise.
30514 * util/grub.d/10_hurd.in: Likewise.
30515 * util/grub.d/10_linux.in: Likewise.
30516 * util/i386/efi/grub-install.in: Likewise.
30517 * util/i386/efi/grub-mkimage.c: Likewise.
30518 * util/i386/pc/grub-install.in: Likewise.
30519 * util/i386/pc/grub-mkimage.c: Likewise.
30520 * util/i386/pc/grub-mkrescue.in: Likewise.
30521 * util/i386/pc/grub-setup.c: Likewise.
30522 * util/i386/pc/misc.c: Likewise.
30523 * util/powerpc/ieee1275/grub-install.in: Likewise.
30524 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30525 * util/powerpc/ieee1275/misc.c: Likewise.
30526 * video/bitmap.c: Likewise.
30527 * video/video.c: Likewise.
30528 * video/i386/pc/vbe.c: Likewise.
30529 * video/i386/pc/vbeblit.c: Likewise.
30530 * video/i386/pc/vbefill.c: Likewise.
30531 * video/i386/pc/vbeutil.c: Likewise.
30532 * video/readers/tga.c: Likewise.
30533
30534 2007-07-02 Robert Millan <rmh@aybabtu.com>
30535
30536 * conf/i386-efi.rmk: Replace obsolete reference to
30537 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30538 with util/getroot.c.
30539 * conf/powerpc-ieee1275.rmk: Likewise.
30540 * conf/sparc64-ieee1275.rmk: Likewise.
30541
30542 * util/grub-emu.c (main): Fix unchecked pointer handling.
30543
30544 2007-07-02 Robert Millan <rmh@aybabtu.com>
30545
30546 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30547 invocation to fail, in order to support partition-less media.
30548
30549 * util/i386/pc/grub-install.in: Likewise.
30550
30551 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30552 which fs or partmap modules are needed (akin to its sister scripts).
30553
30554 Also use grub-probe to get rid of unportable /proc/mounts check.
30555
30556 Print the same informational message that the other scripts do, before
30557 exiting.
30558
30559 2007-06-23 Robert Millan <rmh@aybabtu.com>
30560
30561 * util/update-grub_lib.in (font_path): New function. Determine whether
30562 a font file can be found and, if so, echo the GRUB path to it.
30563
30564 * util/update-grub.in: Handle multiple terminals depending on user
30565 input, platform availability and font file presence. Propagate
30566 variables of our findings to /etc/grub.d/ children.
30567
30568 * util/grub.d/00_header.in: Handle multiple terminals, based on
30569 environment setup by update-grub.
30570
30571 2007-06-23 Robert Millan <rmh@aybabtu.com>
30572
30573 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
30574
30575 2007-06-21 Robert Millan <rmh@aybabtu.com>
30576
30577 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30578 indicate end of data section in kernel image.
30579 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30580 GRUB_KERNEL_MACHINE_DATA_END.
30581
30582 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30583 space for it.
30584 * kern/i386/efi/startup.S: Likewise.
30585
30586 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30587 during image generation. Implement --prefix option to override this
30588 patch.
30589 * util/i386/efi/grub-mkimage.c: Likewise.
30590
30591 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30592 code to make path relative to its root into a separate function.
30593
30594 * util/i386/pc/grub-install.in: Use newly provided
30595 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30596 pass the result to grub-install --prefix.
30597
30598 2007-06-13 Robert Millan <rmh@aybabtu.com>
30599
30600 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30601 DEFAULT_DEVICE_MAP.
30602 * util/grub-emu.c: Use above definitions from misc.h instead of
30603 defining them.
30604 * util/grub-mkdevicemap.c: Likewise.
30605 * util/i386/pc/grub-setup.c: Likewise.
30606 * util/grub-probe.c: Likewise.
30607 (probe): Abort with grub_util_error() when either
30608 grub_guess_root_device or grub_util_get_grub_dev fails.
30609
30610 2007-06-12 Robert Millan <rmh@aybabtu.com>
30611
30612 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30613 "pager" assignment.
30614 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30615 "pcdata".
30616 * util/grub-probe.c (probe): Likewise for "drive_name".
30617
30618 2007-06-11 Robert Millan <rmh@aybabtu.com>
30619
30620 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30621 not just the cdrom one.
30622
30623 2007-06-11 Robert Millan <rmh@aybabtu.com>
30624
30625 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30626 Add --pkglibdir=DIR option to override pkglibdir.
30627 Mention --image-type=TYPE in help output.
30628 Fix --grub-mkimage (it was a no-op).
30629 Abort gracefully when no parameter is given.
30630
30631 2007-06-11 Robert Millan <rmh@aybabtu.com>
30632
30633 * util/i386/pc/grub-mkrescue.in: New file.
30634 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30635 * Makefile.in: Handle bin_SCRIPTS.
30636
30637 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30638
30639 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30640 list of video modes.
30641
30642 2007-06-06 Robert Millan <rmh@aybabtu.com>
30643
30644 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30645 file doesn't exist, or if it is in a filesystem grub can't read.
30646
30647 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30648 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30649 header comment to fit in 80 columns when the variables are resolved.
30650
30651 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30652 could be identified by update-grub. Remove redundant check for
30653 unifont.pff existence (since convert_system_path_to_grub_path now
30654 handles that).
30655
30656 2007-06-04 Robert Millan <rmh@aybabtu.com>
30657
30658 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30659
30660 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30661
30662 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30663
30664 2007-06-04 Robert Millan <rmh@aybabtu.com>
30665
30666 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30667
30668 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30669 grub_apple_partition_map_fini.
30670
30671 * util/biosdisk.c
30672 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30673 to access >2 TiB disks).
30674
30675 Print disk->total_sectors with %llu instead of %lu, since this
30676 variable is always 64-bit (prevents wrong disk size from being displayed
30677 on either >2 TiB disk or big-endian CPU).
30678
30679 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30680 into a generic case that supports all (sane) partition maps.
30681
30682 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30683 breaks big-endian.
30684
30685 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30686 and grub_apple_partition_map_fini() after that.
30687
30688 2007-06-01 Robert Millan <rmh@aybabtu.com>
30689
30690 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30691
30692 * util/grub.d/00_header.in: Only enable gfxterm when
30693 convert_system_path_to_grub_path() succeeds.
30694
30695 2007-05-20 Robert Millan <rmh@aybabtu.com>
30696
30697 * util/update-grub_lib.in: New file.
30698 * DISTLIST: Add update-grub_lib.in.
30699 * conf/common.rmk: Generate update-grub_lib and install it in
30700 $(lib_DATA).
30701 * Makefile.in: Add install routine for $(lib_DATA).
30702
30703 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30704 function provided by update-grub_lib to support arbitrary paths of
30705 unifont.pff.
30706 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30707 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30708
30709 2007-05-19 Robert Millan <rmh@aybabtu.com>
30710
30711 * commands/i386/cpuid.c: New module.
30712 * DISTLIST: Add it.
30713 * conf/i386-efi.rmk: Enable cpuid.mod.
30714 * conf/i386-pc.rmk: Likewise.
30715
30716 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30717
30718 * kern/disk.c (grub_disk_read): Check return value of
30719 grub_realloc().
30720
30721 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30722
30723 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30724 arrays.
30725 * disk/raid.c (grub_raid_open): Likewise.
30726
30727 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30728
30729 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30730 stack instead of on the heap.
30731
30732 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30733 before doing a read on it.
30734
30735 * configure.ac: Only use -fno-stack-protector for the target
30736 environment.
30737
30738 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30739
30740 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30741 __attribute_ ((unused)) to mode_type argument.
30742
30743 * util/getroot.c (grub_guess_root_device): Fix #endif.
30744
30745 * kern/misc.c (memcmp): Fix prototype.
30746
30747 * include/grub/partition.h [GRUB_UTIL]
30748 (grub_gpt_partition_map_init): Add prototype.
30749 (grub_gpt_partition_map_fini): Likewise.
30750
30751 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30752 at the right place.
30753
30754 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30755 (grub_fat_read_data): Likewise.
30756 (grub_fat_find_dir): Likewise.
30757
30758 * font/manager.c (find_glyph): Make table a const.
30759 (grub_font_get_glyph): Remove bitmap from if statement.
30760
30761 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30762
30763 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30764 code, first search for device in /dev/mapper, then in /dev.
30765 (grub_util_get_grub_dev): New function.
30766 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30767 prototype.
30768 * util/grub-probe.c (probe): Remove check for RAID, call
30769 grub_util_get_grub_dev() instead of
30770 grub_util_biosdisk_get_grub_dev().
30771 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30772 grub_util_biosdisk_get_grub_dev().
30773 * util/i386/pc/grub-setup.c (main): Likewise.
30774
30775 2007-05-16 Robert Millan <rmh@aybabtu.com>
30776
30777 * DISTLIST: Update for the latest changes.
30778 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30779 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30780 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30781 grub/util/biosdisk.h.
30782 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30783 grub/util/biosdisk.h.
30784
30785 2007-05-16 Robert Millan <rmh@aybabtu.com>
30786
30787 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30788
30789 2007-05-16 Robert Millan <rmh@aybabtu.com>
30790
30791 * util/i386/efi/grub-install.in: New.
30792 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30793 newly added grub-install.
30794 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30795 include.
30796 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30797 grub/util/biosdisk.h.
30798 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30799 grub/util/biosdisk.h.
30800
30801 2007-05-16 Robert Millan <rmh@aybabtu.com>
30802
30803 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30804 * include/grub/util/biosdisk.h: ... here.
30805 * util/i386/pc/biosdisk.c: Moved to ...
30806 * util/biosdisk.c: ... here.
30807 * util/i386/pc/getroot.c: Moved to ...
30808 * util/getroot.c: ... here.
30809 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30810 * util/grub-mkdevicemap.c: ... here.
30811 * util/i386/pc/grub-probe.c: Moved to ...
30812 * util/grub-probe.c: ... here.
30813
30814 2007-05-15 Robert Millan <rmh@aybabtu.com>
30815
30816 * util/update-grub.in: Remove duplicated line in grub.cfg header
30817 message.
30818
30819 2007-05-13 Robert Millan <rmh@aybabtu.com>
30820
30821 * util/update-grub.in: Fix a few assumptions about the devices holding
30822 /, /boot and /boot/grub being the same.
30823 * util/grub.d/00_header.in: Likewise.
30824 * util/grub.d/10_hurd.in: Likewise.
30825 * util/grub.d/10_linux.in: Likewise.
30826
30827 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30828 patterns. Use that to define the `.old' suffix as older than `'.
30829
30830 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30831
30832 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30833 the grub.cfg header message.
30834
30835 2007-05-11 Robert Millan <rmh@aybabtu.com>
30836
30837 * util/update-grub.in: Create device.map if it doesn't already exist,
30838 before attempting to run grub-probe.
30839 Check for grub-probe and grub-mkdevicemap with the same code
30840 grub-install is using.
30841 Remove test mode.
30842
30843 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30844
30845 * Makefile.in: Add the datarootdir autoconf variable.
30846
30847 2007-05-09 Robert Millan <rmh@aybabtu.com>
30848
30849 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
30850 fail gracefully if dev->disk->partition == NULL.
30851
30852 2007-05-07 Robert Millan <rmh@aybabtu.com>
30853
30854 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30855 determine partition map module.
30856 * util/i386/pc/grub-install.in: Use this feature to decide which
30857 partition module to load, instead of hardcoding pc and gpt.
30858
30859 2007-05-07 Robert Millan <rmh@aybabtu.com>
30860
30861 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30862 source directory differs from build directory.
30863
30864 2007-05-05 Robert Millan <rmh@aybabtu.com>
30865
30866 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30867 initialisation.
30868
30869 2007-05-05 Robert Millan <rmh@aybabtu.com>
30870
30871 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30872
30873 2007-05-05 Robert Millan <rmh@aybabtu.com>
30874
30875 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30876 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30877
30878 2007-05-05 Robert Millan <rmh@aybabtu.com>
30879
30880 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30881 (grub_probe_SOURCES): Likewise.
30882 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30883 GPT and initialize dos_part and bsd_part accordingly.
30884 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30885 install_bsd_part.
30886 (main): Activate gpt module for use during partition identification,
30887 and deactivate it afterwards.
30888 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30889 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30890 partition identification, and deactivate it afterwards.
30891
30892 2007-05-05 Robert Millan <rmh@aybabtu.com>
30893
30894 * term/i386/pc/console.c (grub_console_fini): Call
30895 grub_term_set_current() before grub_term_unregister().
30896
30897 2007-05-04 Robert Millan <rmh@aybabtu.com>
30898
30899 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30900 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30901 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30902 and update-grub_DATA.
30903 * conf/common.rmk: Build and install update-grub components.
30904 * conf/common.mk: Regenerate.
30905 * util/update-grub.in: New. Core of update-grub.
30906 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30907 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30908 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30909 * util/grub.d/README: New. Document grub.d directory layout.
30910
30911 2007-05-01 Robert Millan <rmh@aybabtu.com>
30912
30913 * util/grub-emu.c: Move initialization functions
30914 grub_util_biosdisk_init() and grub_init_all() before
30915 grub_util_biosdisk_get_grub_dev(), which relies on them.
30916
30917 2007-04-19 Robert Millan <rmh@aybabtu.com>
30918
30919 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30920 it is used later.
30921
30922 2007-04-18 Jerone Young <jerone@gmail.com>
30923
30924 * kernel/elf.c: Add missing parenthesis for conditional statement
30925 stanza.
30926
30927 2007-04-10 Jerone Young <jerone@gmail.com>
30928
30929 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30930 continue on and look for device node with real device name.
30931
30932 2007-04-10 Jerone Young <jerone@gmail.com>
30933
30934 * configure.ac: Add argument for autoconf to use transformation
30935 ability.
30936 * Makefile.in: Add autoconf package transformation code.
30937 * util/i386/pc/grub-install.in: Likewise.
30938 * util/powerpc/ieee1275/grub-install.in: Likewise.
30939
30940 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30941
30942 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30943 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30944 (EXT2_REVISION): Likewise.
30945 (EXT2_INODE_SIZE): Likewise.
30946 (struct grub_ext2_block_group): Added a missing member
30947 "used_dirs".
30948 (grub_ext2_read_inode): Divide by the inode size in a superblock
30949 instead of 128 to obtain INODES_PER_BLOCK.
30950 Use the macro EXT2_INODE_SIZE instead of directly using
30951 SBLOCK->INODE_SIZE.
30952
30953 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30954
30955 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30956 superblock instead of the structure size to compute an
30957 offset. This fixes the problem that GRUB could not read a
30958 filesystem when inode size is different from 128-byte.
30959
30960 2007-03-05 Marco Gerards <marco@gnu.org>
30961
30962 * normal/main.c (read_config_file): When "menu" is not set, create
30963 an initial context.
30964
30965 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30966
30967 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30968 (HEAP_LIMIT): New macro.
30969 (grub_claim_heap): Claim memory up to `heaplimit'.
30970
30971 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30972
30973 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30974 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30975 (_start): Likewise.
30976 (grub_arch_modules_addr): Return address after `_end'.
30977 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30978 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30979 (add_segments): Calculate `_end' from phdr size and location.
30980 (ALIGN_UP): Moved to ...
30981 * include/grub/misc.h: here.
30982 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30983 New macro.
30984 (GRUB_IEEE1275_MODULE_BASE): Removed.
30985
30986 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30987
30988 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30989 loop boundary.
30990
30991 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30992
30993 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30994 All users updated.
30995 (grub_elf64_load_hook_t): Likewise.
30996 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30997 debug output.
30998
30999 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31000
31001 * kern/mm.c: Update copyright.
31002 (grub_mm_debug): Correct syntax error.
31003 (grub_mm_dump_free): New function.
31004 (grub_debug_free): Call `grub_free'.
31005 * include/grub/mm.h: Update copyright.
31006 (grub_mm_dump_free): Add declaration.
31007
31008 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31009
31010 * include/grub/ieee1275/ieee1275.h: Update copyright.
31011 * kern/powerpc/ieee1275/init.c: Likewise.
31012 * kern/powerpc/ieee1275/openfw.c: Likewise.
31013
31014 * loader/powerpc/ieee1275/linux.c: Likewise.
31015 * include/grub/elfload.h: Likewise.
31016 * kern/elf.c: Likewise.
31017 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31018 callers.
31019 (grub_elf64_load): Likewise.
31020 (grub_elf32_load_segment): Move to a nested function.
31021 (grub_elf64_load_segment): Likewise.
31022
31023 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31024
31025 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31026 prototype.
31027 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31028 (grub_heap_len): Likewise.
31029 (HEAP_SIZE): New macro.
31030 (grub_claim_heap): New function.
31031 (grub_machine_init): Don't claim heap directly. Call
31032 `grub_claim_heap'.
31033 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31034 (grub_available_iterate): New function.
31035
31036 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31037
31038 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31039 * configure.ac: Use it for testing the HOST and TARGET compilers.
31040
31041 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31042
31043 * Makefile.in (enable_grub_emu): New variable.
31044 * configure.ac (--enable-grub-emu): New option.
31045 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31046 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31047 * conf/i386-pc.rmk: Likewise.
31048 * conf/powerpc-ieee1275.rmk: Likewise.
31049 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31050
31051 2006-12-12 Marco Gerards <marco@gnu.org>
31052
31053 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31054
31055 * kern/env.c (grub_env_unset): Don't free the member `value' when
31056 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
31057 pointer.
31058
31059 * normal/main.c (current_menu): Removed.
31060 (free_menu): Unset the `menu' environment variable.
31061 (grub_normal_menu_addentry): Make use of the environment variable
31062 `menu', instead of using the global `current_menu'. Allocate
31063 memory for the sourcecode of this entry.
31064 (read_config_file): New argument `nested', changed all callers.
31065 Only in the case of a new context, initialize a new menu. Set the
31066 `menu' environment variable.
31067 (grub_normal_execute): Don't set and unset the environment
31068 variable `menu' here anymore. Only free the menu when leaving the
31069 context.
31070
31071 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
31072 leak.
31073
31074 2006-12-11 Marco Gerards <marco@gnu.org>
31075
31076 * normal/menu_entry.c (run): Fix off by one bug so the last line
31077 is executed. Move the loader check to outside the loop.
31078
31079 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
31080
31081 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
31082
31083 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
31084
31085 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
31086 the number of sectors. Reported by Andrey Shuvikov
31087 <mr_hyro@yahoo.com>.
31088
31089 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
31090
31091 * kern/disk.c (grub_disk_read): When there is a read error, always
31092 try to read only the necessary data.
31093
31094 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
31095 disk/raid.c.
31096 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
31097 prototype.
31098 [GRUB_UTIL] (grub_raid_fini): Likewise.
31099 [GRUB_UTIL] (grub_lvm_init): Likewise.
31100 [GRUB_UTIL] (grub_lvm_fini): Likewise.
31101 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
31102 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
31103 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
31104 and grub_raid_fini().
31105
31106 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31107
31108 * include/grub/types.h (__unused): Rename to UNUSED.
31109 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
31110 (grub_elf64_size): Likewise.
31111
31112 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31113
31114 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
31115 grub_error_push and grub_error_pop in the error-handling path.
31116 (grub_elf32_load_segment): Only call grub_file_read with non-zero
31117 length.
31118
31119 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31120
31121 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
31122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31124 (kernel_elf_SOURCES): Likewise.
31125 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
31126 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
31127 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31128 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31129 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
31130 (elf_mod_SOURCES): New variable.
31131 (elf_mod_CFLAGS): Likewise.
31132 (elf_mod_LDFLAGS): Likewise.
31133 * include/grub/types.h (__unused): New macro.
31134 * include/grub/elfload.h: New file.
31135 * kern/elf.c: Likewise.
31136 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
31137 (ELF32_LOADMASK): New macro.
31138 (ELF64_LOADMASK): Likewise.
31139 (vmlinux): Removed.
31140 (grub_linux_load32): New function.
31141 (grub_linux_load64): Likewise.
31142 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
31143 Use grub_elf_t instead of grub_file_t.
31144
31145 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
31146
31147 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
31148 `catch_result' to struct set_color_args.
31149
31150 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31151
31152 * normal/menu.c: Include grub/script.h.
31153 * normal/menu_entry.c: Likewise.
31154 * include/grub/normal.h: Do not include grub/script.h.
31155
31156 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31157
31158 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
31159
31160 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31161
31162 * kern/disk.c (grub_disk_open): Print debug messages when opening a
31163 disk.
31164 (grub_disk_close): Print debug messages when closing a disk.
31165 (grub_disk_read): Print debug messages when disk read fails.
31166 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
31167 filesystem type.
31168 * kern/partition.c: Include misc.h.
31169 (grub_partition_iterate): Print debug messages when detecting
31170 partition type.
31171
31172 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31173
31174 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
31175 is negative.
31176 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
31177
31178 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
31179
31180 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31181 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
31182
31183 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
31184
31185 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
31186 instead of sizeof(lv). Patch by Michael Guntsche.
31187
31188 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
31189
31190 * disk/lvm.c: Rename VGS to VG_LIST.
31191 (grub_lvm_iterate): Change VGS->LV to VG-LV.
31192 (grub_lvm_open): Likewise.
31193 Thanks to Michael Guntsche for finding this bug.
31194
31195 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31196
31197 * configure.ac (AC_INIT): Bumped to 1.95.
31198
31199 2006-10-14 Robert Millan <rmh@aybabtu.com>
31200
31201 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
31202 with "/dev/.static/dev/md".
31203
31204 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31205
31206 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
31207 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
31208 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
31209 DRIVE_NAME are always freed.
31210
31211 * util/i386/pc/biosdisk.c (make_device_name): Add one into
31212 DOS_PART, as a DOS partition is counted from one instead of zero
31213 now. Reported by Robert Millan.
31214
31215 2006-10-14 Robert Millan <rmh@aybabtu.com>
31216
31217 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
31218 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
31219 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
31220 string returned by grub_guess_root_device.
31221 * util/i386/pc/grub-setup.c: Likewise.
31222 * util/i386/pc/grub-probefs.c: Likewise.
31223
31224 * util/i386/pc/grub-probefs.c: Rename to ...
31225 * util/i386/pc/grub-probe.c: ... this.
31226 * DISTLIST: Remove grub-probefs, add grub-probe.
31227 * conf/i386-efi.rmk: Likewise.
31228 * conf/i386-pc.rmk: Likewise.
31229 * util/i386/pc/grub-install.in: Likewise.
31230
31231 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
31232 choose which information we want to print.
31233
31234 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31235
31236 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
31237 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
31238 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
31239 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
31240 video/readers/tga.c and video/i386/pc/vbeutil.c.
31241
31242 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
31243
31244 Added support for RAID and LVM.
31245
31246 * disk/lvm.c: New file.
31247 * disk/raid.c: Likewise.
31248 * include/grub/lvm.h: Likewise.
31249 * include/grub/raid.h: Likewise.
31250 * include/grub/util/lvm.h: Likewise.
31251 * include/grub/util/raid.h: Likewise.
31252 * util/lvm.c: Likewise.
31253 * util/raid.c: Likewise.
31254
31255 * include/grub/disk.h (grub_disk_dev_id): Add
31256 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
31257 (grub_disk_get_size): New prototype.
31258 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
31259 returns a partition.
31260 (grub_disk_get_size): New function.
31261
31262 * kern/i386/pc/init.c (make_install_device): Copy the prefix
31263 verbatim if grub_install_dos_part is -2.
31264
31265 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
31266 and LVM devices.
31267
31268 * util/i386/pc/grub-setup.c (setup): New argument
31269 MUST_EMBED. Force embedding of GRUB when the argument is
31270 true. Close FILE before returning.
31271 (main): Add support for RAID and LVM.
31272
31273 * conf/common.rmk: Add RAID and LVM modules.
31274 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
31275 util/lvm.c.
31276 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
31277
31278 * kern/misc.c (grub_strstr): New function.
31279 * include/grub/misc.h (grub_strstr): New prototype.
31280
31281 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
31282
31283 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
31284
31285 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
31286
31287 * kern/misc.c (grub_strtoull): Guess the base only if not
31288 specified.
31289
31290 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31291
31292 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
31293 PowerMac support.
31294
31295 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31296
31297 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
31298
31299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
31300 Remove `flags' argument. All callers changed.
31301 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
31302 (IEEE1275_IHANDLE_INVALID): New variable.
31303 (IEEE1275_CELL_INVALID): New variable.
31304 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31305 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
31306 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
31307 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
31308 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
31309 codes from Open Firmware. All callers updated.
31310 (grub_ieee1275_next_property): Directly return Open Firmware return
31311 code.
31312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31313 Standardize error checking from `grub_ieee1275_get_property'.
31314 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
31315 `devalias' to `aliases'. Correct comments. Consolidate error paths.
31316
31317 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31318
31319 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
31320 `instance_to_package_args' to `instance_to_path_args'.
31321
31322 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
31323 `grub_ieee1275_chosen'.
31324
31325 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
31326 `grub_ieee1275_interpret'.
31327
31328 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
31329
31330 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
31331
31332 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
31333
31334 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
31335 (__cmpdi): Likewise.
31336
31337 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
31338 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
31339 `grub_ssize_t'.
31340
31341 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
31342
31343 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
31344 to type `grub_ssize_t'.
31345 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
31346
31347 2006-09-22 Marco Gerards <marco@gnu.org>
31348
31349 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31350 newlines.
31351
31352 2006-09-22 Marco Gerards <marco@gnu.org>
31353
31354 * commands/echo.c: New file.
31355
31356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31357
31358 * conf/common.rmk (echo_mod_SOURCES): New variable.
31359 (echo_mod_CFLAGS): Likewise.
31360 (echo_mod_LDFLAGS): Likewise.
31361
31362 2006-09-22 Marco Gerards <marco@gnu.org>
31363
31364 * normal/main.c (get_line): Malloc memory instead of using
31365 preallocated memory. Removed the arguments `cmdline' and
31366 `max_len'. Updated all callers.
31367
31368 2006-09-22 Marco Gerards <marco@gnu.org>
31369
31370 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31371 (normal_mod_DEPENDENCIES): Likewise.
31372
31373 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31374 (normal_mod_DEPENDENCIES): Likewise.
31375
31376 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31377
31378 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
31379
31380 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31381 programs.
31382 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31383 (normal_mod_DEPENDENCIES): Likewise.
31384 * conf/i386-pc.mk: Regenerate.
31385 * conf/i386-efi.mk: Likewise
31386 * conf/common.mk: Likewise.
31387 * conf/powerpc-ieee1275.mk: Likewise.
31388 * conf/sparc64-ieee1275.mk: Likewise.
31389
31390 2006-09-22 Robert Millan <rmh@aybabtu.com>
31391
31392 Sync with i386 version.
31393 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31394 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31395
31396 2006-09-21 Robert Millan <rmh@aybabtu.com>
31397
31398 Import from GRUB Legacy (lib/device.c):
31399 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31400 (init_device_map) [__linux__]: Add support for I2O devices.
31401
31402 2006-09-14 Marco Gerards <marco@gnu.org>
31403
31404 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31405 `-melf_i386'.
31406
31407 2006-09-14 Robert Millan <rmh@aybabtu.com>
31408
31409 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31410 /boot/grub/*.lst.
31411
31412 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
31413
31414 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31415 before adding it to device.map.
31416
31417 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
31418
31419 * genmk.rb: Let GCC generate dependencies the first time it
31420 compiles a file; using the -MD option.
31421 * conf/common.mk: Regenerate.
31422 * conf/i386-pc.mk: Likewise.
31423 * conf/i386-efi.mk: Likewise.
31424 * conf/powerpc-ieee1275.mk: Likewise.
31425 * conf/sparc64-ieee1275.mk: Likewise.
31426
31427 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31428
31429 Move the prototypes of grub_setjmp and grub_longjmp to
31430 cpu/setjmp.h, so that each architecture may specify different
31431 attributes.
31432
31433 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31434 (grub_longjmp): Likewise.
31435 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31436 (grub_longjmp): Likewise.
31437 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31438 (grub_longjmp): Likewise.
31439
31440 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31441 [!GRUB_UTIL] (grub_longjmp): Removed.
31442
31443 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31444
31445 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31446 "color!" method does not return any value.
31447
31448 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31449
31450 * include/grub/bitmap.h: New file.
31451
31452 * include/grub/i386/pc/vbeutil.h: Likewise.
31453
31454 * video/bitmap.c: Likewise.
31455
31456 * video/readers/tga.c: Likewise.
31457
31458 * video/i386/pc/vbeutil.c: Likewise.
31459
31460 * commands/videotest.c: Code cleanup and updated to reflect to new
31461 video API.
31462
31463 * term/gfxterm.c: Likewise.
31464
31465 * video/video.c: Likewise.
31466
31467 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31468 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31469 (bitmap_mod_SOURCES): New entry.
31470 (bitmap_mod_CFLAGS): Likewise.
31471 (bitmap_mod_LDFLAGS): Likewise.
31472 (tga_mod_SOURCES): Likewise.
31473 (tga_mod_CFLAGS): Likewise.
31474 (tga_mod_LDFLAGS): Likewise.
31475
31476 * include/grub/video.h (grub_video_blit_operators): New enum type.
31477 (grub_video_render_target): Changed as forward declaration and moved
31478 actual definition to be video driver specific.
31479 (grub_video_adapter.blit_bitmap): Added blitting operator.
31480 (grub_video_adapter.blit_render_target): Likewise.
31481 (grub_video_blit_bitmap): Likewise.
31482 (grub_video_blit_render_target): Likewise.
31483
31484 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31485 driver specific render target definition.
31486 (grub_video_vbe_map_rgba): Added driver internal helper.
31487 (grub_video_vbe_unmap_color): Updated to use
31488 grub_video_i386_vbeblit_info.
31489 (grub_video_vbe_get_video_ptr): Likewise.
31490
31491 * include/grub/i386/pc/vbeblit.h
31492 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31493 grub_video_i386_vbeblit_info.
31494 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31495 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31496 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31497 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31498 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31499 (grub_video_i386_vbeblit_index_index): Likewise.
31500 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31501 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31502 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31503 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31504 operator.
31505 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31506 operator.
31507
31508 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31509 include/grub/i386/pc/vbeblit.h.
31510
31511 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31512 Updated to use grub_video_i386_vbeblit_info.
31513 (grub_video_i386_vbefill_R8G8B8): Likewise.
31514 (grub_video_i386_vbefill_index): Likewise.
31515 (grub_video_i386_vbefill): Added generic filler.
31516
31517 * video/i386/pc/vbefill.c: Updated to reflect changes on
31518 include/grub/i386/pc/vbefill.h.
31519
31520 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31521 grub_video_i386_vbeblit_info.
31522 (grub_video_vbe_unmap_color): Likewise.
31523 (grub_video_vbe_blit_glyph): Likewise.
31524 (grub_video_vbe_scroll): Likewise.
31525 (grub_video_vbe_draw_pixel): Removed function.
31526 (grub_video_vbe_get_pixel): Likewise.
31527 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31528 updated code to use it.
31529 (common_blitter): Added common blitter for render target and bitmap.
31530 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31531 (grub_video_vbe_blit_render_target): Likewise.
31532
31533 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
31534
31535 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31536 is in text mode if there is no console control protocol instance
31537 available.
31538
31539 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31540
31541 * include/grub/video.h: Code cleanup.
31542
31543 * include/grub/i386/pc/vbe.h: Likewise.
31544
31545 * video/i386/pc/vbe.c: Likewise.
31546
31547 * video/i386/pc/vbeblit.c: Likewise.
31548
31549 * video/i386/pc/vbefill.c: Likewise.
31550
31551 * video/video.c: Likewise. Also added more comments.
31552
31553 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31554
31555 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31556 (struct grub_biosdisk_dap): Likewise.
31557
31558 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31559 linkage settings for all functions.
31560
31561 2006-07-12 Marco Gerards <marco@gnu.org>
31562
31563 * configure.ac (--enable-mm-debug): Fix typo.
31564
31565 * genkernsyms.sh.in: Use proper quoting for `CC'.
31566
31567 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31568
31569 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31570 (normal_mod_ASFLAGS): Remove "-m32".
31571
31572 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31573
31574 * util/misc.c: Include config.h.
31575 [!HAVE_MEMALIGN]: Do not include malloc.h.
31576 (grub_memalign): Use posix_memalign, if present. Then, use
31577 memalign, if present. Otherwise, emit an error.
31578
31579 * util/grub-emu.c: Do not include malloc.h.
31580
31581 * include/grub/util/misc.h: Include unistd.h. This is required for
31582 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31583 D. Eades III <hde@foobar-qux.org>.
31584
31585 * configure.ac (AC_GNU_SOURCE): Added.
31586 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31587 type.
31588
31589 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31590
31591 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31592 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31593
31594 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31595
31596 * include/grub/types.h (grub_host_addr_t): Rename to
31597 grub_target_addr_t.
31598 (grub_host_off_t): Rename to grub_target_off_t.
31599 (grub_host_size_t): Rename to grub_target_size_t.
31600 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31601 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31602
31603 * include/grub/kernel.h (struct grub_module_header): Change type
31604 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31605 (grub_module_info): Likewise.
31606
31607 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31608
31609 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31610 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31611 Velazquez <jesus.velazquez@gmail.com>.
31612
31613 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31614
31615 Count partitions from 1 instead of 0 in the string representation
31616 of partitions. Still use 0-based internally.
31617
31618 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31619 (sun_partition_map_iterate): Use grub_partition_t instead of
31620 struct grub_partition *. Cast DESC->START_CYLINDER to
31621 grub_uint64_t after converting the endian.
31622 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31623 (sun_partition_map_get_name): Add 1 to P->INDEX.
31624
31625 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31626 PCDATA->DOS_PART.
31627 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31628
31629 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31630 zero instead of one.
31631 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31632 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31633
31634 * partmap/apple.c (apple_partition_map_iterate): Change the type
31635 of POS to unsigned.
31636 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31637 (apple_partition_map_get_name): Add 1 into P->INDEX.
31638
31639 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31640 of POS to unsigned.
31641 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31642 calculate the offset of a partition.
31643 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31644 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31645
31646 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31647 SECTOR to grub_disk_addr_t.
31648 (acorn_partition_map_iterate): Likewise.
31649 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31650 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31651 top.
31652 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31653
31654 * kern/i386/pc/init.c (make_install_device): Add 1 into
31655 GRUB_INSTALL_DOS_PART.
31656
31657 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31658 conditional.
31659
31660 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31661
31662 Clean up the code to support 64-bit addressing in disks and
31663 files. This change is not enough for filesystems yet.
31664
31665 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31666 type of "start" to grub_uint64_t.
31667 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31668 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31669 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31670 convert addresses.
31671
31672 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31673 to grub_disk_addr_t.
31674
31675 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31676 string.
31677
31678 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31679
31680 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31681 to char *.
31682
31683 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31684
31685 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31686
31687 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31688
31689 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31690 to grub_off_t, to detect an error from grub_file_seek.
31691 (grub_multiboot_load_elf32): Likewise.
31692
31693 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31694 maximum unsigned long value when an overflow is detected.
31695 (grub_strtoull): New function.
31696 (grub_divmod64): Likewise.
31697 (grub_lltoa): use grub_divmod64.
31698
31699 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31700 grub_disk_addr_t.
31701 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31702 the pointer to next character. Use grub_strtoull instead of
31703 grub_strtoul.
31704 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31705 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31706 respectively.
31707
31708 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
31709 return value is signed.
31710 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31711 test if OFFSET is less than zero, as OFFSET is unsigned now.
31712
31713 * kern/disk.c (struct grub_disk_cache): Change the type of
31714 "sector" to grub_disk_addr_t.
31715 (grub_disk_cache_get_index): Change the type of SECTOR to
31716 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31717 unsigned after shifting.
31718 (grub_disk_cache_invalidate): Change the type of SECTOR to
31719 grub_disk_addr_t.
31720 (grub_disk_cache_unlock): Likewise.
31721 (grub_disk_cache_store): Likewise.
31722 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31723 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31724 grub_disk_addr_t and grub_uint64_t, respectively.
31725 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31726 body, as the value of OFFSET is tweaked by
31727 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31728 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31729 respectively.
31730 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31731 body, as the value of OFFSET is tweaked by
31732 grub_disk_check_range. Change the types of LEN and N to
31733 grub_size_t.
31734
31735 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31736 and "saved_offset" to grub_off_t.
31737 (test_header): Cast BUF to char *.
31738 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31739 to char *.
31740 (grub_gzio_read): Change the types of OFFSET and SIZE to
31741 grub_off_t and grub_size_t, respectively.
31742
31743 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31744 Removed.
31745 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31746 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31747 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31748 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31749 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31750
31751 * include/grub/types.h (grub_off_t): Unconditionally set to
31752 grub_uint64_t.
31753 (grub_disk_addr_t): Changed to grub_uint64_t.
31754
31755 * include/grub/partition.h (struct grub_partition): Change the
31756 types of "start", "len" and "offset" to grub_disk_addr_t,
31757 grub_uint64_t and grub_disk_addr_t, respectively.
31758 (grub_partition_get_start): Return grub_disk_addr_t.
31759 (grub_partition_get_len): Return grub_uint64_t.
31760
31761 * include/grub/misc.h (grub_strtoull): New prototype.
31762 (grub_divmod64): Likewise.
31763
31764 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31765 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31766 grub_off_t, respectively.
31767 All callers and references changed.
31768
31769 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31770 grub_size_t in "read".
31771 All callers and references changed.
31772
31773 * include/grub/file.h (struct grub_file): Change the types of
31774 "offset" and "size" to grub_off_t and grub_off_t,
31775 respectively. Change the type of SECTOR to grub_disk_addr_t in
31776 "read_hook".
31777 (grub_file_read): Change the type of LEN to grub_size_t.
31778 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31779 grub_off_t.
31780 (grub_file_size): Return grub_off_t.
31781 (grub_file_tell): Likewise.
31782 All callers and references changed.
31783
31784 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31785 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31786 "write".
31787 (struct grub_disk): Change the type of "total_sectors" to
31788 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
31789 "read_hook".
31790 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31791 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31792 (grub_disk_write): Likewise.
31793 All callers and references changed.
31794
31795 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31796 char * for grub_strncmp to silence gcc.
31797 (grub_iso9660_mount): Likewise.
31798 (grub_iso9660_mount): Likewise.
31799 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31800 return statement.
31801 (grub_iso9660_iterate_dir): Likewise.
31802 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31803
31804 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31805 LEN to grub_disk_addr_t and grub_size_t, respectively.
31806
31807 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31808
31809 * fs/jfs.c (grub_jfs_read_file): Likewise.
31810
31811 * fs/minix.c (grub_jfs_read_file): Likewise.
31812
31813 * fs/sfs.c (grub_jfs_read_file): Likewise.
31814
31815 * fs/ufs.c (grub_jfs_read_file): Likewise.
31816
31817 * fs/xfs.c (grub_jfs_read_file): Likewise.
31818
31819 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31820 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31821 respectively.
31822
31823 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31824 BLKNR to -1 instead of returning GRUB_ERRNO.
31825 (grub_ext2_read_file): Change the types of SECTOR and
31826 LEN to grub_disk_addr_t and grub_size_t, respectively.
31827
31828 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31829 LEN to grub_disk_addr_t and grub_size_t, respectively.
31830
31831 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31832 grub_file_read.
31833
31834 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31835 string. Do not cast SECTOR explicitly.
31836
31837 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31838 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31839 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31840 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31841 over 2TB and LBA mode is not supported, raise an error.
31842 (get_safe_sectors): New function.
31843 (grub_biosdisk_read): Use get_safe_sectors.
31844 (grub_biosdisk_write): Likewise.
31845
31846 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31847 (grub_efidisk_write): Likewise.
31848
31849 * disk/loopback.c (delete_loopback): Cosmetic changes.
31850 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31851 correctly.
31852 (grub_loopback_open): Likewise.
31853 (grub_loopback_read): Likewise. Also, change the type of POS to
31854 grub_off_t, and fix the usage of grub_memset.
31855
31856 * commands/i386/pc/play.c: Include grub/machine/time.h.
31857
31858 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31859 print FILE->SIZE.
31860
31861 * commands/configfile.c: Include grub/env.h.
31862
31863 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31864 GRUB_ERRNO directly instead. Change the type of POS to
31865 grub_off_t. Follow the coding standard.
31866
31867 * commands/blocklist.c: Include grub/partition.h.
31868 (grub_cmd_blocklist): Return an error if the underlying device is
31869 not a disk. Take the starting sector of a partition into account,
31870 if a partition is used.
31871
31872 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31873 a length field.
31874 (lba_mode): Support 64-bit addresses.
31875 (chs_mode): Likewise.
31876 (copy_buffer): Adapted to the new offsets of a length field and a
31877 segment field.
31878 (blocklist_default_start): Allocate 64-bit space.
31879
31880 * boot/i386/pc/boot.S (force_lba): Removed.
31881 (boot_drive): Moved to under KERNEL_SECTOR.
31882 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
31883 space.
31884 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31885 is useless.
31886 (lba_mode): Refactored to support a 64-bit address. More size
31887 optimization.
31888 (setup_sectors): Likewise.
31889
31890 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31891
31892 * DISTLIST: Added include/grub/i386/linux.h. Removed
31893 include/grub/i386/pc/linux.h
31894
31895 * configure.ac (AC_INIT): Bumped to 1.94.
31896
31897 * config.guess: Updated from gnulib.
31898 * config.sub: Likewise.
31899 * install-sh: Likewise.
31900 * mkinstalldirs: Likewise.
31901
31902 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31903
31904 * conf/common.rmk (grub_modules_init.lst): Depended on
31905 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31906 MODSRCFILES.
31907
31908 * genmk.rb (PModule::rule): Reverted the previous change.
31909
31910 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31911
31912 * conf/common.rmk (grub_modules_init.lst): Depends on
31913 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31914 that the target does not exist before producing.
31915 (grub_modules_init.h): Remove the target before generating.
31916 (grub_emu_init.c): Likewise.
31917
31918 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31919
31920 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31921
31922 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31923 for the target-specific tests. Make sure that we also have the
31924 up-to-date target variables for those tests.
31925
31926 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31927
31928 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31929 (PModule::rule): Likewise.
31930
31931 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31932
31933 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31934 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31935 target-specific flags should be prefixed.
31936 (PModule::rule): Likewise.
31937
31938 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31939
31940 * configure.ac (CMP): Check if cmp is available explicitly.
31941
31942 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31943
31944 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31945 (target_cpu): New variable.
31946 (pkglibdir): Use target_cpu instead of host_cpu.
31947
31948 * util/i386/pc/grub-install.in (host_cpu): Removed.
31949 (target_cpu): New variable.
31950 (pkglibdir): Use target_cpu instead of host_cpu.
31951
31952 * util/genmoddep.c: Removed.
31953
31954 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31955 instead of GRUB_HOST_SIZEOF_VOID_P.
31956 * kern/dl.c: Likewise.
31957
31958 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31959 ...
31960 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31961 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31962 (GRUB_TARGET_SIZEOF_LONG): ... this.
31963 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31964 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31965 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31966 to ...
31967 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31968 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31969 (GRUB_TARGET_SIZEOF_LONG): ... this.
31970 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31971 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31972 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31973 to ...
31974 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31975 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31976 (GRUB_TARGET_SIZEOF_LONG): ... this.
31977 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31978 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31979
31980 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31981 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31982 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31983 instead of GRUB_HOST_SIZEOF_LONG.
31984 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31985 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31986 GRUB_CPU_WORDS_BIGENDIAN.
31987 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31988 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31989 grub_host_ssize_t.
31990
31991 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31992 (genmoddep_SOURCES): Likewise.
31993 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31994 (genmoddep_SOURCES): Likewise.
31995 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31996 (genmoddep_SOURCES): Likewise.
31997 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31998 Likewise.
31999 (genmoddep_SOURCES): Likewise.
32000
32001 * genmoddep.awk: New file.
32002
32003 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32004 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32005 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32006 (PModule::rule): Likewise.
32007 (Program::rule): Likewise.
32008 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32009 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32010 respectively.
32011
32012 * configure.ac: Rewritten intensively to use host and target
32013 instead of build and host, respectively.
32014
32015 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32016 (host_cpu): Removed.
32017 (target_cpu): New variable.
32018 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32019 (BUILD_CC): Removed.
32020 (BUILD_CFLAGS): Likewise.
32021 (BUILD_CPPFLAGS): Likewise.
32022 (TARGET_CC): New variable.
32023 (TARGET_CFLAGS): Likewise.
32024 (TARGET_CPPFLAGS): Likewise.
32025 (TARGET_LDFLAGS): Likewise.
32026 (AWK): Likewise.
32027 (include): Use target_cpu instead of host_cpu.
32028 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
32029
32030 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32031
32032 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32033
32034 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32035 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32036 field 'false' to 'exec_on_false'.
32037 (grub_script_create_cmdif): Renamed argument names to reflect above
32038 changes.
32039
32040 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32041
32042 * normal/script.c (grub_script_create_cmdif): Likewise.
32043
32044 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32045
32046 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32047 top.
32048 (grub_hfsplus_btree_recptr): Likewise.
32049 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32050 FILEBLOCK both to pass a block number and store next block
32051 number.
32052 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32053 overflow file correctly. Specify errors appropriately, because
32054 fshelp expects that GRUB_ERRNO is set when fails. Reuse
32055 grub_hfsplus_btree_recptr to get the pointer to a found key.
32056 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
32057 is found.
32058
32059 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
32060 linux.mod.
32061 (_linux_mod_SOURCES): New variable.
32062 (_linux_mod_CFLAGS): Likewise.
32063 (_linux_mod_LDFLAGS): Likewise.
32064 (linux_mod_SOURCES): Likewise.
32065 (linux_mod_CFLAGS): Likewise.
32066 (linux_mod_LDFLAGS): Likewise.
32067
32068 * DISTLIST: Added loader/i386/efi/linux.c,
32069 loader/i386/efi/linux_normal.c and
32070 include/grub/i386/efi/loader.h.
32071
32072 * loader/i386/efi/linux.c: New file.
32073 * loader/i386/efi/linux_normal.c: Likewise.
32074 * include/grub/i386/efi/loader.h: Likewise.
32075
32076 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
32077
32078 * commands/blocklist.c: New file.
32079
32080 * DISTLIST: Added commands/blocklist.c.
32081
32082 * term/efi/console.c (grub_console_highlight_color): Use a lighter
32083 color for the background, and a darker color for the foreground.
32084 (grub_console_checkkey): Return READ_KEY.
32085 (grub_console_cls): Set the background to
32086 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
32087
32088 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
32089
32090 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
32091 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
32092
32093 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
32094 prototype.
32095
32096 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
32097 BG. The spec is wrong again.
32098
32099 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
32100 prototype.
32101 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
32102
32103 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32104 commands/blocklist.c.
32105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32106
32107 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
32108 (blocklist_mod_SOURCES): New variable.
32109 (blocklist_mod_CFLAGS): Likewise.
32110 (blocklist_mod_LDFLAGS): Likewise.
32111
32112 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
32113
32114 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
32115 duplication.
32116 (lba_mode): Use %eax more intensively to reduce the code size.
32117
32118 2006-05-20 Marco Gerards <marco@gnu.org>
32119
32120 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
32121
32122 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
32123 for `menuentry'.
32124 (script): Accept leading newlines.
32125 (newlines): New rule to describe 0 or more newlines.
32126 (commands): Accept `command' with trailing newline. Fixed the
32127 order in which arguments were passed to `grub_script_add_cmd'.
32128 Accept commands separated by newlines.
32129 (function): Changed to accept newlines.
32130 (menuentry) Rewritten.
32131
32132 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
32133 front of the list, instead of to the end.
32134
32135 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
32136
32137 * util/i386/pc/grub-install.in (bindir): New variable.
32138 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
32139 Shaver <lbgwjl@gmail.com>.
32140
32141 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
32142
32143 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
32144 grub/machine/linux.h
32145 * loader/i386/pc/linux.c: Likewise.
32146
32147 * include/grub/i386/pc/linux.h: Moved to ...
32148 * include/grub/i386/linux.h: ... here.
32149
32150 * include/grub/i386/linux.h (struct linux_kernel_params): New
32151 struct.
32152
32153 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
32154
32155 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
32156 checking.
32157 (grub_video_vbe_blit_glyph): Likewise.
32158 (grub_video_vbe_blit_bitmap): Likewise.
32159 (grub_video_vbe_blit_render_target): Likewise.
32160
32161 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
32162
32163 * configure.ac (--with-platform): Properly quote the square
32164 brackets.
32165
32166 2006-05-08 Marco Gerards <marco@gnu.org>
32167
32168 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
32169 this...
32170 (kernel_elf_HEADERS): ...to this. Updated all users.
32171 (grubof_symlist.c): Renamed from this...
32172 (kernel_elf_symlist.c): ...to this. Updated all users.
32173 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32174 (grubof_SOURCES): Renamed from this...
32175 (kernel_elf_SOURCES): ...to this.
32176 (grubof_HEADERS): Renamed from this...
32177 (kernel_elf_HEADERS): ...to this.
32178 (grubof_CFLAGS): Renamed from this...
32179 (kernel_elf_CFLAGS): ...to this.
32180 (grubof_ASFLAGS): Renamed from this...
32181 (kernel_elf_ASFLAGS): ...to this.
32182 (grubof_LDFLAGS): Renamed from this...
32183 (kernel_elf_LDFLAGS): ...to this.
32184
32185 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
32186 this...
32187 (kernel_elf_HEADERS): ...to this. Updated all users.
32188 (grubof_symlist.c): Renamed from this...
32189 (kernel_elf_symlist.c): ...to this. Updated all users.
32190 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32191 (grubof_SOURCES): Renamed from this...
32192 (kernel_elf_SOURCES): ...to this.
32193 (grubof_HEADERS): Renamed from this...
32194 (kernel_elf_HEADERS): ...to this.
32195 (grubof_CFLAGS): Renamed from this...
32196 (kernel_elf_CFLAGS): ...to this.
32197 (grubof_ASFLAGS): Renamed from this...
32198 (kernel_elf_ASFLAGS): ...to this.
32199 (grubof_LDFLAGS): Renamed from this...
32200 (kernel_elf_LDFLAGS): ...to this.
32201
32202 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
32203 `kernel.elf' instead of `grubof'.
32204
32205 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
32206
32207 Add --with-platform to configure. Use pkglibdir instead of
32208 pkgdatadir. This is reported by Roger Leigh.
32209
32210 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
32211 (host_vendor): Likewise.
32212 (host_os): Likewise.
32213 (pkgdatadir): Likewise.
32214 (platform): New variable.
32215 (pkglibdir): Likewise.
32216 Use PKGLIBDIR instead of PKGDATADIR.
32217
32218 * util/i386/pc/grub-install.in (datadir): Removed.
32219 (host_vendor): Likewise.
32220 (host_os): Likewise.
32221 (pkgdatadir): Likewise.
32222 (platform): New variable.
32223 (pkglibdir): Likewise.
32224 Use PKGLIBDIR instead of PKGDATADIR.
32225
32226 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
32227 instead of GRUB_DATADIR.
32228 (main): Likewise.
32229 * util/i386/pc/grub-mkimage.c (usage): Likewise.
32230 (main): Likewise.
32231 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32232 (main): Likewise.
32233
32234 * configure.ac (--with-platform): New option.
32235 Use PLATFORM instead of HOST_VENDOR to specify a platform.
32236
32237 * Makefile.in: Include a makefile based on PLATFORM instead of
32238 HOST_VENDOR.
32239 (pkgdatadir): Not appended by the machine type.
32240 (pkglibdir): Appended by the machine type.
32241 (host_vendor): Removed.
32242 (platform): New variable.
32243 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
32244 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
32245 (uninstall): Likewise.
32246
32247 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
32248
32249 Use the environment context in the menu. Remove the commands
32250 "default" and "timeout", and use variables instead.
32251
32252 * normal/menu.c: Include grub/env.h.
32253 (print_entry): Cast TITLE to silence gcc.
32254 (get_timeout): New function.
32255 (set_timeout): Likewise.
32256 (get_entry_number): Likewise.
32257 (run_menu): Use a default entry, a fallback entry and a timeout
32258 in the environment variables "default", "fallback" and
32259 "timeout". Also, tweak the default entry if it is not within the
32260 current menu entries.
32261 (grub_menu_run): Use a fallback entry in the environment variable
32262 "fallback".
32263
32264 * normal/main.c (read_config_file): Do not initialize
32265 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
32266 NEWMENU->TIMEOUT.
32267 (grub_normal_execute): Use a data slot to store the menu.
32268
32269 * include/grub/normal.h (struct grub_menu): Removed default_entry,
32270 fallback_entry and timeout.
32271 (struct grub_menu_list): Removed.
32272 (grub_menu_list_t): Likewise.
32273 (struct grub_context): Likewise.
32274 (grub_context_t): Likewise.
32275 (grub_context_get): Likewise.
32276 (grub_context_get_current_menu): Likewise.
32277 (grub_context_push_menu): Likewise.
32278 (grub_context_pop_menu): Likewise.
32279 (grub_default_init): Likewise.
32280 (grub_default_fini): Likewise.
32281 (grub_timeout_init): Likewise.
32282 (grub_timeout_fini): Likewise.
32283
32284 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
32285 and timeout.mod.
32286 (normal_mod_SOURCES): Removed normal/context.c.
32287
32288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
32289 commands/default.c, commands/timeout.c and normal/context.c.
32290 (normal_mod_SOURCES): Removed normal/context.c.
32291
32292 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
32293 commands/timeout.c and normal/context.c.
32294 (normal_mod_SOURCES): Removed normal/context.c.
32295
32296 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
32297 commands/default.c, commands/timeout.c and normal/context.c.
32298 (normal_mod_SOURCES): Removed normal/context.c.
32299
32300 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
32301 timeout.mod.
32302 (default_mod_SOURCES): Removed.
32303 (default_mod_CFLAGS): Likewise.
32304 (default_mod_LDFLAGS): Likewise.
32305 (timeout_mod_SOURCES): Removed.
32306 (timeout_mod_CFLAGS): Likewise.
32307 (timeout_mod_LDFLAGS): Likewise.
32308
32309 * DISTLIST: Removed commands/default.c, commands/timeout.c and
32310 normal/context.c.
32311
32312 * commands/default.c: Removed.
32313 * commands/timeout.c: Likewise.
32314 * normal/context.c: Likewise.
32315
32316 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
32317
32318 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
32319
32320 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
32321
32322 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
32323 "next" to "prev" for readability.
32324 (struct grub_env_sorted_var): New struct.
32325 (grub_env_context): Renamed to ...
32326 (initial_context): ... this.
32327 (grub_env_var_context): Renamed to ...
32328 (current_context): ... this.
32329 (grub_env_find): Look only at CURRENT_CONTEXT.
32330 (grub_env_context_open): Rewritten to copy exported variables from
32331 previous context.
32332 (grub_env_context_close): Rewritten according to the new
32333 scheme. Also, add an assertion to prevent the initial context from
32334 removed.
32335 (grub_env_insert): Removed the code for the sorted list.
32336 (grub_env_remove): Likewise.
32337 (grub_env_export): Simply mark the variable with
32338 GRUB_ENV_VAR_GLOBAL.
32339 (grub_env_set): A cosmetic change for naming consistency.
32340 (grub_env_get): Likewise.
32341 (grub_env_unset): Likewise.
32342 (grub_env_iterate): Rewritten to sort variables within this
32343 function.
32344 (grub_register_variable_hook): Fixed for naming consistency. Call
32345 grub_env_find again, only if NAME is not found at the first time.
32346 (mangle_data_slot_name): New function.
32347 (grub_env_set_data_slot): Likewise.
32348 (grub_env_get_data_slot): Likewise.
32349 (grub_env_unset_data_slot): Likewise.
32350
32351 * include/grub/env.h (grub_env_var_type): New enum.
32352 (GRUB_ENV_VAR_LOCAL): New constant.
32353 (GRUB_ENV_VAR_GLOBAL): Likewise.
32354 (GRUB_ENV_VAR_DATA): Likewise.
32355 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32356 "type".
32357 (grub_env_set): Replace VAR with NAME for consistency.
32358 (grub_register_variable_hook): Likewise.
32359 (grub_env_export): Specify the name of the argument.
32360 (grub_env_set_data_slot): New prototype.
32361 (grub_env_get_data_slot): Likewise.
32362 (grub_env_unset_data_slot): Likewise.
32363
32364 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32365
32366 Extend the loader so that GRUB can accept a loader which comes
32367 back to GRUB when a loaded image exits. Also, this change adds
32368 support for a chainloader on EFI.
32369
32370 * term/efi/console.c: Include grub/misc.h.
32371 (grub_console_checkkey): Display a scan code on the top for
32372 debugging. This will be removed once the EFI port gets stable.
32373 Correct the scan code mapping.
32374
32375 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32376 allocate memory from larger regions, in order to reduce the number
32377 of allocated regions. Otherwise, the MacOSX loader panics.
32378 (filter_memory_map): Avoid less than 1MB for compatibility with
32379 other loaders.
32380 (add_memory_regions): Allocate from the tail of a region, if
32381 possible, to avoid allocating a region near to 1MB, for the MacOSX
32382 loader.
32383
32384 * kern/efi/init.c (grub_efi_set_prefix): Specify
32385 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32386
32387 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32388 argument IMAGE_HANDLE and specify it to get a loaded image.
32389 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32390 grub_efi_get_loaded_image.
32391 (grub_efi_get_filename): Divide the length by the size of
32392 grub_efi_char16_t.
32393 (grub_efi_get_device_path): New function.
32394 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32395 the length by the size of grub_efi_char16_t for a file path device
32396 path node.
32397
32398 * kern/loader.c (grub_loader_noreturn): New variable.
32399 (grub_loader_set): Accept a new argument NORETURN. Set
32400 GRUB_LOADER_NORETURN to NORETURN.
32401 All callers changed.
32402 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32403 grub_machine_fini.
32404
32405 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32406 prototype.
32407 (grub_efi_get_loaded_image): Take an argument to specify an image
32408 handle.
32409
32410 * include/grub/loader.h (grub_loader_set): Added one more argument
32411 NORETURN.
32412
32413 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32414 instead of grub_efi_open_protocol.
32415 (grub_efidisk_get_device_name): Likewise.
32416 (grub_efidisk_close): Print a newline.
32417 (grub_efidisk_get_device_handle): Fixed to use
32418 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32419 GRUB_EFI_DEVICE_PATH_TYPE.
32420
32421 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32422 * kern/efi/efi.c (device_path_guid): ... here.
32423
32424 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32425 chain.mod.
32426 (kernel_mod_HEADERS): Added efi/disk.h.
32427 (_chain_mod_SOURCES): New variable.
32428 (_chain_mod_CFLAGS): Likewise.
32429 (_chain_mod_LDFLAGS): Likewise.
32430 (chain_mod_SOURCES): Likewise.
32431 (chain_mod_CFLAGS): Likewise.
32432 (chain_mod_LDFLAGS): Likewise.
32433
32434 * DISTLIST: Added include/grub/efi/chainloader.h,
32435 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32436
32437 * include/grub/efi/chainloader.h: New file.
32438 * loader/efi/chainloader.c: Likewise.
32439 * loader/efi/chainloader_normal.c: Likewise.
32440
32441 2006-04-30 Marco Gerards <marco@gnu.org>
32442
32443 * commands/configfile.c (grub_cmd_source): New function.
32444 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32445 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32446
32447 2006-04-30 Marco Gerards <marco@gnu.org>
32448
32449 * normal/execute.c (grub_script_execute_cmd): Change the return
32450 type to `grub_err_t'. Correctly return the error.
32451 (grub_script_execute_cmdline): In case a command line is not a
32452 command or a function, try to interpret it as an assignment.
32453
32454 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32455
32456 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32457 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32458 skip a node whose name is obviously invalid as UTF-16,
32459 i.e. contains a NUL character. Stop the iteration when the last
32460 directory entry is found. Instead of using the return value of
32461 grub_hfsplus_btree_iterate_node, store the value in RET and use
32462 it, because the iterator can be stopped by the last directory
32463 entry.
32464
32465 2006-04-30 Marco Gerards <marco@gnu.org>
32466
32467 * include/grub/env.h (grub_env_export): New prototype. Reported
32468 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32469
32470 2006-04-30 Marco Gerards <marco@gnu.org>
32471
32472 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32473 size of the extents in a catalog file record.
32474
32475 2006-04-29 Marco Gerards <marco@gnu.org>
32476
32477 * commands/configfile.c (grub_cmd_configfile): Execute the
32478 configfile within its own context.
32479
32480 * include/grub/env.h (grub_env_context_open): New prototype.
32481 (grub_env_context_close): Likewise.
32482
32483 * kern/env.c (grub_env): Removed.
32484 (grub_env_sorted): Likewise.
32485 (grub_env_context): New variable.
32486 (grub_env_var_context): Likewise.
32487 (grub_env_find): Search both the active context and the global
32488 context.
32489 (grub_env_context_open): New function.
32490 (grub_env_context_close): Likewise.
32491 (grub_env_insert): Likewise.
32492 (grub_env_remove): Likewise.
32493 (grub_env_export): Likewise.
32494 (grub_env_set): Changed to use helper functions to avoid code
32495 duplication.
32496 (grub_env_iterate): Rewritten so both the current context and the
32497 global context are being used.
32498
32499 * normal/command.c (export_command): New function.
32500 (grub_command_init): Register the `export' function.
32501
32502 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32503
32504 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32505 explicitly to suppress gcc's warnings.
32506 * fs/fat.c (grub_fat_find_dir): Likewise.
32507 (grub_fat_label): Likewise.
32508 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32509 (grub_xfs_mount): Likewise.
32510 (grub_xfs_label): Likewise.
32511 * fs/affs.c (grub_affs_mount): Likewise.
32512 (grub_affs_label): Likewise.
32513 (grub_affs_iterate_dir): Likewise.
32514 * fs/sfs.c (grub_sfs_mount): Likewise.
32515 (grub_sfs_iterate_dir): Likewise.
32516 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32517 * fs/hfs.c (grub_hfs_mount): Likewise.
32518 (grub_hfs_cmp_catkeys): Likewise.
32519 (grub_hfs_find_dir): Likewise.
32520 (grub_hfs_dir): Likewise.
32521 (grub_hfs_label): Likewise.
32522 * fs/jfs.c (grub_jfs_mount): Likewise.
32523 (grub_jfs_opendir): Likewise.
32524 (grub_jfs_getent): Likewise.
32525 (grub_jfs_lookup_symlink): Likewise.
32526 (grub_jfs_label): Likewise.
32527 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32528 (grub_hfsplus_iterate_dir): Likewise.
32529 (grub_hfsplus_btree_iterate_node): Made static.
32530
32531 * util/grub-emu.c (prefix): New variable.
32532 (grub_machine_set_prefix): New function.
32533 (main): Do not set the environment variable "prefix" here. Only
32534 set PREFIX, which is used later by grub_machine_set_prefix.
32535
32536 * include/grub/video.h: Do not include grub/symbol.h.
32537 (grub_video_register): Not exported. This symbol is not defined in
32538 the kernel.
32539 (grub_video_unregister): Likewise.
32540 (grub_video_iterate): Likewise.
32541 (grub_video_setup): Likewise.
32542 (grub_video_restore): Likewise.
32543 (grub_video_get_info): Likewise.
32544 (grub_video_get_blit_format): Likewise.
32545 (grub_video_set_palette): Likewise.
32546 (grub_video_get_palette): Likewise.
32547 (grub_video_set_viewport): Likewise.
32548 (grub_video_get_viewport): Likewise.
32549 (grub_video_map_color): Likewise.
32550 (grub_video_map_rgb): Likewise.
32551 (grub_video_map_rgba): Likewise.
32552 (grub_video_fill_rect): Likewise.
32553 (grub_video_blit_glyph): Likewise.
32554 (grub_video_blit_bitmap): Likewise.
32555 (grub_video_blit_render_target): Likewise.
32556 (grub_video_scroll): Likewise.
32557 (grub_video_swap_buffers): Likewise.
32558 (grub_video_create_render_target): Likewise.
32559 (grub_video_delete_render_target): Likewise.
32560 (grub_video_set_active_render_target): Likewise.
32561
32562 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32563 Undefined.
32564 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32565
32566 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32567 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32568 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32569 instead of $(srcdir)/genkernsyms.sh.
32570
32571 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32572 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32573 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32574 instead of $(srcdir)/genkernsyms.sh.
32575
32576 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32577 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32578 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32579 instead of $(srcdir)/genkernsyms.sh.
32580
32581 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32582 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32583 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32584 instead of $(srcdir)/genkernsyms.sh.
32585
32586 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32587 genkernsyms.sh.
32588
32589 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32590 genkernsyms.sh.
32591 (gensymlist.sh): New target.
32592 (genkernsyms.sh): Likewise.
32593
32594 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32595 genkernsyms.sh.in and gensymlist.sh.in.
32596
32597 * genkernsyms.sh: Removed.
32598 * gensymlist.sh: Likewise.
32599
32600 * genkernsyms.sh.in: New file.
32601 * gensymlist.sh.in: Likewise.
32602
32603 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32604
32605 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32606 clobber "prefix", since we may have already set it manually.
32607
32608 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32609
32610 * kern/misc.c (abort): New alias for grub_abort.
32611
32612 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32613
32614 A new machine-specific function "grub_machine_set_prefix" is
32615 defined. This is called after loading modules, so that a prefix
32616 initialization can use modules. Also, this change adds an
32617 intensive debugging feature for the memory manager via the
32618 configure option "--enable-mm-debug".
32619
32620 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32621 PART.LEN.
32622
32623 * kern/sparc64/ieee1275/init.c (abort): Removed.
32624 (grub_stop): Likewise.
32625 (grub_exit): New function.
32626 (grub_set_prefix): Renamed to ...
32627 (grub_machine_set_prefix): ... this.
32628 (grub_machine_init): Do not call grub_set_prefix.
32629
32630 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32631 (grub_machine_set_prefix): ... this.
32632 (grub_machine_init): Do not call grub_set_prefix.
32633
32634 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32635 (grub_machine_init): Do not set the prefix here.
32636
32637 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32638
32639 * kern/efi/init.c: Include grub/mm.h.
32640 (grub_efi_set_prefix): New function.
32641
32642 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32643 (grub_efi_get_filename): New function.
32644 (grub_print_device_path): Renamed to ...
32645 (grub_efi_print_device_path): ... this.
32646
32647 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32648 [MM_DEBUG] (grub_realloc): Likewise.
32649 [MM_DEBUG] (grub_free): Likewise.
32650 [MM_DEBUG] (grub_memalign): Likewise.
32651 [MM_DEBUG] (grub_mm_debug): New variable.
32652 [MM_DEBUG] (grub_debug_malloc): New function.
32653 [MM_DEBUG] (grub_debug_free): New function.
32654 [MM_DEBUG] (grub_debug_realloc): New function.
32655 [MM_DEBUG] (grub_debug_memalign): New function.
32656
32657 * kern/misc.c (grub_abort): Print a newline to distinguish
32658 the message.
32659
32660 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32661 grub_set_root_dev after loading modules. This is necessary when
32662 setting a prefix depends on modules.
32663
32664 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32665 (grub_efi_print_device_path): ... this.
32666 (grub_efi_get_filename): New prototype.
32667 (grub_efi_set_prefix): Likewise.
32668
32669 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32670 and grub/disk.h.
32671 (grub_efidisk_get_device_handle): New prototype.
32672 (grub_efidisk_get_device_name): Likewise.
32673
32674 * include/grub/mm.h: Include config.h.
32675 (MM_DEBUG): Removed.
32676 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32677 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32678 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32679 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32680 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32681 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32682 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32683 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32684 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32685
32686 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32687
32688 * disk/efi/efidisk.c: Include grub/partition.h.
32689 (iterate_child_devices): New function.
32690 (add_device): First, compare only last device path nodes, so that
32691 devices are sorted by the types.
32692 (grub_efidisk_get_device_handle): New function.
32693 (grub_efidisk_get_device_name): Likewise.
32694
32695 * configure.ac (--enable-mm-debug): New option to enable the
32696 memory manager debugging feature. This makes the binary much
32697 bigger, so is disabled by default.
32698
32699 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32700
32701 Use grub_abort instead of grub_stop, and grub_exit must be
32702 define in each architecture now. Also, this change adds support
32703 for EFI disks.
32704
32705 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32706 (grub_getkey): New function.
32707 (grub_term_get_current): Likewise.
32708
32709 * util/i386/pc/grub-setup.c: Include grub/term.h.
32710 (grub_getkey): New function.
32711 (grub_term_get_current): Likewise.
32712
32713 * util/misc.c (grub_stop): Renamed to ...
32714 (grub_exit): ... this.
32715
32716 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32717 (grub_exit): ... this.
32718 (grub_machine_init): Use grub_abort instead of abort.
32719 (grub_stop): Removed.
32720
32721 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32722 abort.
32723
32724 * kern/i386/pc/startup.S (grub_exit): New function.
32725 (cold_reboot): New label.
32726
32727 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32728 (grub_efi_init): Call grub_efidisk_init.
32729 (grub_efi_fini): Call grub_efidisk_fini.
32730
32731 * kern/efi/efi.c: Include grub/mm.h.
32732 (grub_efi_console_control_guid): Renamed to ...
32733 (console_control_guid): ... this.
32734 (grub_efi_loaded_image_guid): Renamed to ...
32735 (loaded_image_guid): ... this.
32736 (grub_efi_locate_handle): New function.
32737 (grub_efi_open_protocol): Likewise.
32738 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32739 GRUB_EFI_CONSOLE_CONTROL_GUID.
32740 (grub_efi_exit): Removed.
32741 (grub_stop): Likewise.
32742 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32743 (grub_exit): New function.
32744 (grub_print_device_path): Likewise.
32745
32746 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32747 (grub_enter_rescue_mode): Register "exit".
32748
32749 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32750 (grub_abort): New function.
32751
32752 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32753
32754 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32755
32756 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32757
32758 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32759 (grub_print_device_path): New prototype.
32760 (grub_efi_locate_handle): Likewise.
32761 (grub_efi_open_protocol): Likewise.
32762
32763 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32764 * disk/efi/efidisk.c: Likewise.
32765
32766 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32767
32768 * include/grub/efi/console_control.h
32769 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32770
32771 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32772 last 8 bytes as an array.
32773 (GRUB_EFI_DISK_IO_GUID): New macro.
32774 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32775 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32776 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32777 grub_uint8_t.
32778 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32779 (struct grub_efi_device_path): Rename the member "sub_type" to
32780 "subtype".
32781 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32782 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32783 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32784 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32785 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32786 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32787 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32788 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32789 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32790 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32791 (struct grub_efi_pci_device_path): New structure.
32792 (grub_efi_pci_device_path_t): New type.
32793 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32794 (struct grub_efi_pccard_device_path): New structure.
32795 (grub_efi_pccard_device_path_t): New type.
32796 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32797 (struct grub_efi_memory_mapped_device_path): New structure.
32798 (grub_efi_memory_mapped_device_path_t): New type.
32799 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32800 (struct grub_efi_vendor_device_path): New structure.
32801 (grub_efi_vendor_device_path_t): New type.
32802 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32803 (struct grub_efi_controller_device_path): New structure.
32804 (grub_efi_controller_device_path_t): New type.
32805 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32806 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32807 (struct grub_efi_acpi_device_path): New structure.
32808 (grub_efi_acpi_device_path_t): New type.
32809 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32810 (struct grub_efi_expanded_acpi_device_path): New structure.
32811 (grub_efi_expanded_acpi_device_path_t): New type.
32812 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32813 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32814 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32815 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32816 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32817 (struct grub_efi_atapi_device_path): New structure.
32818 (grub_efi_atapi_device_path_t): New type.
32819 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32820 (struct grub_efi_fibre_channel_device_path): New structure.
32821 (grub_efi_fibre_channel_device_path_t): New type.
32822 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32823 (struct grub_efi_1394_device_path): New structure.
32824 (grub_efi_1394_device_path_t): New type.
32825 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32826 (struct grub_efi_usb_device_path): New structure.
32827 (grub_efi_usb_device_path_t): New type.
32828 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32829 (struct grub_efi_usb_class_device_path): New structure.
32830 (grub_efi_usb_class_device_path_t): New type.
32831 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32832 (struct grub_efi_i2o_device_path): New structure.
32833 (grub_efi_i2o_device_path_t): New type.
32834 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32835 (struct grub_efi_mac_address_device_path): New structure.
32836 (grub_efi_mac_address_device_path_t): New type.
32837 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32838 (struct grub_efi_ipv4_device_path): New structure.
32839 (grub_efi_ipv4_device_path_t): New type.
32840 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32841 (struct grub_efi_ipv6_device_path): New structure.
32842 (grub_efi_ipv6_device_path_t): New type.
32843 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32844 (struct grub_efi_infiniband_device_path): New structure.
32845 (grub_efi_infiniband_device_path_t): New type.
32846 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32847 (struct grub_efi_uart_device_path): New structure.
32848 (grub_efi_uart_device_path_t): New type.
32849 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32850 (struct grub_efi_vendor_messaging_device_path): New structure.
32851 (grub_efi_vendor_messaging_device_path_t): New type.
32852 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32853 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32854 (struct grub_efi_hard_drive_device_path): New structure.
32855 (grub_efi_hard_drive_device_path_t): New type.
32856 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32857 (struct grub_efi_cdrom_device_path): New structure.
32858 (grub_efi_cdrom_device_path_t): New type.
32859 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32860 (struct grub_efi_vendor_media_device_path): New structure.
32861 (grub_efi_vendor_media_device_path_t): New type.
32862 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32863 (struct grub_efi_file_path_device_path): New structure.
32864 (grub_efi_file_path_device_path_t): New type.
32865 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32866 (struct grub_efi_protocol_device_path): New structure.
32867 (grub_efi_protocol_device_path_t): New type.
32868 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32869 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32870 (struct grub_efi_bios_device_path): New structure.
32871 (grub_efi_bios_device_path_t): New type.
32872 (struct grub_efi_disk_io): New structure.
32873 (grub_efi_disk_io_t): New type.
32874 (struct grub_efi_block_io_media): New structure.
32875 (grub_efi_block_io_media_t): New type.
32876 (struct grub_efi_block_io): New structure.
32877 (grub_efi_block_io_t): New type.
32878
32879 * include/grub/misc.h (grub_stop): Removed.
32880 (grub_exit): New prototype.
32881 (grub_abort): Likewise.
32882
32883 * include/grub/disk.h (enum grub_disk_dev_id): Added
32884 GRUB_DISK_DEVICE_EFIDISK_ID.
32885
32886 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32887 disk/efi/efidisk.c.
32888 (kernel_syms.lst): Remove the target if an error occurs.
32889
32890 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32891
32892 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32893 as it was simply too buggy.
32894
32895 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32896
32897 * kern/misc.c (grub_lltoa): New function.
32898 (grub_vsprintf): Added support for the long long suffix,
32899 i.e. "ll".
32900
32901 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32902
32903 * Makefile.in (LDFLAGS): Add variable.
32904 (LD): Remove variable.
32905 * configure.ac: Add -m32 to LDFLAGS.
32906 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32907 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32908 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32909 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32910 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32911 variables.
32912 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32913 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32914 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32915
32916 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32917
32918 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32919 length for unknown glyph.
32920
32921 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32922
32923 Add support for pre-loaded modules into the EFI port.
32924
32925 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32926 completely. Accept one more argument DIR. The caller has changed.
32927
32928 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32929
32930 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32931 (grub_efi_loaded_image_guid): New variable.
32932 (grub_efi_get_loaded_image): New function.
32933 (grub_arch_modules_addr): Likewise.
32934
32935 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32936 prototype.
32937
32938 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32939 (struct grub_efi_loaded_image): New structure.
32940 (grub_efi_loaded_image_t): New type.
32941
32942 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32943
32944 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32945 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32946 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32947
32948 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32949
32950 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32951
32952 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32953
32954 * DISTLIST: Added include/grub/efi/console.h,
32955 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32956 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32957
32958 * include/grub/efi/console.h: New file.
32959 * include/grub/efi/time.h: Likewise.
32960 * include/grub/i386/efi/kernel.h: Likewise.
32961 * kern/efi/init.c: Likewise.
32962 * kern/efi/mm.c: Likewise.
32963 * term/efi/console.c: Likewise.
32964
32965 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32966 (grub_stop): Removed.
32967 (grub_get_rtc): Likewise.
32968 (grub_machine_init): Simply call grub_efi_init.
32969 (grub_machine_fini): Call grub_efi_fini.
32970
32971 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32972 (grub_efi_output_string): Removed.
32973 (grub_efi_stall): New function.
32974 (grub_stop): Likewise.
32975 (grub_get_rtc): Likewise.
32976
32977 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32978 (grub_efi_stall): New prototype.
32979 (grub_efi_allocate_pages): Likewise.
32980 (grub_efi_free_pages): Likewise.
32981 (grub_efi_get_memory_map): Likewise.
32982 (grub_efi_mm_init): Likewise.
32983 (grub_efi_mm_fini): Likewise.
32984 (grub_efi_init): Likewise.
32985 (grub_efi_fini): Likewise.
32986
32987 * include/grub/i386/efi/time.h: Do not include
32988 grub/symbol.h. Include grub/efi/time.h.
32989 (GRUB_TICKS_PER_SECOND): Removed.
32990 (grub_get_rtc): Likewise.
32991
32992 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32993 Added padding. The EFI spec is buggy.
32994 (GRUB_EFI_BLACK): New macro.
32995 (GRUB_EFI_BLUE): Likewise.
32996 (GRUB_EFI_GREEN): Likewise.
32997 (GRUB_EFI_CYAN): Likewise.
32998 (GRUB_EFI_RED): Likewise.
32999 (GRUB_EFI_MAGENTA): Likewise.
33000 (GRUB_EFI_BROWN): Likewise.
33001 (GRUB_EFI_LIGHTGRAY): Likewise.
33002 (GRUB_EFI_BRIGHT): Likewise.
33003 (GRUB_EFI_DARKGRAY): Likewise.
33004 (GRUB_EFI_LIGHTBLUE): Likewise.
33005 (GRUB_EFI_LIGHTGREEN): Likewise.
33006 (GRUB_EFI_LIGHTCYAN): Likewise.
33007 (GRUB_EFI_LIGHTRED): Likewise.
33008 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33009 (GRUB_EFI_YELLOW): Likewise.
33010 (GRUB_EFI_WHITE): Likewise.
33011 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33012 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33013 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33014 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33015 (GRUB_EFI_BACKGROUND_RED): Likewise.
33016 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33017 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33018 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33019 (GRUB_EFI_TEXT_ATTR): Likewise.
33020
33021 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33022 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33023 (kernel_mod_HEADERS): Added efi/time.h.
33024
33025 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33026
33027 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33028 include/grub/efi/api.h, include/grub/efi/console_control.h,
33029 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33030 include/grub/i386/efi/time.h, kern/efi/efi.c,
33031 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33032 and util/i386/efi/grub-mkimage.c.
33033
33034 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33035
33036 * genmk.rb (PModule#rule): Do not export symbols if
33037 #{prefix}_EXPORTS is set to "no".
33038
33039 * conf/i386-efi.mk: New file.
33040 * conf/i386-efi.rmk: Likewise.
33041 * include/grub/efi/api.h: Likewise.
33042 * include/grub/efi/console_control.h: Likewise.
33043 * include/grub/efi/efi.h: Likewise.
33044 * include/grub/efi/pe32.h: Likewise.
33045 * include/grub/i386/efi/time.h: Likewise.
33046 * kern/efi/efi.c: Likewise.
33047 * kern/i386/efi/init.c: Likewise.
33048 * kern/i386/efi/startup.S: Likewise.
33049 * util/i386/efi/grub-mkimage.c: Likewise.
33050
33051 2006-04-17 Marco Gerards <marco@gnu.org>
33052
33053 * include/grub/script.h: Include <grub/parser.h> and
33054 "grub_script.tab.h".
33055 (struct grub_lexer_param): New struct.
33056 (struct grub_parser_param): Likewise.
33057 (grub_script_create_arglist): Pass the state in an argument.
33058 (grub_script_add_arglist): Likewise.
33059 (grub_script_create_cmdline): Likewise.
33060 (grub_script_create_cmdblock): Likewise.
33061 (grub_script_create_cmdif): Likewise.
33062 (grub_script_create_cmdmenu): Likewise.
33063 (grub_script_add_cmd): Likewise.
33064 (grub_script_arg_add): Likewise.
33065 (grub_script_lexer_ref): Likewise.
33066 (grub_script_lexer_deref): Likewise.
33067 (grub_script_lexer_record_start): Likewise.
33068 (grub_script_lexer_record_stop): Likewise.
33069 (grub_script_mem_record): Likewise.
33070 (grub_script_mem_record_stop): Likewise.
33071 (grub_script_malloc): Likewise.
33072 (grub_script_yylex): Likewise.
33073 (grub_script_yyparse): Likewise.
33074 (grub_script_yyerror): Likewise.
33075 (grub_script_yylex): Likewise.
33076 (grub_script_lexer_init): Return the state.
33077
33078 * normal/lexer.c (grub_script_lexer_state): Removed variable.
33079 (grub_script_lexer_done): Likewise.
33080 (grub_script_lexer_getline): Likewise.
33081 (grub_script_lexer_refs): Likewise.
33082 (script): Likewise.
33083 (newscript): Likewise.
33084 (record): Likewise.
33085 (recording): Likewise.
33086 (recordpos): Likewise.
33087 (recordlen): Likewise.
33088 (grub_script_lexer_init): Return the state instead of setting
33089 global variables.
33090 (grub_script_lexer_ref): Use the newly added argument for state
33091 instead of globals.
33092 (grub_script_lexer_deref): Likewise.
33093 (grub_script_lexer_record_start): Likewise.
33094 (grub_script_lexer_record_stop): Likewise.
33095 (recordchar): Likewise.
33096 (nextchar): Likewise.
33097 (grub_script_yylex2): Likewise.
33098 (grub_script_yylex): Likewise.
33099 (grub_script_yyerror): Likewise.
33100
33101 * normal/parser.y (func_mem): Removed variable.
33102 (menu_entry): Likewise.
33103 (err): Likewise.
33104 (%lex-param): New parser option.
33105 (%parse-param): Likewise.
33106 (script): Always return the AST.
33107 (argument): Pass the state around.
33108 (arguments): Likewise.
33109 (grubcmd): Likewise.
33110 (commands): Likewise.
33111 (function): Likewise.
33112 (menuentry): Likewise.
33113 (if_statement): Likewise.
33114 (if): Likewise.
33115
33116 * normal/script.c (grub_script_memused): Removed variable.
33117 (grub_script_parsed): Likewise.
33118 (grub_script_malloc): Added a state argument. Use that instead of
33119 global variables.
33120 (grub_script_mem_record): Likewise.
33121 (grub_script_mem_record_stop): Likewise.
33122 (grub_script_arg_add): Likewise.
33123 (grub_script_add_arglist): Likewise.
33124 (grub_script_create_cmdline): Likewise.
33125 (grub_script_create_cmdif): Likewise.
33126 (grub_script_create_cmdmenu): Likewise.
33127 (grub_script_add_cmd): Likewise.
33128 (grub_script_parse): Setup the state before calling the parser.
33129
33130 2006-04-16 Marco Gerards <marco@gnu.org>
33131
33132 * normal/command.c (grub_command_init): Remove the title command.
33133
33134 * normal/lexer.c (grub_script_yylex): Renamed from this...
33135 (grub_script_yylex2): ... to this.
33136 (grub_script_yylex): New function. Temporary
33137 introduced to filter some tokens.
33138 (grub_script_yyerror): Print a newline.
33139
33140 * normal/main.c (read_config_file): Output information about the
33141 lines that contain errors. Wait for a key after all lines have
33142 been processed. Don't return an empty menu.
33143
33144 * normal/parser.y (func_mem): Don't initialize.
33145 (menu_entry): Likewise.
33146 (err): New variable.
33147 (script): Don't return anything when an error was encountered.
33148 (ws, returns): Removed rules.
33149 (argument): Disabled concatenated variable support.
33150 (arguments): Remove explicit separators.
33151 (grubcmd): Likewise.
33152 (function): Likewise.
33153 (menuentry): Likewise.
33154 (if): Likewise.
33155 (commands): Likewise. Add error handling.
33156
33157 * normal/script.c (grub_script_create_cmdline): If
33158 `grub_script_parsed' is 0, assume the parser encountered an error.
33159
33160 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
33161
33162 * configure.ac: Add support for EFI. Fix the typo
33163 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
33164
33165 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33166
33167 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
33168 foreign multibyte characters should be shown correctly.
33169
33170 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33171
33172 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
33173 calculation.
33174 (read_config_file): Made it to close file before returning.
33175
33176 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
33177
33178 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
33179 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
33180 video/i386/pc/vbefill.c.
33181
33182 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
33183 video/i386/pc/vbefill.c.
33184
33185 * include/grub/video.h (grub_video_blit_format): New enum.
33186 (grub_video_mode_info): Added new member blit_format.
33187 (grub_video_get_blit_format): New function prototype.
33188
33189 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
33190 function prototype.
33191 (grub_video_vbe_map_rgb): Likewise.
33192 (grub_video_vbe_unmap_color): Likewise.
33193
33194 * include/grub/i386/pc/vbeblit.h: New file.
33195
33196 * include/grub/i386/pc/vbefill.h: New file.
33197
33198 * video/video.c (grub_video_get_blit_format): New function.
33199 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
33200 (grub_video_vbe_map_rgb): Likewise.
33201 (grub_video_vbe_unmap_color): Likewise.
33202
33203 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
33204 optimized fills.
33205 (grub_video_vbe_blit_render_target): Changed to use more optimized
33206 blits.
33207 (grub_video_vbe_setup): Added detection for optimized settings.
33208 (grub_video_vbe_create_render_target): Likewise.
33209
33210 * video/i386/pc/vbeblit.c: New file.
33211
33212 * video/i386/pc/vbefill.c: New file.
33213
33214 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
33215
33216 * font/manager.c (grub_font_get_glyph): Removed font fixup from
33217 here...
33218
33219 * util/unifont2pff.rb: ... and moved it to here. Improved argument
33220 parsing to support both hex and dec ranges. If filename was missing
33221 show usage information.
33222
33223 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
33224
33225 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
33226 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
33227
33228 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
33229 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
33230 (video_mod_SOURCES): Added.
33231 (video_mod_CFLAGS): Likewise.
33232 (video_mod_LDFLAGS): Likewise.
33233 (gfxterm_mod_SOURCES): Likewise.
33234 (gfxterm_mod_CFLAGS): Likewise.
33235 (gfxterm_mod_LDFLAGS): Likewise.
33236 (videotest_mod_SOURCES): Likewise.
33237 (videotest_mod_CFLAGS): Likewise.
33238 (videotest_mod_LDFLAGS): Likewise.
33239 (vesafb_mod_SOURCES): Removed.
33240 (vesafb_mod_CFLAGS): Likewise.
33241 (vesafb_mod_LDFLAGS): Likewise.
33242 (vga_mod_SOURCES): Likewise.
33243 (vga_mod_CFLAGS): Likewise.
33244 (vga_mod_LDFLAGS): Likewise.
33245
33246 * commands/videotest.c: New file.
33247
33248 * font/manager.c (fill_with_default_glyph): Modified to use
33249 grub_font_glyph.
33250 (grub_font_get_glyph): Likewise.
33251 (fontmanager): Renamed from this...
33252 (font_manager): ... to this.
33253
33254 * include/grub/font.h (grub_font_glyph): Added new structure.
33255 (grub_font_get_glyph): Modified to use grub_font_glyph.
33256
33257 * include/grub/misc.h (grub_abs): Added as inline function.
33258
33259 * include/grub/video.h: New file.
33260
33261 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
33262 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
33263 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
33264 (grub_vbe_get_controller_info): Renamed from this...
33265 (grub_vbe_bios_get_controller_info): ... to this.
33266 (grub_vbe_get_mode_info): Renamed from this...
33267 (grub_vbe_bios_get_mode_info): ... to this.
33268 (grub_vbe_set_mode): Renamed from this...
33269 (grub_vbe_bios_set_mode): ... to this.
33270 (grub_vbe_get_mode): Renamed from this...
33271 (grub_vbe_bios_get_mode): ... to this.
33272 (grub_vbe_set_memory_window): Renamed from this...
33273 (grub_vbe_bios_set_memory_window): ... to this.
33274 (grub_vbe_get_memory_window): Renamed from this...
33275 (grub_vbe_bios_get_memory_window): ... to this.
33276 (grub_vbe_set_scanline_length): Renamed from this...
33277 (grub_vbe_set_scanline_length): ... to this.
33278 (grub_vbe_get_scanline_length): Renamed from this...
33279 (grub_vbe_bios_get_scanline_length): ... to this.
33280 (grub_vbe_set_display_start): Renamed from this...
33281 (grub_vbe_bios_set_display_start): ... to this.
33282 (grub_vbe_get_display_start): Renamed from this...
33283 (grub_vbe_bios_get_display_start): ... to this.
33284 (grub_vbe_set_palette_data): Renamed from this...
33285 (grub_vbe_bios_set_palette_data): ... to this.
33286 (grub_vbe_set_pixel_rgb): Removed.
33287 (grub_vbe_set_pixel_index): Likewise.
33288
33289 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
33290 from this...
33291 (grub_vbe_bios_get_controller_info): ... to this.
33292 (grub_vbe_get_mode_info): Renamed from this...
33293 (grub_vbe_bios_get_mode_info): ... to this.
33294 (grub_vbe_set_mode): Renamed from this...
33295 (grub_vbe_bios_set_mode): ... to this.
33296 (grub_vbe_get_mode): Renamed from this...
33297 (grub_vbe_bios_get_mode): ... to this.
33298 (grub_vbe_set_memory_window): Renamed from this...
33299 (grub_vbe_bios_set_memory_window): ... to this.
33300 (grub_vbe_get_memory_window): Renamed from this...
33301 (grub_vbe_bios_get_memory_window): ... to this.
33302 (grub_vbe_set_scanline_length): Renamed from this...
33303 (grub_vbe_set_scanline_length): ... to this.
33304 (grub_vbe_get_scanline_length): Renamed from this...
33305 (grub_vbe_bios_get_scanline_length): ... to this.
33306 (grub_vbe_set_display_start): Renamed from this...
33307 (grub_vbe_bios_set_display_start): ... to this.
33308 (grub_vbe_get_display_start): Renamed from this...
33309 (grub_vbe_bios_get_display_start): ... to this.
33310 (grub_vbe_set_palette_data): Renamed from this...
33311 (grub_vbe_bios_set_palette_data): ... to this.
33312 (grub_vbe_bios_get_controller_info): Fixed problem with registers
33313 getting corrupted after calling it. Added more pushes and pops.
33314 (grub_vbe_bios_set_mode): Likewise.
33315 (grub_vbe_bios_get_mode): Likewise.
33316 (grub_vbe_bios_get_memory_window): Likewise.
33317 (grub_vbe_bios_set_scanline_length): Likewise.
33318 (grub_vbe_bios_get_scanline_length): Likewise.
33319 (grub_vbe_bios_get_display_start): Likewise.
33320 (grub_vbe_bios_set_palette_data): Likewise.
33321
33322 * normal/cmdline.c (cl_set_pos): Refresh the screen.
33323 (cl_insert): Likewise.
33324 (cl_delete): Likewise.
33325
33326 * term/gfxterm.c: New file.
33327
33328 * term/i386/pc/vesafb.c: Removed file.
33329
33330 * video/video.c: New file.
33331
33332 * video/i386/pc/vbe.c (real2pm): Added new function.
33333 (grub_video_vbe_draw_pixel): Likewise.
33334 (grub_video_vbe_get_video_ptr): Likewise.
33335 (grub_video_vbe_get_pixel): Likewise
33336 (grub_video_vbe_init): Likewise.
33337 (grub_video_vbe_fini): Likewise.
33338 (grub_video_vbe_setup): Likewise.
33339 (grub_video_vbe_get_info): Likewise.
33340 (grub_video_vbe_set_palette): Likewise.
33341 (grub_video_vbe_get_palette): Likewise.
33342 (grub_video_vbe_set_viewport): Likewise.
33343 (grub_video_vbe_get_viewport): Likewise.
33344 (grub_video_vbe_map_color): Likewise.
33345 (grub_video_vbe_map_rgb): Likewise.
33346 (grub_video_vbe_map_rgba): Likewise.
33347 (grub_video_vbe_unmap_color): Likewise.
33348 (grub_video_vbe_fill_rect): Likewise.
33349 (grub_video_vbe_blit_glyph): Likewise.
33350 (grub_video_vbe_blit_bitmap): Likewise.
33351 (grub_video_vbe_blit_render_target): Likewise.
33352 (grub_video_vbe_scroll): Likewise.
33353 (grub_video_vbe_swap_buffers): Likewise.
33354 (grub_video_vbe_create_render_target): Likewise.
33355 (grub_video_vbe_delete_render_target): Likewise.
33356 (grub_video_vbe_set_active_render_target): Likewise.
33357 (grub_vbe_set_pixel_rgb): Remove function.
33358 (grub_vbe_set_pixel_index): Likewise.
33359 (index_color_mode): Remove static variable.
33360 (active_mode): Likewise.
33361 (framebuffer): Likewise.
33362 (bytes_per_scan_line): Likewise.
33363 (grub_video_vbe_adapter): Added new static variable.
33364 (framebuffer): Likewise.
33365 (render_target): Likewise.
33366 (initial_mode): Likewise.
33367 (mode_in_use): Likewise.
33368 (mode_list): Likewise.
33369
33370 2006-03-10 Marco Gerards <marco@gnu.org>
33371
33372 * configure.ac (AC_INIT): Bumped to 1.93.
33373
33374 * DISTLIST: Added `include/grub/hfs.h'.
33375
33376 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33377
33378 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33379 18H, which might help the BIOS falling back to next boot media.
33380
33381 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33382
33383 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33384 Poe Chen <poe.poechen@gmail.com>.
33385
33386 2006-01-17 Marco Gerards <marco@gnu.org>
33387
33388 * include/grub/normal.h: Include <grub/script.h>.
33389 (grub_command_list): Removed struct.
33390 (grub_command_list_t): Removed type.
33391 (grub_menu_entry): Remove members `num' and `command_list'. Add
33392 members `commands' and `sourcecode'.
33393 * include/grub/script.h: Add inclusion guards.
33394 (grub_script_cmd_menuentry): New struct.
33395 (grub_script_execute_menuentry): New prototype.
33396 (grub_script_lexer_record_start): Likewise.
33397 (grub_script_lexer_record_stop): Likewise.
33398 * normal/execute.c (grub_script_execute_menuentry): New function.
33399 * normal/lexer.c (record, recording, recordpos, recordlen): New
33400 variables.
33401 (grub_script_lexer_record_start): New function.
33402 (grub_script_lexer_record_stop): Likewise.
33403 (recordchar): Likewise.
33404 (nextchar): Likewise.
33405 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33406 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33407 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33408 (current_menu): New variable.
33409 (free_menu): Mainly rewritten.
33410 (grub_normal_menu_addentry): New function.
33411 (read_config_file): Rewritten.
33412 * normal/menu.c (run_menu_entry): Mainly rewritten.
33413 * normal/menu_entry.c (make_screen): Rewritten the code to insert
33414 the menu entry.
33415 (run): Mainly rewritten.
33416 * normal/parser.y (menu_entry): New variable.
33417 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33418 (menuentry): New rule.
33419 (command): Add `menuentry'.
33420 (if_statement): Allow additional returns before `fi'.
33421 * normal/script.c (grub_script_create_cmdmenu): New function.
33422
33423 2006-01-03 Marco Gerards <marco@gnu.org>
33424
33425 * INSTALL: GNU Bison is required.
33426 * configure.ac: Rewritten the test to detect Bison.
33427 * Makefile.in (YACC): New variable. Reported by Xun Sun
33428 <xun.sun.cn@gmail.com>.
33429
33430 2006-01-03 Marco Gerards <marco@gnu.org>
33431
33432 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33433 the HFS+ filesystem to filesystem blocks.
33434 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33435 GCC warning is silenced.
33436
33437 2006-01-03 Marco Gerards <marco@gnu.org>
33438
33439 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33440 read from disk from big endian to host byte order.
33441
33442 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33443
33444 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33445 documentation.
33446 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33447 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33448 embedded HFS+ filesystem.
33449 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33450 (grub_hfs_sblock): Move from here...
33451 * include/grub/hfs.h: To here... New file.
33452 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33453 documentation.
33454 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33455 New macros.
33456 (grub_hfsplus_volheader): Change type of member `magic' to
33457 `grub_uint16_t'.
33458 (grub_hfsplus_data): Add new member `embedded_offset'.
33459 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33460 returned block.
33461 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33462 Calculate the offset.
33463
33464 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33465
33466 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33467 Removed.
33468 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33469
33470 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33471
33472 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33473 ENV->NAME is NULL after allocating ENV->VALUE.
33474
33475 2005-12-25 Marco Gerards <marco@gnu.org>
33476
33477 * kern/env.c (grub_env_set): Rewritten the error handling code.
33478
33479 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33480
33481 * geninit.sh: Made more robust, and more portable.
33482
33483 2005-12-25 Marco Gerards <marco@gnu.org>
33484
33485 Add support for Apple HFS+ filesystems.
33486
33487 * fs/hfsplus.c: New file.
33488
33489 * DISTLIST: Added `fs/hfsplus.c'.
33490
33491 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33492 (hfsplus_mod_SOURCES): New variable.
33493 (hfsplus_mod_CFLAGS): Likewise.
33494 (hfsplus_mod_LDFLAGS): Likewise.
33495 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33496 (grub_setup_SOURCES): Likewise.
33497 (grub_mkdevicemap_SOURCES): Likewise.
33498 (grub_emu_SOURCES): Likewise.
33499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33500
33501 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33502
33503 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33504
33505 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33506
33507 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33508 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33509 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33510 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33511 normal/lexer.c, normal/parser.y, normal/script.c, and
33512 partmap/gpt.c.
33513 Removed kern/sparc64/cache.c.
33514
33515 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33516 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33517 grub_emu_init.c.
33518
33519 * configure.ac (AC_INIT): Bumped to 1.92.
33520
33521 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33522
33523 * kern/err.c (grub_error_push): Added new function to support error
33524 stacks.
33525 (grub_error_pop): Likewise.
33526 (grub_error_stack_items): New local variable to support error stacks.
33527 (grub_error_stack_pos): Likewise.
33528 (grub_error_stack_assert): Likewise.
33529 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33530 stack depth.
33531 (grub_print_error): Added support to print errors from error stack.
33532
33533 * include/grub/err.h (grub_error_push): Added function prototype.
33534 (grub_error_pop): Likewise.
33535
33536 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33537
33538 * configure.ac: Accept `powerpc64' as host_cpu.
33539 (amd64): Rename to `biarch32'.
33540
33541 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33542 non-cacheline-aligned addresses.
33543
33544 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33545 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33546 if `size' is non-zero.
33547
33548 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
33549
33550 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33551 and `cd' to make sure the filename is not prefixed with a
33552 directory name.
33553 (pkgdata_MODULES): Add `gpt.mod'.
33554 (gpt_mod_SOURCES): New variable.
33555 (gpt_mod_CFLAGS): Likewise.
33556 (gpt_mod_LDFLAGS): Likewise.
33557
33558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33559
33560 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33561 New macro.
33562
33563 * partmap/gpt.c: New file.
33564
33565 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33566 GPT partition map is detected.
33567
33568 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33569
33570 * commands/i386/pc/play.c: New file.
33571 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33572 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33573 macros.
33574
33575 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
33576
33577 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33578 ((unused))' to silence gcc warning.
33579
33580 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33581
33582 * configure.ac: Correct `AC_PROG_YACC' test.
33583
33584 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33585
33586 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33587 check before installing files.
33588
33589 2005-11-22 Mike Small <smallm@panix.com>
33590
33591 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33592 number regex so multidigit numbers are recognized correctly.
33593
33594 2005-11-22 Mike Small <smallm@panix.com>
33595
33596 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33597 debugging message before attempting to claim memory.
33598 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33599 multiple addresses in case of failure.
33600
33601 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33602
33603 * term/tparm.c (get_space): Remove empty `if' statement.
33604
33605 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33606
33607 * kern/parser.c (check_varstate): Rename `state' to 's'.
33608
33609 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33610
33611 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33612 variable definitions to the beginning of each function. Sort stack
33613 variables by size.
33614 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33615 `buf' argument to `char *'.
33616
33617 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33618
33619 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33620 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33621 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33622 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33623 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33624 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33625 configfile.mod, search.mod, gzio.mod and test.mod.
33626 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33627 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33628 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33629 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33630 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33631 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33632 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33633 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33634 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33635 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33636 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33637 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33638 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33639 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33640 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33641 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33642 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33643 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33644 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33645 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33646 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33647 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33648 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33649
33650 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33651 `grep --include'.
33652 (pkgdata_MODULES): Add test.mod.
33653
33654 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33655
33656 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33657 appending to variables with "+=".
33658 (PModule): Use full pathname to generate *.lst filenames.
33659
33660 * Makefile.in: Fixed list rules moved from genmk.rb.
33661 (.DELETE_ON_ERROR): New special target.
33662 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33663
33664 * conf/i386-pc.rmk: Include conf/common.mk.
33665 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33666 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33667 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33668 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33669 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33670 configfile.mod, search.mod, gzio.mod and test.mod.
33671 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33672 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33673 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33674 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33675 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33676 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33677 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33678 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33679 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33680 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33681 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33682 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33683 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33684 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33685 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33686 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33687 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33688 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33689 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33690 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33691 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33692 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33693 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33694 here...
33695 * conf/common.rmk: ... to here. New file.
33696
33697 * conf/common.mk: New file.
33698
33699 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33700
33701 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33702 (grub_script.tab.c): ... here.
33703
33704 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33705 (grub_script.tab.c): ... here.
33706
33707 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33708 (grub_script.tab.c): ... here.
33709
33710 * normal/command.c (grub_command_find): Fixed a memory leak of
33711 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33712
33713 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33714
33715 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33716 "@" which marks the start of a comment on ARM.
33717 (VARIABLE): Likewise.
33718
33719 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33720
33721 Add support for Linux/ADFS partition tables.
33722
33723 * partmap/acorn.c: New file.
33724
33725 * include/grub/acorn_filecore.h: Likewise.
33726
33727 * DISTLIST: Added `partmap/acorn.c' and
33728 `include/grub/acorn_filecore.h'.
33729
33730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33731 `partmap/acorn.c'.
33732 (pkgdata_MODULES): Add `acorn.mod'.
33733 (acorn_mod_SOURCES): New variable.
33734 (acorn_mod_CFLAGS): Likewise.
33735
33736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33737 `partmap/acorn.c'.
33738 (pkgdata_MODULES): Add `acorn.mod'.
33739 (acorn_mod_SOURCES): New variable.
33740 (acorn_mod_CFLAGS): Likewise.
33741
33742 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33743 (pkgdata_MODULES): Add `acorn.mod'.
33744 (acorn_mod_SOURCES): New variable.
33745 (acorn_mod_CFLAGS): Likewise.
33746 (acorn_mod_LDFLAGS): Likewise.
33747
33748 * include/types.h (grub_disk_addr_t): New typedef.
33749
33750 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
33751
33752 * geninit.sh: New file.
33753
33754 * geninitheader.sh: Likewise.
33755
33756 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33757 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33758 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33759 * commands/configfile.c (grub_configfile_init)
33760 (grub_configfile_fini): Likewise.
33761 * commands/default.c (grub_default_init, grub_default_fini):
33762 Likewise.
33763 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33764 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33765 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33766 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33767 Likewise.
33768 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33769 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33770 Likewise.
33771 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
33772 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
33773 Likewise.
33774 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33775 Likewise.
33776 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
33777 Likewise.
33778 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33779 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33780 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33781 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33782 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33783 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33784 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33785 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33786 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33787 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33788 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33789 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33790 * partmap/amiga.c (grub_amiga_partition_map_init)
33791 (grub_amiga_partition_map_fini): Likewise.
33792 * partmap/apple.c (grub_apple_partition_map_init)
33793 (grub_apple_partition_map_fini): Likewise.
33794 * partmap/pc.c (grub_pc_partition_map_init)
33795 (grub_pc_partition_map_fini): Likewise.
33796 * partmap/sun.c (grub_sun_partition_map_init,
33797 grub_sun_partition_map_fini): Likewise.
33798 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33799 Likewise.
33800
33801 * util/grub-emu.c: Include <grub_modules_init.h>.
33802 (main): Don't initialize and de-initialize any modules directly,
33803 use `grub_init_all' and `grub_fini_all' instead.
33804
33805 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33806 `grub_vesafb_mod_init'.
33807 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33808 all users.
33809 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33810 `grub_vga_mod_init'. Updated all users.
33811 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
33812
33813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33814 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33815 rules.
33816
33817 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33818 Generate a function to initialize the module in utilities.
33819 Updated all callers.
33820 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33821 initialize the module in utilities. Updated all callers.
33822
33823 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33824
33825 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33826 escape sequence and a literal ^L to clear the screen.
33827
33828 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33829 when returning from Open Firmware.
33830
33831 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33832
33833 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33834 (grub_ofconsole_height): Likewise.
33835 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33836 manually insert a '\n'.
33837 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33838 `grub_ofconsole_height'. Return early if these are already set.
33839
33840 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33841
33842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33843 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33844 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33845 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33846 and `normal/script.c'.
33847 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33848 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33849 (test_mod_SOURCES): New variable.
33850 (test_mod_CFLAGS): Likewise.
33851 (test_mod_LDFLAGS): Likewise.
33852 (pkgdata_MODULES): Add `test.mod'.
33853 (grub_script.tab.c): New rule.
33854 (grub_script.tab.h): Likewise.
33855
33856 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
33857
33858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33859 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33860 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33861 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33862 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33863 (test_mod_SOURCES): New variable.
33864 (test_mod_CFLAGS): Likewise.
33865 (pkgdata_MODULES): Add `test.mod'.
33866 (grub_script.tab.c): New rule.
33867 (grub_script.tab.h): Likewise.
33868
33869 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
33870
33871 Add initial scripting support.
33872
33873 * commands/test.c: New file.
33874 * include/grub/script.h: Likewise.
33875 * normal/execute.c: Likewise.
33876 * normal/function.c: Likewise.
33877 * normal/lexer.c: Likewise.
33878 * normal/parser.y: Likewise.
33879 * normal/script.c: Likewise.
33880
33881 * configure.ac: Add `AC_PROG_YACC' test.
33882
33883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33884 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33885 `normal/function.c' and `normal/script.c'.
33886 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33887 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33888 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33889 variables.
33890 (pkgdata_MODULES): Add `test.mod'.
33891 (grub_script.tab.c): New rule.
33892 (grub_script.tab.h): Likewise.
33893
33894 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33895
33896 * include/grub/normal.h (grub_test_init): New prototype.
33897 (grub_test_fini): Likewise.
33898
33899 * normal/command.c: Include <grub/script.h>.
33900 (grub_command_execute): Rewritten.
33901
33902 * util/grub-emu.c (main): Call `grub_test_init' and
33903 `grub_test_fini'.
33904
33905 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33906
33907 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33908 to 0.
33909 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33910 there are no pending characters.
33911
33912 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33913
33914 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33915 `grub_strndup' to drop device arguments. Replace unnecessary
33916 `grub_strndup' with `grub_strdup'.
33917
33918 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33919
33920 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33921 `debug' environment variable has been set.
33922
33923 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
33924
33925 * Makefile.in (install-local): Use $(DATA).
33926 (uninstall): Likewise.
33927 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33928 (sbin_UTILITIES): ... to here.
33929 (sbin_SCRIPTS): New variable.
33930 (grub_install_SOURCES): New variable.
33931 * util/powerpc/ieee1275/grub-install.in: New file.
33932 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33933 variable.
33934 (add_segments): Call `grub_util_get_path'.
33935
33936 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33937
33938 From Timothy Baldwin:
33939 * commands/ls.c (grub_ls_list_files): Close FILE with
33940 grub_file_close.
33941 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33942
33943 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
33944
33945 * include/grub/parser.h: New file.
33946
33947 * kern/parser.c: Likewise.
33948
33949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33950 (grub_setup_SOURCES): Likewise.
33951 (grub_probefs_SOURCES): Likewise.
33952 (grub_emu_SOURCES): Likewise.
33953 (kernel_img_HEADERS): Add `parser.h'.
33954
33955 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33956 (grub_emu_SOURCES): Add `kern/parser.c'.
33957 (grubof_SOURCES): Likewise.
33958
33959 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33960 (grubof_SOURCES): Add `kern/parser.c'.
33961
33962 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33963
33964 * kern/misc.c (grub_split_cmdline): Removed function.
33965
33966 * kern/rescue.c: Include <grub/parser.h>.
33967 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33968 of `grub_split_cmdline'.
33969
33970 * normal/command.c: Include <grub/parser.h>.
33971 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33972 of `grub_split_cmdline'.
33973
33974 * normal/completion.c: Include <grub/parser.h>.
33975 (cmdline_state): New variable.
33976 (iterate_dir): End the filename with a quote depending on the
33977 command line state.
33978 (get_state): new function.
33979 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33980 split the arguments and determine the current argument. When the
33981 argument string is not quoted, escape all spaces.
33982
33983 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33984
33985 * normal/sparc64/setjmp.S: New file.
33986
33987 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33988
33989 * include/grub/sparc64/libgcc.h: New file.
33990 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33991 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33992 normal/sparc64/setjmp.c.
33993
33994 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33995
33996 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33997 * kern/sparc64/cache.S: New file.
33998 * kern/sparc64/cache.c: Removed.
33999 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34000 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34001 -mtune=ultrasparc.
34002 (COMMON_LDFLAGS): Add -melf64_sparc.
34003 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34004 (grubof_SOURCES): Use cache.S instead of cache.c.
34005 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34006 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34007 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34008 commented though.
34009 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34010 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34011 (linux_mod_CFLAGS): Commented out.
34012 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34013 out because module isn't built.
34014 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34015 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34016 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34017 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34018 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34019 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34020 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34021 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34022 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34023 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34024 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34025 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34026 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34027 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34028
34029 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34030
34031 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34032 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34033 longer, because HFS should not be used on PC.
34034
34035 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34036
34037 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34038 consistently within the loop.
34039
34040 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
34041
34042 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34043 directory can not be read.
34044
34045 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34046
34047 * configure.ac (AC_INIT): Increase the version number to 1.91.
34048
34049 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34050 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34051 term/i386/pc/serial.c.
34052
34053 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34054
34055 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
34056 file size must be permitted.
34057
34058 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
34059 between %ah and %al.
34060
34061 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34062
34063 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
34064 grub_uint64_t.
34065 Call the hook with a NUL-terminated filename.
34066 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
34067 grub_cpu_to_be32.
34068
34069 * kern/term.c (cursor_state): New variable.
34070 (grub_term_set_current): Reset the cursor state on a new
34071 terminal.
34072 (grub_setcursor): Rewritten to use CURSOR_STATE.
34073 (grub_getcursor): New function.
34074
34075 * include/grub/term.h (grub_getcursor): New prototype.
34076
34077 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
34078 integers on ARM. Reported by Timothy Baldwin
34079 <T.E.Baldwin99@members.leeds.ac.uk>.
34080
34081 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
34082
34083 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
34084 allocated.
34085 (grub_sfs_dir): Likewise.
34086
34087 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
34088
34089 Add support for the SFS filesystem.
34090
34091 * fs/sfs.c: New file.
34092
34093 * DISTLIST: Added `fs/sfs.c'.
34094
34095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
34096 (grub_probefs_SOURCES): Likewise.
34097 (grub_emu_SOURCES): Likewise.
34098 (pkgdata_MODULES): Add `sfs.mod'.
34099 (sfs_mod_SOURCES): New variable.
34100 (sfs_mod_CFLAGS): Likewise.
34101 (sfs_mod_LDFLAGS): Likewise.
34102
34103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
34104 (pkgdata_MODULES): Add `sfs.mod'.
34105 (sfs_mod_SOURCES): New variable.
34106 (sfs_mod_CFLAGS): Likewise.
34107
34108 * util/grub-emu.c (main): Call `grub_sfs_init' and
34109 `grub_sfs_fini'.
34110
34111 * include/grub/fs.h (grub_sfs_init): New prototype.
34112 (grub_sfs_fini): Likewise.
34113
34114 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
34115
34116 Add support for the AFFS filesystem.
34117
34118 * fs/affs.c: New file.
34119
34120 * DISTLIST: Added `fs/affs.c'.
34121
34122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
34123 (grub_probefs_SOURCES): Likewise.
34124 (grub_emu_SOURCES): Likewise.
34125 (pkgdata_MODULES): Add `affs.mod'.
34126 (affs_mod_SOURCES): New variable.
34127 (affs_mod_CFLAGS): Likewise.
34128 (affs_mod_LDFLAGS): Likewise.
34129
34130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
34131 (pkgdata_MODULES): Add `affs.mod'.
34132 (affs_mod_SOURCES): New variable.
34133 (affs_mod_CFLAGS): Likewise.
34134
34135 * util/grub-emu.c (main): Call `grub_affs_init' and
34136 `grub_affs_fini'.
34137
34138 * include/grub/fs.h (grub_affs_init): New prototype.
34139 (grub_affs_fini): Likewise.
34140
34141 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
34142
34143 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
34144
34145 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
34146
34147 * configure.ac: Accept `x86_64' as host_cpu. In that case add
34148 `-m32' to CFLAGS.
34149
34150 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
34151 linking.
34152
34153 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
34154 (COMMON_LDFLAGS): New variable.
34155 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
34156 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
34157 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
34158 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
34159 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
34160 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
34161 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
34162 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
34163 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
34164 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
34165 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34166 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34167 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
34168 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
34169 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
34170 variables.
34171 (normal_mod_ASFLAGS): Add `-m32'.
34172
34173 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
34174 (grub_host_size_t, grub_host_ssize_t): New types.
34175 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
34176 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
34177 `GRUB_HOST_SIZEOF_VOID_P'.
34178
34179 * include/grub/kernel.h (struct grub_module_header): Type of
34180 member offset changed to `grub_host_off_t'. Type of member size
34181 changed to `grub_host_size_t'.
34182 (struct grub_module_info): Type of member offset changed to
34183 `grub_host_off_t'. Type of member size changed to
34184 `grub_host_size_t'.
34185
34186 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
34187
34188 Make GRUB's kernel compliant to Multiboot Specification.
34189
34190 * kern/i386/pc/startup.S (multiboot_header): New label.
34191 (multiboot_entry): Likewise.
34192 (multiboot_trampoline): Likewise.
34193
34194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34195 Increased to 0x4A0.
34196
34197 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
34198 put parentheses after a question mark.
34199 [!GRUB_UTIL] (my_mod): New variable.
34200
34201 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
34202
34203 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
34204
34205 Adds support for the XFS filesystem. Btrees are not supported
34206 yet.
34207
34208 * fs/xfs.c: New file.
34209
34210 * DISTLIST: Added `fs/xfs.c'.
34211
34212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
34213 (grub_probefs_SOURCES): Likewise.
34214 (grub_emu_SOURCES): Likewise.
34215 (pkgdata_MODULES): Add `xfs.mod'.
34216 (xfs_mod_SOURCES): New variable.
34217 (xfs_mod_CFLAGS): Likewise.
34218
34219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
34220 (pkgdata_MODULES): Add `xfs.mod'.
34221 (xfs_mod_SOURCES): New variable.
34222 (xfs_mod_CFLAGS): Likewise.
34223
34224 * util/grub-emu.c (main): Call `grub_xfs_init' and
34225 `grub_xfs_fini'.
34226
34227 * include/grub/fs.h (grub_xfs_init): New prototype.
34228 (grub_xfs_fini): Likewise.
34229
34230
34231 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
34232
34233 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
34234 color modes, allow greater than 16 colors to be configured as
34235 a default palette.
34236
34237 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34238
34239 * normal/completion.c (complete_arguments): Add the qualifier
34240 const into OPTIONS.
34241
34242 From Omniflux <omniflux+lists@omniflux.com>:
34243 * include/grub/terminfo.h: New file.
34244 * include/grub/tparm.h: Likewise.
34245 * include/grub/i386/pc/serial.h: Likewise.
34246 * term/terminfo.c: Likewise.
34247 * term/tparm.c: Likewise.
34248 * term/i386/pc/serial.c: Likewise.
34249 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
34250 serial.mod.
34251 (terminfo_mod_SOURCES): New variable.
34252 (terminfo_mod_CFLAGS): Likewise.
34253 (serial_mod_SOURCES): Likewise.
34254 (serial_mod_CFLAGS): Likewise.
34255
34256 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
34257
34258 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
34259 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
34260 and kern/powerpc/ieee1275/cmain.c, respectively.
34261
34262 * boot/powerpc/ieee1275/crt0.S: Moved to ...
34263 * kern/powerpc/ieee1275/crt0.S: ... here.
34264
34265 * boot/powerpc/ieee1275/cmain.c: Moved to ...
34266 * kern/powerpc/ieee1275/cmain.c: ... here.
34267
34268 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
34269 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
34270 instead of boot/powerpc/ieee1275/crt0.S and
34271 boot/powerpc/ieee1275/cmain.c, respectively.
34272
34273 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
34274 sectors. It was not used anyway.
34275
34276 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34277
34278 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
34279 `unused parameter' warning.
34280
34281 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34282
34283 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
34284 function.
34285 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
34286 getcharwidth.
34287
34288 2005-08-28 Marco Gerards <metgerards@student.han.nl>
34289
34290 * include/grub/normal.h (enum grub_completion_type): Added
34291 `GRUB_COMPLETION_TYPE_ARGUMENT'.
34292
34293 * normal/cmdline.c (print_completion): Handle
34294 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
34295 * normal/menu_entry.c (store_completion): Likewise.
34296
34297 * normal/completion.c (complete_arguments): New function.
34298 (grub_normal_do_completion): Call `complete_arguments' when the
34299 current words start with a dash.
34300
34301 2005-08-27 Marco Gerards <metgerards@student.han.nl>
34302
34303 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
34304 `gzio.mod' instead of `io.mod').
34305
34306 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
34307
34308 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
34309 (DISTDIRS): Added io and video.
34310 Rewrite the search routine to make an output consistently.
34311
34312 * DISTLIST: Added conf/sparc64-ieee1275.mk,
34313 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
34314 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
34315 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
34316 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
34317 util/powerpc/ieee1275/misc.c.
34318
34319 * include/grub/gzio.h: New file.
34320 * io/gzio.c: Likewise.
34321
34322 * kern/file.c (grub_file_close): Call grub_device_close only if
34323 FILE->DEVICE is not NULL.
34324
34325 * include/grub/mm.h [!NULL] (NULL): New macro.
34326
34327 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
34328
34329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
34330 (pkgdata_MODULES): Added gzio.mod.
34331 (gzio_mod_SOURCES): New variable.
34332 (gzio_mod_CFLAGS): Likewise.
34333
34334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
34335 (pkgdata_MODULES): Added gzio.mod.
34336 (gzio_mod_SOURCES): New variable.
34337 (gzio_mod_CFLAGS): Likewise.
34338
34339 * commands/cat.c: Include grub/gzio.h.
34340 (grub_cmd_cat): Use grub_gzfile_open instead of
34341 grub_file_open.
34342
34343 * commands/cmp.c: Include grub/gzio.h.
34344 (grub_cmd_cmp): Use grub_gzfile_open instead of
34345 grub_file_open.
34346
34347 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
34348 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
34349 grub_file_open.
34350 (grub_rescue_cmd_module): Likewise.
34351
34352 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34353
34354 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34355 kern/sparc64/ieee1275/init.c because it contains _start.
34356 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34357
34358 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34359
34360 * configure.ac: Add support for sparc64 host with ieee1275
34361 firmware.
34362 * configure: Generated from configure.ac.
34363 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34364 instead of int.
34365 (grub_ofdisk_read): Likewise.
34366 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34367 pointers as (void *) to remove a warning.
34368 (grub_ofdisk_close): Likewise.
34369 (grub_ofdisk_read): Likewise.
34370 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34371 returns, so make it return void to remove a warning.
34372 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34373 Corresponding prototype change.
34374 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34375 values, and cast the pointers as (void *) to remove a warning.
34376 (grub_mm_dump): Likewise.
34377 * conf/sparc64-ieee1275.mk: New file.
34378 * conf/sparc64-ieee1275.rmk: Likewise.
34379 * include/grub/sparc64/setjmp.h: Likewise.
34380 * include/grub/sparc64/types.h: Likewise.
34381 * include/grub/sparc64/ieee1275/console.h: Likewise.
34382 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34383 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34384 * include/grub/sparc64/ieee1275/time.h: Likewise.
34385 * kern/sparc64/cache.c: Likewise.
34386 * kern/sparc64/dl.c: Likewise.
34387 * kern/sparc64/ieee1275/init.c: Likewise.
34388 * kern/sparc64/ieee1275/openfw.c: Likewise.
34389
34390 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34391
34392 * util/console.c (grub_ncurses_putchar): If C is greater than
34393 0x7f, set C to a question mark.
34394 (grub_ncurses_getcharwidth): New function.
34395 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34396 getcharwidth.
34397
34398 * normal/menu.c (print_entry): Made aware of Unicode. First,
34399 convert TITLE to UCS-4, and predict the cursor position by
34400 grub_getcharwidth.
34401
34402 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34403 const to SRC.
34404 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34405
34406 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34407
34408 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34409 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34410 grub_strcat.
34411
34412 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34413 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34414 grub_strcpy and grub_strlen. Take it into account that a space
34415 character is inserted as a delimiter.
34416
34417 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34418
34419 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
34420 invalid magic in the error.
34421
34422 * commands/search.c: New file.
34423
34424 * util/grub-emu.c (main): Call grub_search_init and
34425 grub_search_fini.
34426
34427 * kern/rescue.c (grub_rescue_print_disks): Removed.
34428 (grub_rescue_print_devices): New function.
34429 (grub_rescue_cmd_ls): Use grub_device_iterate with
34430 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34431 grub_rescue_print_disks.
34432
34433 * kern/partition.c (grub_partition_iterate): Return the result of
34434 PARTMAP->ITERATE instead of GRUB_ERRNO.
34435
34436 * kern/device.c: Include grub/partition.h.
34437 (grub_device_iterate): New function.
34438
34439 * include/grub/partition.h (grub_partition_iterate): Return int
34440 instead of grub_err_t.
34441
34442 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34443 prototype.
34444 [GRUB_UTIL] (grub_search_fini): Likewise.
34445
34446 * include/grub/device.h (grub_device_iterate): New prototype.
34447
34448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34449 commands/search.c.
34450 (pkgdata_MODULES): Added search.mod.
34451 (search_mod_SOURCES): New variable.
34452 (search_mod_CFLAGS): Likewise.
34453
34454 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34455 (pkgdata_MODULES): Added search.mod.
34456 (search_mod_SOURCES): New variable.
34457 (search_mod_CFLAGS): Likewise.
34458
34459 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34460 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34461 All callers changed.
34462
34463 * DISTLIST: Added commands/search.c.
34464
34465 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34466
34467 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34468 conversion.
34469 (grub_getcharwidth): New function.
34470
34471 * kern/misc.c (grub_utf8_to_ucs4): New function.
34472
34473 * include/grub/term.h (struct grub_term): Added a new member
34474 "getcharwidth".
34475 (grub_getcharwidth): New prototype.
34476
34477 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34478
34479 * term/i386/pc/console.c (map_char): New function. Segregated from
34480 grub_console_putchar.
34481 (grub_console_putchar): Use map_char.
34482 (grub_console_getcharwidth): New function.
34483 (grub_console_term): Specified grub_console_getcharwidth as
34484 getcharwidth.
34485
34486 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34487 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34488
34489 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34490 GRUB_ERRNO.
34491 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34492 on grub_strtoul completely.
34493 (write_char): Declare local variables in the beginning of the
34494 function.
34495 (grub_vesafb_getcharwidth): New function.
34496 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34497 getcharwidth.
34498
34499 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34500
34501 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34502 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34503 commands/i386/pc/vbetest.c.
34504
34505 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34506 call grub_vbe_get_controller_info again, because the returned
34507 information is volatile.
34508 (grub_vbe_set_video_mode): Mostly rewritten.
34509 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34510 grub_vbe_status_t correctly.
34511 (grub_vbe_get_video_mode_info): Likewise.
34512 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34513 several if statements.
34514
34515 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34516 * commands/i386/pc/vbeinfo.c: ... this.
34517
34518 * commands/i386/pc/vbe_test.c: Renamed to ...
34519 * commands/i386/pc/vbetest.c: ... this.
34520
34521 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34522 ...
34523 (grub_cmd_vbeinfo): ... this. Save video modes before
34524 iterating. Skip a video mode, if it is not available, not enough
34525 information is given or it is monochrome. Show the memory
34526 model. Leave the interpretation of MODEVAR to grub_strtoul
34527 completely.
34528 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34529 (GRUB_MOD_FINI): Likewise.
34530
34531 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34532 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34533 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34534 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34535 grub_strtoul completely.
34536 (real2pm): Removed.
34537 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34538 (GRUB_MOD_FINI): Likewise.
34539
34540 * normal/misc.c: Include grub/mm.h.
34541
34542 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34543 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34544 (vbe_list_modes_mod_SOURCES): Removed.
34545 (vbe_list_modes_mod_CFLAGS): Likewise.
34546 (vbe_test_mod_SOURCES): Likewise.
34547 (vbe_test_mod_CFLAGS): Likewise.
34548 (vbeinfo_mod_SOURCES): New variable.
34549 (vbeinfo_mod_CFLAGS): Likewise.
34550 (vbetest_mod_SOURCES): Likewise.
34551 (vbetest_mod_CFLAGS): Likewise.
34552
34553 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34554
34555 * normal/misc.c: New file.
34556
34557 * DISTLIST: Added normal/misc.c.
34558
34559 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34560 DISK to HOOK. Call HOOK with DISK.
34561 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34562 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34563 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34564
34565 * normal/menu_entry.c (struct screen): Added a new member
34566 "completion_shown".
34567 (completion_buffer): New global variable.
34568 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34569 (store_completion): New function.
34570 (complete): Likewise.
34571 (clear_completions): Likewise.
34572 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34573 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34574 a tab, call complete.
34575
34576 * normal/completion.c (disk_dev): Removed.
34577 (print_simple_completion): Likewise.
34578 (print_partition_completion): Likewise.
34579 (print_func): New global variable.
34580 (add_completion): Do not take the arguments WHAT or PRINT any
34581 longer. Added a new argument TYPE. Instead of printing directly,
34582 call PRINT_FUNC if not NULL.
34583 All callers changed.
34584 (complete_device): Use a local variable DEV instead of
34585 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34586 (grub_normal_do_completion): Take a new argument HOOK. Do not
34587 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34588 empty string, return NULL instead.
34589 All callers changed.
34590
34591 * normal/cmdline.c (print_completion): New function.
34592
34593 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34594 to HOOK.
34595 All callers changed.
34596
34597 * kern/disk.c (grub_print_partinfo): Removed.
34598
34599 * include/grub/partition.h (struct grub_partition_map): Add a new
34600 argument DISK into HOOK of ITERATE.
34601 (grub_partition_iterate): Add a new argument DISK to HOOK.
34602
34603 * include/grub/normal.h (enum grub_completion_type): New enum.
34604 (grub_completion_type_t): New type.
34605 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34606 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34607 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34608 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34609 (grub_normal_do_completion): Added a new argument HOOK.
34610 (grub_normal_print_device_info): New prototype.
34611
34612 * include/grub/disk.h (grub_print_partinfo): Removed.
34613
34614 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34615 (normal_mod_SOURCES): Likewise.
34616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34617 (normal_mod_SOURCES): Likewise.
34618
34619 * commands/ls.c (grub_ls_list_disks): Use
34620 grub_normal_print_device_info instead of grub_print_partinfo. Free
34621 PNAME.
34622 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34623 duplicating the code.
34624
34625 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34626
34627 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
34628 follow GCS more precisely.
34629 * commands/i386/pc/vbe_test.c: Likewise.
34630 * include/grub/i386/pc/vbe.h: Likewise.
34631 * term/i386/pc/vesafb.c: Likewise.
34632 * video/i386/pc/vbe.c: Likewise.
34633
34634 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34635
34636 * DISTLIST: Added term/i386/pc/vesafb.c
34637 DISTLIST: Added video/i386/pc/vbe.c
34638 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34639 DISTLIST: Added commands/i386/pc/vbe_test.c.
34640 * commands/i386/pc/vbe_list_modes.c: New file.
34641 * commands/i386/pc/vbe_test.c: Likewise.
34642 * term/i386/pc/vesafb.c: Likewise.
34643 * video/i386/pc/vbe.c: Likewise.
34644 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34645 (grub_vbe_probe) Added prototype.
34646 (grub_vbe_set_video_mode) Likewise.
34647 (grub_vbe_get_video_mode) Likewise.
34648 (grub_vbe_get_video_mode_info) Likewise.
34649 (grub_vbe_set_pixel_rgb) Likewise.
34650 (grub_vbe_set_pixel_index) Likewise.
34651 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34652 (pkgdata_MODULES): Added vesafb.mod.
34653 (pkgdata_MODULES): Added vbe_list_modes.mod.
34654 (pkgdata_MODULES): Added vbe_test.mod.
34655 (vbe_mod_SOURCES): Added.
34656 (vbe_mod_CFLAGS): Likewise.
34657 (vesafb_mod_SOURCES): Likewise.
34658 (vesafb_mod_CFLAGS): Likewise.
34659 (vbe_list_modes_mod_SOURCES): Likewise.
34660 (vbe_list_modes_mod_CFLAGS): Likewise.
34661 (vbe_test_mod_SOURCES): Likewise.
34662 (vbe_test_mod_CFLAGS): Likewise.
34663
34664 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34665
34666 * normal/command.c (grub_command_execute): If INTERACTIVE is
34667 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34668 CMDLINE. Disable the pager if INTERACTIVE is true.
34669 All callers are changed.
34670
34671 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34672 before reading a config file.
34673 * normal/main.c (read_config_file): Even if a command is not
34674 found, register it if it is within an entry.
34675
34676 * util/grub-emu.c: Include sys/types.h and unistd.h.
34677 (options): Added --hold.
34678 (struct arguments): Added a new member "hold".
34679 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34680 missing.
34681 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34682 cleared by a debugger, if it is not zero.
34683
34684 * include/grub/normal.h (grub_command_execute): Add an argument
34685 INTERACTIVE.
34686
34687 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34688
34689 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34690
34691 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34692
34693 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34694 program with another one, because the old one didn't detect a bug
34695 in gcc-3.4. Always use regparm 2, because the new test is still
34696 not enough for gcc-4.0. Someone must investigate a simple test
34697 case which detects a bug in gcc-4.0.
34698
34699 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34700
34701 * DISTLIST: Added normal/completion.c.
34702
34703 * normal/completion.c: New file.
34704
34705 * term/i386/pc/console.c (grub_console_getwh): New function.
34706 (grub_console_term): Assign grub_console_getwh to getwh.
34707
34708 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34709 function is defined in normal/completion.c as
34710 grub_normal_do_completion.
34711 (grub_cmdline_get): Use grub_normal_do_completion instead of
34712 grub_tab_complete.
34713
34714 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34715 returns non-zero, otherwise return 0.
34716 (grub_partition_iterate): First, probe the partition map. Then,
34717 call ITERATE only for this partition map.
34718
34719 * kern/misc.c (grub_strncmp): Rewritten.
34720
34721 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34722 returns non-zero. Otherwise return 0.
34723
34724 * include/grub/partition.h (grub_partition_map_iterate): Return
34725 int instead of void.
34726
34727 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34728
34729 * include/grub/misc.h (grub_strncmp): Change the type of N to
34730 grub_size_t.
34731
34732 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34733 of void.
34734
34735 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
34736 unsigned explicitly before comparing it with I.
34737
34738 * kern/main.c (grub_env_write_root): Add the attribute unused into
34739 VAR.
34740
34741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34742 normal/completion.c.
34743 (normal_mod_SOURCES): Likewise.
34744 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34745 (normal_mod_SOURCES): Likewise.
34746
34747 * normal/command.c (grub_iterate_commands): If ITERATE returns
34748 non-zero, return one immediately.
34749
34750 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34751
34752 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34753 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34754 descriptions.
34755 (grub_vbe_get_controller_info): New function.
34756 (grub_vbe_get_mode_info): Likewise.
34757 (grub_vbe_set_mode): Likewise.
34758 (grub_vbe_get_mode): Likewise.
34759 (grub_vbe_set_memory_window): Likewise.
34760 (grub_vbe_get_memory_window): Likewise.
34761 (grub_vbe_set_scanline_length): Likewise.
34762 (grub_vbe_get_scanline_length): Likewise.
34763 (grub_vbe_set_display_start): Likewise.
34764 (grub_vbe_get_display_start): Likewise.
34765 (grub_vbe_set_palette_data): Likewise.
34766 * include/grub/i386/pc/vbe.h: New file.
34767
34768 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34769
34770 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34771 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34772 * DISTLIST: Likewise.
34773 * kern/ieee1275/of.c: Moved to ...
34774 * kern/ieee1275/ieee1275.c: ... here.
34775
34776 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34777
34778 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34779 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34780 Pass 0 as `end' parameter to grub_strtoul().
34781
34782 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34783
34784 * include/grub/powerpc/ieee1275/console.h: Do not include
34785 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34786 ifdef.
34787 (grub_console_cur_color): Remove i386-specific prototype.
34788 (grub_console_real_putchar): Likewise.
34789 (grub_console_checkkey): Likewise.
34790 (grub_console_getkey): Likewise.
34791 (grub_console_getxy): Likewise.
34792 (grub_console_gotoxy): Likewise.
34793 (grub_console_cls): Likewise.
34794 (grub_console_setcursor): Likewise.
34795 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34796 Include <grub/machine/console.h>.
34797 * term/ieee1275/ofconsole.c: Likewise.
34798
34799 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34800
34801 * Makefile.in (LIBLZO): New variable.
34802
34803 * configure.ac: Check for LZO version 2.
34804
34805 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34806 lzo/lzo1x.h instead of lzo1x.h.
34807
34808 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34809 of -llzo.
34810
34811 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34812 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34813
34814 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34815 copying the data from PARTITION to P.
34816
34817 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34818
34819 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34820 negative, unload the module.
34821
34822 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34823 map is "pc_partition_map" but not "pc".
34824 (usage): Fix the description. The options are --boot-image and
34825 --core-image but not --boot-file or --core-file.
34826 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34827 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34828 DEFAULT_DIRECTORY.
34829
34830 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34831 --core-file. Specify INSTALL_DEVICE as an argument.
34832
34833 * util/console.c: Include config.h.
34834 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34835 [HAVE_NCURSES_H]: Include ncurses.h.
34836 [HAVE_CURSES_H]: Include curses.h.
34837 [!A_NORMAL] (A_NORMAL): Defined as zero.
34838 [!A_STANDOUT] (A_STANDOUT): Likewise.
34839
34840 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34841 -lncurses.
34842 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34843
34844 * configure.ac: Check for curses libraries and headers.
34845
34846 * Makefile.in (LIBCURSES): New variable.
34847
34848 * genmk.rb (Script::rule): Set the executable bits.
34849
34850 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34851 name of the PC partition map is "pc_partition_map" but not "pc".
34852
34853 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34854
34855 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34856 (modules): Likewise.
34857 (usage): Added descriptions for --modules and --grub-probefs.
34858 Handle --modules and --grub-probefs. Save the arguments in MODULES
34859 and GRUB_PROBEFS, respectively.
34860 Auto-detect a filesystem module against GRUBDIR. If the result is
34861 empty and modules are not specified explicitly, abort the
34862 installation. Add the result to MODULES.
34863
34864 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34865 disk/powerpc/ieee1275/ofdisk.c,
34866 include/grub/powerpc/ieee1275/init.h and
34867 term/powerpc/ieee1275/ofconsole.c.
34868 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34869 term/ieee1275/ofconsole.c.
34870
34871 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34872
34873 * COPYING: Upgraded to the latest version. Only the address of the
34874 FSF office has changed.
34875
34876 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34877
34878 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34879 kern/ieee1275.c with kern/ieee1275/of.c.
34880
34881 * kern/ieee1275.c: Moved to ...
34882 * kern/ieee1275/of.c: ... here.
34883
34884 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34885
34886 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
34887 readability.
34888
34889 * config.guess: Updated to the latest version from gnulib.
34890 * config.sub: Likewise.
34891 * install.sh: Likewise.
34892 * mkinstalldirs: Likewise.
34893
34894 * include/grub/console.h: Removed. This file is arch-specific. Do
34895 not put this in include/grub.
34896
34897 * include/grub/i386/pc/console.h: Resurrected.
34898
34899 * util/console.c: Include grub/machine/console.h instead of
34900 grub/console.h.
34901 * util/grub-emu.c: Likewise.
34902
34903 2005-08-04 Marco Gerards <metgerards@student.han.nl>
34904
34905 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34906 hardcoded value.
34907
34908 From Vincent Pelletier <subdino2004@yahoo.fr>
34909 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34910 Redefined to use grub_getwh.
34911 (grub_term): New member named getwh.
34912 (grub_getwh): New prototype.
34913 * kern/term.c (grub_getwh): New function.
34914 * term/i386/pc/console.c (grub_console_getwh): New function.
34915 (grub_console_term): New member `getwh'.
34916 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34917 (grub_vga_term): New member `getwh'.
34918 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
34919 grub_ssize_t.
34920 (grub_ofconsole_getw): New function.
34921 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34922 (grub_ofconsole_term): New field named getwh and new initial
34923 value.
34924
34925 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34926
34927 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34928 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34929 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34930 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34931 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34932 of <grub/machine/ieee1275.h>.
34933 * commands/ieee1275/reboot.c: Likewise.
34934 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34935 * kern/ieee1275.c: ... to here. All users updated. Change all
34936 parameter structs to use new type `grub_ieee1275_cell_t'.
34937 * term/powerpc/ieee1275/ofconsole.c: Move ...
34938 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34939 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34940 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34941 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34942 to return int.
34943 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34944 Remove unused prototypes. All users updated.
34945 * include/grub/powerpc/ieee1275/console.h: Removed.
34946 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34947 `grub_ieee1275_cell_t'.
34948 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34949 Cast comparisons with -1 to the correct type.
34950 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34951 type to match `grub_ieee1275_entry_fn'.
34952
34953 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34954
34955 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34956
34957 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34958 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34959 partmap/sun.c.
34960 (grub_probefs_SOURCES): New variable.
34961
34962 * util/i386/pc/grub-probefs.c: New file.
34963
34964 * util/i386/pc/grub-setup.c (main): Call
34965 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34966 grub_hfs_init and grub_jfs_init to initialize the system. Call
34967 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34968 grub_pc_partition_map_fini to finish the system.
34969
34970 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34971
34972 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34973 function.
34974 (grub_multiboot_load_elf32): Likewise.
34975 (grub_multiboot_is_elf64): Likewise.
34976 (grub_multiboot_load_elf64): Likewise.
34977 (grub_multiboot_load_elf): Likewise.
34978 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34979 an ELF32 or ELF64 file.
34980 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34981
34982 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34983 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34984 NULL before calling FS->LABEL.
34985 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34986 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34987 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34988 before calling FS->LABEL.
34989
34990 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34991
34992 * util/i386/pc/grub-install.in (datadir): New variable.
34993 (libdir): Removed.
34994 (pkgdatadir): New variable.
34995 (pkglibdir): Removed.
34996
34997 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34998
34999 * DISTLIST: Added util/i386/pc/grub-install.in.
35000
35001 * util/i386/pc/grub-install.in: New file.
35002
35003 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35004 (grub_install_SOURCES): Likewise.
35005
35006 * genmk.rb: Added support for scripts.
35007 (Script): New class.
35008 (scripts): New variable.
35009
35010 * Makefile.in (install-local): Install sbin_SCRIPTS by
35011 INSTALL_SCRIPT.
35012 (uninstall): Remove sbin_SCRIPTS.
35013
35014 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35015 device, try to get a GRUB device by
35016 grub_util_biosdisk_get_grub_dev.
35017 Free DEST_DEV.
35018
35019 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35020 description for --device-map.
35021
35022 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35023
35024 Change the semantics of variable hooks. They now return strings
35025 instead of error values.
35026
35027 * util/i386/pc/grub-setup.c: Include grub/env.h.
35028 (setup): Use grub_device_set_root instead of grub_env_set.
35029
35030 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35031 grub_env_get instead of grub_device_set_root and
35032 grub_device_get_root, respectively.
35033
35034 * kern/main.c (grub_env_write_root): New function.
35035 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35036 grub_env_set instead of grub_device_set_root.
35037
35038 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35039 many variables.
35040 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35041 rather than calling ENV->WRITE_HOOK afterwards.
35042 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35043 passing a pointer of a pointer.
35044 (grub_register_variable_hook): Change the types of "read_hook" and
35045 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35046 respectively.
35047 Allocate the default empty string on the heap, because this string
35048 may be freed later.
35049
35050 * kern/device.c: Include grub/env.h.
35051 (grub_device_set_root): Removed.
35052 (grub_device_get_root): Likewise.
35053 (grub_device_open): Use grub_env_get instead of
35054 grub_device_get_root.
35055
35056 * include/grub/env.h (grub_env_read_hook_t): New type.
35057 (grub_env_write_hook_t): Likewise.
35058 (grub_env_var): Change the types of "read_hook" and "write_hook"
35059 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
35060 (grub_register_variable_hook): Likewise.
35061
35062 * include/grub/device.h (grub_device_set_root): Removed.
35063 (grub_device_set_root): Likewise.
35064
35065 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
35066 make sure that DIRNAME terminates with '/', so that
35067 grub_fat_find_dir will fail if PATH is not a directory.
35068
35069 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
35070 from DIRNAME.
35071 Use the qualifier auto for print_files and print_files_long.
35072 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
35073 as a regular file.
35074 Put a newline only if there is no error.
35075 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
35076 used.
35077
35078 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35079
35080 * kern/partition.c (grub_partition_probe): Initialize PART to
35081 NULL. Otherwise, when no partition map is registered, this returns
35082 a garbage.
35083
35084 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
35085
35086 * partmap/apple.c (apple_partition_map_iterate): Check if POS
35087 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
35088 valid.
35089
35090 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
35091
35092 * commands/ls.c (grub_ls_list_disks): Print the filesystem
35093 information on each device, if it does not have partitions. Print
35094 "Device" instead of "Disk", because this function is not specific
35095 to disk devices.
35096
35097 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
35098 static to ensure that it is put on the memory rather than a
35099 register.
35100
35101 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35102
35103 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
35104 (grub_cat_init): Likewise.
35105 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
35106 (options): Likewise.
35107 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
35108 (grub_configfile_init): Likewise.
35109 * font/manager.c (GRUB_MOD_INIT): Likewise.
35110 * commands/help.c (GRUB_MOD_INIT): Likewise.
35111 (grub_help_init): Likewise.
35112 * normal/command.c (grub_command_init): Likewise.
35113 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
35114 * disk/loopback.c (grub_loop_init): Likewise.
35115 (GRUB_MOD_INIT): Likewise.
35116 * commands/ls.c (grub_ls_init): Likewise.
35117 (GRUB_MOD_INIT): Likewise.
35118 (options): Likewise.
35119 * commands/boot.c (grub_boot_init): Likewise.
35120 (GRUB_MOD_INIT): Likewise.
35121 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
35122 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
35123 (GRUB_MOD_INIT): Likewise.
35124 * commands/cmp.c (grub_cmp_init): Likewise.
35125 (GRUB_MOD_INIT): Likewise.
35126
35127 * normal/arg.c: Use <> instead of "" to include header files.
35128 (SHORT_ARG_HELP): New macro.
35129 (SHORT_ARG_USAGE): Likewise.
35130 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
35131 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
35132 descriptions.
35133 (find_short): Check if C is 'h' or 'u' explicitly.
35134 (grub_arg_show_help): Use space characters instead of tabs. Treat
35135 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
35136 are shown with --help and --usage only if they are not used for
35137 the command itself.
35138 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
35139 'h' and 'u'.
35140
35141 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
35142 const into "longarg". Change the type of "shortarg" to int.
35143
35144 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35145
35146 * boot/i386/pc/boot.S (boot_drive_check): New label.
35147
35148 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
35149 macro.
35150
35151 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
35152 which do not pass a boot drive correctly. Copied from GRUB Legacy.
35153
35154 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35155
35156 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
35157 When turning off Gate A20, skip the check and return immediately,
35158 because this is not fatal usually.
35159
35160 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35161
35162 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
35163 be 0x7C00 instead of 0x8000.
35164
35165 * boot/i386/pc/pxeboot.S: Rewritten.
35166
35167 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
35168 EXT_C.
35169 (gate_a20_check_state): Read a byte from 0x108000. Invert the
35170 result.
35171
35172 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
35173
35174 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
35175 robustness. This routine now supports a BIOS call and System
35176 Control Port A to modify the gate A20.
35177
35178 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35179 Increased to 0x440.
35180
35181 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
35182
35183 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
35184 device path and resulting ihandle.
35185 (grub_ofdisk_close): dprintf the ihandle being closed.
35186 (grub_ofdisk_read): dprintf function parameters.
35187 * kern/mm.c (grub_mm_init_region): Likewise.
35188 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
35189 (grub_linux_boot): dprintf the Linux entry point, initrd address and
35190 size, and boot arguments.
35191 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
35192 before loading into memory.
35193 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
35194 before loading into memory.
35195
35196 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
35197
35198 * kern/mm.c: Added much documentation.
35199 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
35200 8, set to 5 instead of 8.
35201
35202 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
35203
35204 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
35205
35206 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
35207 (grub_mkdevicemap_SOURCES): New variable.
35208
35209 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
35210 lib/device.c of GRUB Legacy.
35211
35212 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
35213
35214 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
35215 instead of PATH is NULL.
35216
35217 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
35218
35219 * commands/cmp.c (BUFFER_SIZE): New macro.
35220 (grub_cmd_cmp): Close the right file at the right time. Compare
35221 only data just read. Don't report files of different size as
35222 identical. Dynamically allocate buffers. Move variable
35223 declarations at the beginning of function.
35224
35225 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
35226
35227 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
35228 reverse.
35229
35230 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
35231
35232 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
35233 when backspace is pressed at beginning of line.
35234
35235 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
35236
35237 * DISTLIST: Added genfslist.sh.
35238
35239 * normal/main.c (fs_module_list): New variable.
35240 (autoload_fs_module): New function.
35241 (read_fs_list): Likewise.
35242 (grub_normal_execute): Call read_fs_list.
35243
35244 * kern/fs.c (grub_fs_autoload_hook): New variable.
35245 (grub_fs_probe): Added support for auto-loading.
35246
35247 * include/grub/normal.h (struct grub_fs_module_list): New struct.
35248 (grub_fs_module_list_t): New type.
35249
35250 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
35251 (grub_fs_autoload_hook): New prototype.
35252
35253 * genfslist.sh: New file.
35254
35255 * genmk.rb: Added a rule to generate a filesystem list.
35256
35257 2005-06-30 Marco Gerards <metgerards@student.han.nl>
35258
35259 * configure.ac: Fix the test for cross-compiling.
35260
35261 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
35262 define GRUB_UTIL anymore.
35263
35264 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
35265 so this function works on other systems than just big endian.
35266 (load_modules): Likewise.
35267 (add_segments): Likewise.
35268
35269 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
35270
35271 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
35272 contains `l' modifier, get a long from va_arg().
35273
35274 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
35275
35276 * kern/mm.c (grub_free): If the next free block which is being
35277 merged is the first free block, set the first block to the block
35278 being freed.
35279 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
35280
35281 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35282
35283 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
35284 `grub_ieee1275_chosen'.
35285
35286 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35287
35288 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
35289 (grub_ieee1275_chosen): New variable.
35290 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
35291 `chosen'.
35292 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
35293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35294 Rename first argument to `phandle' for consistency.
35295 (grub_ieee1275_get_property_length): Likewise.
35296 (grub_ieee1275_next_property): Likewise. Change type of first argument
35297 to grub_ieee1275_phandle_t.
35298 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
35299 Move export next to declaration.
35300 (grub_ieee1275_chosen): New variable.
35301 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
35302 Correct cosmetic typo.
35303 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
35304 `grub_ieee1275_chosen'.
35305 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
35306 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
35307 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
35308 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
35309 `grub_ieee1275_chosen'.
35310
35311 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
35312
35313 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
35314 /chosen/bootargs.
35315 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
35316 /chosen/bootargs as "variable=value" pairs.
35317
35318 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
35319
35320 * include/grub/misc.h (grub_dprintf): New macro.
35321 (grub_real_dprintf): New prototype.
35322 (grub_strword): Likewise.
35323 (grub_iswordseparator): Likewise.
35324 * kern/misc.c (grub_real_dprintf): New function.
35325 (grub_strword): Likewise.
35326 (grub_iswordseparator): Likewise.
35327
35328 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
35329
35330 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
35331 (roundup): Remove macro.
35332 (grub_ieee1275_flags): Make static.
35333 (grub_ieee1275_realmode): Remove.
35334 (grub_ieee1275_test_flag): New function.
35335 (grub_ieee1275_set_flag): Likewise.
35336 (find_options): Rename to `grub_ieee1275_find_options'; update
35337 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
35338 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
35339 (cmain): New prototype.
35340 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
35341 `grub_ieee1275_flags' directly.
35342 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
35343 machine/biosdisk.h.
35344 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
35345 Don't include grub/machine/init.h.
35346 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
35347 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35348 Remove prototype.
35349 (grub_ieee1275_realmode): Likewise.
35350 (grub_ieee1275_flag): New enum.
35351 (grub_ieee1275_test_flag): New prototype.
35352 (grub_ieee1275_set_flag): New prototype.
35353 * include/grub/powerpc/ieee1275/init.h: Remove file.
35354 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35355 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35356 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35357 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35358 comment.
35359 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35360 `grub_ieee1275_test_flag'.
35361 (grub_ieee1275_encode_devname): Likewise.
35362
35363 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35364
35365 * include/grub/powerpc/ieee1275/ieee1275.h
35366 (grub_ieee1275_encode_devname): New prototype.
35367 (grub_ieee1275_get_filename): Likewise.
35368 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35369 function.
35370 (grub_set_prefix): Likewise.
35371 (grub_machine_init): Call grub_set_prefix.
35372 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35373 (grub_parse_type): New enum.
35374 (grub_ieee1275_get_devargs): New function.
35375 (grub_ieee1275_get_devname): Likewise.
35376 (grub_ieee1275_parse_args): Likewise.
35377 (grub_ieee1275_get_filename): Likewise.
35378 (grub_ieee1275_encode_devname): Likewise.
35379
35380 2005-03-30 Marco Gerards <metgerards@student.han.nl>
35381
35382 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35383 `grub_loader_unset'.
35384
35385 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35386
35387 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35388 instead of grub_ieee1275_interpret.
35389 (grub_halt_init): New function.
35390 (grub_halt_fini): Likewise.
35391 (GRUB_MOD_INIT): Correct message grammar.
35392 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35393 instead of grub_ieee1275_interpret.
35394 (grub_reboot_init): New function.
35395 (grub_reboot_fini): Likewise.
35396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35397 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35398 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35399 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35400 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35401 function.
35402 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35403 Add prototype.
35404 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35405 prototype.
35406 (grub_halt): Likewise.
35407 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35408 (cmain): Remove __attribute__((unused)).
35409 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35410 (grub_heap_len): Likewise.
35411 (grub_machine_fini): New function.
35412 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35413 (grub_halt): Likewise.
35414 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35415 function.
35416 * util/powerpc/ieee1275/misc.c: New file.
35417
35418 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35419
35420 * DISTLIST: New file.
35421 * gendistlist.sh: Likewise.
35422
35423 * Makefile.in (COMMON_DISTFILES): Removed.
35424 (BOOT_DISTFILES): Likewise.
35425 (CONF_DISTFILES): Likewise.
35426 (DISK_DISTFILES): Likewise.
35427 (FS_DISTFILES): Likewise.
35428 (INCLUDE_DISTFILES): Likewise.
35429 (KERN_DISTFILES): Likewise.
35430 (LOADER_DISTFILES): Likewise.
35431 (TERM_DISTFILES): Likewise.
35432 (UTIL_DISTFILES): Likewise.
35433 (DISTFILES): Likewise.
35434 (uninstall): Uninstall files in $(pkgdata_DATA).
35435 (DISTLIST): New target.
35436 (distdir): Use the contents of the file DISTLIST to get a list of
35437 distributed files.
35438
35439 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35440
35441 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35442 descriptor. This is ported from GRUB Legacy.
35443
35444 * gencmdlist.sh: Added an extra semicolon to make it work with
35445 old sed versions. Reported by Robert Bihlmeyer
35446 <robbe@orcus.priv.at>.
35447
35448 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
35449
35450 Automatic loading of commands is supported.
35451
35452 * normal/main.c (read_command_list): New function.
35453 (grub_normal_execute): Call read_command_list.
35454
35455 * normal/command.c (grub_register_command): Return zero or CMD.
35456 Allocate CMD->NAME from the heap.
35457 Initialize CMD->MODULE_NAME to zero.
35458 Find the same name as well. If the same command is found and it is
35459 a dummy command, overwrite members. If it is not a dummy command,
35460 return zero.
35461 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35462 (grub_command_find): If a dummy command is found, load a module
35463 and retry to find a command only once.
35464
35465 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35466 make sure that each command is loaded.
35467
35468 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35469 macro.
35470 (struct grub_command): Remove const from the member `name'.
35471 Add a new member `module_name'.
35472 (grub_register_command): Return grub_command_t.
35473
35474 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35475 sure that each command is loaded.
35476
35477 * genmk.rb (PModule::rule): Specify a module name without the
35478 suffix ".mod" to gencmdlist.sh.
35479
35480 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35481
35482 * gencmdlist.sh: New file.
35483
35484 * genmk.rb (PModule::rule): Generate a rule for a command list.
35485 Clean command.lst.
35486 Generate command.lst from $(COMMANDFILES).
35487
35488 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35489 (DATA): Added $(pkgdata_DATA).
35490 (install-local): Install files in $(pkgdata_DATA).
35491
35492 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35493
35494 * term/i386/pc/vga.c (debug_command): Removed.
35495 (GRUB_MOD_INIT): Do not register the command "debug".
35496
35497 From Hollis Blanchard:
35498 * commands/configfile.c: New file.
35499 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35500 commands/configfile.c.
35501 (pkgdata_MODULES): Added configfile.mod.
35502 (configfile_mod_SOURCES): New variable.
35503 (configfile_mod_CFLAGS): Likewise.
35504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35505 commands/configfile.c.
35506 (pkgdata_MODULES): Added configfile.mod.
35507 (configfile_mod_SOURCES): New variable.
35508 (configfile_mod_CFLAGS): Likewise.
35509 * util/grub-emu.c (main): Call grub_configfile_init and
35510 grub_configfile_fini.
35511 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35512 prototype.
35513 [GRUB_UTIL] (grub_configfile_fini): Likewise.
35514
35515 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35516
35517 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35518 address.
35519
35520 * commands/help.c (grub_cmd_help): Do not print newlines after
35521 the last command in print_command_help.
35522
35523 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35524
35525 * commands/default.h: New file.
35526 * commands/timeout.h: Likewise.
35527 * normal/context.c: Likewise.
35528
35529 * util/misc.c: Do not include sys/times.h.
35530 Include sys/time.h and grub/machine/time.h.
35531 (grub_get_rtc): Rewritten with gettimeofday.
35532
35533 * util/grub-emu.c (main): Call grub_default_init and
35534 grub_timeout_init before grub_normal_init, and call
35535 grub_timeout_fini and grub_default_fini after grub_main.
35536
35537 * util/console.c (grub_ncurses_checkkey): Return the read
35538 character or -1.
35539
35540 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35541 timeouts.
35542
35543 * normal/main.c (read_config_file): Push MENU. If this fails,
35544 print an error and wait for a user input.
35545 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35546 If a menu is empty or an error occurs, pop MENU.
35547 (grub_normal_execute): Pop and free MENU after grub_menu_run
35548 returns.
35549
35550 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35551
35552 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35553 include time.h.
35554 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35555 without GRUB_UTIL.
35556 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35557 time.h.
35558 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35559 without GRUB_UTIL.
35560
35561 * include/grub/normal.h (struct grub_menu_list): New struct.
35562 (grub_menu_list_t): New type.
35563 (struct grub_context): New struct.
35564 (grub_context_t): New type.
35565 (grub_register_command): Got rid of EXPORT_FUNC.
35566 (grub_unregister_command): Likewise.
35567 (grub_context_get): New prototype.
35568 (grub_context_get_current_menu): Likewise.
35569 (grub_context_push_menu): Likewise.
35570 (grub_context_pop_menu): Likewise.
35571 [GRUB_UTIL] (grub_default_init): Likewise.
35572 [GRUB_UTIL] (grub_default_fini): Likewise.
35573 [GRUB_UTIL] (grub_timeout_init): Likewise.
35574 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35575
35576 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35577 commands/timeout.c and normal/context.c.
35578 (pkgdata_MODULES): Added default.mod and timeout.mod.
35579 (normal_mod_SOURCES): Added normal/context.c.
35580 (default_mod_SOURCES): New variable.
35581 (default_mod_CFLAGS): Likewise.
35582 (timeout_mod_SOURCES): Likewise.
35583 (timeout_mod_CFLAGS): Likewise.
35584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35585 conf/i386-pc.rmk.
35586 (pkgdata_MODULES): Added default.mod and timeout.mod.
35587 (normal_mod_SOURCES): Added normal/context.c.
35588 (default_mod_SOURCES): New variable.
35589 (default_mod_CFLAGS): Likewise.
35590 (timeout_mod_SOURCES): Likewise.
35591 (timeout_mod_CFLAGS): Likewise.
35592
35593 * Makefile.in (all-local): Added $(MKFILES).
35594
35595 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35596
35597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35598 (grub_emu_SOURCES): Likewise.
35599 (pkgdata_MODULES): Add `sun.mod'.
35600 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35602 `partmap/sun.c'.
35603 (pkgdata_MODULES): Add `sun.mod'.
35604 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35605 * include/grub/partition.h (grub_sun_partition_map_init): New
35606 prototype.
35607 (grub_sun_partition_map_fini): Likewise.
35608 * partmap/sun.c: New file.
35609 * util/grub-emu.c (main): Initialize and de-initialize the sun
35610 partitionmap support.
35611
35612 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35613
35614 This implements an Emacs-like menu entry editor.
35615
35616 * normal/menu_entry.c: New file.
35617
35618 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35619 characters to ASCII.
35620 (saved_char): New variable.
35621 (grub_ncurses_checkkey): Rewritten completely.
35622 (grub_ncurses_getkey): Likewise.
35623 (grub_ncurses_init): Call raw instead of cbreak.
35624
35625 * normal/menu.c (print_entry): Do not put a space.
35626 (init_page): Renamed to ...
35627 (grub_menu_init_page): ... this. All callers changed.
35628 (edit_menu_entry): Removed.
35629 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35630
35631 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35632
35633 * kern/misc.c (grub_vprintf): Call grub_refresh.
35634
35635 * normal/menu.c (DISP_LEFT): Renamed to ...
35636 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35637 * normal/menu.c (DISP_UP): Renamed to ...
35638 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35639 * normal/menu.c (DISP_RIGHT): Renamed to ...
35640 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35641 * normal/menu.c (DISP_DOWN): Renamed to ...
35642 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35643 * normal/menu.c (DISP_HLINE): Renamed to ...
35644 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35645 * normal/menu.c (DISP_VLINE): Renamed to ...
35646 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35647 * normal/menu.c (DISP_UL): Renamed to ...
35648 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35649 * normal/menu.c (DISP_UR): Renamed to ...
35650 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35651 * normal/menu.c (DISP_LL): Renamed to ...
35652 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35653 * normal/menu.c (DISP_LR): Renamed to ...
35654 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35655 * normal/menu.c (TERM_WIDTH): Renamed to ...
35656 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35657 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35658 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35659 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35660 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35661 * normal/menu.c (TERM_MARGIN): Renamed to ...
35662 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35663 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35664 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35665 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35666 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35667 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35668 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35669 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35670 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35671 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35672 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35673 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35674 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35675 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35676 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35677 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35678 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35679 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35680 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35681 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35682 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35683 All callers changed.
35684
35685 * include/grub/normal.h: New prototype.
35686
35687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35688 normal/menu_entry.c.
35689 (normal_mod_SOURCES): Likewise.
35690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35691 (normal_mod_SOURCES): Likewise.
35692
35693 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35694
35695 * include/grub/normal.h (grub_halt_init): New prototype.
35696 (grub_halt_fini): Likewise.
35697 (grub_reboot_init): Likewise.
35698 (grub_reboot_fini): Likewise.
35699
35700 * util/grub-emu.c: Include signal.h.
35701 (main_env): New global variable.
35702 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35703 catch C-c.
35704 (grub_machine_fini): New function.
35705 (main): Call grub_halt_init and grub_reboot_init before
35706 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35707 Call setjmp with MAIN_ENV to go back afterwards.
35708 Call grub_machine_fini right before return.
35709
35710 * include/grub/util/misc.h: Include setjmp.h.
35711 (main_env): New prototype.
35712
35713 * include/grub/kernel.h (grub_machine_fini): New prototype.
35714 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35715 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35716
35717 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35718 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35719 * term/i386/pc/console.c (grub_console_fini): Likewise.
35720
35721 * util/i386/pc/misc.c: New file.
35722
35723 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35724 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35725 commands/i386/pc/reboot.c.
35726
35727 2005-02-14 Guillem Jover <guillem@hadrons.org>
35728
35729 * include/grub/dl.h (grub_dl_check_header): New prototype.
35730 (grub_arch_dl_check_header): Change return type to grub_err_t,
35731 remove size parameter and export function. Update all callers.
35732 * kern/dl.c (grub_dl_check_header): New function.
35733 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35734 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35735 are inside the core.
35736 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35737 independent ELF header checks.
35738 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35739 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35740 `grub_dl_check_header' instead of explicit checks. Check for the
35741 ELF type.
35742 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35743 `grub_dl_check_header' instead of explicit checks. Remove arch
35744 specific ELF header checks.
35745
35746 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35747 argument SIZE.
35748
35749 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35750
35751 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35752 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35753
35754 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35755
35756 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
35757 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
35758 (part_map_iterate): Clear `grub_errno' and return 0 if
35759 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
35760 * partmap/amiga.c (amiga_partition_map_iterate): Return
35761 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35762 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35763
35764 2005-02-01 Guillem Jover <guillem@hadrons.org>
35765
35766 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35767 help info.
35768
35769 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35770
35771 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35772 Removed prototype.
35773 (grub_rescue_cmd_linux): New prototype.
35774 (grub_rescue_cmd_initrd): Likewise.
35775 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35776 `bi_rec'.
35777 (grub_linux_release_mem): Release the memory for the initrd.
35778 (grub_load_linux): Renamed from this...
35779 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35780 Changed `entry' not to be static. Loop over memory regions to
35781 find another one when the default fails.
35782 (grub_rescue_cmd_initrd): New function.
35783 (grub_linux_init): Remove function.
35784 (grub_linux_fini): Likewise.
35785 (GRUB_MOD_INIT): Register `initrd'.
35786 (GRUB_MOD_FINI): Unregister `initrd'.
35787 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35788 Function removed.
35789 (grub_linux_normal_fini): Likewise.
35790 (GRUB_MOD_INIT): Register `initrd'.
35791 (GRUB_MOD_FINI): Unregister `initrd'.
35792
35793 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35794
35795 * commands/help.c: New file.
35796 * normal/arg.c (show_help): Renamed to...
35797 (grub_arg_show_help): ... this.
35798 * commands/i386/pc/halt.c: New file.
35799 * commands/i386/pc/reboot.c: Likewise.
35800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35801 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35802 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35803 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35804 variables.
35805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35806 `commands/help.c'.
35807 (pkgdata_MODULES): Add `help.mod'.
35808 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35809 * grub/i386/pc/init.h (grub_reboot): New prototype.
35810 (grub_halt): Likewise.
35811 * include/grub/normal.h (grub_arg_show_help): New prototype.
35812 (grub_help_init): Likewise.
35813 (grub_help_fini): Likewise.
35814 * util/grub-emu.c (main): Initialize and deinitialize the help
35815 command.
35816
35817 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35818
35819 * normal/command.c (grub_command_init): Fixed the description of
35820 the `set' and `unset' commands.
35821
35822 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35823
35824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35825 function.
35826 * commands/ieee1275/halt.c: New file.
35827 * commands/ieee1275/reboot.c: Likewise.
35828 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35829 `__attribute__ ((unused))'. Some GCS related fixed.
35830 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35831 (grub_suspend_fini): Likewise.
35832 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35833 and `halt.mod'.
35834 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35835 (halt_mod_CFLAGS): New variables.
35836 * include/grub/powerpc/ieee1275/ieee1275.h
35837 (grub_ieee1275_interpret): New prototype.
35838
35839 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35840
35841 * include/grub/misc.h (memmove): New prototype.
35842 (memcpy): Likewise.
35843
35844 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35845
35846 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35847 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35848
35849 2005-01-22 Marco Gerards <metgerards@student.han.nl>
35850
35851 * kern/misc.c (grub_strndup): Function rewritten.
35852
35853 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35854
35855 * normal/menu.c (TERM_WIDTH): Macro redefined.
35856 (TERM_TOP_BORDER_Y): Likewise.
35857 (draw_border): Replaced while-loop by a for-loop. Make the number
35858 of lines consistent with the number of lines displayed in
35859 print_entries. Added a margin below the rectangle.
35860 (print_entry): Make the entry fit in the rectangle.
35861 (print_entries): Display the scroll arrows next to the right
35862 border.
35863
35864 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35865
35866 * fs/minix.c (grub_minix_find_file): Reserve more space for
35867 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35868 `grub_strncpy' to copy `path' into it.
35869
35870 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35871
35872 Add the loopback device, a device via which files can be accessed
35873 as devices.
35874
35875 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35876 (pkgdata_MODULES): Add loopback.mod.
35877 (loopback_mod_SOURCES): New variable.
35878 (loopback_mod_CFLAGS): Likewise.
35879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35880 `disk/loopback.c'.
35881 (pkgdata_MODULES): Add loopback.mod.
35882 (loopback_mod_SOURCES): New variable.
35883 (loopback_mod_CFLAGS): Likewise.
35884 * disk/loopback.c: new file.
35885 * include/grub/normal.h (grub_loop_init): New prototype.
35886 (grub_loop_fini): New prototype.
35887 * util/grub-emu.c (main): Initialize and de-initialize loopback
35888 support.
35889 * include/grub/disk.h (grub_disk_dev_id): Add
35890 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35891
35892 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35893
35894 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35895 function.
35896 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35897 (suspend_mod_SOURCES): New variable.
35898 (suspend_mod_CFLAGS): Likewise.
35899 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35900 New prototype.
35901 * commands/ieee1275/suspend.c: New file.
35902
35903 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35904
35905 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
35906 ((unused))' to `__attribute__ ((used))'.
35907 (GRUB_MOD_FINI): Likewise.
35908 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35909 * genmk.rb (PModule): Assign space to common symbols when linking
35910 modules.
35911
35912 2005-01-20 Marco Gerards <metgerards@student.han.nl>
35913
35914 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35915 `unsigned' arguments to `grub_size_t'.
35916 (grub_malloc): Likewise.
35917 (grub_realloc): Likewise.
35918 (grub_memalign): Likewise.
35919 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35920 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35921 * util/misc.c (grub_malloc): Likewise.
35922 (grub_realloc): Likewise.
35923 * kern/mm.c (get_header_from_pointer): Change the casts to
35924 `unsigned' into a cast to `grub_size_t'.
35925
35926 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35927 point to `currnode' when `currnode' is changed.
35928
35929 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35930 Schottelius <nico-linux@schottelius.org>.
35931
35932 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35933
35934 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35935 (note_path): Remove variable.
35936 (GRUB_IEEE1275_NOTE_NAME): New macro.
35937 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35938 (grub_ieee1275_note_hdr): New structure.
35939 (grub_ieee1275_note_desc): Likewise.
35940 (grub_ieee1275_note): Likewise.
35941 (load_note): Remove `dir' argument. All callers updated. Remove
35942 `note_img' and `path'. Do not load a file from `note_path'.
35943 Initialize a struct grub_ieee1275_note and write that to `out'.
35944 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35945
35946 2005-01-05 Marco Gerards <metgerards@student.han.nl>
35947
35948 * util/misc.c (grub_util_read_image): Revert last change. It
35949 called `grub_util_read_at', which seeks from the beginning of the
35950 file.
35951
35952 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35953
35954 * TODO: Add note about endianness in grub-mkimage.
35955 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35956 section.
35957 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35958 (grub_mkimage_SOURCES): New target.
35959 * include/grub/kernel.h (grub_start_addr): Remove variable.
35960 (grub_end_addr): Likewise.
35961 (grub_total_module_size): Likewise.
35962 (grub_kernel_image_size): Likewise.
35963 (GRUB_MODULE_MAGIC): New constant.
35964 (grub_module_info): New structure.
35965 (grub_arch_modules_addr): New prototype.
35966 (grub_get_end_addr): Remove prototype.
35967 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35968 * include/grub/powerpc/ieee1275/kernel.h: New file.
35969 * include/grub/util/misc.h (grub_util_get_fp_size): New
35970 prototype.
35971 (grub_util_read_at): Likewise.
35972 (grub_util_write_image_at): Likewise.
35973 * kern/main.c (grub_get_end_addr): Remove function.
35974 (grub_load_modules): Call grub_arch_modules_addr instead of using
35975 grub_end_addr. Look for a grub_module_info struct in memory. Use
35976 the grub_module_info fields instead of calling grub_get_end_addr
35977 as loop conditions. Move grub_add_unused_region code here.
35978 (grub_add_unused_region): Remove function.
35979 * kern/i386/pc/init.c: Include grub/cache.h.
35980 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35981 one call to add_mem_region.
35982 (grub_arch_modules_addr): New function.
35983 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35984 (grub_total_module_size): Likewise.
35985 Include grub/machine/kernel.h.
35986 (grub_arch_modules_addr): New function.
35987 * util/grub-emu.c (grub_end_addr): Remove variable.
35988 (grub_total_module_size): Likewise.
35989 (grub_arch_modules_addr): New function.
35990 * util/misc.c: Include unistd.h.
35991 (grub_util_get_fp_size): New function.
35992 (grub_util_read_at): Likewise.
35993 (grub_util_write_image_at): Likewise.
35994 (grub_util_read_image): Call grub_util_read_at.
35995 (grub_util_write_image): Call grub_util_write_image_at.
35996 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35997 additional memory in kernel_img for a struct grub_module_info.
35998 Fill in that grub_module_info.
35999 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36000
36001 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36002
36003 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36004 New function.
36005 * include/grub/powerpc/ieee1275/ieee1275.h
36006 (grub_ieee1275_milliseconds): New prototype.
36007 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36008 Change to 1000.
36009 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36010 grub_ieee1275_milliseconds.
36011
36012 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36013
36014 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36015 variable.
36016 (find_options): New function.
36017 (cmain): Call find_options.
36018 * include/grub/powerpc/ieee1275/ieee1275.h
36019 (grub_ieee1275_realmode): New extern variable.
36020 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36021 grub_map if grub_ieee1275_realmode is false.
36022
36023 2004-12-29 Marco Gerards <metgerards@student.han.nl>
36024
36025 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36026 lines are inserted and make it work like readline. Reported by
36027 Vincent Pelletier <subdino2004@yahoo.fr>.
36028
36029 2004-12-28 Marco Gerards <metgerards@student.han.nl>
36030
36031 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36032
36033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36034 `kern/powerpc/cache.S'.
36035
36036 2004-12-27 Marco Gerards <metgerards@student.han.nl>
36037
36038 * genmk.rb: Handle the `Program' class in the main loop. Written
36039 by Johan Rydberg <jrydberg@gnu.org>.
36040 (Program): New class.
36041 (programs): New variable.
36042 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36043 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36044 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36045 (help_arch): Function removed.
36046 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36047 `powerpc/libgcc.h' and `loader.h'.
36048 (pkgdata_PROGRAMS): New variable.
36049 (sbin_UTILITIES): Variable removed.
36050 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36051 (grubof_SOURCES): Variable re-defined so it only includes the
36052 core functionality.
36053 (grubof_CFLAGS): Remove `-DGRUBOF'.
36054 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
36055 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
36056 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
36057 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
36058 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
36059 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
36060 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
36061 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
36062 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
36063 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
36064 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36065 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
36066 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
36067 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
36068 (pc_mod_CFLAGS): New variables.
36069 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
36070 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
36071 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
36072 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
36073 Moved from here...
36074 * include/grub/i386/pc/init.h (grub_os_area_addr)
36075 (rub_os_area_size): ... to here.
36076 * include/grub/powerpc/ieee1275/ieee1275.h
36077 (grub_ieee1275_entry_fn): Export symbol.
36078 * include/grub/powerpc/ieee1275/init.h: New file.
36079 * include/grub/powerpc/libgcc.h: Likewise.
36080 * include/grub/cache.h: Likewise.
36081 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
36082 <hollis@penguinppc.org>.
36083 * kern/dl.c: Include <grub/cache.h>.
36084 (grub_dl_flush_cache): New function.
36085 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
36086 for this module.
36087 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
36088 (grub_console_init): Removed prototypes.
36089 (grub_machine_init): Don't initialize the modules anymore.
36090 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
36091 static.
36092 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
36093 Macro undef removed.
36094 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
36095 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
36096 relocation `R_PPC_REL32'. Return an error when the relocation is
36097 unknown.
36098 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
36099 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
36100 * util/misc.c (grub_arch_sync_caches): Likewise.
36101
36102 2004-12-19 Marco Gerards <metgerards@student.han.nl>
36103
36104 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
36105 `symlist.c', add `grubof_symlist.c'.
36106 (symlist.c): Variable removed.
36107 (grubof_HEADERS): Variable added.
36108 (grubof_symlist.c): New target.
36109 (kernel_syms.lst): Use `grubof_HEADERS' instead of
36110 `kernel_img_HEADERS'.
36111 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
36112 * kern/powerpc/dl.c: New file.
36113 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
36114 Function removed.
36115 (grub_arch_dl_relocate_symbols): Likewise.
36116 (grub_register_exported_symbols): Likewise.
36117
36118 2004-12-13 Marco Gerards <metgerards@student.han.nl>
36119
36120 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
36121 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
36122 to fail instead. Reported by Vincent Pelletier
36123 <subdino2004@yahoo.fr>.
36124
36125 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
36126 it is not allocated. Reported by Vincent Pelletier
36127 <subdino2004@yahoo.fr>.
36128
36129 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
36130 output so the output looks better.
36131
36132 2004-12-04 Marco Gerards <metgerards@student.han.nl>
36133
36134 Modulize the partition map support and add support for the amiga
36135 partition map.
36136
36137 * commands/ls.c: Include <grub/partition.h> instead of
36138 <grub/machine/partition.h>.
36139 * kern/disk.c: Likewise.
36140 * kern/rescue.c: Likewise.
36141 * loader/i386/pc/chainloader.c: Likewise.
36142 * normal/cmdline.c: Likewise.
36143 * kern/powerpc/ieee1275/init.c: Likewise.
36144 (grub_machine_init): Call `grub_pc_partition_map_init',
36145 `grub_amiga_partition_map_init' and
36146 `grub_apple_partition_map_init'.
36147 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
36148 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
36149 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
36150 `partition.h' and `pc_partition.h'.
36151 (grub_setup_SOURCES): Remove
36152 `disk/i386/pc/partition.c'. Add `kern/partition.c',
36153 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36154 (grub_emu_SOURCES): Likewise.
36155 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
36156 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
36157 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
36158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36159 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
36160 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36161 (grubof_SOURCES): Likewise.
36162 * disk/i386/pc/partition.c: File removed.
36163 * disk/powerpc/ieee1275/partition.c: Likewise.
36164 * include/grub/powerpc/ieee1275/partition.h: Likewise.
36165 * include/grub/i386/pc/partition.h: Likewise.
36166 * kern/partition.c: New file.
36167 * partmap/amiga.c: Likewise.
36168 * partmap/apple.c: Likewise.
36169 * partmap/pc.c: Likewise.
36170 * include/grub/partition.h: Likewise..
36171 * include/grub/pc_partition.h: Likewise.
36172 * util/grub-emu.c: Include <grub/partition.h> instead of
36173 <grub/machine/partition.h>.
36174 (main): Call `grub_pc_partition_map_init',
36175 `grub_amiga_partition_map_init' and
36176 `grub_apple_partition_map_init' and deinitialize afterwards.
36177 * util/i386/pc/biosdisk.c: Include `#include
36178 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36179 `<grub/machine/partition.h>'.
36180 * util/i386/pc/grub-setup.c: Likewise.
36181 * util/i386/pc/biosdisk.c: Likewise.
36182 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
36183 partition information in case of a PC partition.
36184 * util/i386/pc/grub-setup.c: Include `#include
36185 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36186 `<grub/machine/partition.h>'.
36187 (setup): Only access the PC specific partition information in case
36188 of a PC partition.
36189
36190 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
36191
36192 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
36193 (grub_longjmp): Likewise.
36194 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
36195 20.
36196 * normal/powerpc/setjmp.S: New file.
36197 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36198 `normal/powerpc/setjmp.S'.
36199 (grubof_CFLAGS): Add `-DGRUBOF'.
36200 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
36201 [GRUB_UTIL && !GRUBOF].
36202
36203 2004-11-16 Marco Gerards <metgerards@student.han.nl>
36204
36205 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
36206 property named `name'. Correctly handle the error returned by
36207 `grub_ieee1275_finddevice' if a device can not be opened.
36208
36209 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
36210
36211 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
36212 `actual' for negativity.
36213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36214 kern/fshelp.c.
36215
36216 2004-11-01 Marco Gerards <metgerards@student.han.nl>
36217
36218 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
36219 (PAGE_OFFSET): New macro.
36220 (CRTC_ADDR_PORT): Likewise.
36221 (CRTC_DATA_PORT): Likewise.
36222 (START_ADDR_HIGH_REGISTER): Likewise.
36223 (START_ADDR_LOW_REGISTER): Likewise.
36224 (GRAPHICS_ADDR_PORT): Likewise.
36225 (GRAPHICS_DATA_PORT): Likewise.
36226 (READ_MAP_REGISTER): Likewise.
36227 (INPUT_STATUS1_REGISTER): Likewise.
36228 (INPUT_STATUS1_VERTR_BIT): Likewise.
36229 (page): New variable.
36230 (wait_vretrace): New function.
36231 (set_read_map): Likewise.
36232 (set_start_address): Likewise.
36233 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
36234 the right page.
36235 (check_vga_mem): Take the page into account.
36236 (write_char): Likewise.
36237 (write_cursor): Likewise.
36238 (scroll_up): Likewise. Copy the page to the page that is not
36239 shown and switch between both pages.
36240 (grub_vga_putchar): Fix off by one error.
36241 (grub_vga_cls): Wait for the vertical retrace. Take the page into
36242 account.
36243
36244 2004-11-01 Marco Gerards <metgerards@student.han.nl>
36245
36246 Add support for iso9660 (including rockridge).
36247
36248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36249 (iso9660_mod_SOURCES): New variable.
36250 (iso9660_mod_CFLAGS): Likewise.
36251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36252 * include/grub/fs.h (grub_iso9660_init): New prototype.
36253 * util/grub-emu.c (main): Call `grub_iso9660_init'.
36254 * fs/iso9660.c: New file.
36255
36256 * include/grub/misc.h (grub_strncat): New prototype.
36257 * kern/misc.c (grub_strncat): New function.
36258
36259 * fs/hfs.c (grub_hfs_mount): Translate the error
36260 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
36261 * fs/jfs.c (grub_jfs_mount): Likewise.
36262 * fs/ufs.c (grub_ufs_mount): Likewise.
36263
36264 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
36265
36266 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
36267 which initialized BAT registers.
36268 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
36269 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36270 Move from here...
36271 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
36272 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36273 ... to here.
36274 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
36275 (grub_mapclaim): Likewise.
36276 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
36277 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
36278 hand.
36279
36280 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
36281
36282 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
36283 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
36284 -ffreestanding and -msoft-float.
36285
36286 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
36287
36288 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
36289 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
36290 set in grub_ieee1275_flags.
36291
36292 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
36293
36294 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
36295 prototype.
36296 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
36297 grub_console_init first.
36298 Change the memory range used for grub_ieee1275_claim and
36299 grub_mm_init_region.
36300 Print an error message if the claim fails.
36301 Include <grub/misc.h>.
36302
36303 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
36304
36305 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
36306 Call grub_children_iterate for device nodes of type `scsi',
36307 `ide', or `ata'.
36308 (grub_ofdisk_open): Remove manual device alias resolution.
36309 Fix memory leak when device cannot be opened.
36310 * include/grub/powerpc/ieee1275/ieee1275.h
36311 (grub_children_iterate): New prototype.
36312 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
36313 New function.
36314 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36315 Return -1 if args.size was -1.
36316
36317 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36318
36319 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
36320 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
36321 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
36322 Open Firmware's memory for it; claim memory from _start to _end.
36323 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
36324 (_end): New extern.
36325 (_start): Zero BSS from __bss_start to _end.
36326 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36327 New extern.
36328 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
36329
36330 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36331
36332 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
36333 -1 if args.base was -1.
36334
36335 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
36336
36337 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
36338 escape sequence instead of a literal ^L. Also call
36339 grub_ofconsole_gotoxy.
36340
36341 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
36342
36343 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
36344 void * arguments to grub_addr_t. All callers updated. Also make
36345 the `result' argument optional.
36346 (grub_ieee1275_release): change void * arguments to grub_addr_t.
36347 All callers updated.
36348
36349 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
36350
36351 * commands/ls.c (grub_ls_list_files): Use the string following the
36352 initial ')', if present, as the filesystem path.
36353 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36354
36355 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36356
36357 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36358
36359 Make the source code of the menu interface more readable.
36360
36361 * normal/menu.c: Include grub/mm.h.
36362 (TERM_WIDTH): New macro.
36363 (TERM_HEIGHT): Likewise.
36364 (TERM_INFO_HEIGHT): Likewise.
36365 (TERM_MARGIN): Likewise.
36366 (TERM_SCROLL_WIDTH): Likewise.
36367 (TERM_TOP_BORDER_Y): Likewise.
36368 (TERM_LEFT_BORDER_X): Likewise.
36369 (TERM_BORDER_WIDTH): Likewise.
36370 (TERM_MESSAGE_HEIGHT): Likewise.
36371 (TERM_BORDER_HEIGHT): Likewise.
36372 (TERM_NUM_ENTRIES): Likewise.
36373 (TERM_FIRST_ENTRY_Y): Likewise.
36374 (TERM_ENTRY_WIDTH): Likewise.
36375 (TERM_CURSOR_X): Likewise.
36376 (draw_border): Use macros instead of magic numbers.
36377 (print_entry): Likewise.
36378 (print_entries): Likewise.
36379 (run_menu): Likewise. Also, handle the key 'e'.
36380 (run_menu_entry): Ignore empty command lines.
36381 (print_message): Added a new argument EDIT. If EDIT is true,
36382 print a different message.
36383 (init_page): Likewise.
36384 (edit_menu_entry): New function. Not implemented yet.
36385
36386 2004-09-17 Marco Gerards <metgerards@student.han.nl>
36387
36388 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36389 can be loaded from normal mode.
36390
36391 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36392 `multiboot.mod'.
36393 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36394 (multiboot_mod_CFLAGS): New variables.
36395 * loader/i386/pc/linux_normal.c: New file.
36396 * loader/i386/pc/multiboot_normal.c: Likewise.
36397
36398 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36399 attribute `unused'.
36400
36401 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36402 `fdiro' to read the mode information from instead of `diro'.
36403
36404 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36405 looking up a symlink.
36406
36407 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36408 macro.
36409 * normal/command.c (grub_command_execute): Don't parse the
36410 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36411 flags of the command.
36412
36413 * normal/menu.c (grub_menu_run): Fix typo.
36414
36415 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36416
36417 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36418
36419 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36420 `y + 1' instead of `y - 1'.
36421
36422 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
36423
36424 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36425
36426 From Hollis Blanchard <hollis@penguinppc.org>:
36427 * kern/misc.c (memmove): New alias for grub_memmove.
36428 (memcmp): New alias for grub_memcmp.
36429 (memset): New alias for grub_memset.
36430 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36431 Change "int handle" to "grub_ieee1275_phandle_t handle".
36432 * include/grub/powerpc/ieee1275/ieee1275.h
36433 (grub_ieee1275_get_property): Likewise.
36434
36435 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36436
36437 Added normal mode command `chainloader' as module chain.mod, which
36438 depends on normal.mod and _chain.mod.
36439
36440 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36441 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36442 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36443 Deleted prototype.
36444 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36445 but arguments parsing moved to ...
36446 (grub_chainloader_cmd): ... here. New function.
36447 * include/grub/i386/pc/chainloader.h: New file.
36448 * loader/i386/pc/chainloader_normal.c: Likewise.
36449
36450 2004-09-11 Marco Gerards <metgerards@student.han.nl>
36451
36452 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36453 (grub_mkimage_LDFLAGS): Likewise.
36454 (grub_emu_SOURCES): Likewise.
36455 (kernel_img_HEADERS): Added fshelp.h.
36456 * fs/ext2.c: Include <grub/fshelp.h>.
36457 (FILETYPE_REG): New macro.
36458 (FILETYPE_INO_REG): Likewise.
36459 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36460 Changed all users.
36461 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36462 all users.
36463 (grub_fshelp_node): New struct.
36464 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36465 to a pointer.
36466 (grub_ext2_get_file_block): Removed function.
36467 (grub_ext2_read_block): New function.
36468 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36469 This function was written.
36470 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36471 (grub_ext2_find_file): Removed function.
36472 (grub_ext2_read_symlink): New function.
36473 (grub_ext2_iterate_dir): Likewise.
36474 (grub_ext2_open): Rewritten.
36475 (grub_ext2_dir): Rewritten.
36476 * include/grub/fshelp.h: New file.
36477 * fs/fshelp.c: Likewise.
36478
36479 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36480
36481 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36482 (print_message): Add a missing newline.
36483 (run_menu): Added timeout support.
36484 (run_menu_entry): New local function.
36485 (grub_menu_run): Added support for booting.
36486
36487 * kern/loader.c (grub_loader_is_loaded): New function.
36488
36489 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36490 (grub_get_rtc): Exported.
36491
36492 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36493 (grub_get_rtc): Exported.
36494
36495 * include/grub/normal.h (struct grub_command_list): Remove
36496 constant from the member `command'.
36497
36498 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36499
36500 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36501
36502 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36503
36504 2004-08-28 Marco Gerards <metgerards@student.han.nl>
36505
36506 Add support for the JFS filesystem.
36507
36508 * fs/jfs.c: New file.
36509 * include/grub/fs.h (grub_jfs_init): New prototype.
36510 (grub_jfs_fini): New prototype.
36511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36512 (grub_emu_SOURCES): Likewise.
36513 (pkgdata_MODULES): Add jfs.mod.
36514 (jfs_mod_SOURCES): New variable.
36515 (jfs_mod_CFLAGS): Likewise.
36516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36517 (grubof_SOURCES): Likewise.
36518 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36519
36520 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36521 endian to the host endian.
36522 (grub_fat_utf16_to_utf8): Move function from there...
36523 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
36524 the endianness of the source string anymore.
36525 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36526
36527 2004-08-24 Marco Gerards <metgerards@student.han.nl>
36528
36529 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36530 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36531 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36532 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
36533
36534 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36535 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36536 for `node_found' and `it_dir'.
36537 (grub_hfs_dir): Add prototype for `dir_hook'.
36538
36539 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36540 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36541 and `indir32' to silence a gcc warning.
36542
36543 * include/grub/fs.h (grub_hfs_init): New prototype.
36544 (grub_hfs_fini): Likewise.
36545
36546
36547 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36548
36549 Each disk device has its own id now. This is useful to make use
36550 of multiple disk devices.
36551
36552 * include/grub/disk.h (grub_disk_dev_id): New enum.
36553 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36554 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36555
36556 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36557 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36558
36559 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36560 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36561
36562 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36563 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36564
36565 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36566 "id" which is used by the cache manager.
36567
36568 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36569 of just "GRUB".
36570
36571 2004-08-18 Marco Gerards <metgerards@student.han.nl>
36572
36573 * fs/hfs.c: New file.
36574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36575 (grub_emu_SOURCES): Likewise.
36576 (pkgdata_MODULES): Add hfs.mod.
36577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36578 (grubof_SOURCES): Likewise.
36579 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36580
36581 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36582 * kern/misc.c (grub_strncasecmp): Add function.
36583
36584 2004-08-14 Marco Gerards <metgerards@student.han.nl>
36585
36586 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36587 with parentheses.
36588
36589 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36590 (grub_ext2_dir): In case the directory entry type is unknown, read
36591 it from the inode.
36592
36593 2004-08-02 Peter Bruin <pjbruin@dds.nl>
36594
36595 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36596 grub_load_linux instead of grub_rescue_cmd_linux as second
36597 argument of grub_rescue_register_command.
36598
36599 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36600
36601 2004-07-27 Marco Gerards <metgerards@student.han.nl>
36602
36603 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36604 function.
36605 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36606 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36607 `loader/powerpc/ieee1275/linux.c',
36608 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36609 * include/grub/powerpc/ieee1275/ieee1275.h
36610 (grub_ieee1275_release): New prototype.
36611 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36612 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36613 normal, boot, linux and linux_normal.
36614 * loader/powerpc/ieee1275/linux.c: New file.
36615 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36616
36617 2004-07-12 Marco Gerards <metgerards@student.han.nl>
36618
36619 * normal/arg.c (grub_arg_parse): Correct error handling after
36620 reallocating the argumentlist (check if `argl' is not null instead
36621 of checking if `args' is not null).
36622 * kern/mm.c (grub_realloc): Return the same pointer when using the
36623 same region, instead of returning the header address.
36624
36625 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36626
36627 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36628 one block instead of two when looking for the initial partition.
36629 (grub_partition_probe): Initialize the local variable `p' with 0.
36630 Use base 10 for the grub_strtoul call.
36631 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36632 need for one local variable.
36633 (grub_strtoul): Don't add the new value to `num', instead of that
36634 just assign it.
36635
36636 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36637
36638 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36639 (pxeboot_img_SOURCES): New variable.
36640 (pxeboot_img_ASFLAGS): Likewise.
36641 (pxeboot_img_LDFLAGS): Likewise.
36642 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36643 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36644 <lode_leroy@hotmail.com>.
36645
36646 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36647
36648 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36649 there was no input.
36650
36651 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36652
36653 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36654 the history buffer logic.
36655
36656 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36657
36658 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36659 (FILETYPE_INO_SYMLINK): New macros.
36660 (grub_ext2_find_file): Check if the node is a directory using the
36661 inode stat information instead of using the filetype in the
36662 dirent. Exclude the first character of an absolute symlink.
36663 (grub_ext2_dir): Mask out the filetype part of the mode member of
36664 the inode.
36665
36666 2004-05-24 Marco Gerards <metgerards@student.han.nl>
36667
36668 Add support for UFS version 1 and 2. Add support for the minix
36669 filesystem version 1 and 2, both the variants with 14 and 30 long
36670 filenames.
36671
36672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36673 fs/minix.c.
36674 (grub_emu_SOURCES): Likewise.
36675 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36676 (ufs_mod_SOURCES): New variable.
36677 (ufs_mod_CFLAGS): Likewise.
36678 (minix_mod_SOURCES): Likewise.
36679 (minix_mod_CFLAGS): Likewise.
36680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36681 fs/minix.c.
36682 (grubof_SOURCES): Likewise.
36683 * fs/ufs.c: New file.
36684 * fs/minix.c: New file.
36685 * include/grub/fs.h (grub_ufs_init): New prototype.
36686 (grub_ufs_fini): Likewise.
36687 (grub_minix_init): Likewise.
36688 (grub_minix_fini): Likewise.
36689 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36690 minix fs.
36691
36692 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36693
36694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36695 commands/ls.c, commands/terminal.c, commands/boot.c,
36696 commands/cmp.c and commands/cat.c.
36697 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36698
36699 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36700 "env.h"
36701
36702 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36703
36704 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36705 and grub_, respectively. Because the conversion is trivial and
36706 mechanical, I omit the details here. Please refer to the CVS
36707 if you need more information.
36708
36709 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36710
36711 * include/pupa: Renamed to ...
36712 * include/grub: ... this.
36713 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36714 * util/i386/pc/grub-mkimage.c: ... this.
36715 * util/i386/pc/pupa-setup.c: Renamed to ...
36716 * util/i386/pc/grub-setup.c: ... this.
36717 * util/pupa-emu.c: Renamed to ...
36718 * util/grub-emu.c: ... this.
36719
36720 2004-03-29 Marco Gerards <metgerards@student.han.nl>
36721
36722 Add support for the newworld apple macintosh (PPC). This has been
36723 tested on the powerbook 2000 only. It only adds support for
36724 generic ieee1275 functions, console and disk support. This should
36725 be easy to port to other architectures with support for Open
36726 Firmware.
36727
36728 * configure.ac: Accept the powerpc as host_cpu. In the case of
36729 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36730 specific tests are only executed while building for the i386.
36731 Inverse test for crosscompile.
36732 * genmk.rb (Utility): Allow assembler files.
36733 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36734 * conf/powerpc-ieee1275.rmk: New file.
36735 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36736 * disk/powerpc/ieee1275/partition.c: Likewise.
36737 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36738 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36739 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36740 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36741 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36742 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36743 * include/pupa/powerpc/ieee1275/loader.h
36744 * include/pupa/powerpc/setjmp.h: Likewise.
36745 * include/pupa/powerpc/types.h: Likewise.
36746 * kern/powerpc/ieee1275/init.c: Likewise.
36747 * kern/powerpc/ieee1275/openfw.c: Likewise.
36748 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36749
36750 These files were written by Johan Rydberg
36751 (jrydberg@night.trouble.net) and I only modified them slightly.
36752
36753 * boot/powerpc/ieee1275/cmain.c: New file.
36754 * boot/powerpc/ieee1275/crt0.S: Likewise.
36755 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36756 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36757
36758 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36759
36760 * Makefile.in: Update copyright.
36761 * genmodsrc.sh: Likewise.
36762 * gensymlist.sh: Likewise.
36763 * term/i386/pc/vga.c: Indent correctly.
36764
36765 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36766 bugreporting address.
36767 * util/i386/pc/pupa-setup.c (usage): Likewise,
36768 (main): Call pupa_ext2_init and pupa_ext2_fini.
36769
36770 * fs/fat.c (log2): Renamed to ...
36771 (fat_log2): ... this.
36772 All callers changed.
36773 * kern/misc.c (memcpy): Alias to pupa_memmove.
36774 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36775 lvalue cast.
36776 * util/console.c (pupa_ncurses_fini): Return 0.
36777
36778 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36779 Move fail label here.
36780 [__GNU__]: Don't warn when using stat.
36781 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36782 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36783 long int. Use strtol instead of strtoul.
36784
36785 2004-03-14 Marco Gerards <metgerards@student.han.nl>
36786
36787 * commands/boot.c: New file.
36788 * commands/cat.c: Likewise.
36789 * commands/cmp.c: Likewise.
36790 * commands/ls.c: Likewise.
36791 * commands/terminal.c: Likewise.
36792 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36793 (pupa_register_command): Changed interface to match the new
36794 argument parser.
36795 (pupa_command_execute): Changed (almost rewritten) so it uses
36796 pupa_split_command. Added support for setting variables using the
36797 syntax `foo=bar'.
36798 (rescue_command): Changed to work with the new argument parser.
36799 (terminal_command): Moved from here to commands/terminal.c.
36800 (set_command): New function.
36801 (unset_command): New function.
36802 (insmod_command): New function.
36803 (rmmod_command): New function.
36804 (lsmod_command): New function.
36805 (pupa_command_init): Don't initialize the command terminal
36806 anymore. Initialize the commands set, unset, insmod, rmmod and
36807 lsmod.
36808 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36809 (kernel_img_HEADERS): Add arg.h and env.h.
36810 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36811 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36812 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36813 normal/arg.c.
36814 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36815 terminal.mod.
36816 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36817 (boot_mod_SOURCES): New variable.
36818 (terminal_mod_SOURCES): Likewise.
36819 (ls_mod_SOURCES): Likewise.
36820 (cmp_mod_SOURCES): Likewise.
36821 (cat_mod_SOURCES): Likewise.
36822
36823 * normal/arg.c: New file.
36824 * kern/env.c: Likewise.
36825 * include/pupa/arg.h: Likewise.
36826 * include/pupa/env.h: Likewise.
36827 * font/manager.c (font_command): Changed to match argument parsing
36828 interface changes.
36829 (PUPA_MOD_INIT): Likewise.
36830 * hello/hello.c (pupa_cmd_hello): Likewise.
36831 (PUPA_MOD_INIT): Likewise.
36832 * include/pupa/disk.h: Include <pupa/device.h>.
36833 (pupa_print_partinfo): New prototype.
36834 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36835 (pupa_dl_get_prefix): Likewise.
36836 * include/pupa/misc.h: Include <pupa/err.h>.
36837 (pupa_isgraph): New prototype.
36838 (pupa_isdigit): Likewise.
36839 (pupa_split_cmdline): Likewise.
36840 * include/pupa/normal.h: Include <pupa/arg.h>.
36841 (pupa_command): Changed the prototype of the member `func' to
36842 match the argument parsing interface. Added member `options'.
36843 (pupa_register_command): Updated to match function.
36844 (pupa_arg_parse): New prototype.
36845 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36846 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36847 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36848 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36849 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36850 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36851 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36852 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36853 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36854 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36855 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36856 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36857 * kern/disk.c: Include <pupa/file.h>.
36858 (pupa_print_partinfo): New function.
36859 * kern/dl.c: Include <pupa/env.h>.
36860 (pupa_dl_dir): Variable removed.
36861 (pupa_dl_load): Use the environment variable `prefix' instead of
36862 the variable pupa_dl_dir.
36863 (pupa_dl_set_prefix): Function removed.
36864 (pupa_dl_get_prefix): Likewise.
36865 * kern/i386/pc/init.c: Include <pupa/env.h>.
36866 (pupa_machine_init): Use the environment variable `prefix' instead of
36867 using pupa_dl_set_prefix to set the prefix.
36868 * kern/main.c: Include <pupa/env.h>.
36869 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36870 using pupa_dl_get_prefix to get the prefix.
36871 * kern/misc.c: Include <pupa/env.h>.
36872 (pupa_isdigit): New function.
36873 (pupa_isgraph): Likewise.
36874 (pupa_ftoa): Likewise.
36875 (pupa_vsprintf): Added support for printing values of the type
36876 `double'. Make it possible to format variable output when using
36877 formatting like `%1.2%f'.
36878 (pupa_split_cmdline): New function.
36879 * kern/rescue.c: Include <pupa/env.h>.
36880 (next_word): Removed function.
36881 (pupa_rescue_cmd_prefix): Likewise.
36882 (pupa_rescue_cmd_set): New function.
36883 (pupa_rescue_cmd_unset): New function.
36884 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36885 split the command line instead of splitting it here. Added
36886 support for setting variables using the syntax `foo=bar'. Don't
36887 initialize the prefix command anymore. Initialized the set and
36888 unset commands.
36889 * normal/cmdline.c: Include <pupa/env.h>.
36890 (pupa_tab_complete): Added prototypes for print_simple_completion,
36891 print_partition_completion, add_completion, iterate_commands,
36892 iterate_dev, iterate_part and iterate_dir. Moved code to print
36893 partition information from here to kern/disk.c.
36894 (pupa_cmdline_run): Don't check if the function exists anymore.
36895 * normal/main.c: Include <pupa/env.h>.
36896 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36897 instead of using pupa_dl_get_prefix to get the prefix.
36898 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36899 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36900 warning.
36901 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36902 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36903 ((unused))' to silence a gcc warning.
36904 (pupa_vga_setcolor): Likewise.
36905 (debug_command): Changed to match argument parsing
36906 interface changes.
36907 * util/pupa-emu.c: Include <pupa/env.h>.
36908 (options): Added 0's for unused fields to silence a gcc warning.
36909 (argp): Likewise.
36910 (main): Use the environment variable `prefix' instead of using
36911 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36912 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36913 and terminal.
36914
36915 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36916 * util/misc.c: Include <malloc.h>.
36917 (pupa_malloc): Rewritten so errors are correctly reported.
36918 (pupa_realloc): Likewise.
36919 (pupa_memalign): Likewise.
36920 (pupa_mm_init_region): Declare unused variables with
36921 `__attribute__ ((unused))' to silence a gcc warning.
36922 * normal/i386/setjmp.S: Remove tab at the end of the file to
36923 silence a gcc warning.
36924 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36925 variables with `__attribute__ ((unused))' to silence a gcc
36926 warning.
36927 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36928 local variable i unsigned to silence a gcc warning.
36929
36930 * kern/term.c: Include <pupa/misc.h>.
36931 (pupa_more_lines): New variable.
36932 (pupa_more): Likewise.
36933 (pupa_putcode): When the pager is active pause at the end of every
36934 screen.
36935 (pupa_set_more): New function.
36936 * include/pupa/term.h (pupa_set_more): New prototype.
36937
36938
36939 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36940
36941 Now this project is GRUB 2 rather than PUPA. The location of
36942 the CVS repository was moved to GRUB's.
36943
36944 * configure.ac: Use bug-grub as the reporting address.
36945 Use GRUB instead of PUPA.
36946 Change the version number to 1.90.
36947
36948 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36949
36950 * genkernsyms.sh: Updated copyright information.
36951 * genmk.rb: Likewise.
36952 * genmodsrc.sh: Likewise.
36953 * gensymlist.sh: Likewise.
36954 * boot/i386/pc/boot.S: Likewise.
36955 * boot/i386/pc/diskboot.S: Likewise.
36956 * disk/i386/pc/biosdisk.c: Likewise.
36957 * disk/i386/pc/partition.c: Likewise.
36958 * font/manager.c: Likewise.
36959 * fs/ext2.c: Likewise.
36960 * fs/fat.c: Likewise.
36961 * include/pupa/boot.h: Likewise.
36962 * include/pupa/device.h: Likewise.
36963 * include/pupa/disk.h: Likewise.
36964 * include/pupa/dl.h: Likewise.
36965 * include/pupa/elf.h: Likewise.
36966 * include/pupa/err.h: Likewise.
36967 * include/pupa/file.h: Likewise.
36968 * include/pupa/font.h: Likewise.
36969 * include/pupa/fs.h: Likewise.
36970 * include/pupa/kernel.h: Likewise.
36971 * include/pupa/loader.h: Likewise.
36972 * include/pupa/misc.h: Likewise.
36973 * include/pupa/mm.h: Likewise.
36974 * include/pupa/net.h: Likewise.
36975 * include/pupa/normal.h: Likewise.
36976 * include/pupa/rescue.h: Likewise.
36977 * include/pupa/setjmp.h: Likewise.
36978 * include/pupa/symbol.h: Likewise.
36979 * include/pupa/term.h: Likewise.
36980 * include/pupa/types.h: Likewise.
36981 * include/pupa/i386/setjmp.h: Likewise.
36982 * include/pupa/i386/types.h: Likewise.
36983 * include/pupa/i386/pc/biosdisk.h: Likewise.
36984 * include/pupa/i386/pc/boot.h: Likewise.
36985 * include/pupa/i386/pc/console.h: Likewise.
36986 * include/pupa/i386/pc/init.h: Likewise.
36987 * include/pupa/i386/pc/kernel.h: Likewise.
36988 * include/pupa/i386/pc/linux.h: Likewise.
36989 * include/pupa/i386/pc/loader.h: Likewise.
36990 * include/pupa/i386/pc/memory.h: Likewise.
36991 * include/pupa/i386/pc/multiboot.h: Likewise.
36992 * include/pupa/i386/pc/partition.h: Likewise.
36993 * include/pupa/i386/pc/time.h: Likewise.
36994 * include/pupa/i386/pc/vga.h: Likewise.
36995 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36996 * include/pupa/util/getroot.h: Likewise.
36997 * include/pupa/util/misc.h: Likewise.
36998 * include/pupa/util/resolve.h: Likewise.
36999 * kern/device.c: Likewise.
37000 * kern/disk.c: Likewise.
37001 * kern/dl.c: Likewise.
37002 * kern/err.c: Likewise.
37003 * kern/file.c: Likewise.
37004 * kern/fs.c: Likewise.
37005 * kern/loader.c: Likewise.
37006 * kern/main.c: Likewise.
37007 * kern/misc.c: Likewise.
37008 * kern/mm.c: Likewise.
37009 * kern/rescue.c: Likewise.
37010 * kern/term.c: Likewise.
37011 * kern/i386/dl.c: Likewise.
37012 * kern/i386/pc/init.c: Likewise.
37013 * kern/i386/pc/lzo1x.S: Likewise.
37014 * kern/i386/pc/startup.S: Likewise.
37015 * loader/i386/pc/chainloader.c: Likewise.
37016 * loader/i386/pc/linux.c: Likewise.
37017 * loader/i386/pc/multiboot.c: Likewise.
37018 * normal/cmdline.c: Likewise.
37019 * normal/command.c: Likewise.
37020 * normal/main.c: Likewise.
37021 * normal/menu.c: Likewise.
37022 * normal/i386/setjmp.S: Likewise.
37023 * term/i386/pc/console.c: Likewise.
37024 * term/i386/pc/vga.c: Likewise.
37025 * util/console.c: Likewise.
37026 * util/genmoddep.c: Likewise.
37027 * util/misc.c: Likewise.
37028 * util/pupa-emu.c: Likewise.
37029 * util/resolve.c: Likewise.
37030 * util/unifont2pff.rb: Likewise.
37031 * util/i386/pc/biosdisk.c: Likewise.
37032 * util/i386/pc/getroot.c: Likewise.
37033 * util/i386/pc/pupa-mkimage.c: Likewise.
37034 * util/i386/pc/pupa-setup.c: Likewise.
37035
37036 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37037
37038 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37039 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37040 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37041 reading and reset it after reading.
37042 (pupa_ext2_close): Return PUPA_ERR_NONE.
37043
37044 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37045 Correct value.
37046 (struct linux_kernel_header): Add kernel_version and
37047 initrd_addr_max.
37048 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37049 pupa_file_read succeeds.
37050 (pupa_rescue_cmd_initrd): Implement.
37051
37052 2003-12-03 Marco Gerards <metgerards@student.han.nl>
37053
37054 * fs/ext2.c (pupa_ext2_label): New function.
37055 (pupa_ext2_fs): Added label.
37056 * fs/fat.c (pupa_fat_label): New function.
37057 (pupa_fat_fs): Added label.
37058 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
37059
37060 * kern/misc.c (pupa_strndup): New function.
37061 * include/pupa/misc.h (pupa_strndup): New prototype.
37062
37063 * include/pupa/normal.h: Include <pupa/err.h>.
37064 (pupa_set_history): New prototype.
37065 (pupa_iterate_commands): New prototype.
37066 * normal/cmdline.c: Include <pupa/machine/partition.h>,
37067 <pupa/disk.h>, <pupa/file.h>.
37068 (hist_size): New variable.
37069 (hist_lines): Likewise.
37070 (hist_end): Likewise.
37071 (hist_used): Likewise.
37072 (pupa_set_history): New function.
37073 (pupa_history_get): Likewise.
37074 (pupa_history_add): Likewise.
37075 (pupa_history_replace): Likewise.
37076 (pupa_tab_complete): Likewise.
37077 (pupa_cmdline_run): Added tab completion and history buffer. Tab
37078 completion shows partitionnames while completing partitions, this
37079 feature was suggested by Jeff Bailey.
37080 * normal/command.c (pupa_iterate_commands): New function.
37081 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
37082 (pupa_normal_init): Initialize history buffer.
37083 (PUPA_MOD_INIT): Likewise.
37084 (pupa_normal_fini): Free the history buffer.
37085 (PUPA_MOD_FINI): Likewise.
37086
37087 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
37088 key.
37089
37090 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
37091 * configure.ac [i386]: Check for regparam bug.
37092 (NESTED_FUNC_ATTR) [! i386]: Defined.
37093
37094 2003-11-17 Marco Gerards <metgerards@student.han.nl>
37095
37096 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
37097 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
37098 (pupa_emu_SOURCES): New variable.
37099 (pupa_emu_LDFLAGS): Likewise.
37100 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
37101 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
37102 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
37103 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37104 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
37105 (pupa_jmp_buf): New typedef.
37106 (pupa_setjmp) [PUPA_UTIL]: New macro.
37107 (pupa_longjmp) [PUPA_UTIL]: Likewise.
37108 * include/pupa/term.h (struct pupa_term): New member `refresh'.
37109 (pupa_refresh): New prototype.
37110 * include/pupa/util/getroot.h: New file.
37111 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
37112 it.
37113 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
37114 (pupa_rescue_cmd_cat): Likewise.
37115 (pupa_rescue_cmd_ls): Likewise.
37116 (pupa_rescue_cmd_testload): Likewise.
37117 (pupa_rescue_cmd_lsmod): Likewise.
37118 * normal/cmdline.c (pupa_cmdline_get): Likewise.
37119 * normal/menu.c (run_menu): Likewise.
37120 * kern/term.c (pupa_cls): Likewise.
37121 (pupa_refresh): New function.
37122 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
37123 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37124 * util/console.c: New file.
37125
37126 * util/i386/pc/getroot.c: New file.
37127 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
37128 (pupa_putchar): New function.
37129 (pupa_refresh): Likewise.
37130 (xgetcwd): Function moved to ...
37131 (strip_extra_slashes): Likewise.
37132 (get_prefix): Likewise.
37133 * util/i386/pc/getroot.c: ... here.
37134 (find_root_device): Function moved and renamed to...
37135 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
37136 Changed all callers.
37137 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
37138 and renamed to...
37139 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
37140 Changed all callers.
37141 * util/misc.c (pupa_memalign): New function.
37142 (pupa_mm_init_region): Likewise.
37143 (pupa_register_exported_symbols): Likewise.
37144 (pupa_putchar): Function removed.
37145 * util/pupa-emu.c: New file.
37146
37147 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
37148
37149 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
37150 (_multiboot_mod_SOURCES): New variable.
37151 (_multiboot_mod_CFLAGS): Likewise.
37152 * loader/i386/pc/multiboot.c: New file.
37153 * include/pupa/i386/pc/multiboot.h: Likewise.
37154 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
37155 (pupa_multiboot_real_boot): New function.
37156 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
37157 (pupa_multiboot_real_boot): New prototype.
37158 (pupa_rescue_cmd_multiboot): Likewise
37159 (pupa_rescue_cmd_module): Likewise.
37160
37161 * kern/loader.c (pupa_loader_set): Continue when
37162 pupa_loader_unload_func() fails.
37163 (pupa_loader_unset): New function.
37164 * include/pupa/loader.h (pupa_loader_unset): New prototype.
37165
37166 * kern/misc.c (pupa_stpcpy): New function.
37167 * include/pupa/misc.h (pupa_stpcpy): New prototype.
37168
37169 2003-11-12 Marco Gerards <metgerards@student.han.nl>
37170
37171 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
37172 for available extensions.
37173
37174 * include/pupa/i386/pc/time.h: New file.
37175 * kern/disk.c: Include <pupa/machine/time.h>.
37176 (PUPA_CACHE_TIMEOUT): New macro.
37177 (pupa_last_time): New variable.
37178 (pupa_disk_open): Flush the cache when there was a timeout.
37179 (pupa_disk_close): Reset the timer.
37180 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
37181 pupa_currticks.
37182 * util/misc.c: Include <sys/times.h>
37183 (pupa_get_rtc): New function.
37184
37185 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37186
37187 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
37188 as blocks.
37189 (pupa_ext2_get_file_block): Use blocks member.
37190
37191 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
37192 first block. Return -1 instead of pupa_errno on error.
37193
37194 2003-10-27 Marco Gerards <metgerards@student.han.nl>
37195
37196 * README: In the pupa-mkimage example use _chain instead of chain
37197 and ext2 instead of fat.
37198 * TODO: Replace ext2fs with jfs as an example. Add an item for
37199 adding journal playback for ext2fs.
37200 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
37201 (pkgdata_MODULES): Added ext2.mod.
37202 (ext2_mod_SOURCES): New variable.
37203 (ext2_mod_CFLAGS): Likewise.
37204 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
37205 * include/pupa/misc.h (pupa_strncpy): New prototype.
37206 (pupa_strcat): Likewise.
37207 (pupa_strncmp): Likewise.
37208 * kern/misc.c (pupa_strcat): Enable function.
37209 (pupa_strncpy): New function.
37210 (pupa_strncmp): Likewise.
37211 * fs/ext2.c: New file.
37212
37213 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
37214 when the read failed before retrying.
37215 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
37216 (_FILE_OFFSET_BITS): Likewise.
37217 * configure.ac: Added AC_SYS_LARGEFILE.
37218
37219 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37220
37221 * genmk.rb (PModule#rule): Make sure to get only symbol names
37222 from the output of nm.
37223 Reported by Robert Millan <rmh.grub@aybabtu.com>.
37224
37225 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37226
37227 I forgot to check in these changes for a long time. This adds
37228 incomplete support for VGA console, and this is still very
37229 buggy. Also, a lot of consideration is required for I18N,
37230 UNICODE, and VGA font issues. Therefore, assume that this is
37231 such that "better than nothing".
37232
37233 * font/manager.c: New file.
37234 * include/pupa/font.h: Likewise.
37235 * include/pupa/i386/pc/vga.h: Likewise.
37236 * term/i386/pc/vga.c: Likewise.
37237 * util/unifont2pff.rb: Likewise.
37238
37239 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
37240 (pkgdata_MODULES): Added vga.mod and font.mod.
37241 (vga_mod_SOURCES): New variables.
37242 (vga_mod_CFLAGS): Likewise.
37243 (font_mod_SOURCES): Likewise.
37244 (font_mod_CFLAGS): Likewise.
37245
37246 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
37247
37248 * include/pupa/term.h: Include pupa/err.h.
37249 (struct pupa_term): Added init and fini.
37250 Changed the argument of putchar to pupa_uint32_t.
37251
37252 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
37253 (pupa_console_real_putchar): New prototype.
37254 (pupa_console_putchar): Removed.
37255 (pupa_console_checkkey): Exported.
37256 (pupa_console_getkey): Likewise.
37257
37258 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
37259 characters.
37260
37261 * kern/term.c (pupa_term_set_current): Rewritten.
37262 (pupa_putchar): Likewise.
37263 (pupa_putcode): New function.
37264
37265 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
37266 (pupa_console_real_putchar): ... this.
37267 (pupa_vga_set_mode): New function.
37268 (pupa_vga_get_font): Likewise.
37269
37270 * normal/command.c: Include pupa/term.h.
37271 (terminal_command): New function.
37272 (pupa_command_init): Register the command "terminal".
37273
37274 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
37275 (DISP_UP): Likewise.
37276 (DISP_RIGHT): Likewise.
37277 (DISP_DOWN): Likewise.
37278 (DISP_HLINE): Likewise.
37279 (DISP_VLINE): Likewise.
37280 (DISP_UL): Likewise.
37281 (DISP_UR): Likewise.
37282 (DISP_LL): Likewise.
37283 (DISP_LR): Likewise.
37284
37285 * term/i386/pc/console.c (pupa_console_putchar): New function.
37286
37287 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
37288
37289 * util/resolve.c (pupa_util_resolve_dependencies): BUG
37290 FIX. Reverse the path_list.
37291
37292 * include/pupa/normal.h: Export pupa_register_command and
37293 pupa_unregister_command.
37294
37295 * hello/hello.c (pupa_cmd_hello): New module.
37296 * conf/i386-pc.rmk: Added hello.mod.
37297
37298 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
37299
37300 * kern/i386/pc/lzo1x.S: New file.
37301
37302 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
37303 (compress_kernel): New variable.
37304 (generate_image): Heavily modified to support compressing a
37305 large part of the core image.
37306
37307 * util/misc.c (pupa_util_read_image): Fix a file descriptor
37308 leak.
37309 (pupa_util_load_image): New function.
37310
37311 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
37312 (pupa_compressed_size): New variable.
37313 (codestart): Enable Gate A20 here.
37314 Decompress the compressed part of the core image.
37315 Rearrange the code to put functions and variables which are
37316 required for initialization in the non-compressed part.
37317 Include lzo1x.S.
37318
37319 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
37320 here.
37321
37322 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
37323
37324 * include/pupa/i386/pc/kernel.h
37325 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
37326 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
37327 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37328 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37329 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
37330
37331 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
37332
37333 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
37334 (Utility#rule): Likewise.
37335
37336 * configure.ac: Check if LZO is available.
37337
37338 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
37339
37340 * include/pupa/normal.h: New file.
37341 * include/pupa/setjmp.h: Likewise.
37342 * include/pupa/i386/setjmp.h: Likewise.
37343 * normal/cmdline.c: Likewise.
37344 * normal/command.c: Likewise.
37345 * normal/main.c: Likewise.
37346 * normal/menu.c: Likewise.
37347 * normal/i386/setjmp.S: Likewise.
37348
37349 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
37350 (pupa_rescue_cmd_initrd): Likewise.
37351
37352 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37353 Likewise.
37354
37355 * kern/i386/pc/startup.S (translation_table): New variable.
37356 (translate_keycode): New function.
37357 (pupa_console_getkey): Call translate_keycode.
37358
37359 * kern/rescue.c (attempt_normal_mode): New function.
37360 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37361 it failed, print a message.
37362
37363 * kern/mm.c (pupa_real_malloc): Print more information when a
37364 free magic is broken.
37365 (pupa_free): If the first free header is not free actually, set
37366 it to P.
37367
37368 * kern/main.c (pupa_load_normal_mode): Just load the module
37369 "normal".
37370 (pupa_main): Don't print the message
37371 "Entering into rescue mode..." here.
37372
37373 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37374 Declared.
37375 (pupa_rescue_cmd_initrd): Likewise.
37376 (pupa_rescue_cmd_initrd): Likewise.
37377
37378 * include/pupa/symbol.h (FUNCTION): Specify the type.
37379 (VARIABLE): Likewise.
37380
37381 * include/pupa/err.h (pupa_err_t): Added
37382 PUPA_ERR_UNKNOWN_COMMAND.
37383
37384 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37385 (pupa_dl_get_prefix): Likewise.
37386
37387 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37388 Added _chain.mod and _linux.mod instead of chain.mod and
37389 linux.mod.
37390 (chain_mod_SOURCES): Renamed to ...
37391 (_chain_mod_SOURCES): ... this.
37392 (chain_mod_CFLAGS): Renamed to ...
37393 (_chain_mod_CFLAGS): ... this.
37394 (linux_mod_SOURCES): Renamed to ...
37395 (_linux_mod_SOURCES): ... this.
37396 (linux_mod_CFLAGS): Renamed to ...
37397 (_linux_mod_CFLAGS): ... this.
37398 (normal_mod_SOURCES): New variable.
37399 (normal_mod_CFLAGS): Likewise.
37400 (normal_mod_ASFLAGS): Likewise.
37401
37402 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37403
37404 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37405 possible.
37406
37407 * kern/dl.c (pupa_dl_ref): Refer depending modules
37408 recursively.
37409 (pupa_dl_unref): Unrefer depending modules recursively.
37410 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37411 a module is unloaded before one depending on that module is
37412 unloaded.
37413 (pupa_dl_unload): Unload depending modules explicitly,
37414 if possible.
37415
37416 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37417
37418 * include/pupa/i386/pc/linux.h: New file.
37419 * loader/i386/pc/linux.c: Likewise.
37420
37421 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37422 Removed.
37423 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37424 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37425 of PUPA_CHAINLOADER_BOOT_SECTOR.
37426
37427 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37428 (pupa_linux_prot_size): New variable.
37429 (pupa_linux_tmp_addr): Likewise.
37430 (pupa_linux_real_addr): Likewise.
37431 (pupa_linux_boot_zimage): New function.
37432 (pupa_linux_boot_bzimage): Likewise.
37433
37434 * kern/i386/pc/init.c (struct mem_region): New structure.
37435 (MAX_REGIONS): New macro.
37436 (mem_regions): New variable.
37437 (num_regions): Likewise.
37438 (pupa_os_area_addr): Likewise.
37439 (pupa_os_area_size): Likewise.
37440 (pupa_lower_mem): Likewise.
37441 (pupa_upper_mem): Likewise.
37442 (add_mem_region): New function.
37443 (compact_mem_regions): Likewise.
37444 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37445 the size of the conventional memory and that of so-called upper
37446 memory (before the first memory hole).
37447 Instead of adding each found region to free memory, use
37448 add_mem_region and add them after removing overlaps.
37449 Also, add only 1/4 of the upper memory to free memory. The rest
37450 is used for loading OS images. Maybe this is ad hoc, but this
37451 makes it much easier to relocate OS images when booting.
37452
37453 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37454 (pupa_enter_rescue_mode): Don't register initrd and module.
37455
37456 * kern/mm.c: Include pupa/dl.h.
37457
37458 * kern/main.c: Include pupa/file.h and pupa/device.h.
37459
37460 * kern/loader.c (pupa_loader_load_module_func): Removed.
37461 (pupa_loader_load_module): Likewise.
37462
37463 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37464 ``.o''.
37465
37466 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37467 (pupa_linux_tmp_addr): Likewise.
37468 (pupa_linux_real_addr): Likewise.
37469 (pupa_linux_boot_zimage): Likewise.
37470 (pupa_linux_boot_bzimage): Likewise.
37471
37472 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37473 (pupa_upper_mem): Likewise.
37474 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37475 module is too dangerous.
37476
37477 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37478 (pupa_os_area_size): Likewise.
37479 (pupa_loader_set): Remove the first argument. Loader doesn't
37480 manage modules or initrd any longer.
37481 (pupa_loader_load_module): Removed.
37482
37483 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37484 (linux_mod_SOURCES): New variable.
37485 (linux_mod_CFLAGS): Likewise.
37486
37487 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37488
37489 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37490 the length of a blocklist correctly.
37491
37492 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37493 Use ioctl only if the OS file is a block device.
37494 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37495 not very useful for normal files.
37496
37497 * kern/main.c (pupa_set_root_dev): New function.
37498 (pupa_load_normal_mode): Likewise.
37499 (pupa_main): Call those above.
37500
37501 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37502 pupa_uint16_t.
37503
37504 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37505
37506 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37507
37508 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37509 (setup): Configure the installed partition information and the
37510 dl prefix.
37511
37512 * loader/i386/pc/chainloader.c (my_mod): New variable.
37513 (pupa_chainloader_unload): New function.
37514 (pupa_rescue_cmd_chainloader): Refer itself.
37515 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37516
37517 * kern/i386/pc/startup.S (install_partition): Removed.
37518 (version_string): Likewise.
37519 (config_file): Likewise.
37520 (pupa_install_dos_part): New variable.
37521 (pupa_install_bsd_part): Likewise.
37522 (pupa_prefix): Likewise.
37523 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37524
37525 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37526 and pupa/misc.h.
37527 (make_install_device): New function.
37528 (pupa_machine_init): Set the dl prefix.
37529
37530 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37531 (buf): Renamed to ...
37532 (linebuf): ... this.
37533 (pupa_rescue_cmd_prefix): New function.
37534 (pupa_rescue_cmd_insmod): Likewise.
37535 (pupa_rescue_cmd_rmmod): Likewise.
37536 (pupa_rescue_cmd_lsmod): Likewise.
37537 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37538 rmmod and lsmod.
37539
37540 * kern/mm.c (pupa_memalign): If failed even after invalidating
37541 disk caches, unload unneeded modules and retry.
37542
37543 * kern/misc.c (pupa_memmove): New function.
37544 (pupa_memcpy): Removed.
37545 (pupa_strcpy): New function.
37546 (pupa_itoa): Made static.
37547
37548 * kern/dl.c (pupa_dl_iterate): New function.
37549 (pupa_dl_ref): Likewise.
37550 (pupa_dl_unref): Likewise.
37551 (pupa_dl_unload): Return if succeeded or not.
37552 (pupa_dl_unload_unneeded): New function.
37553 (pupa_dl_unload_all): Likewise.
37554 (pupa_dl_init): Renamed to ...
37555 (pupa_dl_set_prefix): ... this.
37556 (pupa_dl_get_prefix): New function.
37557
37558 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37559 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37560 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37561 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37562 (pupa_install_dos_part): Declared.
37563 (pupa_install_bsd_part): Likewise.
37564 (pupa_prefix): Likewise.
37565 (pupa_boot_drive): Likewise.
37566
37567 * include/pupa/types.h: Fix a typo.
37568
37569 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37570 pupa_memmove.
37571 (pupa_memmove): Declared.
37572 (pupa_strcpy): Likewise.
37573
37574 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37575 pupa_mod_init takes one argument, its own module.
37576 (pupa_dl_unload_unneeded): Declared.
37577 (pupa_dl_unload_all): Likewise.
37578 (pupa_dl_ref): Likewise.
37579 (pupa_dl_unref): Likewise.
37580 (pupa_dl_iterate): Likewise.
37581 (pupa_dl_init): Renamed to ...
37582 (pupa_dl_set_prefix): ... this.
37583 (pupa_dl_get_prefix): Declared.
37584
37585 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
37586 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
37587 unloaded.
37588 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37589 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37590
37591 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37592 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37593
37594 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37595
37596 * util/i386/pc/pupa-setup.c (setup): Define the internal
37597 function find_first_partition_start at the top level, because GCC
37598 3.0.x cannot compile internal functions in deeper scopes
37599 correctly.
37600 (find_root_device): Use lstat instead of stat.
37601 Don't follow symbolic links.
37602 Fix the path-constructing code.
37603
37604 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37605 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37606 by a BLKGETSIZE ioctl first, because block devices don't fill
37607 the member st_mode of the structure stat on Linux.
37608 [__linux__] (linux_find_partition): Use a temporary buffer
37609 REAL_DEV for the working space. Copy it to DEV before returning.
37610 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37611 buffer cache consistent.
37612 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37613 strncmp. The previous value was merely wrong.
37614 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37615
37616 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37617 FAT size is 12. The previous value was merely wrong.
37618
37619 * kern/main.c (pupa_main): Don't split the starting message from
37620 newlines.
37621
37622 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37623 LF, because BIOS goes crazy about character attributes in this
37624 case.
37625
37626 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37627
37628 * include/i386/pc/util/biosdisk.h: New file.
37629 * util/i386/pc/biosdisk.c: Likewise.
37630 * util/i386/pc/pupa-setup.c: Likewise.
37631
37632 * Makefile.in (INCLUDE_DISTFILES): Added
37633 include/pupa/i386/pc/util/biosdisk.h.
37634 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37635 directory util/i386/pc.
37636 (install-local): Added a rule for sbin_UTILITIES.
37637 (uninstall): Likewise.
37638
37639 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37640
37641 * util/misc.c (xrealloc): New function.
37642 (pupa_malloc): Likewise.
37643 (pupa_free): Likewise.
37644 (pupa_realloc): Likewise.
37645 (pupa_stop): Likewise.
37646 (pupa_putchar): Likewise.
37647
37648 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37649
37650 * include/pupa/util/misc.h (xrealloc): Declared.
37651
37652 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37653 macro.
37654 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37655 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37656
37657 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37658 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37659
37660 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37661 way should be implemented.
37662 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37663
37664 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37665 the size of NAME for safety.
37666 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37667 0x88.
37668
37669 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37670 (pupa_setup_SOURCES): Likewise.
37671
37672 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37673
37674 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37675
37676 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37677 bunch of pushl's from pusha, because this destroys the return
37678 value.
37679
37680 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37681
37682 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37683 This means that any missing prototypes could be fatal. Also, you
37684 must take care when writing assembly code. See the comments at
37685 the beginning of startup.S, for more details.
37686
37687 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37688 compilation mechanism.
37689 (pupa_chainloader_real_boot): Likewise.
37690 (pupa_biosdisk_rw_int13_extensions): Likewise.
37691 (pupa_biosdisk_rw_standard): Likewise.
37692 (pupa_biosdisk_check_int13_extensions): Likewise.
37693 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37694 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37695 (pupa_get_memsize): Likewise.
37696 (pupa_get_mmap_entry): Likewise.
37697 (pupa_console_putchar): Likewise.
37698 (pupa_console_setcursor): Likewise.
37699 (pupa_getrtsecs): Use pushl instead of push.
37700
37701 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37702 memory instead of the stack for a mmap entry, because some
37703 BIOSes may ignore the maximum size and overflow.
37704
37705 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37706
37707 * genmk.rb (PModule#rule): Compile automatically generated
37708 sources with module-specific CFLAGS as well as other sources.
37709
37710 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37711
37712 * configure.ac: Check ld.
37713 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37714 respectively, before checking endianness and sizes.
37715
37716 * Makefile.in (LD): New variable.
37717
37718 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37719
37720 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37721
37722 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 * Changelog: New file.
37725