]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
[grub2.git] / ChangeLog
CommitLineData
91ee7b6d
VS
12011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4
91e5a33d
VS
52011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8
9edd7be2
VS
92011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Fix spaces handling in proc/self/mountinfo.
12
13 * util/getroot.c (unescape): New function.
14 (grub_find_root_device_from_mountinfo): Use unescape.
15
ba102053
VS
162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Support ZFS embedding.
19
20 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
21 (grub_zfs_fs): Register grub_zfs_embed.
22
aa94b870
VS
232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
24
25 Fix MIPS compilation.
26
27 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
28 * include/grub/offsets.h: Rename decompressor fields from
29 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
30 * util/grub-mkimage.c (image_targets): Use new names.
31
5fbdac14
VS
322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Defer multiboot device parsing until we're in compressed part.
35
36 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
37 bsd_part. setdevice has fallen into disuse.
38 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
39 (bsd_part): Likewise.
40 (boot_dev): New variable.
41 (multiboot_trampoline): Don't parse multiboot device.
42 Pass multiboot device in %edx.
43 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
44 grub_boot_device.
45 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
46 Likewise.
47 * grub-core/kern/i386/pc/startup.S: Save edx.
48 (grub_boot_drive): Removed.
49 (grub_install_dos_part): Likewise.
50 (grub_install_bsd_part): Likewise.
51 (grub_boot_device): New variable.
52 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
53 (grub_install_bsd_part): Likewise.
54 (grub_boot_drive): Likewise.
55 (grub_boot_device): New variable.
56 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
57 Removed.
58 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
59 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
60 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
61 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
62 * util/grub-install.in: Remove redundant condition.
63
691cbb58
VS
642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Fix bug introduced by previous commit.
67
68 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
69
60240b8b
VS
702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
71
72 Use decompressors framework on i386-pc. It increases core size
73 by 46 bytes but improves compatibility and maintainability.
74
75 * grub-core/Makefile.core.def (lzma_decompress): New image.
76 (kernel): Add i386_pc_ldflags.
77 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
78 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
79 to real_to_prot, prot_to_real and device info.
80 * include/grub/offsets.h: Renamed decompressor offsets.
81 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
82 (image_target_desc): Remove raw_size and rename decompressor fields.
83 (compress_kernel): Handle lzma.
84 (generate_image): Handle decompressors on i386-pc.
85
e9d3421c
VS
862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * configure.ac: Add -fno-asynchronous-unwind-tables.
89
2b23074a
VS
902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
91
92 Move assembly code to C by using intwrap. It increases core size
93 by 88 bytes but improves compatibility and maintainability.
94
95 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
96 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
97 ... here. Translated to C.
98 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
99 * grub-core/term/i386/pc/console.c (grub_console_getkey):
100 ... here. Translated to C.
101 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
102 * grub-core/term/i386/pc/console.c (grub_console_getxy):
103 ... here. Translated to C.
104 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
105 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
106 ... here. Translated to C.
107 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
108 * grub-core/term/i386/pc/console.c (grub_console_cls):
109 ... here. Translated to C.
110 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
111 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
112 ... here. Translated to C.
113 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
114 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
115 Translated to C.
116 * grub-core/term/i386/pc/console.c (int10_9): New function.
117 (grub_console_putchar): Likewise.
118 * include/grub/i386/pc/console.h: Removed the not anymore shared
119 functions.
120
678f4b67
VS
1212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Move grub_chainloader_real_boot out of the kernel.
124
125 * grub-core/Makefile.am: Remove machine/loader.h.
126 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
127 Removed.
128 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
129 variable.
130 (grub_relocator16_keep_a20_enabled): Likewise.
131 (grub_relocator16_boot): Fill new variables.
132 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
133 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
134 relocator.
135 (grub_chainloader_unload): Likewise.
136 (grub_chainloader_cmd): Likewise.
137 * include/grub/i386/pc/loader.h: Removed.
138 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
139 and esi. All initialisers updated.
140
4626edf6
VS
1412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1422011-11-12 Colin Watson <cjwatson@ubuntu.com>
143
144 * Makefile.util.def (grub-mount): New util.
145 * .bzrignore: Add grub-mount.
146 * configure.ac: Check for fuse and enable grub-mount if available.
147 * docs/man/grub-mount.h2m: New file.
148 * util/grub-mount.c: Likewise.
149
10f0117b
VS
1502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/commands/efi/fixvideo.c: Gettextize.
153 * grub-core/commands/hashsum.c: Likewise.
154 * grub-core/commands/i386/cmostest.c: Likewise.
155 * grub-core/commands/i386/pc/drivemap.c: Likewise.
156 * grub-core/commands/i386/pc/lsapm.c: Likewise.
157 * grub-core/commands/i386/pc/sendkey.c: Likewise.
158 * grub-core/commands/lsmmap.c: Likewise.
159 * grub-core/commands/menuentry.c: Likewise.
160 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
161 * grub-core/commands/setpci.c: Likewise.
162 * grub-core/loader/i386/bsd.c: Likewise.
163 * grub-core/loader/i386/linux.c: Likewise.
164 * util/getroot.c: Likewise.
165 * util/grub-editenv.c: Likewise.
166 * util/grub-fstest.c: Likewise.
167 * util/grub-mkfont.c: Likewise.
168 * util/grub-mkimage.c: Likewise.
169 * util/grub-mkpasswd-pbkdf2.c: Likewise.
170 * util/grub-pe2elf.c: Likewise.
171 * util/grub-probe.c: Likewise.
172 * util/grub-setup.c: Likewise.
173 * util/ieee1275/ofpath.c: Likewise.
174 * util/misc.c: Likewise.
175 * util/raid.c: Likewise.
176
566f779b
RM
1772011-11-11 Robert Millan <rmh@gnu.org>
178
179 * util/getroot.c (grub_util_get_geom_abstraction): Remove
180 __attribute__((unused)) from `os_dev', which *is* being used.
181
b50787de
VS
1822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
185 forgotten define.
186 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
187 GRUB_IA64_DL_GOT_ALIGN.
188 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
189 GRUB_IA64_DL_TRAMP_ALIGN.
190
119d11c8
VS
1912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Replace grub_fatal with normal errors in i386 linux loader.
194
195 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
196 (allocate_pages): Check find_efi_mmap_size return value.
197 (grub_e820_add_region): Return error.
198 (grub_linux_boot): Check mmap return value.
199
6e0632e2
VS
2002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/commands/acpihalt.c: Gettextized.
203 * grub-core/commands/cacheinfo.c: Likewise.
204 * grub-core/commands/cmp.c: Likewise.
205 * grub-core/commands/efi/loadbios.c: Likewise.
206 * grub-core/commands/gptsync.c: Likewise.
207 * grub-core/commands/ieee1275/suspend.c: Likewise.
208 * grub-core/commands/legacycfg.c: Likewise.
209 * grub-core/commands/memrw.c: Likewise.
210 * grub-core/commands/minicmd.c: Likewise.
211 * grub-core/commands/parttool.c: Likewise.
212 * grub-core/commands/time.c: Likewise.
213 * grub-core/commands/videoinfo.c: Likewise.
214 * grub-core/disk/geli.c: Likewise.
215 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
216 * grub-core/disk/luks.c: Likewise.
217 * grub-core/disk/lvm.c: Likewise.
218 * grub-core/font/font_cmd.c: Likewise.
219 * grub-core/fs/zfs/zfscrypt.c: Likewise.
220 * grub-core/fs/zfs/zfsinfo.c: Likewise.
221 * grub-core/gfxmenu/view.c: Likewise.
222 * grub-core/kern/emu/hostdisk.c: Likewise.
223 * grub-core/kern/emu/main.c: Likewise.
224 * grub-core/kern/emu/misc.c: Likewise.
225 * grub-core/kern/emu/mm.c: Likewise.
226 * grub-core/kern/mips/arc/init.c: Likewise.
227 * grub-core/kern/mips/loongson/init.c: Likewise.
228 * grub-core/kern/partition.c: Likewise.
229 * grub-core/lib/i386/halt.c: Likewise.
230 * grub-core/lib/mips/arc/reboot.c: Likewise.
231 * grub-core/lib/mips/loongson/reboot.c: Likewise.
232 * grub-core/loader/i386/pc/chainloader.c: Likewise.
233 * grub-core/loader/i386/xnu.c: Likewise.
234 * grub-core/loader/multiboot.c: Likewise.
235 * grub-core/net/bootp.c: Likewise.
236 * grub-core/net/net.c: Likewise.
237 * grub-core/normal/term.c: Likewise.
238 * grub-core/partmap/bsdlabel.c: Likewise.
239 * grub-core/parttool/msdospart.c: Likewise.
240 * grub-core/term/gfxterm.c: Likewise.
241 * grub-core/term/terminfo.c: Likewise.
242 * grub-core/video/i386/pc/vbe.c: Likewise.
243 * util/grub-menulst2cfg.c: Likewise.
244 * util/grub-mkdevicemap.c: Likewise.
245 * util/grub-mklayout.c: Likewise.
246 * util/grub-mkrelpath.c: Likewise.
247 * util/grub-script-check.c: Likewise.
248 * util/ieee1275/grub-ofpathname.c: Likewise.
249 * util/resolve.c: Likewise.
250
073aa7a9
VS
2512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Support %1$d syntax.
254
255 * tests/printf_unit_test.c: New file.
256 * Makefile.util.def (printf_test): New test.
257 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
258
c76b5417
VS
2592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
262 fix.
263
df067ad1
VS
2642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
267 dprintf.
268 * grub-core/font/font.c (grub_font_load): Likewise.
269
5b289bc5
VS
2702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/grub-macho2img.c: Add comment concerning gettext.
273 * grub-core/lib/legacy_parse.c: Likewise.
274
c1860f87
VS
2752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
278 (grub_xvasprintf): Likewise.
279
d35d0d37
VS
2802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Add const keyword to grub_env_get and gettextize week days.
283
284 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
285 (grub_read_hook_datetime): Return const char *.
286 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
287 updated.
288 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
289 Mark for gettext.
290 (grub_get_weekday_name): Return const char *. Call gettext.
291 * grub-core/script/argv.c (grub_script_argv_append): Receive const
292 char * and len as the argument. All users updated.
293 (grub_script_argv_split_append): Receive const char *.
294 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
295 * include/grub/env.h (grub_env_get): Likewise.
296 (grub_env_read_hook_t): Return const char *.
297 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
298 (grub_script_argv_split_append): Likewise.
299
9aed8a71
VS
3002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
303
067fdf00
VS
3042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
307 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
308
a8bd9d39
VS
3092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
312 Fix prototype.
313
f7ce5baf
VS
3142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Fix mips compilation.
317
318 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
319 normal decoder.
320 (hashes): Use in embed decoder as well (for sizes).
321 (dec_stream_header): Fix embed decompressor logic.
322 (dec_stream_footer): Likewise.
323
9bb182f3
VS
3242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
327 an error and not a fatal on unrecognised relocation types.
328
63a9e6f6
VS
3292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
332 Issue error rather than printf on unknown arguments.
333
4c458569
VS
3342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
337 Make buf a const.
338
e2d22baf
VS
3392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
342 Fix module name.
343
53dc8590
VS
3442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
347 leftover debug printf.
348
6c189294
VS
3492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
352
f7688369
VS
3532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
356 A stylistic fix.
357
11a775a3
VS
3582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
361
33f784e8
SL
3622011-11-10 Shea Levy <slevy@tieronedesign.com>
363
364 Allow all modules to perform serial IO
365
366 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
367 * include/grub/serial.h (grub_serial_port_configure): New inline
368 function.
369 (grub_serial_port_fetch): Likewise.
370 (grub_serial_port_put): Likewise.
371 (grub_serial_port_fini): Likewise.
372 (grub_serial_find): New proto.
373
f6276525
VS
3742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Put symlink at the end of the node and fix a potential
377 memory corruption.
378
379 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
380 Make symlink into an array.
381 (set_rockridge): Set have_symlink and alloc_dirents.
382 (grub_iso9660_read_symlink): Use new layout.
383 (grub_iso9660_iterate_dir): Fix memory corruption.
384 Use new layout.
385 (grub_iso9660_dir): Set have_symlink.
386 (grub_iso9660_open): Likewise.
387
c3591189
VS
3882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Remove local keyword.
391
392 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
393 (version_test_gt): Likewise.
394 (version_find_latest): Likewise.
395 (gettext_printf): Likewise.
396 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
397
cb544caa
VS
3982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
401
45bd824d
VS
4022011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
403
404 Fix ZFS memory and resource leaks.
405
406 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
407 All users updated.
408 Free type on exit.
409 (fill_vdev_info): New parameter inserted. All users updated.
410 (check_pool_label): Likewise.
411 (scan_disk): Likewise.
412 (scan_devices): Close non-inserted disks.
413 (fzap_iterate): Free l.
414 (unmount_device): Free children descripto memory.
415
ad9a2f44
VS
4162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
419 argument (access out of bounds).
420
6b68db81
VS
4212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
424 >= 6 drives.
425
28840fda
VS
4262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
429 Fix declaration.
430
8a5a3a5b
VS
4312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Fix several memory leaks.
434
435 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
436 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
437 (grub_cpio_dir): Likewise.
438 * grub-core/fs/fat.c (grub_fat_label): Likewise.
439 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
440 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
441 (grub_romfs_label): Likewise.
442 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
443 (squash_unmount): New function.
444 (grub_squash_dir): Fix memory leak.
445 (grub_squash_open): Likewise.
446 (grub_squash_read): Likewise.
447 (grub_squash_mtime): Likewise.
448 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
449 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
450 * util/grub-fstest.c (fstest): Likewise.
451
57b01250
VS
4522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
455 avoid accessing beyond the array.
456
19e81ba7
VS
4572011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
460
52b656c0
VS
4612011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Several AFFS fixes.
464
465 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
466 (GRUB_AFFS_FLAG_FFS): Removed.
467 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
468 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
469 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
470 (grub_fshelp_node): Make block 32-bit.
471 Add block_cache and last_block_cache.
472 (grub_affs_read_block): Fill and use block cache.
473 (grub_affs_read_file): Removed.
474 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
475 boot block.
476 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
477 safety.
478 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
479 space.
480 (grub_affs_close): Free block cache.
481 (grub_affs_read): Use grub_fshelp_read_file directly.
482
438a746a
VS
4832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
486 with no error set.
487
49a45021
VS
4882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
491 used variable.
492 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
493 Likewise.
494
3ae17eb8
VS
4952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
498
499 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
500 byteswap when needed.
501
27610c38
VS
5022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Fix FreeBSD compilation.
505
506 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
507 to avoid circular dependency.
508 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
509 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
510 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
511
4a19b601
VS
5122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Fix ZFS crypto error types.
515
516 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
517 (grub_gcm_decrypt): Likewise.
518 (grub_zfs_load_key_real): Fix error code type. Handle possible error
519 from PBKDF2.
520
958ee221
VS
5212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Illumos support.
524
525 * Makefile.util.def (10_illumos): New script.
526 * configure.ac: Set COND_HOST_ILLUMOS.
527 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
528 Support Illumos calls.
529 (find_partition_start) [__sun__]: Likewise.
530 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
531 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
532 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
533 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
534 device.
535 * util/grub-probe.c (probe) [__sun__]: Do character check.
536 * util/grub.d/10_illumos.in: New file.
537
cac14fb6
VS
5382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
539
540 Support escaped commas in hostdisk.
541
542 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
543 (find_grub_drive): Use unescape_cmp.
544 (make_device_name): Escape commas.
545
78e08dc3
VS
5462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
549
9f421dd1
VS
5502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
553 variable.
554
ed64e9e2
VS
5552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
556
557 Support trampoline jumps on powerpc.
558
559 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
560 __ia64__ path.
561 (grub_dl_load_segments): Set mod->sz.
562 (grub_dl_flush_cache): Flush whole space occupied by module, not just
563 segments.
564 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
565 (jump): Likewise.
566 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
567 function.
568 (trampoline): New struct.
569 (trampoline_template): New const.
570 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
571 * include/grub/dl.h (grub_dl): Add sz element.
572 [__powerpc__]: Follow __ia64__.
573 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
574 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
575 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
576 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
577
3084ede4
VS
5782011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
579
580 ZFS crypto support.
581
582 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
583 * grub-core/Makefile.core.def (zfscrypt): New module.
584 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
585 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
586 it. All users updated.
587 (grub_zfs_decrypt): New var.
588 (grub_zfs_load_key): Likewise.
589 (zio_checksum_functions): Add SHA256+MAC.
590 (zio_checksum_verify): Handle incomplete comparison due to MAC.
591 (zio_read): Handle encrypted blocks.
592 (zap_verify): Remove incorrect check.
593 (fzap_iterate): Handle non-standard fzap.
594 (zap_iterate): Likewise.
595 (zap_iterate_u64): New function.
596 (dnode_get_fullpath): Load keys.
597 * grub-core/fs/zfs/zfscrypt.c: New file.
598 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
599 (grub_crypto_ecb_encrypt): Make input const.
600 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
601 (grub_crypto_ecb_encrypt): Make input const.
602 (GRUB_CIPHER_AES): New macro.
603 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
604 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
605 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
606 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
607 prefix. All users updated.
608 (grub_zfs_add_key): New proto.
609 (grub_zfs_decrypt): Likewise.
610 (grub_zfs_load_key): Likewise.
611 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
612 * util/grub-fstest.c (options): Add -K option.
613 (argp_parser): Likewise.
614
b632b404
VS
6152011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
616
617 Support zle compression on ZFS.
618
619 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
620 (decomp_table): Add zle.
621 * include/grub/zfs/zio.h (zio_compress): Add zle.
622
c7ba4f69
VS
6232011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
624
625 Support BtrFS embedding.
626
627 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
628 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
629 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
630 * util/grub-setup.c (setup): Use fs embedding if available.
631 Add additional sanity check.
632
455377d9
VS
6332011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub-install.in: Fix condition for config_opt.
636
c2fd16ca
VS
6372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Support third redundancy strip on raidz3.
640
641 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
642 Return error on singularity. All users updated.
643 (read_device): Don't stop on 3rd failure on raidz3.
644
8622923b
VS
6452011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Support case-insensitive ZFS subvolumes.
648
649 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
650 All users updated.
651 (zap_hash): Likewise.
652 (name_cmp): New function.
653 (zap_leaf_array_equal): New parameter case_insensitive.
654 All users updated.
655 (zap_leaf_lookup): Likewise.
656 (fzap_lookup): Likewise.
657 (zap_lookup): Likewise.
658 (dnode_get_path): New parameter case_insensitive. Retrieve case
659 sensitiviness of a volume. All users updated.
660 (dnode_get_fullpath): New parameter case_insensitive.
661 All users updated.
662 (grub_zfs_dir): Set info.case_insensitiveness.
663
95f2e860
VS
6642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Support second redundancy strip on raidz(2,3).
667
668 * grub-core/fs/zfs/zfs.c (powx): New array.
669 (powx_inv): Likewise.
670 (poly): New const.
671 (xor_out): New function.
672 (gf_mul): Likewise.
673 (recovery): Likewise.
674 (read_device): Use second redundancy strip.
675
11ee4389
VS
6762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Use a power of generator representation of GF(256) multiplication group
679 to save space time and complexity.
680
681 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
682 (raid6_table2): Likewise.
683 (powx): New array.
684 (powx_inv): Likewise.
685 (poly): New const.
686 (grub_raid_block_mul): Replace with ...
687 (grub_raid_block_mulx): ...this.
688 (grub_raid6_init_table): Rewritten.
689 (grub_raid6_recover): Use power of generator representation.
690
09e2763f
VS
6912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
694 for the right device.
695
8bec9a28
VS
6962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
699 expected by grub-mkimage and it's more clear since there is no implicit
700 padding.
701
dbd3a32e
VS
7022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
705 disk.
706 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
707
182c872a
PMH
7082011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
709
710 * util/grub-mkrescue.in: Fix handling xorriso option.
711
1e51cabd
VS
7122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
715 NULL.
716
9cc3581d 7172011-11-03 crocket <crockabiscuit@gmail.com>
718
719 * util/grub.d/10_linux.in: Add Slackware initrd naming.
720
158dc1ea
VS
7212011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
722
723 XZ CRC64 and SHA256 support.
724
725 * Makefile.util.def (libgrubmods): Add crc64.c.
726 * grub-core/Makefile.core.def (crc64): New module.
727 * grub-core/lib/crc64.c: New file.
728 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
729 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
730 Fix the type.
731 (MAX_HASH_SIZE): New define.
732 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
733 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
734 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
735 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
736 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
737 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
738 Handle non-crc32 hashes.
739 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
740 (dec_stream_header): Handle non-crc32 hashes.
741 (dec_stream_footer): Likewise.
742 (dec_block_header): Likewise.
743 (dec_main): Likewise.
744 (xz_dec_init): Likewise.
745 (xz_dec_reset): Likewise.
746 (xz_dec_end): Likewise.
747 * util/import_gcry.py: Add CRC64 line.
748
9d9b3d2f
VS
7492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
752 as well.
753
7d0ac931
VS
7542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Make reiserfs label retrieval similar to other *_label functions.
757
758 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
759 (REISERFS_MAX_LABEL_LENGTH): Removed.
760 (REISERFS_LABEL_OFFSET): Likewise.
761 (grub_reiserfs_label): Rewritten.
762
7632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
766 field.
767
cf5ba824
VS
7682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
771
17744004
VS
7722011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
775 drive failure on both raidz and raidz2.
776
aca5aefc
VS
7772011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Fix RAIDZ(2) for >= 5 devices.
780
781 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
782 asize argument. All users updated.
783
ce8ca56e
VS
7842011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Fix RAIDZ(2).
787
788 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
789 (fill_vdev_info_real): Set ashift.
790 (read_device): Rewrite RAIDZ part based on reverse engineering.
791
7c01e783
VS
7922011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
795 don't report potentially unavialiable fields in debug output.
796 (find_path): Fix double-free and memory leak.
797
ce109e84
VS
7982011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
799
800 Read label on UFS1.
801
802 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
803 (grub_ufs_fs): Always set .label.
804
87661123
VS
8052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Use shifts in UFS.
808
809 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
810 (grub_ufs_data): New field log2_blksz.
811 (grub_ufs_read_file): Use shifts.
812 (grub_ufs_mount): Check block size and logarithm it.
813
46bc1dc2
VS
8142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
817 long symlinks.
818
19ee2987
VS
8192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
820
821 Handle symlinks and long names on tar and cpio.
822
823 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
824 (ATTR_FILE): Likewise.
825 (ATTR_DIR): Likewise.
826 (ATTR_LNK): Likewise.
827 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
828 (grub_cpio_find_file): Fill mode, handle linkname field as well as
829 L and K entries.
830 (grub_cpio_mount): Zero-fill data.
831 (handle_symlink): New function.
46bc1dc2
VS
832 (grub_cpio_dir): Handle symlinks.
833 (grub_cpio_open): Likewise.
834 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 835
c83a08d8
VS
8362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Fix iso9660 filename limitations and fix memory leaks.
839
840 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
841 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
842
45cdd3ea
VS
8432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Fix JFS file name length limitations.
846
847 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
848 (grub_jfs_diropen): Fix maximum filename length.
849 (grub_jfs_getent): Fix filename length.
850 (grub_jfs_lookup_symlink): Fix size checks.
851
94ef05c2
VS
8522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
855 string.
856
785ab8c7
VS
8572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
858
eb0b6b45
VS
859 Leverage BFS implementation to read AFS.
860
861 * Makefile.util.def (libgrubmods): Add afs.c.
862 * grub-core/Makefile.core.def (afs): New module
863 * grub-core/fs/afs.c: New file.
864 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
865
8662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 869
c4a1628f
VS
8702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/fs/bfs.c: Run indent.
873
5825b379
VS
8742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
875
876 BFS implementation based on the specification.
877
878 * grub-core/fs/bfs.c: New file.
879 * Makefile.util.def (libgrubmods): Add bfs.c.
880 * grub-core/Makefile.core.def (bfs): New module.
881
42b2a706
VS
8822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * util/grub-fstest.c (cmd_cp): Clarify error message.
885 (cmd_cmp): Likewise.
886
61b99bfc
YB
8872011-10-30 Yves Blusseau <blusseau@zetam.org>
888
889 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
890 and befs_be.
891
faba3d16
VS
8922011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Remove afs and befs because of copyright problem.
895
896 * grub-core/fs/afs.c: Removed.
897 * grub-core/fs/afs_be.c: Removed.
898 * grub-core/fs/befs.c: Removed.
899 * grub-core/fs/befs_be.c: Removed.
900 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
901 * grub-core/Makefile.core.def (afs): Removed.
902 (afs_be): Likewise.
903 (befs): Likewise.
904 (befs_be): Likewise.
905
c39224b0
VS
9062011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Prefer rockridge over Joliet.
909
910 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
911 to ...
912 (set_rockridge): ... here.
913 (grub_iso9660_mount): Check rockridge on the primary label when
914 discovering. Ignore Joliet if Rockridge is present.
915
e551115a
VS
9162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
917
918 Use shifts in nilfs2.
919
920 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
921 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
922 (grub_nilfs2_palloc_entries_per_group): Replace with ...
923 (grub_nilfs2_log_palloc_entries_per_group): ... this.
924 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
925 (grub_nilfs2_entries_per_block): Replaced with ...
926 (grub_nilfs2_log_entries_per_block_log): ... this.
927 (grub_nilfs2_blocks_per_group): Replaced with ...
928 (grub_nilfs2_blocks_per_group_log): ... this.
929 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
930 (grub_nilfs2_blocks_per_desc_block_log): ... this.
931 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
932 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
933 (grub_nilfs2_palloc_entry_offset): Replaced ...
934 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
935 (grub_nilfs2_dat_translate): Use shifts.
936 (grub_nilfs2_read_inode): Likewise.
937 (GRUB_MOD_INIT): Ensure that logs are correct.
938
564dd58c
VS
9392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Use shifts in minix filesystem.
942
943 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
944 (GRUB_MINIX_ZONE2SECT): Likewise.
945 (grub_minix_data): Replace block_size with log_block_size.
946 (grub_minix_read_file): Use shifts.
947 (grub_minix_mount): Check block size and take a logarithm.
948
ed9ba06d
VS
9492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Use shifts in squash4.
952
953 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
954 (squash_mount): Check block size and take logarithm.
955 (direct_read): Use shifts.
956
ad03fe76
VS
9572011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Correct befs block counting logic.
960
961 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
962 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
963 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
964 (grub_afs_read_inode): Use block_shift.
965 (RANGE_SHIFT): New definition.
966 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
967 unexpected conditions, use shifts and appropriate types.
968 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
969
6563f63d
VS
9702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/disk/raid.c (scan_devices): Check partition.
973 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
974
5b1ae25f
VS
9752011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
976
977 Support BFS (befs) UUID.
978
979 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
980 (grub_afs_small_data_element_header): New struct.
981 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
982 (grub_afs_read_attribute) [MODE_BFS]: New function.
983 (grub_afs_iterate_dir): Allocate for complete inode.
984 (grub_afs_mount): Likewise.
985 (grub_afs_uuid) [MODE_BFS]: New function.
986 (grub_afs_fs) [MODE_BFS]: Add .uuid.
987
f8d82408
VS
9882011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
991 (zfs_unmount): Fix memory leak.
992
5773fb64
VS
9932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Support NTFS reparse points.
996
997 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
998 (symlink_descriptor): New struct.
999 (grub_ntfs_read_symlink): New function.
1000 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
1001 (grub_ntfs_open): Likewise.
1002
91c3fdde
VS
10032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
1006
3be82e10
VS
10072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 fstest xnu_uuid subcommand.
1010
1011 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
1012 grub-core/commands/xnu_uuid.c.
1013 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
1014 (fstest): Handle xnu_uuid.
1015 (options): Document xnu_uuid.
1016 (argp_parser): Parse xnu_uuid.
1017
8e32442e
VS
10182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
1021 -l argument. Add newline at the end if printing.
1022 (GRUB_MOD_INIT): Document -l.
1023
52a05075
VS
10242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
1027
1869edb5
VS
10282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 ZFS multi-device and version 33 support.
1031
1032 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
1033 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
1034 (grub_zfs_data): Add multidev-ice-related fields.
1035 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
1036 (dva_get_offset): Make dva const.
1037 (zfs_fetch_nvlist): New function.
1038 (fill_vdev_info_real): Likewise.
1039 (fill_vdev_info): Likewise.
1040 (check_pool_label): Likewise.
1041 (scan_disk): Likewise.
1042 (scan_devices): Likewise.
1043 (read_device): Likewise.
1044 (read_dva): Likewise.
1045 (zio_read_gang): Use read_dva.
1046 (zio_read_data): Likewise.
1047 (zap_leaf_lookup): Add missing endian conversion.
1048 (zap_verify): Add missing endian conversion. All users updated.
1049 (fzap_lookup): Likewise.
1050 (fzap_iterate): Likewise.
1051 (dnode_get_path): Handle SA bonus.
1052 (nvlist_find_value): Make input const. All users updated.
1053 (unmount_device): New function.
1054 (zfs_unmount): Use unmount_device.
1055 (zfs_mount): Use scan_disk.
1056 (zfs_mtime): New function.
1057 (grub_zfs_open): Handle system attributes.
1058 (fill_fs_info): Likewise.
1059 (grub_zfs_dir): Likewise.
1060 (grub_zfs_fs): Add mtime.
1061 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
1062 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
1063 (SA_MTIME_OFFSET): Likewise.
1064 (SA_SYMLINK_OFFSET): Likewise.
1065 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
1066 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
1067 (fstest): Support zfsinfo.
1068 (argp_parser): Likewise.
1069
186b4028
VS
10702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
1073 error.
1074
10752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
1076
1077 ZFS fixes.
1078
1079 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
1080 sharing the same block. Iterate over correct number of indices.
1081 (dnode_get_path): Handle symlinks correctly.
1082
c0584900
VS
10832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
1086
67e2bd71
VS
10872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 Read label on HFS+.
1090
1091 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
1092 (grub_hfsplus_btree_search): Fix types.
1093 (grub_hfsplus_label): Implement.
1094
e9cc6b7b
VS
10952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
1098
19832ddb
VS
10992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
1102
66b40850
VS
11032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Fix symlink handling on iso9660.
1106
1107 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
1108 All users updated.
1109 (grub_iso9660_susp_iterate): Accept zero-size iterate.
1110 (grub_iso9660_read_symlink): Moved most of code ...
1111 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
1112
db821363
VS
11132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1116 Use union to avoid breaking strict-aliasing rules.
1117
e1211949
VS
11182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Support multi-extent iso files.
1121
1122 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
1123 Add node.
1124 (grub_fshelp_node): Revamp. All users updated.
1125 (FLAG_*): New enum.
1126 (read_node): New function.
1127 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
1128 All users updated.
1129 (grub_iso9660_mount): Don't attempt to read sua when there is none.
1130 (get_node_size): New function.
1131 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
1132 entries.
1133 Fix memory leak on . and ..
1134 (grub_iso9660_read): Use read_node.
1135 (grub_iso9660_close): Free node.
1136
d4888031
VS
11372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Fix tar 4G limit and handle paths containing dot.
1140
1141 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
1142 (canonicalize): New function.
1143 (grub_cpio_find_file): Use canonicalize. Store offs in
1144 grub_disk_addr_t.
1145 (grub_cpio_dir): Use grub_disk_addr_t.
1146 (grub_cpio_open): Likewise.
1147
9f12e664
VS
11482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Fix handling of uncompressed blocks on squashfs and break 4G limit.
1151
1152 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
1153 unused flags.
1154 (grub_squash_inode): Add long_file and block_size.
1155 (grub_squash_cache_inode): New struct.
1156 (grub_squash_dirent): Make types into enum.
1157 (SQUASH_TYPE_LONG_REGULAR): New type.
1158 (grub_squash_frag_desc): Add field size.
1159 (SQUASH_BLOCK_FLAGS): New enum.
1160 (grub_squash_data): Use grub_squash_cache_inode.
1161 (grub_fshelp_node): Make ino_chunk 64-bit.
1162 (read_chunk): Minor argument change. All users updated.
1163 (squash_mount): Use correct le_to_cpu.
1164 (grub_squash_open): Handle LONG_REGULAR.
1165 (direct_read): New function.
1166 (grub_squash_read_data): Handle blocks correctly.
1167
9f326fba
VS
11682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
1171
f4d9b64b
VS
11722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
1175
5bbd28b8
VS
11762011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 Fix 2G limit on ZFS.
1179
1180 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
1181 types.
1182 (uberblock_verify): Likewise.
1183 (dmu_read): Likewise.
1184 (grub_zfs_read): Likewise. Remove invalid cast.
1185
68c72069
VS
11862011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
1189 (grub_jfs_blkno): Fix incorrect shift.
1190 (grub_jfs_read_file): Use more appropriate types.
1191
6e536dc8
VS
11922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Support triple indirect on minix2 and minix3.
1195
1196 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
1197 Declare triple_indir_zone.
1198 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
1199 indirect.
1200
e0864e7a
VS
12012011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Minix FS fixes.
1204
1205 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
1206 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
1207 Rename ctime to mtime. All users updated.
1208 (grub_minix_get_file_block): Fix types and double indirect computations.
1209
89481cab
VS
12102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
1213 if no label is found.
1214 (grub_fat_iterate_dir): Fix file size type.
1215 (grub_fat_iterate_dir): Likewise.
1216
f646e143
VS
12172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
1220 save some space.
1221 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1222 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1223
534d769e
VS
12242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
1227
e084ba18
VS
12282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * util/import_gcry.py: Accept space between # and include.
1231
3471ecdf
VS
12322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
1235
124df5f6
VS
12362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Fine grainely disable warnings on lexer. Remove Wno-error on it.
1239
1240 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
1241 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
1242 yylex_strncpy.
1243 * grub-core/script/yylex.l: Add fine-grained #pragma.
1244
4defb8d5
VS
12452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
1248 New inline function.
1249 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
1250 Likewise.
1251 (memset) [GRUB_UTIL]: Likewise.
1252 (memcmp) [GRUB_UTIL]: Likewise.
1253
4e94ae65
VS
12542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
1257 inline function rather than a define.
1258
18c575e5
VS
12592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * util/grub-setup.c: Add missing include.
1262
f8bc22a8
VS
12632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/ieee1275/grub-ofpathname.c: Add missing include.
1266
3ce69fc9
VS
12672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
1270 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
1271 Likewise.
1272
d1e293bb
VS
12732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
1276 grub_memcmp usage.
1277
7a5c54a4
VS
12782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * util/grub-install.in: Add datarootdir as per automake manual
1281 suggestion.
1282 * util/grub-mknetdir.in: Likewise.
1283
12842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
1285
1286 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
1287 suggestion.
1288 * util/grub.d/10_kfreebsd.in: Likewise.
1289 * util/grub.d/10_linux.in: Likewise.
1290 * util/grub.d/10_netbsd.in: Likewise.
1291 * util/grub.d/10_windows.in: Likewise.
1292 * util/grub.d/20_linux_xen.in: Likewise.
1293
766f7d08
VS
12942011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 Remove redundant grub_kernel_image_size.
1297
1298 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
1299 _edata and _start.
1300 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
1301 the small code. It moves it only by few bytes but simplifies the code.
1302 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
1303 _start.
1304 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
1305 (grub_kernel_image_size): Removed.
1306 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
1307 (grub_kernel_image_size): Removed.
1308 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1309 compiled with Apple toolchain.
1310 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1311 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1312 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1313 (grub_total_module_size): Likewise.
1314 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1315 Removed.
1316 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1317 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1318 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1319 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1320 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1321 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1322 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1323 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1324 Removed.
1325 (grub_total_module_size): Removed.
1326 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1327 (image_targets): Likewise.
1328 Set .compressed_size to no field on sparc.
1329 (generate_image): Remove kernel_image_size handling.
1330
fcf1d672
SJ
13312011-10-19 Szymon Janc <szymon@janc.net.pl>
1332
1333 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1334 NULL pointer dereference.
1335
de9c615e
VS
13362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1339 done with a dedicated section.
1340
1341 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1342 Ensure the correct position of boot_path.
1343 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1344 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1345 other fields.
1346 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1347 * include/grub/boot.h: Removed. All references removed.
1348 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1349 Removed.
1350 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1351
e55599dc
VS
13522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1355 name.
1356
36dd20ad
VS
13572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1360
f8f72eb8
VS
13612011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1364 Don't add the bogus brackets.
1365
a374751b
VS
13662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 ExFAT support.
1369
1370 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1371 * grub-core/Makefile.core.def (exfat): New module.
1372 * grub-core/fs/exfat.c: New file.
1373 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1374 (GRUB_FAT_ATTR_*): Make into an enum.
1375 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1376 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1377 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1378 (GRUB_FAT_MAXFILE): Removed.
1379 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1380 (grub_current_fat_bpb_t): New type.
1381 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1382 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1383 (grub_fat_dir_node_t): New type.
1384 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1385 (fat_log2) [MODE_EXFAT]: Removed.
1386 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1387 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1388 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1389 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1390 (grub_fat_label) [MODE_EXFAT]: New function.
1391 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1392 reserved_first_sector to 0.
1393
544c2487
VS
13942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Move grub_reboot out of the kernel.
1397
1398 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1399 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1400 * grub-core/lib/efi/reboot.c: ... here.
1401 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1402 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1403 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1404 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1405 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1406 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1407 * grub-core/lib/ieee1275/reboot.c: ... here.
1408 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1409 * grub-core/lib/mips/arc/reboot.c: ... here.
1410 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1411 * grub-core/lib/mips/loongson/reboot.c: ...here.
1412 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1413 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1414 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1415 * include/grub/i386/reboot.h: New file.
1416 * include/grub/mips/loongson/ec.h: Fix includes.
1417 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1418 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1419 * grub-core/lib/i386/reboot.c: New file.
1420
a97501d2
VS
14212011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Make grub_prefix into module to fix the arbitrary limit and save
1424 some space.
1425
1426 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1427 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1428 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1429 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1430 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1431 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1432 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1433 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1434 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1435 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1436 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1437 * include/grub/ia64/efi/kernel.h: Removed.
1438 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1439 (grub_prefix): Removed.
1440 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1441 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1442 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1443 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1444 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1445 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1446 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1447 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1448 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1449 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1450 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1451 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1452 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1453 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1454 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1455 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1456 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1457 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1458 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1459 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1460 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1461 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1462 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1463 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1464 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1465 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1466 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1467 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1468 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1469 from module.
1470 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1471 prefix_end.
1472 (image_targets): Likewise.
1473 (generate_image): Put prefix as a module.
1474
39705fad
VS
14752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Replace grub_module_iterate with FOR_MODULES.
1478
1479 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1480 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1481 (grub_efi_modules_addr): ...this.
1482 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1483 (grub_efi_init): Set grub_modbase.
1484 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1485 (grub_modbase): New variable.
1486 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1487 (grub_modbase): New variable.
1488 (grub_machine_init): Set grub_modbase.
1489 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1490 (grub_modbase): New variable.
1491 (grub_machine_init): Set grub_modbase.
1492 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1493 (grub_modbase): New variable.
1494 (grub_machine_init): Set grub_modbase.
1495 * grub-core/kern/main.c (grub_module_iterate): Remove.
1496 (grub_modules_get_end): Use grub_modbase.
1497 (grub_load_modules): Use FOR_MODULES.
1498 (grub_load_config): Likewise.
1499 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1500 (grub_modbase): New variable.
1501 (grub_machine_init): Set grub_modbase.
1502 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1503 (grub_modbase): New variable.
1504 (grub_machine_init): Set grub_modbase.
1505 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1506 Removed.
1507 (grub_modbase): New variable.
1508 (grub_machine_init): Set grub_modbase.
1509 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1510 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1511 (grub_module_iterate): Likewise.
1512 (grub_modbase): New variable declaration.
1513 (FOR_MODULES): New macro.
1514
2afb7f6c
VS
15152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1518 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1519
366e34fa
VS
15202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Fix few obvious type discrepancies.
1523
1524 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1525 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1526 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1527 variable.
1528 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1529 and connected types.
1530 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1531 offset.
1532 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1533 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1534 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1535 and connected types.
1536
177b960e
VS
15372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Fix python 3.x incompatibilities.
1540
1541 * gentpl.py: Put brackets around print strings.
1542 * util/import_gcry.py: Open explicitly as utf-8.
1543 Use in instead of has_key.
1544
3b619ae1
VS
15452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1548 (GRUB_XFS_INO_AGBITS): Make into inline function.
1549 (GRUB_XFS_INO_INOINAG): Likewise.
1550 (GRUB_XFS_INO_AG): Likewise.
1551 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1552 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1553 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1554 (GRUB_XFS_EXTENT_SIZE): Likewise.
1555 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1556 (GRUB_XFS_NEXT_DIRENT): Likewise.
1557 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1558 (grub_xfs_read_file): Fix offset type.
1559
8bcebcb8
RM
15602011-10-15 Robert Millan <rmh@gnu.org>
1561
1562 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1563
0017e5ef
RM
15642011-10-15 Robert Millan <rmh@gnu.org>
1565
1566 Fix build problem on FreeBSD and GNU/kFreeBSD.
1567
1568 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1569
d8919552
VS
15702011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1573
1574 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1575 types.
1576 (grub_hfsplus_btree_recoffset): Likewise.
1577 (grub_hfsplus_btree_recptr): Likewise.
1578 (grub_hfsplus_find_block): Likewise.
1579 (grub_hfsplus_btree_search): Likewise.
1580 (grub_hfsplus_read_block): Likewise.
1581 (grub_hfsplus_read_file): Likewise.
1582 (grub_hfsplus_mount): Likewise.
1583 (grub_hfsplus_btree_iterate_node): Likewise.
1584 (grub_hfsplus_btree_search): Likewise.
1585 (grub_hfsplus_iterate_dir): Likewise.
1586 (grub_hfsplus_read): A small code simplification.
1587
c81296b6
VS
15882011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/kern/emu/hostdisk.c
1591 (convert_system_partition_to_system_disk): Don't assume that children
1592 of mapper nodes are mapper nodes.
1593
0eb8ffb1
VS
15942011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1597 * include/grub/misc.h (grub_isxdigit): New function.
1598 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1599 switched to grub_isxdigit.
1600 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1601 number starting with a letter.
1602
a98f4a08
RM
16032011-10-09 Robert Millan <rmh@gnu.org>
1604
1605 LVM support for FreeBSD and GNU/kFreeBSD.
1606
1607 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1608 GNU/kFreeBSD.
1609 (LVM_DEV_MAPPER_STRING): Move from here ...
1610 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1611 * util/getroot.c: Include `<grub/util/lvm.h>'.
1612 (grub_util_get_dev_abstraction): Enable
1613 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1614 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1615 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1616 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1617 support it.
1618 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1619 GNU/kFreeBSD.
1620 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1621 when LVM abstraction is required for ${GRUB_DEVICE}.
1622
050e8e90
SJ
16232011-10-06 Szymon Janc <szymon@janc.net.pl>
1624
1625 Add support for LZO compression in GRUB:
1626 - import of minilzo library,
1627 - LZO decompression for btrfs,
1628 - lzop files decompression.
1629
1630 * grub-core/io/lzopio.c: New file.
1631 * grub-core/lib/adler32.c: Likewise.
1632 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1633 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1634 * grub-core/lib/minilzo/minilzo.c: Likewise.
1635 * grub-core/lib/minilzo/minilzo.h: Likewise.
1636 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1637 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1638 grub-core/lib/minilzo/minilzo.c to common.
1639 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1640 cflags in cppflags.
1641 * grub-core/Makefile.core.def (btrfs): Likewise.
1642 * grub-core/Makefile.core.def (lzopio): New module.
1643 (adler32): Likewise.
1644 * grub-core/fs/btrfs.c: Include minilzo.h.
1645 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1646 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1647 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1648 (grub_btrfs_lzo_decompress): New function.
1649 (grub_btrfs_extent_read): Add support for LZO compression type.
1650 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1651 (GRUB_USHRT_MAX): Likewise.
1652 (GRUB_UINT_MAX): Likewise.
1653 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1654 (UINT_MAX): Likewise.
1655 (CHAR_BIT): Likewise.
1656 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1657 grub-core/lib/posix_wrap/limits.h
1658 (UCHAR_MAX): Likewise.
1659 * include/grub/file.h (grub_file_filter_id): New compression filter
1660 GRUB_FILE_FILTER_LZOPIO.
1661 * include/grub/file.h (grub_file_filter_id): Set
1662 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1663 * include/grub/types.h (grub_get_unaligned16): New function.
1664 (grub_get_unaligned32): Likewise.
1665 (grub_get_unaligned64): Likewise.
1666 * util/import_gcry.py (cryptolist): Add adler32.
1667
0eb8ffb1
VS
16682011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1671 in perspective decreases the complexity of build system and fixes
1672 compilation right now.
1673
ce79cc99 16742011-10-01 Ales Nesrsta <starous@volny.cz>
1675
1676 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1677 (fixed problem related to using UHCI with coreboot).
1678
8667a314
BC
16792011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1680
1681 * gentpl.py: Use Autogen macros so that the output template file
1682 (Makefile.tpl) size is reduced.
1683
fc5efcc0
MK
16842011-09-29 Mads Kiilerich <mads@kiilerich.com>
1685
1686 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1687 extra_dist.
1688
d1ab689d
ML
16892011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1690
1691 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1692 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1693
c05de032
ML
16942011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1695
1696 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1697 _fullpath.
1698
cca7ccd8
ML
16992011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1700
1701 Remove extra declaration of sleep for mingw32.
1702
1703 * util/misc.c (sleep) [__MINGW32__]: Removed.
1704 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1705
e0b0dc83
GS
17062011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1707
1708 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1709 type and packname.
1710 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1711 Resurrected.
1712 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1713 (grub_netbsd_btinfo_bootwedge): New struct.
1714 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1715 New function.
1716 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1717
91a1a164
TH
17182011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1719
1720 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1721 loader.
1722
2ded951e
AB
17232011-09-28 Andreas Born <futur.andy@googlemail.com>
1724
1725 Fix incorrect identifiers in bash-completion.
1726
1727 * util/bash-completion.d/grub-completion.bash.in
1728 (_grub_mkpasswd-pbkdf2): Rename to ...
1729 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1730 (_grub_script-check): Rename to ...
1731 (_grub_script_check): ... this. All users updated.
1732
69915030
VS
17332011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1736 Return 0 if disk isn't biosdisk.
1737
20fd15f9
GS
17382011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1739
1740 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1741 on NetBSD.
1742 * Makefile.util.def (grub-fstest): Likewise.
1743
1a7d7db9
GS
17442011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1745
1746 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1747 Get sector size from disk label.
1748
2221ab6c
CW
17492011-09-05 Colin Watson <cjwatson@ubuntu.com>
1750
1751 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1752 */README* as well as README*.
1753 Reported by: Axel Beckert.
1754
ca51c4a0
VS
17552011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1758 case of less than 256 MiB of RAM.
1759
ab80f326
VS
17602011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/commands/wildcard.c (make_regex): Handle @.
1763
4155e697
VS
17642011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1767
ab178c08
SJ
17682011-08-21 Szymon Janc <szymon@janc.net.pl>
1769
1770 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1771 AC_LANG_CONFTEST macros.
1772
7dc3c686
SJ
17732011-08-20 Szymon Janc <szymon@janc.net.pl>
1774
1775 Add grub-fstest option to uncompress data for commands.
1776
1777 * util/grub-fstest.c (uncompress): New var.
1778 (options): New option -u.
1779
fe8d4a7b
SJ
17802011-08-20 Szymon Janc <szymon@janc.net.pl>
1781
1782 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1783 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1784
a5219af1
SJ
17852011-08-20 Szymon Janc <szymon@janc.net.pl>
1786
1787 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1788 file type was not recognized correctly (not gzip or corrupted).
1789
f87abff5
VS
17902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1793 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1794
d94497ea
VS
17952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1798 loongson.
1799 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1800 video_radeon_fuloong2e.
1801 * grub-core/video/radeon_fuloong2e.c: New file.
1802 * include/grub/video.h (grub_video_id_t): Add new ID
1803 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1804
0d1fd011
VS
18052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1808 define.
1809 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1810 that PRID matches the detected subplatform and reset the subplatform
1811 if it doesn't.
1812
84beb0ee
VS
18132011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1816
1227c133
VS
18172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 Fix PCI iterating on functions >= 4.
1820
1821 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1822 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1823 Removed.
1824 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1825 (grub_pci_read): Fix bitmask.
1826 (grub_pci_read_word): Likewise.
1827 (grub_pci_read_byte): Likewise.
1828 (grub_pci_write): Likewise.
1829 (grub_pci_write_word): Likewise.
1830 (grub_pci_write_byte): Likewise.
1831
9594c689
VS
18322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1835 can still be specified in TARGET_CFLAGS)
1836
14a2562c
VS
18372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1840
1841 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1842 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1843 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1844 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1845 (FULOONG): Rename to ...
1846 (FULOONG2F): ... this. All users updated.
1847 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1848 (machtype_fuloong2f_str): ... this.
1849 (machtype_fuloong2e_str): New string.
1850 Check for machtype_fuloong2e_str.
1851 * grub-core/loader/mips/linux.c (loongson_machtypes)
1852 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1853 * grub-core/term/serial.c (loongson_defserial)
1854 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1855 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1856 loongson_defserial.
1857 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1858 Rename to ...
1859 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1860 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1861 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1862 to IMAGE_FULOONG2F_FLASH. All users updated.
1863 (image_targets): Rename images.
1864 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1865
b526cbb6
SJ
18662011-08-19 Szymon Janc <szymon@janc.net.pl>
1867
1868 Make enable of disk cache statistics code configurable.
1869
1870 * configure.ac: --enable-cache-stats added.
1871 * config.h.in (DISK_CACHE_STATS): New define.
1872 * grub-core/Makefile.core.def (cacheinfo): New command.
1873 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1874 * grub-core/commands/cacheinfo.c: New file.
1875 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1876 moved to cacheinfo.c.
1877 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1878 debug code.
1879 * include/grub/disk.h: Likewise.
1880
fb739ccd
SJ
18812011-08-19 Szymon Janc <szymon@janc.net.pl>
1882
1883 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1884 * grub-core/Makefile.am: Likewise.
1885
2bba8cfd
VS
18862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1889 non-zero pull.
1890
43526629
VS
18912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1894 All users updated.
1895 (grub_jfs_lookup_symlink): Use correct starting inode.
1896
5c144cc8
VS
18972011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * util/grub-setup.c (main): Add missing gcry initialisation.
1900
b1257f65
VS
19012011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Don't accept text modes on EFI when booting Linux.
1904
1905 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1906 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1907
828bc390
ML
19082011-08-15 Mario Limonciello <mario_limonciello@dell.com>
19092011-08-15 Colin Watson <cjwatson@ubuntu.com>
1910
1911 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1912 use of "/path/.." as in grub-install for EFI as well as handling
1913 symlinks correctly.
1914 Fixes Debian bug #637768.
1915
5f60ccac
CW
19162011-08-15 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * util/grub-probe.c: Remove duplicate #include.
1919
6dc212f9
RM
19202011-08-10 Robert Millan <rmh@gnu.org>
1921
1922 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1923
1924 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1925 function.
1926 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1927 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1928
66816d85
RM
19292011-08-03 Robert Millan <rmh@gnu.org>
1930
1931 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1932 la_array as packed.
1933 Reported by: Zachary Bedell
1934
20168fca
CW
19352011-07-26 Colin Watson <cjwatson@ubuntu.com>
1936
1937 * configure.ac: The Loongson port requires grub-mkfont due to its
1938 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1939 be built.
1940
303b6246
CW
19412011-07-26 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1944 processing arguments (otherwise help2man fails when GRUB has not yet
1945 been installed).
1946
6795300e
VS
19472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1948
41aa28ea
VS
1949 New script grub-mkstandalone.
1950
1951 * Makefile.util.def (grub-mkstandalone): New script.
1952 * docs/man/grub-mkstandalone.h2m: New file.
1953 * util/grub-mkstandalone.in: Likewise.
1954
19552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 Support ATA disks with 4K sectors.
6795300e
VS
1958
1959 * include/grub/ata.h (grub_ata): New member log_sector_size.
1960 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1961 (grub_ata_identify): Read sector size.
1962 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1963
92227597
VS
19642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * util/grub-install.in: Don't use uhci outside of x86.
1967
c77069f5
VS
19682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * util/grub-mkrescue.in: Add missing quotes.
1971
19722011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1973
1974 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1975 dereference.
1976
583168a2
VS
19772011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1980
6be1c01f
VS
19812011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * include/grub/video.h: add missing EXPORT_FUND on
1984 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1985
a1167439
VS
19862011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * include/grub/mips/kernel.h: Fix define conflict.
1989
bf66054f
VS
19902011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1993 all four ways.
1994
8fc4fa45
CW
19952011-07-21 Colin Watson <cjwatson@ubuntu.com>
1996
1997 Preferred resolution detection for VBE.
1998
1999 * grub-core/video/video.c (grub_video_edid_checksum): New function.
2000 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
2001 the Flat Panel extension, in line with the X.org VESA driver.
2002 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
2003 New function.
2004 (grub_vbe_bios_get_ddc_capabilities): Likewise.
2005 (grub_vbe_bios_read_edid): Likewise.
2006 (grub_vbe_get_preferred_mode): Likewise.
2007 (grub_video_vbe_setup): When the mode is "auto", try to get the
2008 preferred mode from VBE, and use the largest mode that is no larger
2009 than the preferred mode (some BIOSes expose a preferred mode that is
2010 not in their mode list!). If this fails, fall back to 640x480 as a
2011 safe conservative choice.
2012 (grub_video_vbe_get_edid): New function.
2013 (grub_video_vbe_adapter): Add get_edid.
2014 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
2015 (struct grub_video_adapter): Add get_edid.
2016 (grub_video_edid_checksum): Add prototype.
2017 (grub_video_edid_preferred_mode): Likewise.
2018 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
2019 structure.
2020
2021 * grub-core/commands/videoinfo.c (print_edid): New function.
2022 (grub_cmd_videoinfo): Print EDID if available.
2023
2024 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
2025 is more appropriate on a wider range of platforms than 640x480.
2026 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
2027 documentation.
2028
ca5572a9
VS
20292011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
2032
e4bcf625
VS
20332011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * po/POTFILES.in: Regenerate.
2036
c4edd548
VS
20372011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
2040 incorrect memory usage.
2041
16a2bab0
VS
20422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * util/grub-install.in: Source grub-mkconfig_lib.
2045
2e418de6
VS
20462011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 Remove getroot.c from core on emu platform.
2049
2050 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
2051 kern/emu/raid.c.
2052 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
2053 useless.
2054 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
2055 * util/getroot.c (get_win32_path): ... here.
2056 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
2057 * util/getroot.c (fini_libzfs): ... here.
2058 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
2059 * util/getroot.c (grub_get_libzfs_handle): ... here.
2060 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
2061 Moved from here...
2062 * util/getroot.c (grub_find_zpool_from_dir): ... here.
2063 * grub-core/kern/emu/misc.c
2064 (grub_make_system_path_relative_to_its_root): Moved from here...
2065 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
2066 * grub-core/kern/emu/getroot.c: Moved from here ...
2067 * util/getroot.c: ... here. All users updated.
2068 * grub-core/kern/emu/raid.c: Moved from here ...
2069 * util/raid.c: ... here. All users updated.
2070
def9832a
VS
20712011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * po/POTFILES.in: Regenerate.
2074
cd8fe79a
VS
20752011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Fix compilation on GNU/Linux.
2078
2079 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
2080 Disable geli.
2081 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
2082 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
2083 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
2084
a251b719
VS
20852011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20862011-07-07 Michael Gorven <michael@gorven.za.net>
20872011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
2088
2089 LUKS and GELI support.
2090
2091 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
2092 grub-core/disk/luks.c, grub-core/disk/geli.c,
2093 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
2094 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
2095 grub-core/lib/arg.c.
2096 (libgrubmods.a): Remove gcrypts cflags and cppflags.
2097 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
2098 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
2099 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
2100 (grub-bin2h): Add libgcry.a.
2101 (grub-mkimage): Likewise.
2102 (grub-mkrelpath): Likewise.
2103 (grub-script-check): Likewise.
2104 (grub-editenv): Likewise.
2105 (grub-mkpasswd-pbkdf2): Likewise.
2106 (grub-pe2elf): Likewise.
2107 (grub-fstest): Likewise.
2108 (grub-mkfont): Likewise.
2109 (grub-mkdevicemap): Likewise.
2110 (grub-probe): Likewise.
2111 (grub-ofpath): Likewise.
2112 (grub-mklayout): Likewise.
2113 (example_unit_test): Likewise.
2114 (grub-menulst2cfg): Likewise.
2115 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
2116 * grub-core/Makefile.core.def (cryptodisk): New module.
2117 (luks): Likewise.
2118 (geli): Likewise.
2119 * grub-core/disk/AFSplitter.c: New file.
2120 * grub-core/disk/cryptodisk.c: Likewise.
2121 * grub-core/disk/geli.c: Likewise.
2122 * grub-core/disk/luks.c: Likewise.
2123 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
2124 grub_util_is_lvm.
2125 (grub_util_get_dm_abstraction): New function.
2126 (grub_util_follow_gpart_up): Likewise.
2127 (grub_util_get_geom_abstraction): Likewise.
2128 (grub_util_get_dev_abstraction): Use new functions.
2129 (grub_util_pull_device): Pull GELI and LUKS.
2130 (grub_util_get_grub_dev): Handle LUKS and GELI.
2131 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
2132 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
2133 (follow_geom_up): Removed.
2134 (grub_util_fd_seek): New function.
2135 (open_device): Use grub_util_fd_seek.
2136 (nread): Rename to ..
2137 (grub_util_fd_read): ... this. All users updated.
2138 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
2139 (grub_crypto_cbc_decrypt): Likewise.
2140 (grub_crypto_hmac_write): Likewise.
2141 (grub_crypto_hmac_buffer): Likewise.
2142 (grub_password_get): Extend to util.
2143 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
2144 New member modname.
2145 (gcry_md_spec) [GRUB_UTIL]: Likewise.
2146 * include/grub/cryptodisk.h: New file.
2147 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
2148 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
2149 LUKS and GELI.
2150 (grub_util_follow_gpart_up): New proto.
2151 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
2152 (grub_util_fd_read): Likewise.
2153 (grub_cryptodisk_cheat_mount): Likewise.
2154 (grub_util_cryptodisk_print_uuid): Likewise.
2155 (grub_util_get_fd_sectors): Likewise.
2156 * util/grub-fstest.c (mount_crypt): New var.
2157 (fstest): Mount crypto if requested.
2158 (options): New option -C.
2159 (argp_parser): Parse -C.
2160 (main): Init and fini gcry.
2161 * util/grub-install.in: Support cryptodisk install.
2162 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
2163 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
2164 cryptodisk.
2165 (prepare_grub_to_access_device): Likewise.
2166 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
2167 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
2168 (probe_cryptodisk_uuid): New function.
2169 (probe_abstraction): Likewise.
2170 (probe): Use new functions.
2171 * util/import_gcry.py: Create Makefile.utilgcry.def.
2172 Add modname member.
2173
9bfdcbbc
VS
21742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Lazy device scanning.
2177
2178 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
2179 (grub-setup): Remove util/raid.c.
2180 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
2181 * grub-core/disk/lvm.c (scan_depth): New variable.
2182 (grub_lvm_iterate): Rescan if necessary.
2183 (find_lv): New function based on grub_lvm_open.
2184 (grub_lvm_open): Use find_lv. Rescan on error.
2185 (is_node_readable): New function.
2186 (is_lv_readable): Likewise.
2187 (grub_lvm_scan_device): Skip already found disks.
2188 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
2189 Stop if searched device is found and readable.
2190 * grub-core/disk/raid.c (inscnt): New variable.
2191 (scan_depth): Likewise.
2192 (scan_devices): New function based on grub_raid_register. Abort if
2193 looked for device is found.
2194 (grub_raid_iterate): Rescan if needed.
2195 (find_array): NEw function based on -grub_raid_open.
2196 (grub_raid_open): Use find_array and rescan.
2197 (insert_array): Set became_readable_at.
2198 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
2199 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
2200 New function.
2201 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
2202 (grub_util_pull_device): New function.
2203 (grub_util_get_grub_dev): Call grub_util_pull_device.
2204 * util/raid.c: Moved to ..
2205 * grub-core/kern/emu/raid.c: ... here.
2206 (grub_util_raid_getmembers): New parameter "bootable".
2207 All users updated. Support 1.x.
2208 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
2209 All users updated.
2210 * include/grub/disk.h (grub_disk_pull_t): New enum.
2211 (grub_disk_dev): Change iterate prototype.
2212 All users updated.
2213 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
2214 New proto.
2215 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
2216 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
2217 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
2218 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
2219 All users updated.
2220 * include/grub/util/raid.h: Removed.
2221
1c358e59
VS
22222011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * po/POTFILES.in: Regenerate.
2225
abee94ed
VS
22262011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 Unify sparc init with other ieee1275.
2229
2230 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
2231 instead of kern/sparc64/ieee1275/init.c.
2232 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
2233 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
2234 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
2235 grub/machine/kernel.h.
2236 (grub_ieee1275_original_stack) [__sparc__]: New variable.
2237 (grub_claim_heap) [__sparc__]: Use sparc version.
2238 (grub_machine_init): Moved args parsing to
2239 (grub_parse_cmdline): ...this.
2240 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
2241 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
2242 New definition.
2243 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
2244
2245 Move BOOTP to separate file.
2246
2247 * grub-core/Makefile.core.def (net): Add net/bootp.c.
2248 * grub-core/net/net.c: Move all BOOTP functions to
2249 * grub-core/net/bootp.c: ... here.
2250
2251 Use frame interface on PXE.
2252
2253 * grub-core/Makefile.core.def (pxecmd): Removed.
2254 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
2255 * grub-core/commands/i386/pc/pxecmd.c: Removed.
2256 * grub-core/i386/pc/pxe.c: Moved from here ...
2257 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
2258 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
2259 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
2260
2261 EFI network support.
2262
2263 * grub-core/Makefile.core.def (efinet): New module.
2264 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
2265 here...
2266 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
2267 All users updated.
2268 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
2269 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
2270 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
2271 * grub-core/net/drivers/efi/efinet.c: New file.
2272 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
2273 (grub_efi_net_config): New extern var.
2274
2275 Various cleanups and bugfixes.
2276
2277 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
2278 error.
2279 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
2280 disk declared as partition.
2281 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
2282 leak on failure.
2283 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
2284 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
2285 (grub_debug_zalloc): Likewise.
2286 (grub_debug_realloc): Likewise.
2287 (grub_debug_memalign): Likewise.
2288 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
2289 Check that target is IPv4.
2290 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
2291 local-mac-address as fallback.
2292 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
2293 memory leak.
2294 * grub-core/net/ip.c (ipchksum): Rename to ...
2295 (grub_net_ip_chksum): ... this. All users updated.
2296 (grub_net_recv_ip_packets): Special handling for DHCP.
2297 * util/grub-mkimage.c (generate_image): Zero-out aout header.
2298
2299 Unify prefix handling
2300
2301 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
2302 (grub_machine_get_bootlocation): ... this.
2303 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
2304 (grub_machine_get_bootlocation): ... this.
2305 (grub_prefix): New variable.
2306 (prefix): Removed.
2307 (root_dev): New variable.
2308 (dir): Likewise.
2309 (main): Use new variables.
2310 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2311 Revamped into ...
2312 (grub_machine_get_bootlocation): ... this.
2313 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2314 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2315 (grub_machine_get_bootlocation): ... this.
2316 (grub_machine_set_prefix): Removed.
2317 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2318 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2319 Revamped into ...
2320 (grub_machine_get_bootlocation): ... this.
2321 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2322 (grub_set_prefix_and_root): ... this. All users updated.
2323 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2324 Revamped into ...
2325 (grub_machine_get_bootlocation): ... this.
2326 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2327 (grub_machine_get_bootlocation): New proto.
2328 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2329
2330 Less intrusive and more reliable seek on network implementation.
2331
2332 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2333 (grub_file_seek): Don't call grub_file_net_seek.
2334 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2335 (grub_net_fs_read_real): .. this.
2336 (grub_net_seek_real): Use net->offset.
2337 (grub_net_fs_read): Seek if necessary.
2338
2339 Unify IEEE1275 netwotk config with the other platforms.
2340
2341 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2342 New variable.
2343 (grub_machine_get_bootlocation): Support network.
2344 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2345 Support type and device parsing.
2346 (grub_ieee1275_get_device_type): New function.
2347 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2348 into ...
2349 (grub_ieee1275_net_config_real): ... this.
2350 (grub_ofnet_probecards): Removed.
2351 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2352 * include/grub/ieee1275/ofnet.h: Removed.
2353 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2354 extern var.
2355 (grub_ieee1275_get_device_type): New function.
2356
2357 Unify network device closing across platforms and make more robust.
2358
2359 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2360 grub_grubnet_fini.
2361 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2362 already.
2363 * grub-core/net/net.c (grub_net_network_level_interface_register):
2364 Update num_ifaces.
2365 (grub_net_card_unregister): Close all interfaces.
2366 (receive_packets): Don't poll if no iterfaces are registered.
2367 Open if necessary.
2368 (grub_net_fini_hw): New function.
2369 (grub_net_restore_hw): Likewise.
2370 (fini_hnd): New variable.
2371 (GRUB_MOD_INIT): Register preboot hook.
2372 (GRUB_MOD_FINI): Run and unregister preboot hook.
2373
2374 Poll network cards when idle.
2375
2376 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2377 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2378 * grub-core/net/net.c (receive_packets): Save last poll time.
2379 (grub_net_poll_cards_idle_real): New function.
2380 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2381 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2382 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2383
2384 Rename ofnet interfaces.
2385
2386 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2387 (grub_ofnet_findcards): Use ofnet_%s names.
2388
2389 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2390
2391 Cleanup socket opening.
2392
2393 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2394 (grub_net_fs_close): Likewise.
2395 (grub_net_fs_read_real): Use eof member.
2396 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2397 (+grub_net_udp_close): New inline function.
2398
2399 * include/grub/net/tftp.h: Moved to the top of ...
2400 * grub-core/net/tftp.c: ... here.
2401 * include/grub/net/ip.h: Moved mostly to the top of ...
2402 * grub-core/net/ip.c: ... here.
2403 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2404 * grub-core/net/ethernet.c: ... here.
2405
2406 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2407
2408 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2409 FS name.
2410
2411 * include/grub/net/ip.h (ipv4_ini): Removed.
2412 (ipv4_fini): Likewise.
2413
2414 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2415 (grub_net_send_ip_packets): Likewise.
2416
cf1337aa
VS
24172011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2420 grub_read_cmos prototype.
2421
93c06ff9
VS
24222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 VGA text support in qemu-mips
2425
2426 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2427 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2428 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2429 text.
2430 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2431 * grub-core/kern/vga_init.c: ... this.
2432 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2433 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2434 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2435 Adjust.
2436 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2437 GRUB_MACHINE_PCI_IO_BASE.
2438
748ccabe
VS
24392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 MIPS qemu flash support.
2442
2443 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2444 magic.
2445 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2446 (grub_machine_init): Probe memory if its size isn't known.
2447 * util/grub-mkimage.c (image_targets): Add flash targets.
2448 (generate_image): Handle flash targets.
2449
d7345994
VS
24502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 MIPS qemu at_keyboard support.
2453
2454 * gentpl.py (videoinkernel): Add qemu-mips.
2455 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2456 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2457 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2458 modules.
2459 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2460 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2461 * grub-core/term/serial.c (grub_serial_register)
2462 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2463
a07a81b3
VS
24642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 CMOS support on sparc.
2467
2468 * gentpl.py (cmos): Add powerpc and sparc.
2469 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2470 powerpc and sparc.
2471 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2472 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2473 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2474 grub_set_datetime_cmos.
2475 * grub-core/lib/ieee1275/cmos.c: New file.
2476 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2477 (find_rtc): Set no_ieee1275_rtc on error.
2478 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2479 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2480 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2481 fail. Move value to argument. All users updated
2482 (grub_cmos_write): Likewise.
2483 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2484 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2485 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2486 grub_get_datetime_cmos and grub_set_datetime_cmos.
2487
77546584
GS
24882011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2489
2490 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2491 sourcing grub-mkconfig_lib.
2492 * util/update-grub_lib.in: Likewise.
2493 * util/grub.d/00_header.in: Likewise.
2494 * util/grub.d/10_hurd.in: Likewise.
2495 * util/grub.d/10_kfreebsd.in: Likewise.
2496 * util/grub.d/10_linux.in: Likewise.
2497 * util/grub.d/10_netbsd.in: Likewise.
2498 * util/grub.d/10_windows.in: Likewise.
2499 * util/grub.d/20_linux_xen.in: Likewise.
2500 * util/grub.d/30_os-prober.in: Likewise.
2501
54894791
CW
25022011-06-28 Colin Watson <cjwatson@ubuntu.com>
2503
2504 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2505 default_bg_color rather than black.
2506 (grub_gfxterm_fullscreen): Likewise.
2507 (grub_gfxterm_background_color_cmd): Save new background color in
2508 default_bg_color.
2509
8d5d8444
VS
25102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2513
5afeb5bd
VS
25142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2517 mismerge.
2518
ba7df45e
VS
25192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 Chainloading on coreboot support.
2522
2523 * grub-core/Makefile.core.def (chain): Add coreboot.
2524 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2525
d0b526b2
VS
25262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2529 if it happens.
2530
5ff1d945
VS
25312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 Implement time command.
2534
2535 * grub-core/Makefile.core.def (time): New module.
2536 * grub-core/commands/time.c: New file.
2537 * grub-core/script/parser.y: Remove "time" keyword.
2538 * grub-core/script/yylex.l: Likewise.
2539
5ebaad7e
VS
25402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2543
bdea3798
VS
25442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2547 when handling leftovers.
2548
b28c5655
VS
25492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2552 so that help2man doesn't fail.
2553
b6f945dc
VS
25542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2557 type in pointers on sparc64.
2558 (get_card_packet): Likewise.
2559
f9b75e8a
CW
25602011-06-27 Colin Watson <cjwatson@ubuntu.com>
2561
2562 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2563 with `*'.
2564 (grub_cmd_videoinfo): Fetch current video mode.
2565
1e3d9b86
VS
25662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2569 because of underlying system restrictions.
2570
efff4b1c
VS
25712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2574 necessary.
2575
9fc9ce37
VS
25762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 Coreboot video support.
2579
2580 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2581 (vbe): Likewise.
2582 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2583 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2584 here ...
2585 * grub-core/kern/i386/int.S: ... here.
2586 * grub-core/video/i386/pc/vbe.c: Updated includes.
2587 * grub-core/video/i386/pc/vga.c: Likewise.
2588 * include/grub/i386/coreboot/memory.h
2589 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2590 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2591 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2592 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2593 Disable interrupts.
2594 * include/grub/i386/pc/vga.h: Removed. All users updated.
2595
41bec7fe
VS
25962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2599 definitions for dprintf.
2600 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2601
ca80309d
VS
26022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2605 prototype.
2606 (get_card_packet): Likewise.
2607
9e322ce8
YB
26082011-06-26 Yves Blusseau <blusseau@zetam.org>
2609
2610 Display the path of the file when file is not found
2611
2612 * grub-core/fs/fat.c: Display the filename when file is not found.
2613 * grub-core/fs/fshelp.c: Likewise.
2614 * grub-core/fs/hfs.c: Likewise.
2615 * grub-core/fs/jfs.c: Likewise.
2616 * grub-core/fs/minix.c: Likewise.
2617 * grub-core/fs/ufs.c: Likewise.
2618 * grub-core/fs/btrfs.c: Likewise.
2619 * grub-core/commands/i386/pc/play.c: Likewise.
2620
cbf597af
SJ
26212011-06-26 Szymon Janc <szymon@janc.net.pl>
2622
2623 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2624 pointer checks before calling grub_free().
2625 * grub-core/commands/wildcard.c (match_devices): Likewise.
2626 * grub-core/commands/wildcard.c (match_files): Likewise.
2627 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2628 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2629 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2630 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2631 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2632 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2633 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2634 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2635 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2636
6295b32f
P
26372011-06-25 Patrick <p55@mailinator.com>
2638
2639 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2640
77c0840b
VS
26412011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2644 (grub_pxe_send): Likewise.
2645 (GRUB_MOD_INIT): Fix types.
2646
40ea05de
SJ
26472011-06-24 Szymon Janc <szymon@janc.net.pl>
2648
2649 * grub-core/io/xzio.c: Fix code style issues
2650
90162423
MRA
26512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
26522011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2653
2654 Network infrastructure.
2655 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2656
2657 * include/grub/net/arp.h: New file.
90162423
MRA
2658 * include/grub/net/device.h: Likewise.
2659 * include/grub/net/ethernet.h: Likewise.
2660 * include/grub/net/ip.h: Likewise.
2661 * include/grub/net/netbuff.h: Likewise.
2662 * include/grub/net/tftp.h: Likewise.
2663 * include/grub/net/udp.h: Likewise.
2664 * include/grub/ieee1275/ofnet.h: Likewise.
2665 * include/grub/emu/export.h: Likewise.
2666 * include/grub/net.h: Likewise.
2667 * grub-core/net/arp.c: Likewise.
2668 * grub-core/net/ethernet.c: Likewise.
2669 * grub-core/net/ip.c: Likewise.
2670 * grub-core/net/udp.c: Likewise.
2671 * grub-core/net/tftp.c: Likewise.
2672 * grub-core/net/netbuff.c: Likewise.
2673 * grub-core/net/net.c: Likewise.
2674 * grub-core/net/drivers/emu/emunet.c: Likewise.
2675 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2676 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2677 export.h.
2678 * grub-core/Makefile.core.def (net): New module.
2679 (tftp): Likewise.
2680 (ofnet): Likewise.
2681 (emunet): Likewise.
2682 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2683 network protocols.
2684 * grub-core/kern/device.c (grub_net_open) : New variable.
2685 (grub_device_open): Handle network device.
2686 (grub_device_close): Likewise.
2687 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2688 (grub_grubnet_fini): Likewise.
2689 (grub_file_seek): Seek in network device.
2690 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2691 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2692 network root.
2693 (grub_machine_fini): Call grub_grubnet_fini.
2694 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2695 network.
2696 (grub_ieee1275_get_aliasdevname): New function.
2697 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2698 Add unofficial Solaris network info.
2699 (grub_multiboot_make_mbi): Likewise.
2700 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2701 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2702 * include/grub/device.h (grub_fs): Removed.
2703 * include/grub/err.h (grub_err_t): Add network-related values.
2704 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2705 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2706 (grub_ieee1275_get_aliasdevname): New proto.
2707 * include/grub/net.h: Rewritten.
423a1849 2708
031f22a0
VS
27092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2712 names.
2713
4388ca72
VS
27142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2717 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2718 it truncates the output.
2719 Reported by: Ximin Luo.
2720
98e2f506
VS
27212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2724
2a5e94d8
VS
27252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2728 partmap before abstraction.
2729
535c1910
AK
27302011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2731
2732 * util/grub-mkconfig_lib.in: Add missing quotes.
2733
bc09e1a2
VS
27342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2737 old method if mountinfo would return /dev/root and /dev/root doesn't
2738 exist.
2739
290766fb
VS
27402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 ZFS zlib support
2743
2744 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2745 (decomp_table): Add zlib entries.
2746 (zio_read): USe 8 bits for compression function rather than 3.
2747 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2748
27492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/disk/ahci.c: Add missing license statements.
2752 * grub-core/fs/romfs.c: Likewise.
2753 * grub-core/lib/ia64/setjmp.S: Likewise.
2754 * grub-core/loader/i386/pc/freedos.c: Likewise.
2755 * grub-core/loader/ia64/efi/linux.c: Likewise.
2756 * grub-core/video/colors.c: Likewise.
2757 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2758
5ab3f48a
VS
27592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 AHCI support.
2762
2763 * grub-core/Makefile.core.def (ata_pthru): Removed.
2764 (ahci): New module.
2765 (pata): Likewise.
2766 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2767 on unload.
2768 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2769 readwrite.
2770 (grub_hdparm_do_check_powermode_cmd): Likewise.
2771 (grub_hdparm_do_smart_cmd): Likewise.
2772 (grub_hdparm_set_val_cmd): Likewise.
2773 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2774 * grub-core/disk/ahci.c: New file.
2775 * grub-core/disk/ata.c: Factor out the low-level part into ...
2776 * grub-core/disk/pata.c: ... here.
2777 * grub-core/disk/ata_pthru.c: Contents moved to ...
2778 * grub-core/disk/pata.c: ... here.
2779 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2780 (grub_scsi_iterate): Use grub_scsi_names.
2781 (grub_scsi_open): Likewise.
2782 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2783 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2784 (grub_ata_regs_t): New struct.
2785 (grub_disk_ata_pass_through_parms): Likewise.
2786 (grub_ata_device): Renamed to ...
2787 (grub_ata): ... this.
2788 (grub_ata_dev): New struct.
2789 Removed all low-level inline functions.
2790 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2791 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2792 iterate hooks and open. All users updated.
2793 * util/grub-install.in: Handle AHCI disk module.
2794
c31dc5f5
SJ
27952011-06-23 Szymon Janc <szymon@janc.net.pl>
2796
2797 Add support for DRI and RSTn markers in JPEG files.
2798
2799 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2800 (JPEG_MARKER_RST0): Likewise.
2801 (JPEG_MARKER_RST1): Likewise.
2802 (JPEG_MARKER_RST2): Likewise.
2803 (JPEG_MARKER_RST3): Likewise.
2804 (JPEG_MARKER_RST4): Likewise.
2805 (JPEG_MARKER_RST5): Likewise.
2806 (JPEG_MARKER_RST6): Likewise.
2807 (JPEG_MARKER_RST7): Likewise.
2808 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2809 (grub_jpeg_decode_dri): New function.
2810 (grub_jpeg_decode_sos): Move image data related part into
2811 grub_jpeg_decode_data function.
2812 (grub_jpeg_decode_data): New function.
2813 (grub_jpeg_reset): New function.
2814 (grub_jpeg_decode_jpeg): Handle new markers.
2815
fe12fd5b
VS
28162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * util/ieee1275/ofpath.c (check_sas): Close fd.
2819 (main): Free of_path.
2820 Reported by: David Volgyes <dvolgyes>.
2821
03147f46
VS
28222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2825 Reported by: David Volgyes <dvolgyes>.
2826
cad3237f
VS
28272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2830 file after stat.
2831 Reported by: David Volgyes <dvolgyes>.
2832
13548d26
VS
28332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2836
2837 Reported by: David Volgyes <dvolgyes>.
2838
e061a1b5
VS
28392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2842 Prevent memory leak.
2843
1abe47dc
VS
28442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2847 (main): Close file.
e061a1b5 2848 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2849
fbc62666
VS
28502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2853 to continue if allocation is failed.
2854
2855 Reported by: David Volgyes <dvolgyes>.
2856
e98c83e9
DV
28572011-06-23 David Volgyes <dvolgyes>
2858
2859 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2860 dereference.
2861
a199a8cd
VS
28622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Fix spurious warning.
2865
2866 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2867 (acorn_partition_map_find): Use .bin member.
2868
e2d1dba0
VS
28692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2872 /dev/root as a valid device.
2873
8a5d6919
JM
28742011-06-23 Jim Meyering <meyering@redhat.com>
2875
e2d1dba0
VS
2876 Avoid NULL deref in grub_device_open.
2877
8a5d6919
JM
2878 * grub-core/kern/device.c (grub_device_open): Don't dereference
2879 a NULL pointer upon failed grub_env_get.
2880
f7db6f4a
VS
28812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 Support non-512B sectors and agglomerate reads.
2884
2885 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2886 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2887 (disk_io_guid): Removed.
2888 (make_devices): Locate solely by BlockIO.
2889 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2890 (grub_efidisk_read): Use read_blocks.
2891 (grub_efidisk_write): Use write_blocks.
2892 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2893 log_sector_size.
2894 (get_safe_sectors): Handle non-512B sectors.
2895 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2896 sectors.
2897 (grub_biosdisk_write): Handle non-512B sectors.
2898 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2899 (grub_scsi_read): Remove special non-512B block handling (now handled
2900 one level up).
2901 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2902 and do sanity checks.
2903 (grub_disk_adjust_range): Handle non-512B sectors.
2904 (transform_sector): New function.
2905 (grub_disk_read_small): Likewise.
2906 (grub_disk_read): Rewritten.
2907 (grub_disk_write): Handle non-512B sectors.
2908 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2909 log_sector_size.
2910 (open_device): Use log_sector_size.
2911 (grub_util_biosdisk_read): Likewise.
2912 (grub_util_biosdisk_write): Likewise.
2913 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2914 non-512B sectors.
2915 (pc_partition_map_embed): Likewise.
2916 * include/grub/disk.h (grub_disk): New field log_sector_size.
2917 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2918 (GRUB_DISK_CACHE_BITS): Increased to 6.
2919 * util/grub-fstest.c (fstest): New command testload.
2920 (argp_parser): Likewise.
2921
881ac815
RM
29222011-06-16 Robert Millan <rmh@gnu.org>
2923
2924 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2925 `ata' driver on kernel of FreeBSD 9.
2926
2927 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2928 (get_ataraid_disk_name): New functions.
2929 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2930 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2931 get_ataraid_disk_name() and get_ada_disk_name().
2932
1e9aef7d
CW
29332011-06-13 Colin Watson <cjwatson@ubuntu.com>
2934
2935 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2936 input format.
2937
351c7c8a
CW
29382011-05-29 Colin Watson <cjwatson@ubuntu.com>
2939
2940 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2941 `ftp.gnu.org' for `alpha.gnu.org'.
2942
6b4e6430
CW
29432011-05-27 Colin Watson <cjwatson@ubuntu.com>
2944
2945 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2946 partitions under /dev/disk/by-id/.
2947
c64db050
CW
29482011-05-27 Colin Watson <cjwatson@ubuntu.com>
2949
2950 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2951 after ten consecutive open failures. Scanning all the way up to
2952 10000 is excessive and can cause serious performance problems in
2953 some configurations.
2954 Fixes Ubuntu bug #787461.
2955
245f4aba
VS
29562011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2959 opening new one.
2960
f767c929
VS
29612011-05-21 Colin Watson <cjwatson@ubuntu.com>
29622011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 Don't stat devices unless we have to.
2965
2966 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2967 dir == /dev/mapper.
2968 (grub_guess_root_device): Use already known os_dev if possible.
2969 * grub-core/kern/emu/hostdisk.c
2970 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2971 if device is known to be a dm one.
2972
f35fa3a6
CW
29732011-05-20 Colin Watson <cjwatson@ubuntu.com>
2974
2975 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2976 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2977 Reported by: Pawel Tecza.
2978
9a79fcf2
VS
29792011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2982 (lsefisystab): Likewise.
2983 (lssal): Likewise.
2984 (lsefimmap): Likewise.
2985 (hdparm): Enable on qemu-mips.
2986 (setjmp): Add ia64 nodist.
2987 (serial): Simplify tags.
2988
63e3eea9
CW
29892011-05-18 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * Makefile.util.def (grub-ofpathname): Install manual page.
2992
09728256
CW
29932011-05-18 Colin Watson <cjwatson@ubuntu.com>
2994
2995 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2996
8b63a142
CW
29972011-05-18 Colin Watson <cjwatson@ubuntu.com>
2998
2999 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
3000
e775d8ed
VS
30012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
3004 into dprintf.
3005
bf947d36
VS
30062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Use full 64-bit division.
3009
3010 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
3011 (grub_divmod64): ... this.
3012 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
3013 version.
3014
b84f26c5
CW
30152011-05-18 Colin Watson <cjwatson@ubuntu.com>
3016
3017 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
3018 `source'.
3019
5626056f
CW
30202011-05-18 Colin Watson <cjwatson@ubuntu.com>
3021
3022 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
3023 to avoid accidents when debugging with 'sh -x'.
3024 * grub-core/gensyminfo.sh.in: Likewise.
3025 * tests/example_scripted_test.in: Likewise.
3026 * tests/grub_cmd_regexp.in: Likewise.
3027 * tests/grub_script_blanklines.in: Likewise.
3028 * tests/grub_script_dollar.in: Likewise.
3029 * tests/grub_script_expansion.in: Likewise.
3030 * tests/grub_script_final_semicolon.in: Likewise.
3031 * tests/partmap_test.in: Likewise.
3032 * tests/util/grub-shell-tester.in: Likewise.
3033 * tests/util/grub-shell.in: Likewise.
3034
e2965f4a
CW
30352011-05-18 Colin Watson <cjwatson@ubuntu.com>
3036
3037 Move gfxmenu color handling to video, so that gfxterm can use it
3038 too.
3039
3040 * grub-core/gfxmenu/named_colors.c: Move to ...
3041 * grub-core/video/colors.c: ... here. Rename
3042 grub_gui_get_named_color to grub_video_get_named_color.
3043 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
3044 * grub-core/video/colors.c (my_isxdigit): ... here.
3045 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
3046 Move to ...
3047 * grub-core/video/colors.c (parse_hex_color_component): ... here.
3048 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
3049 to ...
3050 * grub-core/video/colors.c (grub_video_parse_color): ... here.
3051
3052 * include/grub/gui.h (grub_gui_color_t): Move to ...
3053 * include/grub/video.h (grub_video_rgba_color_t): ... here.
3054 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
3055 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
3056 * include/grub/gui.h (grub_gui_map_color): Move to ...
3057 * include/grub/video.h (grub_video_map_rgba_color): ... here.
3058 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
3059 to ...
3060 * include/grub/video.h (grub_video_get_named_color): ... here.
3061 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
3062 * include/grub/video.h (grub_video_parse_color): ... here.
3063
3064 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
3065 video/colors.c.
3066 (gfxmenu): Remove gfxmenu/named_colors.c.
3067 (video) [videomodules]: Add video/colors.c.
3068
3069 Add a background_color command.
3070
3071 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
3072 function.
3073 (GRUB_MOD_INIT): Register background_color command.
3074 (GRUB_MOD_FINI): Unregister background_color command.
3075 (redraw_screen_rect): Allow blend/replace of text layer to be
3076 controlled independently from whether there is a background bitmap.
3077 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
3078 changing bitmap.
3079
1e4b4390
VS
30802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3081
26618ff0
VS
3082 Patch BPB in ntldr and chainloader --bpb.
3083
1e4b4390
VS
3084 * grub-core/fs/fat.c: Include grub/fat.h.
3085 (grub_fat_bpb): Moved to ...
3086 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
3087 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
3088 grub/ntfs.h.
3089 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
3090 Moved from here...
3091 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
3092 here.
3093 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
3094 New function.
3095 (grub_chainloader_cmd): Patch BPB if --bpb is given.
3096 (GRUB_MOD_INIT): Show --bpb.
3097 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
3098 * grub-core/normal/main.c (features): New variable.
3099 (GRUB_MOD_INIT): Set feature_* variables.
3100 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
3101 proto.
3102 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
3103
cf02731e
VS
31042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
3107 for cleanness.
3108
e3a1073f
VS
31092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 FreeDOS direct loading support.
3112
3113 * docs/grub.texi (Supported OS): Add FreeDOS.
3114 * grub-core/Makefile.core.def (freedos): New module.
3115 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
3116 variable.
3117 (grub_relocator16_boot): Handle %ebx.
3118 * grub-core/lib/i386/relocator16.S: Likewise.
3119 * grub-core/loader/i386/pc/freedos.c: New file.
3120
05caa461
VS
31212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 Long Linux command line support.
3124
3125 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3126 (maximal_cmdline_size): New variable.
3127 (allocate_pages): Use maximal_cmdline_size.
3128 (grub_cmd_linux): Set and use maximal_cmdline_size.
3129 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3130 (allocate_pages): Use maximal_cmdline_size.
3131 (grub_cmd_linux): Set and use maximal_cmdline_size.
3132 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
3133 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
3134 and cmdline_size.
3135
a2491e23
VS
31362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
31372011-05-18 Colin Watson <cjwatson@ubuntu.com>
3138
3139 Improve devmapper support
3140
3141 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
3142 (grub_util_is_lvm): New function.
3143 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
3144 than lvm if not dmraid.
3145 Handle mapped md nodes.
3146 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
3147 (grub_util_device_is_mapped): ... this. Make always available. All users
3148 updated.
3149 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
3150 (convert_system_partition_to_system_disk): Handle lvm, mpath and
3151 dmraid nodes.
3152 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
3153
6ad6223e
VS
31542011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
3157
3158 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
3159 * grub-core/modinfo.sh.in: New file.
3160 * grub-core/Makefile.core.def (modinfo.sh): New script.
3161 * util/grub-mknetdir.in: Use modinfo.sh.
3162 * util/grub-mkrescue.in: Likewise.
3163
543a8f6e
VS
31642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3167 Fix potential usage of Elf32 instead of Elf64 when compiling on
3168 32-bit architecture. Add endianness macros while on it.
3169
4959e111
VS
31702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Use mipsel- rather than mips- in directories involving mipsel ports to
3173 allow both endiannesses coexist.
3174
3175 * configure.ac: proparate target_cpu=mipsel rather than resetting to
3176 mips. All conditions adjusted.
3177 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
3178 variable.
3179 * util/grub-install.in: Adjust conditions to take renaming into account.
3180 * util/grub-mkimage.c (image_targets): Likewise. New target
3181 mips-qemu_mips-elf for bigendian mips.
3182
35341bbc
VS
31832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Avoid unnecessary copying on MIPS.
3186
3187 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
3188 early if src == dest.
3189 * util/grub-mkimage.c (generate_image): Arange for src == dest if
3190 compression is none.
3191
b772baed
VS
31922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Reduce memory footprint on SGI by putting modules before the kernel
3195 as opposed to after.
3196
3197 * grub-core/Makefile.core.def (kernel): Increase linking address.
3198 (none_decompress): Likewise.
3199 (xz_decompress): Likewise.
3200 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
3201 address.
3202 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
3203 layout change.
3204 (grub_arch_modules_addr): New function.
3205 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
3206 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
3207 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
3208 here.
3209 * grub-core/kern/mips/startup.S (total_size): Rename to ...
3210 (grub_total_modules_size): ... this. Make global.
3211 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
3212 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
3213 New definition.
3214 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
3215 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
3216 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
3217 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
3218 * util/grub-mkimage.c (image_target_desc): New flag
3219 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
3220 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
3221 (generate_image): Handle images with modules before kernel.
3222
566a1917
VS
32232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Prevent potential loss of memory map by overwrite on qemu-mips.
3226
3227 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3228 Save ram size in $s4.
3229 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
3230 All users changed to grub_arch_memsize.
3231 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
3232 Loongson.
3233 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
3234 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
3235 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
3236 external variable.
3237
5d420cd9
CW
32382011-05-17 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * .bzrignore: Remove grub-dumpbios.
3241
d064b830
CW
32422011-05-17 Colin Watson <cjwatson@ubuntu.com>
3243
3244 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
3245 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
3246 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
3247 existing options which append).
3248 * docs/grub.texi (Simple configuration): Document new options.
3249 Reported by: Ian Jackson. Fixes Debian bug #617538.
3250
3ca2b466
CW
32512011-05-17 Colin Watson <cjwatson@ubuntu.com>
3252
3253 * util/grub-fstest.c (cmd_cat): New function.
3254 (fstest): Handle CMD_CAT.
3255 (options): Add cat.
3256 (argp_parser): Handle cat.
3257
24c9143a
CW
32582011-05-17 Colin Watson <cjwatson@ubuntu.com>
3259
3260 * Makefile.util.def (grub-bin2h): Don't install.
3261 * docs/man/grub-bin2h.h2m: Remove.
3262
90f7ac19
VS
32632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
3266 place.
3267
8d4a5178
VS
32682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 Reenable qemu-mips port.
3271
3272 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
3273 Fix small arc bug while on it.
3274 * gentpl.py: Handle qemu_mips.
3275 * grub-core/Makefile.am: Likewise.
3276 * grub-core/Makefile.core.def: Likewise.
3277 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
3278 inappropriate includes.
3279 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
3280 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
3281 * grub-core/kern/main.c (grub_modules_get_end)
3282 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
3283 * grub-core/kern/mips/qemu-mips: Moved to ..
3284 * grub-core/kern/mips/qemu_mips: ... this.
3285 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
3286 (grub_machine_init): Call terminfo_init and serial_init.
3287 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
3288 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3289 New variable.
3290 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
3291 parameter passing.
3292 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
3293 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
3294 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3295 * include/grub/mips/qemu_mips/cmos.h: New file.
3296 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
3297 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
3298 Removed.
3299 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
3300 Use correct mips-style address.
3301 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
3302 (GRUB_TICKS_PER_SECOND): Removed.
3303 (grub_get_rtc): Likewise.
3304 (grub_cpu_idle): Likewise.
3305 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
3306 New definition.
3307 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3308 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3309 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3310 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3311 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3312 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3313 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3314 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3315
400b9371
VS
33162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 SGI ARCS port.
3319
3320 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3321 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3322 platforms.
3323 * configure.ac: New target mips-arc.
3324 * gentpl.py: Likewise.
3325 * grub-core/Makefile.am: Likewise.
3326 * grub-core/Makefile.core.def: Likewise.
3327 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3328 (none_decompress): Likewise.
3329 (lsdev): New module.
3330 (datetime): Use lib/arc/datetime.c on ARC.
3331 (part_dvh): New module.
3332 * grub-core/commands/arc/lsdev.c: New file.
3333 * grub-core/disk/arc/arcdisk.c: Likewise.
3334 * grub-core/kern/mips/arc/init.c: Likewise.
3335 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3336 aligned addresses.
3337 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3338 support.
3339 (grub_arch_dl_relocate_symbols): Likewise.
3340 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3341 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3342 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3343 platforms.
3344 * grub-core/lib/arc/datetime.c: New file.
3345 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3346 pci.h on non-loongson.
3347 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3348 (grub_linux_boot): Set unused registers to 0.
3349 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3350 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3351 * grub-core/mmap/mips/uppermem.c: ...here.
3352 * grub-core/partmap/dvh.c: New file.
3353 * grub-core/term/arc/console.c: Likewise.
3354 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3355 (grub_terminfo_set_current): Add terminal "arc".
3356 (grub_terminfo_readkey): Support ARC sequences.
3357 * include/grub/arc/arc.h: New file.
3358 * include/grub/arc/console.h: Likewise.
3359 * include/grub/disk.h (grub_disk_dev_id): Add
3360 GRUB_DISK_DEVICE_ARCDISK_ID.
3361 * include/grub/mips/arc/kernel.h: New file.
3362 * include/grub/mips/arc/memory.h: Likewise.
3363 * include/grub/mips/arc/time.h: Likewise.
3364 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3365 * include/grub/mips/kernel.h (grub_halt): ... here.
3366 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3367 here...
3368 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3369 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3370 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3371 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3372 proto.
3373 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3374 from here ...
3375 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3376 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3377 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3378 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3379 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3380 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3381 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3382 (grub_phys_addr_t): Moved from here ...
3383 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3384 (grub_vtop): Moved from here ...
3385 * include/grub/mips/memory.h (grub_vtop): ... here.
3386 (grub_map_memory): Moved from here ...
3387 * include/grub/mips/memory.h (grub_map_memory): ... here.
3388 (grub_unmap_memory): Moved from here ...
3389 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3390 (grub_machine_mmap_iterate): Moved from here ...
3391 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3392 (grub_mmap_get_lower): Moved from here ...
3393 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3394 (grub_mmap_get_upper): Moved from here ...
3395 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3396 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3397 here ...
3398 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3399 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3400 here ...
3401 * include/grub/mips/time.h (grub_get_rtc): ... here.
3402 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3403 here ...
3404 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3405 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3406 here ...
3407 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3408 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3409 definition.
3410 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3411 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3412 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3413 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3414 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3415 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3416 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3417 (GRUB_MACHINE_LINK_ADDR): Likewise.
3418 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3419 to 6.
3420 * util/grub-install.in: Run dvhtool on ARC.
3421 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3422 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3423
c8ecc840
VS
34242011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3427 blocks.
3428
153a4b55
VS
34292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3432 after enabling port.
3433
ff44d107
VS
34342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Skip incorrect USB devices.
3437
3438 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3439 configcnt == 0.
3440 * include/grub/usb.h (grub_usb_err_t): New enum value
3441 GRUB_USB_ERR_BADDEVICE.
3442
638dbe4f
VS
34432011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Fuloong video init support.
3446
3447 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3448 well.
3449 (grub_vga_read_arx): New function.
3450 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3451 definition.
3452 (framebuffer): New members io, mmioptr and mmiobase.
3453 (read_sis_cmd): New function.
3454 (write_sis_cmd): Likewise.
3455 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3456 rather than 640x400.
3457 * grub-core/video/sis315_init.c: New file.
3458
c3fc520c
VS
34592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3462 non-loongson.
3463 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3464 to grub_dl_register_symbol.
3465
67b1e5c9
VS
34662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 Fix compilation errors.
3469
3470 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3471 potentially unused.
3472 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3473 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3474 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3475 to loongson machines.
3476
b756f75f
VS
34772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Several FS mtime support.
3480
3481 * grub-core/fs/affs.c (grub_affs_time): New struct.
3482 (grub_affs_file): New field mtime.
3483 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3484 type. Removed 'size'. New field 'di'. All users updated.
3485 (grub_affs_mount): Simplify checsum checking.
3486 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3487 (grub_affs_dir): Handle mtime.
3488 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3489 (grub_cpio_dir): Likewise.
3490 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3491 (grub_hfs_filerec): New field mtime.
3492 (grub_hfs_dir): Handle mtime.
3493 (grub_hfs_mtime): New function.
3494 (grub_hfs_fs): Register grub_hfs_mtime.
3495 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3496 (grub_iso9660_dir): New field mtime.
3497 (grub_fshelp_node): New field dirent.
3498 (iso9660_to_unixtime): New function.
3499 (iso9660_to_unixtime2): Likewise.
3500 (grub_iso9660_read_symlink): Use node->dirent.
3501 (grub_iso9660_iterate_dir): Likewise.
3502 (grub_iso9660_dir): Set mtime.
3503 (grub_iso9660_mtime): New function.
3504 (grub_iso9660_fs): Register grub_iso9660_mtime.
3505 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3506 (grub_jfs_inode): New fields atime, ctime and mtime.
3507 (grub_jfs_dir): Set mtime.
3508 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3509 * grub-core/fs/ntfs.c (list_file): Set mtime.
3510 (grub_ntfs_dir): Likewise.
3511 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3512 (grub_reiserfs_iterate_dir): Set mtime.
3513 (grub_reiserfs_dir): Likewise.
3514 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3515 (grub_fshelp_node): Likewise.
3516 (grub_sfs_iterate_dir): Set mtime.
3517 (grub_sfs_dir): Likewise.
3518 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3519 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3520 (grub_xfs_inode): New fields atime, mtime, ctime.
3521 (grub_xfs_dir): Set mtime.
3522 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3523 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3524 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3525
3526 Support UDF symlinks.
3527
3528 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3529 (grub_ufs_read_symlink): New function. All users updated.
3530
3531 Check amiga partmap checksum.
3532
3533 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3534 (grub_amiga_partition): Likewise.
3535 (amiga_partition_map_checksum): New function.
3536 (amiga_partition_map_iterate): Check checksum.
3537
5470225d
VS
35382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 ROMFS support.
3541
3542 * Makefile.util.def (libgrubmods.a): Add romfs.
3543 * grub-core/Makefile.core.def (romfs): New module.
3544 * grub-core/fs/romfs.c: New file.
3545
d4680a35
VS
35462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Squashfs v4 support.
3549
3550 * Makefile.util.def (libgrubmods.a): Add squash4.
3551 * grub-core/Makefile.core.def (squash4): New module.
3552 * grub-core/fs/squash4.c: New file.
3553 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3554 disk_input_start, disk_input.
3555 (get_byte): Handle disk_input.
3556 (grub_zlib_disk_read): New function.
3557 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3558
bcb18e74
FZ
35592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
35602011-05-15 Feiran Zheng <famcool@gmail.com>
3561
3562 * Makefile.util.def (libgrubmods.a): Add minix3.
3563 * grub-core/Makefile.core.def (minix3): New module.
3564 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3565 (GRUB_MINIX_BSIZE): Removed.
3566 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3567 (grub_minix_ino_t): New type.
3568 (grub_minix_le_to_cpu_ino): New macro.
3569 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3570 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3571 (grub_minix_data): New field block_size.
3572 (grub_minix_read_file): Handle 64-bit correctly.
3573 * grub-core/fs/minix3.c: New file.
3574
32297d5f
TG
35752011-05-15 Tristan Gingold <gingold@free.fr>
35762011-05-15 Robert Millan <rmh.grub@aybabtu.com>
35772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 IA64 support.
3580
3581 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3582 * configure.ac: Add ia64-efi target.
3583 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3584 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3585 * gentpl.py: Add ia64_efi platform.
3586 Rename x86_efi to efi and Add ia64-efi. All users updated.
3587 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3588 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3589 Remove kern/generic/rtc_get_time_ms.c on EFI.
3590 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3591 kern/ia64/dl_helper.c on ia64-efi.
3592 Add kern/emu/cache.c on emu.
3593 (linux): Use on loader/ia64/efi/linux.c on ia64.
3594 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3595 whether symbol is a function.
3596 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3597 (grub_symbol): New field 'isfunc'.
3598 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3599 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3600 (grub_dl_load_segments): Place all sections into the same region.
3601 [__ia64__]: Create trampolines and got.
3602 [GRUB_MACHINE_EMU]: Call mprotect.
3603 (grub_dl_resolve_symbols): Resolve symbol type as well.
3604 [__ia64__]: Create function descriptors.
3605 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3606 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3607 (grub_get_rtc): New function.
3608 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3609 * grub-core/kern/emu/cache.S: Renamed to ...
3610 * grub-core/kern/emu/cache_s.S: ... this.
3611 [__ia64__]: Add a nop.
3612 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3613 [__ia64__]: New function.
3614 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3615 * grub-core/kern/ia64/dl.c: New file.
3616 * grub-core/kern/ia64/dl_helper.c: Likewise.
3617 * grub-core/kern/ia64/efi/init.c: New file.
3618 * grub-core/kern/ia64/efi/startup.S: Likewise.
3619 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3620 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3621 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3622 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3623 * grub-core/loader/ia64/efi/linux.c: New file.
3624 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3625 (GRUB_MOD_DEP): Likewise.
3626 (grub_dl) [__ia64__]: New fields got and tramp.
3627 (grub_dl): New field 'base'.
3628 (grub_dl_register_symbol): New argument isfunc. All users updated.
3629 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3630 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3631 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3632 (grub_ia64_dl_get_tramp_got_size): New proto.
3633 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3634 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3635 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3636 * include/grub/efi/api.h: Skip call wrappers on ia64.
3637 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3638 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3639 * include/grub/elf.h (ELF_ST_INFO): New definition.
3640 * include/grub/ia64/efi/kernel.h: New file.
3641 * include/grub/ia64/efi/memory.h: Likewise.
3642 * include/grub/ia64/efi/time.h: Likewise.
3643 * include/grub/ia64/kernel.h: Likewise.
3644 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3645 * include/grub/ia64/time.h: New file.
3646 * include/grub/ia64/types.h: Likewise.
3647 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3648 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3649 New protos.
3650 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3651 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3652 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3653 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3654 All users updated.
3655 (EFI64_HEADER_SIZE): New definition. All users updated.
3656 (image_targets): Add ia64-efi.
3657 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3658 jumpers_addr. All users updated.
3659 Create function descriptors.
3660 (count_funcs): New function.
3661 (unaligned_uint32): New struct.
3662 (MASK20): New definition.
3663 (MASK19): Likewise.
3664 (MASKF21): Likewise.
3665 (add_value_to_slot_20b): New function.
3666 (add_value_to_slot_21_real): Likewise.
3667 (add_value_to_slot_21): Likewise.
3668 (ia64_kernel_trampoline): New struct.
3669 (nopm): New variable.
3670 (jump): Likewise.
3671 (make_trampoline): New function.
3672 (relocate_addresses): Handle ia64.
3673 (make_reloc_section): Likewise.
3674 (load_image): Likewise.
3675
983b414d
VS
36762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3679 warning. Move variables before code while on it.
3680
5d063cdc
VS
36812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Fuloong support.
3684
3685 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3686 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3687 * grub-core/boot/mips/loongson/fuloong.S: New file.
3688 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3689 Explicitly init CS5536.
3690 [FULOONG]: Don't use serial until CS5536 is available.
3691 Set GPIO based on dumps.
3692 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3693 [FULOONG]: Handle GPIO and memory controller differences.
3694 Parse machine type in $a2.
3695 * grub-core/boot/mips/startup_raw.S: Determine and save the
3696 architecture.
3697 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3698 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3699 init on architecture type.
3700 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3701 SIS315E. Don't init at_keyboard on fuloong.
3702 (grub_halt): Support Fuloong.
3703 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3704 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3705 (loongson_machtypes): New array.
3706 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3707 type.
3708 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3709 config. All users updated. Handle CS5536 serial.
3710 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3711 default port on machine type. Register serial as inactive.
3712 * grub-core/video/sis315pro.c: New file.
3713 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3714 definition.
3715 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3716 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3717 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3718 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3719 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3720 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3721 to ...
3722 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3723 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3724 definition.
3725 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3726 (grub_arch_machine): New extern var.
3727 * include/grub/mips/loongson/serial.h
3728 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3729 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3730 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3731 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3732 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3733 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3734 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3735 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3736 * include/grub/term.h (grub_term_register_input_inactive): New inline
3737 function.
3738 (grub_term_register_output_inactive): Likewise.
3739 * include/grub/video.h (grub_video_driver_id): New value
3740 GRUB_VIDEO_DRIVER_SIS315PRO.
3741 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3742 New field "names". All users updated.
3743 New field value IMAGE_FULOONG_FLASH.
3744 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3745
6ada82d1
JU
37462011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3747
3748 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3749 and add some clarification.
3750
90c571a4
VS
37512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3754 platforms if kernel is compressed.
3755
de04eecf
VS
37562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3759 unused modules since currently referrence counter isn't reliable and
3760 there isn't much memory to recover there anyway.
3761
57688121
VS
37622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3765 rather than resetting it to allow modules to reference themselves
3766 in init.
3767
3d2c7e35
VS
37682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3771 counter on dependencies since grub_dl_unref already handles this.
3772
b25db218
VS
37732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3776 on error if not already done.
3777
25a45338
VS
37782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 Fix few potential memory misusage.
3781
3782 * grub-core/font/font.c (load_font_index): Don't free char_index to
3783 avoid double free.
b25db218
VS
3784 (grub_font_load): Zero-fill font at alloc for safety.
3785 Close file on error.
3786 (free_font): Free bmp_idx.
25a45338 3787
0cac83df
VS
37882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * docs/grub.texi (Installation): Fix several outdated claims.
3791
2217a143
VS
37922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 Handle module_license on windows.
3795
3796 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3797 sections shifted.
3798 (insert_string): Make argument const char * instead of char *.
3799 (write_section_data): Handle long section names.
3800 Handle module_license.
3801
d4de6b01
VS
38022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3805 handle class-free menuentries.
3806 (grub_normal_add_menu_entry): Add a check to be sure.
3807
4c2a3b43
VS
38082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3811 PgUp and PgDown.
3812
85c6210f
VS
38132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * configure.ac: Bump version to 1.99.
3816
36084912
VS
38172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 Give ATA device a bit more time on first try in order to allow disks
3820 to spin up.
3821
3822 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3823 if dev->present is 1. Reset dev->present on failure.
3824 (grub_ata_device_initialize): Set dev->present to 1.
3825 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3826 (grub_ata_device): New member 'present'.
3827
bda0e219
VS
38282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * util/grub-mkimage.c (generate_image): Update hash.
3831
19e1c41b
VS
38322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Flush caches on DMA memory.
3835
3836 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3837 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3838 (grub_dma_free): Likewise.
3839 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3840
91bbcc0c
VS
38412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3844 to avoid asm treating ld and sd as macros.
3845
60ddfad3
VS
38462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3849 decompressor.
3850
a298aa04
VS
38512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3854 grub_decompress_core since later would fail if grub_decompress_core
3855 is too far.
3856
9b44feca
VS
38572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3860 R_MIPS_JALR since it's used by newer compiler.
3861
56dbe7b4
VS
38622011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3865
52856af2
VS
38662011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3869 file_path to 0 for surety.
3870 (grub_chainloader_boot): Set exit_data to NULL.
3871 Unset the loader once done.
3872 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3873
9c9bfc6d
VS
38742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3877 unknown key into a dprintf.
3878
dd94a3df
VS
38792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3882 on first non-existant partition.
3883
fa68d99c
VS
38842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3887 openning fails.
3888 Reported by: Mark Korenberg.
3889
157effb7
VS
38902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3893 overflow.
3894
ea75312f
VS
38952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3898 before closing to ensure that it will be readable by grub-setup.
3899
072b5d31
VS
39002011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3903 (devpath_1): Use MAKE_PIWG_PATH.
3904 (devpath_2): Likewise.
3905 (devpath_3): Likewise.
3906 (devpath_4): Likewise.
3907 (devpath_5): Likewise.
3908 (devpath_6): Likewise.
3909
3910 The appleldr.mod was checked that to be binary identical to previous
3911 version.
3912
7fae0051
Z
39132011-05-05 Zach <mikezackles>
3914
3915 Support 2010 Macbooks.
3916
3917 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3918 (devs): Add devpath_6.
3919
7c515bee
VS
39202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3923 /dev/random. /dev/urandom is good enough for our purposes (salting).
3924
ed660bd8
VS
39252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3928
ee5614b7
VS
39292011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3932 hexadecimal.
3933
664889a6
VS
39342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3937 and not 0 on failure.
3938
bd405bbc
CW
39392011-05-03 Colin Watson <cjwatson@ubuntu.com>
3940
3941 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3942 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3943 disk; otherwise grub_fs_probe will not fall back to the next
3944 filesystem.
3945 (grub_pxefs_open): Likewise, for consistency.
3946 Reported and tested by: Ezekiel Grave.
3947
4ebff753
CW
39482011-05-03 Colin Watson <cjwatson@ubuntu.com>
3949
3950 * tests/partmap_test.in: Don't hardcode path to parted.
3951 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3952
8f942553
CW
39532011-05-01 Colin Watson <cjwatson@ubuntu.com>
3954
3955 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3956 of `ls' to find out which devices are available.
3957
3c62402d
VS
39582011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3961 than source address for efi mmap buffer.
3962
723f63f2
VS
39632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3966 wrong action on non-detecting the magic.
3967
68797f92
VS
39682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3971 already supplied by another part of the module (fixes compilation on
3972 FreeBSD).
3973
6be8715d
VS
39742011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3977 match the one used by mdadm.
3978
e91dba5b
CW
39792011-04-21 Colin Watson <cjwatson@ubuntu.com>
3980
3981 * po/README: Add instructions for creating po/LINGUAS.
3982
c85140b3
CW
39832011-04-21 Colin Watson <cjwatson@ubuntu.com>
3984
3985 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3986 #551428.
3987
3988 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3989 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3990 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3991 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3992 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3993 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3994 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3995 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3996 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3997 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3998 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3999 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
4000 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
4001 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
4002 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
4003 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
4004 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
4005 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
4006 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
4007 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
4008 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
4009 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
4010
92051871
CW
40112011-04-21 Colin Watson <cjwatson@ubuntu.com>
4012
4013 * grub-core/kern/emu/getroot.c
4014 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
4015 test that was incorrectly reintroduced in r3214.
4016 Reported by: Ian Dall. Fixes Savannah bug #33133.
4017
b13f79a4
CW
40182011-04-21 Colin Watson <cjwatson@ubuntu.com>
4019
4020 Fix stack pointer handling in 16-bit relocator.
4021
4022 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
4023 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
4024 Fixes Ubuntu bug #683904.
4025
9b710a88
VS
40262011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * configure.ac: Bump version to 1.99~rc2.
4029
d97e7b59
VS
40302011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
4033 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
4034 * grub-core/lib/x86_64/setjmp.S: Likewise.
4035 * grub-core/lib/mips/setjmp.S: Likewise.
4036 * grub-core/lib/powerpc/setjmp.S: Likewise.
4037 * grub-core/lib/sparc64/setjmp.S: Likewise.
4038
0624551c
VS
40392011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
4042 * grub-core/lib/efi/datetime.c: Likewise.
4043
e8f28d4c
VS
40442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
4047 New function.
4048 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
4049 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
4050 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
4051
bba79a15
VS
40522011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
4055 bitmap.
4056 (grub_gfxterm_term_init): Likewise.
4057
abc474ef
VS
40582011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 Take into account the decorations the computing menu entry width.
4061
4062 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
4063 (grub_gfxmenu_create_box): Register get_border_width.
4064 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
4065 if available.
4066 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
4067 get_border_width.
4068
e74b3947
EP
40692011-04-18 Endres Puschner <code@e7p.de>
4070
4071 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
4072 Don't skip first class.
4073
34faa595
VS
40742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
4077 chunks.
4078 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
4079
93a777e3
VS
40802011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 Complete 64-bit division support.
4083
4084 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
4085 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
4086 * include/grub/misc.h (grub_divmod64): Rename to ...
4087 (grub_divmod64_full): ... this.
4088 (grub_divmod64): New inline function.
4089
a5102d94
VS
40902011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * util/grub-mkimage.c (generate_image): Add forgotten comma.
4093
f3fb7b36
VS
40942011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
4097 performing the necessary test.
4098
9ac718b0
VS
40992011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
4102 (kfreebsd.elf): Likewise.
4103 (pc-chainloader.elf): Likewise.
4104 (ntldr.elf): Likewise.
4105
50d2cc5a
VS
41062011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Identify RAID by its UUID rather than (guessed) name.
4109
4110 * grub-core/disk/raid.c (ascii2hex): New function.
4111 (grub_raid_open): Accept mduuid/%s specification.
4112 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
4113 (get_mdadm_uuid): ... this.
4114 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
4115
e03f7bea
VS
41162011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
4119 to negative size.
4120
e74c3112
CW
41212011-04-13 Colin Watson <cjwatson@ubuntu.com>
4122
4123 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
4124 btrfs subvolume.
4125 * util/grub.d/20_linux_xen.in: Likewise.
4126
78fa584f
CW
41272011-04-13 Colin Watson <cjwatson@ubuntu.com>
4128
4129 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
4130 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
4131
4132 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4133 Build a list of relevant visible mounts using the mnt_id and
4134 parent_mnt_id fields, and then scan that list at the end.
4135
9d5f8162
CW
41362011-04-12 Colin Watson <cjwatson@ubuntu.com>
4137
4138 * docs/grub.texi (normal): New section.
4139 (normal_exit): New section.
4140 (Embedded configuration): Add reference to normal.
4141 (GRUB only offers a rescue shell): Likewise.
4142 * docs/grub-dev.texi (Error Handling): Fix typo.
4143
09a9d66f
CW
41442011-04-12 Colin Watson <cjwatson@ubuntu.com>
4145
4146 * NEWS: Drop obsolete entry about probe-only btrfs support.
4147
0c676933
CW
41482011-04-12 Colin Watson <cjwatson@ubuntu.com>
4149
4150 * util/import_gcry.py: Fix typo.
4151
ec9f5e0d
VS
41522011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * NEWS: Add btrfs support.
4155
fe6b2cba
VS
41562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
41572011-04-11 Colin Watson <cjwatson@ubuntu.com>
4158
4159 BtrFS support. Written by me (Vladimir) with important bugfixes and
4160 even more important testing by Colin.
4161
4162 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
4163 * grub-core/Makefile.core.def (btrfs): Add crc.c.
4164 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
4165 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
4166 mem_input_off and mem_input. All users updated to accept in-RAM input.
4167 (gzio_seek): New function.
4168 (test_zlib_header): Likewise.
4169 (grub_gzio_read): Likewise.
4170 (grub_zlib_decompress): Likewise.
4171 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
4172 Accept partial and non-virtual mounts.
4173 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
4174 avoid receiving /dev/dm-X as device.
4175 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
4176 Handle bind and partial mounts.
4177 * grub-core/lib/crc.c: New file.
4178 * include/grub/deflate.h: Likewise.
4179 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
4180 proto.
4181 * include/grub/lib/crc.h: New file.
4182
e745cf0c
VS
41832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Implement automatic module license checking according to new GNU
4186 guidelines.
4187
4188 * grub-core/kern/dl.c (grub_dl_check_license): New function.
4189 (grub_dl_load_core): Use grub_dl_check_license.
4190 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
4191 (GRUB_MOD_LICENSE): Likewise.
4192 (GRUB_MOD_DUAL_LICENSE): Likewise.
4193 All modules updated.
4194
2a9bc016
CW
41952011-04-11 Colin Watson <cjwatson@ubuntu.com>
4196
4197 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
4198 reserved_first_sector to 1. btrfs reserves plenty of space for boot
4199 loaders.
4200 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
4201
8a3bc88e
VS
42022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
4205
af869a4a
VS
42062011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * util/grub-fstest.c (read_file): Report GRUB error if file opening
4209 failed.
4210
9ee8d94f
VS
42112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/kern/file.c (grub_file_open): Don't take into account the
4214 parenthesis in the middle of the filename.
4215
b01abe3e
VS
42162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
4219 rather than trying to put initrd way too high.
4220 Reported by: Ryan Lortie <desrt@desrt.ca>
4221
335bda1e
VS
42222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
4225 improperly removed string.
4226
5ca1a64d
VS
42272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
4230 is_disk.
4231 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
4232 (open_device) Likewise.
4233 (grub_util_biosdisk_close): Likewise.
d8ce9995 4234 Reported by: Mark Korenberg.
5ca1a64d 4235
cbac5b1e
AK
42362011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
4237
4238 * util/grub-mkconfig_lib.in: Add missing quotes.
4239
088cdb65
CW
42402011-04-10 Colin Watson <cjwatson@ubuntu.com>
4241
4242 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
4243 is NULL.
4244
8b8a81fa
VS
42452011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Dynamically count the number of lines for the lower banner.
4248
4249 * grub-core/normal/menu_entry.c (per_term_screen): New member
4250 num_entries.
4251 (print_down): Use num_entries.
4252 (update_screen): Likewise.
4253 (grub_menu_entry_run): Set num_entries.
4254 * grub-core/normal/menu_text.c (menu_viewer_data): New member
4255 num_entries.
4256 (grub_print_message_indented): Move real part to ...
4257 (grub_print_message_indented_real): ... here. Additional argument
4258 dry_run.
4259 (draw_border): Additional argument num_entries.
4260 (print_message): Additional argument dry_run.
4261 (print_entries): Receive menu viewer data.
4262 (grub_menu_init_page): New argment num_entries.
4263 (menu_text_set_chosen_entry): Use num_entries.
4264 (grub_menu_try_text): Likewise.
4265 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
4266 All users updated.
4267 (grub_ucs4_count_lines): New function.
4268 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
4269 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
4270 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
4271 (grub_term_border_height): Likewise.
4272 (grub_term_num_entries): Likewise.
4273
277f955b
VS
42742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
4277 Remove now unused string.
4278
536ce85a
CW
42792011-04-09 Colin Watson <cjwatson@ubuntu.com>
4280
4281 * docs/grub-dev.texi (Finding your way around): Update for 1.99
4282 build system.
4283 (Getting started): GRUB is developed in Bazaar now, not Subversion.
4284
4285 (Comment): Fix typo.
4286 (Getting started): General copy-editing.
4287 (Typical Development Experience): Likewise.
4288 (Error Handling): Likewise.
4289 (Video API): Likewise.
4290
2cf09e32
CW
42912011-04-09 Colin Watson <cjwatson@ubuntu.com>
4292
4293 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
4294 throughout.
4295
1ec652f4
VS
42962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * util/grub-mkimage.c (main): Handle special naming of yeeloong
4299 directory.
4300
2c583728
CW
43012011-04-08 Colin Watson <cjwatson@ubuntu.com>
4302
4303 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
4304 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
4305 "development".
4306
d7a565e9
VS
43072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4310 grub_strcpy since the lines aren't necessarily 0-terminated.
4311
7c2e4909
VS
43122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4315 root on legacy.
4316
34c09785
VS
43172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4320 (GRUB_MOD_INIT): DEVICE isn't optional.
4321
6a6f8058
VS
43222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4325 word on new line if it's too long anyway. Fixes a hang.
4326
2e335e90
VS
43272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4330 const.
4331 * util/grub-setup.c (main): Reuse md device name if available.
4332 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4333 not GRUB name as argument.
4334 Based on patch by: Florian Wagner <fwagner>.
4335
10a7a867
VS
43362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4339 Place mbi on low memory for better compatibility.
4340
7a3d6cd9
VS
43412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4344
18dd6b47
VS
43452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
43462011-04-08 Colin Watson <cjwatson@ubuntu.com>
4347
4348 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 4349 * conf/Makefile.common: Likewise.
18dd6b47 4350
3c0e3f14
VS
43512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4352
f7148863
VS
4353 * grub-core/normal/menu.c: Add missing include.
4354
43552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 4358
6d1fa41f
MZ
43592011-04-08 Martin Zuther <mzuther@mzuther.de>
4360
4361 * util/grub-mkconfig.in: Ignore emacsen backup.
4362
478182a8
VS
43632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4366 on open.
4367 (grub_util_biosdisk_close): Likewise.
4368
72a89a54
VS
43692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4372 const attribute and use grub_isdigit.
4373
b5ebecfa
A
43742011-04-06 Andrey <dev_null@ukr.net>
4375
4376 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4377 gcc warning.
4378
7755f66e
VS
43792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4382 useful grub_dprintf's.
4383
461121ff
VS
43842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4387
2a961775
VS
43882011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4391
adf594cc
VS
43922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 Output errors if theme loading failed.
4395
4396 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4397 grub_gfxterm_fullscreen on error paths to ...
4398 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4399 theme loading error.
4400
665900a3
VS
44012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4404 space for older compilers.
4405 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4406
a562b479
VS
44072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4410 and report them as not RAID members since they are useless for GRUB.
4411 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4412
850e9373
VS
44132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Increase LVM implementation robustness in order not to crash on
4416 configurations like pvmove. Previously code assumed that in some places
4417 only lvs or only pvs are used whereas it seems that they are used
4418 interchangeably.
4419
4420 * grub-core/disk/lvm.c (read_node): New function.
4421 (read_lv): Use read_node.
4422 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4423 Match volumes only at the end when all lvs are found. Take both
4424 pvs (first) and lvs (second) into account.
4425 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4426 mirror_* into node_*. All users updated.
4427 (grub_lvm_stripe): Merge this ...
4428 (grub_lvm_mirror): ... and this ...
4429 (grub_lvm_node): ... into this. All users updated.
4430
6f332153
VS
44312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4434 of function to allow further scanning for LVMs.
4435
829ea451
VS
44362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4439 on failed seek as it breaks open fd reusage.
4440
09ceb9a5
VS
44412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/grub-install.in: Add a recommendation to use --recheck before
4444 reporting bugs.
4445
67e11623
VS
44462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4449 are obtained.
4450
caee5efd
VS
44512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 GRUB developper manual based on existing Internals section and
4454 contributions by the various authors with active copyright assignment.
4455
4456 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4457 * docs/font_char_metrics.png: New file.
4458 * docs/font_char_metrics.txt: Likewise.
4459 * docs/grub-dev.texi: Likewise.
4460 * docs/grub.texi (Internals): Move from here ...
4461 * docs/grub-dev.texi: ... here.
4462
2cccc747
CW
44632011-04-01 Colin Watson <cjwatson@ubuntu.com>
4464
4465 Store the loopback device as data on loopback grub_disk structures,
4466 rather than the file it points to. This fixes use of freed memory
4467 if an existing loopback device is replaced.
4468
4469 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4470 disk->data, not dev->file.
4471 (grub_loopback_read): Adjust file assignment to match.
4472 Fixes Ubuntu bug #742967.
4473
186ae367
CW
44742011-04-01 Colin Watson <cjwatson@ubuntu.com>
4475
4476 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4477 when replacing an existing device.
4478
cfed2ad0
VS
44792011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4482 memory corruptions.
4483
4484 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4485 unsigned.
4486 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4487 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4488 (grub_jfs_read_inode): Likewise.
4489 (grub_jfs_opendir): Likewise. Remove now useless casts.
4490 (grub_jfs_getent): Likewise.
4491 Make ino a grub_uint32_t rather than int.
4492 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4493 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4494 division and module with bit operations.
4495 (grub_jfs_find_file): Make ino a grub_uint32_t.
4496 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4497
05d2ed32
CW
44982011-04-01 Colin Watson <cjwatson@ubuntu.com>
4499
4500 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4501 warning. (This was in fact always initialised before use, but GCC
4502 wasn't smart enough to prove that.)
4503 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4504
91dc6073
VS
45052011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4508 stack alignment.
4509 (efi_wrap_1): Likewise.
4510 (efi_wrap_2): Likewise.
4511 (efi_wrap_3): Likewise.
4512 (efi_wrap_4): Likewise.
4513 (efi_wrap_5): Likewise.
4514 (efi_wrap_6): Likewise.
4515 (efi_wrap_10): Likewise.
4516 Based on information by: Red Hat/Peter Jones.
4517
a8afc1d1
CW
45182011-03-31 Colin Watson <cjwatson@ubuntu.com>
4519
4520 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4521 set-but-not-used variable.
4522
a826cc7d
CW
45232011-03-31 Colin Watson <cjwatson@ubuntu.com>
4524
4525 * docs/grub.texi (Simple configuration): Be more explicit about
4526 GRUB_DEFAULT, and add an example.
4527 Reported by: Leslie Rhorer.
4528
875b67ba
CW
45292011-03-30 Colin Watson <cjwatson@ubuntu.com>
4530
4531 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4532 shell".
4533
fd7cd914
AS
45342011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4535
4536 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4537 * util/grub.d/20_linux_xen.in: Likewise.
4538
090b1b6a
VS
45392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * util/grub.d/10_linux.in: Try alternative config filenames where
4542 we parse config file.
4543 * util/grub.d/20_linux_xen.in: Likewise.
4544
baad885c
AS
45452011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4546
4547 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4548 * util/grub.d/20_linux_xen.in: Likewise.
4549
241e41f5
VS
45502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/disk/raid.c (insert_array): Add few potentially
4553 useful grub_util_info.
4554 (grub_raid_register): Likewise.
4555
56445fb2
VS
45562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4559 Preserve partition number in mdadm code path.
4560
c871b1c6
VS
45612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4564 few potentially useful grub_util_info.
4565
5e631b4f
CW
45662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4569
2d5d0333
CW
45702011-03-30 Colin Watson <cjwatson@ubuntu.com>
4571
4572 * docs/grub.texi (default): Use @example rather than nested
4573 itemized lists to avoid breaking gendocs.
4574
3d7ed04e
CW
45752011-03-30 Colin Watson <cjwatson@ubuntu.com>
4576
4577 * docs/grub.texi (Future): Update.
4578
abf04200 45792011-03-30 Colin Watson <cjwatson@ubuntu.com>
4580
4581 * docs/grub.texi (Environment): New chapter.
4582 (Changes from GRUB Legacy): Link to "Environment block" section for
4583 details of limitations.
4584 (Simple configuration): Likewise. Link to documentation of gfxmode
4585 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4586 respectively.
4587 (Shell-like scripting): Note that normal variables are stored in the
4588 environment.
4589 (gettext): Link to documentation of lang and locale_dir.
4590 (list_env): New section.
4591 (load_env): New section.
4592 (save_env): New section.
4593
4594 (Reporting bugs): Fix typo.
4595
e1ad0edd
VS
45962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4599 the example.
4600
5d803174
VS
46012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/term/at_keyboard.c (set_scancodes)
4604 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4605
2a2da1d0
CW
46062011-03-30 Colin Watson <cjwatson@ubuntu.com>
4607
4608 * docs/grub.texi (Menu-specific commands): Remove some semantics
4609 that were true in GRUB Legacy but not in GRUB 2.
4610 (submenu): New section.
4611 (false): New section.
4612 (read): New section.
4613 (true): New section.
4614
a7527639
CW
46152011-03-30 Colin Watson <cjwatson@ubuntu.com>
4616
4617 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4618
46192011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4620
4621 * docs/grub.texi (Simple configuration): Explain some of the
4622 current limitations of grub-mkconfig.
8a748df2 4623 Reported by: Leslie Rhorer.
e30af029 4624
fc858482
VS
46252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Old macs search for boot.efi rather than for bootia32.efi.
4628
4629 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4630 * util/grub-mkrescue.in: Likewise.
4631 Suggested by: Peter Jones.
4632
e1eb511d
VS
46332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4636
70e75364
VS
46372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4640 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4641 (grub_lvm_mirror): New struct.
4642 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4643 (grub_lvm_iterate): Iterate only visible volumes.
4644 (grub_lvm_read): Factor out to ..
4645 (read_lv): ... this. Support mirrors.
4646 (grub_lvm_read): New wrapper function.
4647 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4648 stripped or mirrored.
4649
fc18f6a3
VS
46502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4653
5c650f4c
CW
46542011-03-29 Colin Watson <cjwatson@ubuntu.com>
4655
4656 * docs/grub.texi (loopback): New section.
4657
61d7156b
CW
46582011-03-29 Colin Watson <cjwatson@ubuntu.com>
4659
4660 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4661 removed -p option.
4662
994b8264
CW
46632011-03-29 Colin Watson <cjwatson@ubuntu.com>
4664
4665 * docs/grub.texi (BIOS installation): New section, partly based on
4666 previous text in other sections.
4667 (Installing GRUB using grub-install): Replace BIOS discussion with a
4668 cross-reference.
4669 (Images): Likewise.
4670
9e4d19e0
VS
46712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4674 [HAVE_DIOCGDINFO]: Add safety checks.
4675
a307c0b2
VS
46762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4679 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4680
b4db4f39
CW
46812011-03-29 Colin Watson <cjwatson@ubuntu.com>
4682
4683 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4684 real_sb->size is zero (e.g. RAID-0), get the disk size from
4685 real_sb->data_size instead.
4686 Fixes Ubuntu bug #743136.
4687
35e5f84c
VS
46882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4691 printf clauses for printing size and start.
4692
d2e29d81
VS
46932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4696 Reported and tested by: Timothy Nikkel.
4697
ed5587af
VS
46982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4701 (dirty_region_add_real): ... this.
4702 (dirty_region_add): Don't discard margin refresh when performing
4703 scheduled repaint.
4704
a1dc717c
VS
47052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/lib/relocator.c (allocate_regstart)
4708 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4709 terminals are capabple of malloc-free operation.
4710 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4711 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4712
9f3677d3
VS
47132011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4714
4715 * util/grub-setup.c: Copy the partition table zone if floppy support
4716 is disabled, even if no partition table is found.
4717
4718 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4719 during POST if an invalid partition table is contained in the PBR
4720 of the active partition when GRUB is installed to a partition.
4721
24148725
CW
47222011-03-28 Colin Watson <cjwatson@debian.org>
4723
4724 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4725 comment.
4726
f329eda7
CW
47272011-03-28 Colin Watson <cjwatson@debian.org>
4728
4729 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4730 to be specific about what kind of RAID device we're scanning for.
4731
c482ad98
SG
47322011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4733
4734 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4735 return freed string.
4736
5ee04984
VS
47372011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4740
f4727da9
VS
47412011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Use libgeom on FreeBSD to detect partitions.
4744
4745 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4746 (grub-mkrelpath): Likewise.
4747 (grub-script-check): Likewise.
4748 (grub-editenv): Likewise.
4749 (grub-mkpasswd-pbkdf2): Likewise.
4750 (grub-fstest): Likewise.
4751 (grub-mkfont): Likewise.
4752 (grub-mkdevicemap): Likewise.
4753 (grub-probe): Likewise.
4754 (grub-setup): Likewise.
4755 (grub-ofpathname): Likewise.
4756 (grub-mklayout): Likewise.
4757 (example_unit_test): Likewise.
4758 (grub-menulst2cfg): Likewise.
4759 * grub-core/Makefile.core.def (grub-emu): Likewise.
4760 (grub-emu-lite): Likewise.
4761 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4762 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4763 define HAVE_DIOCGDINFO.
4764 (follow_geom_up) [FreeBSD]: New function.
4765 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4766 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4767 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4768 unconditionally of HAVE_DIOCGDINFO.
4769
82fe6c75
VS
47702011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 Fix FreeBSD compilation problem.
4773
4774 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4775 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4776
4c6c9431
CW
47772011-03-24 Colin Watson <cjwatson@ubuntu.com>
4778
4779 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4780 Switch back to page zero before loading a kernel, since some kernel
4781 drivers expect that.
4782 Thanks to: Felix Kuehling.
4783
c7064d94
VS
47842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4787 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4788 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4789
3f71cded
VS
47902011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4793 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4794
ef6de21a
VS
47952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4798 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4799 malloc is disabled.
4800
8bc66a2c
VS
48012011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4804 for modules headers when counting the needed allocation size.
4805
5657722c
VS
48062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4809 if no ASCII character is found to prevent crash.
4810
41a85f55
AK
48112011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4812
4813 * grub-core/video/bitmap.c (match_extension): Ignore case.
4814
59e1e5f1
VS
48152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4818
bd4d051a
VS
48192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/script/parser.y: Declare "time" as valid argument.
4822
bae7fcc1
PJ
48232011-03-23 Peter Jones <pjones@redhat.com>
4824
4825 Fix incorrect assert failure reporting.
4826
4827 * grub-core/tests/example_functional_test.c (example_test): Add
4828 a failure comment.
4829 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4830 (failure_start): ...this. Check that malloc succeeded.
4831 Don't call xvasprintf. Return failure struct.
4832 (failure_append_vtext): New function.
4833 (failure_append_text): Likewise.
4834 (add_failure): Likewise.
4835 (grub_test_assert_helper): Likewise.
4836 * include/grub/test.h (grub_test_assert_helper): New declaration.
4837 (grub_test_assert): Macro rewritten.
4838
537dc9be
VS
48392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4842
fa3e01bf
VS
48432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4846
b1d28404
VS
48472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4850 into GRUB-style one.
4851
2e3e2e09
VS
48522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4855 error and not grub_errno.
4856 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4857
ed57e557
VS
48582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4861 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4862
d1611f01
VS
48632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/efiemu/i386/pc/cfgtables.c
4866 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4867 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4868 (grub_xnu_unlock): Likewise.
4869 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4870
7d4e39d6
VS
48712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4874 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4875 * grub-core/commands/hashsum.c (aliases): Likewise.
4876 * grub-core/commands/setpci.c (pci_registers): Likewise.
4877 * grub-core/disk/usbms.c (attach_hook): Likewise.
4878 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4879 (zio_checksum_table): Likewise.
4880 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4881 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4882 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4883 * grub-core/lib/relocator.c (leftovers): Likewise.
4884 (extra_blocks): Likewise.
4885 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4886 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4887 (modules_last): Likewise.
4888 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4889 (devices): Likewise.
4890 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4891 (modules_last): Likewise.
4892 * grub-core/normal/auth.c (users): Likewise.
4893 * grub-core/normal/context.c (initial_menu): Likewise.
4894 (current_menu): Likewise.
4895 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4896 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4897 (grub_serial_terminfo_input_template): Likewise.
4898 (grub_serial_terminfo_output_template): Likewise.
4899 (grub_serial_terminfo_input): Likewise.
4900 (grub_serial_terminfo_output): Likewise.
4901 (registered): Likewise.
4902 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4903
40fc4659
VS
49042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4907 grub_video_mode_type_t.
4908 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4909 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4910 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4911
2da48d28
VS
49122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * util/grub-install.in: Correct the x86-64 name as x86_64.
4915
9b43bf39
CW
49162011-03-11 Colin Watson <cjwatson@ubuntu.com>
4917
4918 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4919 initial chunk read from the kernel always includes GRUB's multiboot
4920 header, which is now outside the first sector.
4921
be1a7ce0
CW
49222011-03-09 Colin Watson <cjwatson@ubuntu.com>
4923
4924 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4925 cached mmap_size, so that this works correctly when called multiple
4926 times.
4927 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4928
83a3c48d
CW
49292011-03-09 Colin Watson <cjwatson@ubuntu.com>
4930
4931 * docs/grub.texi (Simple configuration): Tidy up formatting.
4932
57d75699
SJ
49332011-03-07 Szymon Janc <szymon@janc.net.pl>
4934
4935 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4936 Set-but-not-used variable removed.
4937
028501a0
VS
49382011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Workaround yet another IEEE1275 bug.
4941
4942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4943 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4944 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4945 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4946 is set.
4947 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4948 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4949
d998657d
VS
49502011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4953 error.
4954
fee7cdd4
CW
49552011-02-11 Colin Watson <cjwatson@ubuntu.com>
4956
4957 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4958 empty, since in that case we can only generate either nothing or a
4959 syntactically invalid configuration file.
4960 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4961
97286eb5
CW
49622011-02-09 Colin Watson <cjwatson@ubuntu.com>
4963
4964 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4965 (Making a GRUB bootable CD-ROM): Likewise.
4966 (Invoking grub-mkrescue): New section.
4967 Reported by: Yann Dirson. Fixes Debian bug #612585.
4968
22b28eb3
CW
49692011-02-09 Colin Watson <cjwatson@ubuntu.com>
4970
4971 * util/grub-install.in: Remove unnecessary brackets from tr
4972 arguments.
4973 * util/grub.d/10_hurd.in: Likewise.
4974 * util/grub.d/10_kfreebsd.in: Likewise.
4975 * util/grub.d/10_linux.in: Likewise.
4976 * util/grub.d/20_linux_xen.in: Likewise.
4977 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4978
7e735e43
CW
49792011-02-08 Colin Watson <cjwatson@ubuntu.com>
4980
4981 * include/grub/file.h (not_easly_seekable): Rename to ...
4982 (not_easily_seekable): ... this. Update all users.
4983
800f1881
CW
49842011-01-28 Colin Watson <cjwatson@ubuntu.com>
4985
4986 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4987 grub-mkrescue.
4988
3281d3d6
VS
49892011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * util/grub-mkimage.c (generate_image): Refuse to create the images
4992 bigger than the actual flash (512K) in Loongson machines. 512K is also
4993 the biggest chip supported by them.
4994
3533413c
VS
49952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4998
73ae4f4f
VS
49992011-01-22 Anthony DeRobertis <anthony@derobert.net>
5000
5001 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
5002 super_offset field.
5003
37f4f608
VS
50042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * util/grub-install.in: Ignore install device on platforms
5007 where it doesn't make sense. Always use UUIDs except on pc, efi and
5008 sparc64.
5009 Reported by: Daniel Kahn Gillmor.
5010
03a4ccb5
VS
50112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
5014
ffc8f4d8
VS
50152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
5018 (iterate_real): Don't rely on partition being non-NULL.
5019
80f23be7
VS
50202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
5023 supported platforms. Put a compile time assert for this rather than
5024 generate a warning with 32-bit shift.
5025
5d4f4dd5
VS
50262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
5029 logical expression more readable.
5030
e489601a
VS
50312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
5034 even if some elements have a name.
5035 Reported by: Alexander GQ Gerasiov.
5036
96e0a6ea
CW
50372011-01-22 Colin Watson <cjwatson@ubuntu.com>
5038
5039 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
5040 path unreadable if `grub-probe -t abstraction' fails, for example if
5041 memberlist fails on an LVM volume group.
5042 Reported by: Darius Jahandarie.
5043
81431e2b
CW
50442011-01-22 Colin Watson <cjwatson@ubuntu.com>
5045
5046 * docs/grub.texi (Simple configuration): Document
5047 GRUB_PRELOAD_MODULES.
5048
5e79d66a
CW
50492011-01-17 Colin Watson <cjwatson@ubuntu.com>
5050
5051 * .bzrignore: Remove nonexistent grub-pbkdf2.
5052
646ada34
VS
50532011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * configure.ac: Bump version to 1.99~rc1.
5056
04360337
VS
50572011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
5060 for safety.
5061
46c9db88
VS
50622011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
5065 module.
5066
50672011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
5068
5069 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
5070
4fbf1852
VS
50712011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
5074 diskdevid.
5075
f1632d4d
VS
50762011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 Fix compilation on cygwin.
5079
5080 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
5081 -R .drectve on cygwin.
5082 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
5083 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
5084 (COND_CYGWIN): New condition.
5085 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
5086 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
5087 not @TARGET_OBJ2ELF@.
5088 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
5089 type to determine whether aux is to be used.
5090
0b5e127b
VS
50912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
5094 realpath'ed device string.
5095 Handle floppy (somewhat).
5096 Issue error in unknown case rather than garbage.
5097 Reported by: Axel Beckert.
5098
173b71e9
VS
50992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/grub.d/00_header.in (load_video): Handle the case when no video
5102 drivers available.
5103 Thanks to: Axel Beckert.
5104
f8f479db
VS
51052011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
5108 variable. Fixes problem on big endian platforms.
5109
8fc0a245
VS
51102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
5113 It doesn't work well there.
5114
b8494fbe
VS
51152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
5118 warning.
5119 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
5120 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
5121 counter.
5122
b44a558c
VS
51232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Use alias->path rather than buggy "canon".
5126
5127 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
5128 (ofdisk_hash_add): New argument curcan. All users updated.
5129
51fa856c
CW
51302011-01-11 Colin Watson <cjwatson@ubuntu.com>
5131
5132 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
5133
9da068a5
VS
51342011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
5137 loadmask before doing any calculations. Use correct type for offset.
5138 (grub_linux_load64): Likewise.
5139
86205c94
CW
51402011-01-11 Colin Watson <cjwatson@ubuntu.com>
5141
5142 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
5143 with NULL.
5144 (console_grub_equivalences_unshift): Likewise.
5145 Reported by: Daniel Dehennin.
5146
4531a206
VS
51472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
5150 (set_env_limn_ro): Likewise.
5151 (GRUB_MOD_INIT): Likewise.
5152 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
5153 ARRAY_SIZE while on it.
5154 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
5155 * grub-core/normal/context.c (grub_env_export): Move from here ...
5156 * grub-core/kern/env.c (grub_env_export): ... here.
5157 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
5158 prefix.
5159 * grub-core/kern/main.c (grub_main): Export root and prefix.
5160 * include/grub/env.h (grub_env_export): Export.
5161 Reported by: Seth Goldberg.
5162
45146057
VS
51632011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5166 Take into account space used by ELF sections and multiboot palette.
5167 Reported by: Grégoire Sutre.
5168
f093110b
VS
51692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * BUGS: New file.
5172
3395fe52
VS
51732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Pass more appropriate video id to Linux.
5176
5177 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
5178 grub_video_get_driver_id and variable gfxpayloadforcelfb to
5179 fill have_vga.
5180 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
5181 shift params->lfb_size.
5182 * include/grub/i386/linux.h: Make an enume out of have_vga values.
5183
c2fa6cbb
VS
51842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * util/grub-menulst2cfg.c: Add missing include of misc.h.
5187
b3ff6ff0
VS
51882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
5191 separator and pass bootpath/devid even if only one of them is available.
5192 Reported by: Seth Goldberg.
5193
ae67942e
VS
51942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
5197 implementations bug on them.
5198
5199 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
5200 memory.
5201 (filter_memory_map): Likewise.
5202
d570097a
VS
52032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
5206 Reported by: nebuchadnezzar.
5207
a508e776
VS
52082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
5211 Reported by: nebuchadnezzar.
5212
dcb883b1
VS
52132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 Submenu default support.
5216
5217 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
5218 auto_boot. All users updated.
5219 Declared static.
5220 Handle chosen and default with submenus.
5221 (grub_menu_execute_with_fallback): Declared static.
5222 Don't notify failure if autobooted. Upper level does it.
5223 (menuentry_eq): New function.
5224 (get_entry_number): Use menuentry_eq.
5225 (show_menu): New parameter "autobooted". All users updated.
5226 (grub_show_menu): Likewise.
5227 * include/grub/normal.h (grub_show_menu): Likewise.
5228 * include/grub/menu.h (grub_menu_execute_entry): Removed.
5229 (grub_menu_execute_with_fallback): Likewise.
5230
6fef99b4
VS
52312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * util/grub-mklayout.c (usage): Update help text.
5234
47a77af5
VS
52352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
5238
ce6bb3ee
VS
52392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * util/grub-menulst2cfg.c (main): Trim the line.
5242
db87be2a
VS
52432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
5246 (grub_machine_init): Don't check amount of low memory as reportedly
5247 INT 12h can be broken and if low memory is too low we wouldn't have
5248 gotten into grub_machine_init anyway.
5249
c49849cc
VS
52502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
5253 (grub_machine_mmap_iterate): Take low memory into account
5254
b1969b30
VS
52552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
5258 badfs.
5259 Reported by: TiCPU.
5260
cf0eaf13
VS
52612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
5264 members errors.
5265
1f060f39
GS
52662011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5267
5268 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
5269 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
5270
a21e5672
GS
52712011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5272
5273 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
5274 openbsd and netbsd types being in part_bsd module.
5275
c88172fa
VS
52762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
5279 (_FILE_OFFSET_BITS): Likewise.
5280 Reported by: Seth Goldberg.
5281
53798c4b
GS
52822011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5283
5284 * configure.ac: Check for libdevmapper header.
5285
e7121b69
VS
52862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
5289 avoid aliasing.
5290 (fzap_lookup): Likewise.
5291 (dnode_get): Likewise.
5292 (make_mdn): Likewise.
5293 (zfs_mount): Likewise.
5294 (fzap_iterate): Use temporary pointer to avoid aliasing.
5295 (grub_zfs_read): Likewise.
5296 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
5297 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
5298 pointers to avoid aliasing.
5299 (grub_cmd_xnu_kernel64): Likewise.
5300 (grub_xnu_load_driver): Likewise.
5301
fc836af9
VS
53022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
5305 aliasing warning.
5306 (grub_cmd_terminal_output): Likewise.
5307 Reported and tested by: Grégoire Sutre.
5308
f9f37648
VS
53092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5312 warning.
5313 Reported and tested by: Grégoire Sutre.
5314
ec1dfd63
VS
53152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * configure.ac: Do CPU substitution even if it's specified explicitly.
5318 Reported and tested by: Alain Greppin.
5319
9462775a
VS
53202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5323 Reported and tested by: Alain Greppin.
5324
0fd48e35
VS
53252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 Satisfy some bison versions need for inttypes.h.
5328
5329 * grub-core/lib/posix_wrap/inttypes.h: New file.
5330 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5331 (int16_t): Likewise.
5332 (int32_t): Likewise.
5333 (int64_t): Likewise.
5334 Reported and tested by: Alain Greppin.
5335
43f1bc83
VS
53362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5339 Silence spurious warning.
5340 Reported and tested by: Alain Greppin.
5341
64d1f041
SJ
53422011-01-07 Szymon Janc <szymon@janc.net.pl>
5343
5344 * docs/grub.texi (Support automatic decompression): Update with xz
5345 decompression support.
5346
25953e10
SJ
53472011-01-07 Szymon Janc <szymon@janc.net.pl>
5348
5349 Improve loaders' kernel command line handling.
5350
5351 * grub-core/lib/cmdline.c: New file.
5352 * include/grub/lib/cmdline.h: Likewise.
5353 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5354 grub_create_loader_cmdline to create kernel command line.
5355 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5356 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5357 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5358 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5359 (linux): Add lib/cmdline.c on common.
5360
e72d259f
VS
53612011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5364 inopos might be unaligned.
5365
c0cf26da
VS
53662011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5369 endian transformations.
5370 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5371 Based on report by: Doug Nazar.
5372
0ca09e6c
DN
53732011-01-07 Doug Nazar <nazard.michi@gmail.com>
5374
5375 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5376 array->members[i].start_sector.
5377 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5378
014b6806
VS
53792011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5382 Reported and tested by: Grégoire Sutre.
5383
415502c2
CW
53842011-01-06 Colin Watson <cjwatson@ubuntu.com>
5385
5386 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5387 avoid causing test failures by clearing the screen.
5388
71b6a2b7
CW
53892011-01-06 Colin Watson <cjwatson@ubuntu.com>
5390
5391 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5392 Fix prefix check to handle the case where dir ends with a slash
5393 (most significantly, "/" itself).
5394 Reported by: Michael Vogt.
5395
b3f8d28a
VS
53962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Run terminfo_cls on initing terminfo output to clear the screen and
5399 move the cursor to (0,0).
5400
5401 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5402 Call grub_terminfo_output_init.
5403 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5404 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5405 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5406
4c3e4f37
VS
54072011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5410 only when needed.
5411
488f71f1
VS
54122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5415 CTRL.
5416
18a38098
VS
54172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 The E820 type 5 is BADRAM, not EXEC_CODE.
5420
5421 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5422 (GRUB_E820_BADRAM): New define.
5423 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5424 into reserved. Propagate BADRAM.
5425 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5426 (GRUB_E820_BADRAM): New define.
5427
9eae2084
VS
54282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5431 Ignore the memory post-4G.
5432 (grub_relocator_firmware_alloc_region): Additional debug statement.
5433
ebc71d28
VS
54342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5437 names.
5438 Reported by: David Pravec.
5439
446fa400
VS
54402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5443 BIOSes.
5444
a0159f37
VS
54452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5448 Prevent overflow.
5449 (grub_reed_solomon_recover): Likewise.
5450
e5146ca1
VS
54512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5454
54552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5456
5457 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5458 variable.
5459
5b1bdf12
CW
54602011-01-04 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5463 descriptions of extract_legacy_entries_source and
5464 extract_legacy_entries_configfile.
5465 Reported by: Seung Soo, Ha.
5466
99d925aa
CW
54672011-01-03 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5470 on devices that do not implement function 0.
5471
4af0504b
DV
54722011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5473
5474 * grub-core/fs/hfsplus.c: Make parent unsigned.
5475 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5476 overflows.
5477 (grub_hfsplus_cmp_extkey): Likewise
5478
469ee10a
VS
54792011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * util/grub-install.in: Correctly use bootloader_id and not
5482 GRUB_DISTRIBUTOR on efibootmgr line.
5483
323a8e9c
VS
54842011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5487
1b394975
IC
54882010-12-31 Ian Campbell <ijc@hellion.org.uk>
5489
5490 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5491 Xen and reorder menu item wording to make it clearer that this entry
5492 will launch Xen. Print separate messages when loading Xen and
5493 Linux.
5494
275bff5f
VS
54952010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5498 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5499 loop in case of incorrect amiga partmap.
5500
307806cb
VS
55012010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5504 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5505 Reported by:EHeM.
5506
b12b923e
VS
55072010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5510 spurious warning.
5511 Reported by: crocket
5512
14b48a19
VS
55132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5516 Preload EFIemu.
5517 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5518
693db2df
VS
55192010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5522 is loaded
5523 (grub_cmd_xnu_kextdir): Likewise.
5524 (grub_cmd_xnu_splash): Likewise.
5525
c7638645
VS
55262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 Avoid using Reed-Solomon with 0 redundancy.
5529
5530 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5531 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5532 or 0 redundancy.
5533 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5534 (grub_reed_solomon_recover): Likewise.
5535
25dd4780
VS
55362010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 Don't use disk subsystem in freebsd_boot.
5539
5540 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5541 (freebsd_biosdev): Likewise.
5542 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5543 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5544
0b2db943
VS
55452010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 Handling of files of unknown size is currently limited. They can't be
5548 used e.g. for initrd or modules. Moreover gzip handling of not
5549 easily seekable files is buggy. Disable unknown file size for now. May
5550 be inefficient but works.
5551
5552 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5553 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5554
5c408d0f
MP
55552010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5556
5557 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5558 floppy probe.
5559
190a011a
JD
55602010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5561
5562 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5563
022d01b8
SL
55642010-12-25 Shea Levy <shlevy>
5565
5566 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5567
c4855fdc
VS
55682010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5571 Windows Server 2008.
5572 Reported by: Devin Giddings.
5573
0354b867
VS
55742010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5577 writing an error message because of async power management.
5578 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5579 (grub_reboot): Likewise.
5580
ab66c69f
JU
55812010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5582
5583 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5584 keep unit tests from failing when they shouldn't.
5585
1426ef35
CW
55862010-12-21 Colin Watson <cjwatson@ubuntu.com>
5587
5588 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5589 previous patch increased the size of the RS code by 20 bytes (at
5590 least with gcc-4.4), so increase this by 20 bytes to match.
5591 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5592
20641b6b
CW
55932010-12-21 Colin Watson <cjwatson@ubuntu.com>
5594
5595 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5596 scratch area. Make sure to initialise chosen in standalone mode as
5597 well as non-standalone.
5598 Reported by: Robert Hooker and Andy Whitcroft.
5599 Tested by: Andy Whitcroft.
5600
d060ad60
CW
56012010-12-21 Colin Watson <cjwatson@ubuntu.com>
5602
5603 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5604 constructing a new unescaped string and passing it to grub_xputs in
5605 one go, rather than passing characters to grub_printf one at a time.
5606
b889cfad
CW
56072010-12-21 Colin Watson <cjwatson@ubuntu.com>
5608
5609 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5610 initialising utf16.
5611
4e01b6c8
CW
56122010-12-21 Colin Watson <cjwatson@ubuntu.com>
5613
5614 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5615 comment. Add an extra layer of quotation, requiring the output of
5616 this function to be used in a printf format string.
5617 (gettext_printf): New function.
5618 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5619 Extract translatable strings from here-documents and use a temporary
5620 variable instead, so that xgettext can find them.
5621 * util/grub.d/10_kfreebsd.in: Likewise.
5622 * util/grub.d/10_linux.in: Likewise.
5623 * util/grub.d/20_linux_xen.in: Likewise.
5624
5625 * po/grub.d.sed: New file.
5626 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5627 arguments. Set c-format flags on all strings extracted from
5628 util/grub.d/ (xgettext refuses to include these itself for strings
5629 it extracted from a shell file, but these really are c-format).
5630
5318fe98
VS
56312010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5634 Avoid next pointing to nowhere.
5635
6c85b743
VS
56362010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5639 rather than assuming than rootblock is exactly in the middle.
5640 (grub_affs_label): Likewise.
5641
a2a08a35
VS
56422010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5645 reserved_first_sector to 0.
5646 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5647 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5648 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5649
7059d1ec
VS
56502010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Fix handling of UTF-16 UDF labels.
5653
5654 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5655 (read_string): .. here.
5656 (grub_udf_label): Use read_string.
5657
30aff4cb
BC
56582010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5659
5660 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5661 editor under argument scope.
5662 Reported by: Jordan Uggla
5663
5cf86f4b
VS
56642010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5667
32570200
CW
56682010-12-18 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5671 line, and other keys scroll an entire page (previous handling was
5672 for \r and \n to scroll a page and other keys to scroll two lines).
5673
e1dffcf2
VS
56742010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5677 Set ptrdest to correct get_physical_target_address rather than
5678 incorrect get_virtual_current_address.
5679
b04298cf 56802010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5681
5682 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5683 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5684
5367ecd3
CW
56852010-12-10 Colin Watson <cjwatson@ubuntu.com>
5686
5687 * .bzrignore: Ignore grub-core/rs_decoder.S.
5688
1fb430f8
CW
56892010-12-10 Colin Watson <cjwatson@ubuntu.com>
5690
5691 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5692 .mo/.mo.gz opening sequence to ...
5693 (grub_mofile_open_lang): ... here.
5694 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5695 * util/grub.d/00_header.in (grub_lang): Include country part of
5696 locale.
5697 Reported by: Mario Limonciello.
5698
a94a6671
RM
56992010-12-09 Robert Millan <rmh@gnu.org>
5700
5701 * NEWS: Document addition of ZFS support.
5702
24b7938b
CW
57032010-12-04 Colin Watson <cjwatson@ubuntu.com>
5704
5705 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5706 rather than `/ 2', as the latter requires -Wa,--divide which would
5707 require bumping our minimum binutils version.
5708
bddc3ef6
BC
57092010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5710
5711 * util/grub-script-check.c (main): Print script line number on
5712 error.
5713
bf78d5b2
RM
57142010-12-01 Robert Millan <rmh@gnu.org>
5715
5716 * grub-core/fs/zfs/zfs.c: New file.
5717 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5718 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5719 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5720 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5721
5722 * include/grub/zfs/dmu.h: Likewise.
5723 * include/grub/zfs/dmu_objset.h: Likewise.
5724 * include/grub/zfs/dnode.h: Likewise.
5725 * include/grub/zfs/dsl_dataset.h: Likewise.
5726 * include/grub/zfs/dsl_dir.h: Likewise.
5727 * include/grub/zfs/sa_impl.h: Likewise.
5728 * include/grub/zfs/spa.h: Likewise.
5729 * include/grub/zfs/uberblock_impl.h: Likewise.
5730 * include/grub/zfs/vdev_impl.h: Likewise.
5731 * include/grub/zfs/zap_impl.h: Likewise.
5732 * include/grub/zfs/zap_leaf.h: Likewise.
5733 * include/grub/zfs/zfs.h: Likewise.
5734 * include/grub/zfs/zfs_acl.h: Likewise.
5735 * include/grub/zfs/zfs_znode.h: Likewise.
5736 * include/grub/zfs/zil.h: Likewise.
5737 * include/grub/zfs/zio.h: Likewise.
5738 * include/grub/zfs/zio_checksum.h: Likewise.
5739
5740 * Makefile.util.def: Build ZFS into libgrubmods.
5741 * grub-core/Makefile.core.def: Build zfs.mod.
5742
3f0f3831
SJ
57432010-11-30 Szymon Janc <szymon@janc.net.pl>
5744
5745 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5746 variable.
5747 * grub-core/commands/wildcard.c (match_files): Likewise.
5748
3a4253b2
RM
57492010-11-30 Robert Millan <rmh@gnu.org>
5750
5751 * grub-core/loader/i386/bsd.c
5752 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5753 whether kernel is loaded using grub_loader_is_loaded(), rather
5754 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5755 certain error conditions.
5756
8c317b27
RM
57572010-11-30 Robert Millan <rmh@gnu.org>
5758
c5c9cd3e
RM
5759 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5760 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5761
49d3ab46
VS
57622010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Avoid using tricks for initialising endian variables.
5765
5766 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5767 Make const.
5768 (GRUB_MOD_INIT): Don't byte-swap.
5769 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5770 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5771 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5772 (grub_swap_bytes32_compile_time): Likewise.
5773 (grub_cpu_to_le32_compile_time): Likewise.
5774 (grub_cpu_to_le16_compile_time): Likewise.
5775
f420a804
VS
57762010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * util/grub-setup.c (setup): Stop recommending --force. People who
5779 understand the dangers of blocklists are able to find this option
5780 anyway and the ones who don't shouldn't use it anyway.
5781
4e7db17b
RM
57822010-11-26 Robert Millan <rmh@gnu.org>
5783
5784 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5785 Update all users.
5786
9be57a0d
CW
57872010-11-26 Colin Watson <cjwatson@ubuntu.com>
5788
5789 Fix LVM-on-RAID probing.
5790
5791 * util/grub-probe.c (probe): Remember which disk was detected as
5792 RAID (perhaps an LVM physical volume). Use that disk's raidname
5793 rather than that of the top-level disk.
5794
2c7859b3 57952010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5796
d7647bb6
BC
5797 Fix cmdline argument quotes for setparams command of menuentry
5798 definitions.
7e623b0d
BC
5799
5800 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5801 quotes for arguments.
f866fe80 5802 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5803 grub_strchrsub function instead.
f866fe80 5804
7955bea0 5805 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5806
74f72a64
CW
58072010-11-24 Colin Watson <cjwatson@ubuntu.com>
5808
5809 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5810 effort by skipping "." and ".." entries up-front.
5811 Suggested by: Michael Lazarev.
5812
5a407278
CW
58132010-11-24 Colin Watson <cjwatson@ubuntu.com>
5814
5815 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5816 ldflags to ldadd, to fix link line ordering.
5817 (none_decompress): Likewise.
5818
3030d8ec
CW
58192010-11-24 Colin Watson <cjwatson@ubuntu.com>
5820
5821 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5822 platforms.
5823 (grub-emu-lite): Remove kern/emu/cache.S.
5824
b7fbac12
CW
58252010-11-23 Colin Watson <cjwatson@ubuntu.com>
5826
5827 * util/deviceiter.c (compare_devices): If the by-id link for a
5828 device couldn't be resolved, fall back to sorting by the by-id link
5829 rather than segfaulting.
5830 Reported and tested by: Daniel Mierswa.
5831
5225f328
CW
58322010-11-23 Colin Watson <cjwatson@ubuntu.com>
5833
5834 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5835 ldflags, to fix link line ordering.
5836
038b3ce8
CW
58372010-11-23 Colin Watson <cjwatson@ubuntu.com>
5838
5839 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5840 linkers are picky about this.
5841
bf16e98e
CW
58422010-11-23 Colin Watson <cjwatson@ubuntu.com>
5843
5844 * grub-core/Makefile.am (command.lst): Adjust sed expression
5845 ordering so that extended and priority commands aren't treated as
5846 ordinary commands.
5847
7242bab6
CW
58482010-11-23 Colin Watson <cjwatson@ubuntu.com>
5849
5850 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5851 Remove byte-swapping function calls, which are not valid in
5852 structure initialisers.
5853 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5854 non-const.
5855 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5856 grub_gpt_partition_type_bios_boot.
5857
14e8b279
CW
58582010-11-22 Colin Watson <cjwatson@ubuntu.com>
5859
5860 Fix test program build on GNU/kFreeBSD.
5861
5862 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5863 $(LIBNVPAIR)' library dependencies.
5864
e6f63338 58652010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5866
5867 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5868
cf8ffc38
CW
58692010-11-22 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * util/grub-install.in: Remove excessive quoting that broke
5872 installations to RAID devices.
5873
7f8b0fd7
VS
58742010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5877 bootloader version instead of 0.
5878
dfd240b1
VS
58792010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5882 warning.
5883
7b61e609
VS
58842010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5887 retrieve the metadat sector if size isn't known.
5888 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5889
9dfe92d0
RM
58902010-11-18 Robert Millan <rmh@gnu.org>
5891
5892 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5893 with grub_memcmp().
5894
41cc919e
VS
58952010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5898 arrow.
5899 Reported by: Jordan Uggla.
5900
1afcc914
VS
59012010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 Make better UTF compliant.
5904
5905 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5906 sequences as incorrect.
5907 (grub_is_valid_utf8): Likewise.
5908 (grub_utf8_to_ucs4): Likewise.
5909 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5910 (grub_ucs4_to_utf8_alloc): Likewise.
5911 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5912
f1808884
VS
59132010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Make legacy_source behave like source.
5916
5917 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5918 grub_show_menu.
5919 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5920
24ec575b
CW
59212010-11-16 Colin Watson <cjwatson@debian.org>
5922
5923 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5924 (-Wunused implies -Wunused-parameter, but not vice versa).
5925
72b7c7aa
CW
59262010-11-16 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * configure.ac: Make error messages less confusing by testing for
5929 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5930 accepted, but produces a diagnostic if something else is wrong).
5931
e98937aa
VS
59322010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5935 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5936 (now unused).
5937 (grub_keyboard_controller_init)
5938 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5939 read the initial state since controller isn't inited yet.
5940
f6bbabc3
VS
59412010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5944 allocate_regbeg may need to create new chunk header.
5945
22e7dbb2
VS
59462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Fix quoting in legacy parser.
5949
5950 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5951 single quotes.
5952 (grub_legacy_parse): Likewise.
5953 Reported by: Jordan Uggla.
5954 Tested by: Jordan Uggla.
5955
03f80960
VS
59562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 Don't add -lgcc on i386 and x86_64.
5959
5960 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5961 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5962 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5963
779dc15b
VS
59642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * configure.ac: Add -Wno-trampolines when supported.
5967
d20a3b37
MV
59682010-11-14 Modestas Vainius <modax@debian.org>
5969
5970 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5971 fakeraid.
5972
e5360933
GC
59732010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5974
5975 Add generic logical block size support for UDF.
5976
5977 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5978 (GRUB_UDF_BLKSZ): Removed.
5979 (struct grub_udf_data): New field "lbshift" to hold the logical block
5980 size of the file system in log2 format. All users updated.
5981 (sblocklist): Change type to unsigned.
5982 (grub_udf_mount): Change type of "sblklist" to unsigned.
5983 Move AVDP search before VRS recognition, because the latter requires
5984 knowledge of the logical block size, which is detected during the
5985 former.
5986 Detect and validate logical block size during AVDP search, adding
5987 support for block sizes 512, 1024 and 4096.
5988 Make VRS recognition independent of block size.
5989
cb0229c5
GC
59902010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5991
5992 Properly handle deleted files on UDF.
5993
5994 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5995 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5996 set.
5997
406858a8
GC
59982010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5999
6000 Support reading files larger than 2 GiB.
6001
6002 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
6003 "offset" to grub_off_t.
6004 (grub_udf_read_file): Likewise for parameter "pos".
6005
130da6a7
VS
60062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
6009 unavailable.
6010 (Simple configuration): Refer to Changes from GRUB Legacy about
6011 save_env availability.
6012
65e93f6b
VS
60132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * util/grub-install.in: Ignore empty partition table detection
6016 instead of trying to include part_ module.
6017
1fd08bf1
VS
60182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
6021 LVM on RAID support.
6022
de1a024f
VS
60232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 Properly define WORDS_BIGENDIAN in wrapped environments.
6026
6027 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
6028 definition.
6029 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
6030
6031 Reported by: Manoel Rebelo Abranches.
6032 Tested by: Manoel Rebelo Abranches.
6033
bc5dd0b9
VS
60342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * util/grub-mkconfig.in: Fix quoting.
6037
58c184be
VS
60382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Support big ext2 files.
6041
6042 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
6043 (grub_ext2_read_block): Support triple indirect blocks.
6044 (grub_ext2_read_file): Use 64-bit types and read size_high.
6045 (grub_ext2_open): Read size_high.
6046 Reported by: Ximin Luo.
6047 Tested by: Manoel Rebelo Abranches.
6048
5f0c02b3
VS
60492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * util/grub-install.in: Handle filenames containing spaces.
6052 Reported by: Jordan Uggla.
6053 Tested by: Jordan Uggla.
6054
4417aae6
VS
60552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * util/grub-mkconfig.in (grub_script_check): New variable.
6058 Use grub_script_check instead of grub-script-check.
6059 Reported by: Barry Jackson.
6060
7625a68e
VS
60612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * docs/grub.texi (menu): Correct the order.
6064 Reported by: D. Hugh Redelmeier.
6065
10001ac5
VS
60662010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
6069 jump.
6070
9c4cf53b
MRA
60712010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6072
10001ac5
VS
6073 * include/grub/elfload.h (grub_elf32_size): New parameter.
6074 All users updated.
9c4cf53b
MRA
6075 Return maximum segments alignment.
6076 (grub_elf64_size): Likewise.
6077 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
6078 Return maximum segments alignment.
6079 (grub_elf64_size): Likewise.
6080 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
6081 (grub_linux_claimmap_iterate): New function. Uses the
6082 "available" property in the "memory" node for memory allocation
6083 for kernel in the PowerPC loader.
9c4cf53b
MRA
6084 (grub_linux_load32): Correctly find linux entry point offset.
6085 (grub_linux_load64): Likewise.
6086
d2bf06bf
RM
60872010-11-07 Robert Millan <rmh@gnu.org>
6088
6089 On mips-yeeloong, build with -march=loongson2f when this flag is
6090 available (GCC >= 4.4).
6091 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
6092 `-march=mips3'.
6093 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
6094 or otherwise add -march=mips3.
6095
898c99a2
BC
60962010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
6097
87220a68
BC
6098 Suppress shell expansion on echo '*' and echo "*" like cases.
6099 Reported by: Jordan Uggla.
898c99a2
BC
6100
6101 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6102 string arguments before shell expansion.
6103 * tests/grub_cmd_echo.in: New testcases.
6104
4f9b406a
RM
61052010-11-07 Robert Millan <rmh@gnu.org>
6106
6107 * conf/mips-qemu-mips.rmk: Remove stale file from previous
6108 transition.
6109
80c6d25e
VS
61102010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/kern/emu/hostdisk.c
6113 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
6114
4a1a0153
VS
61152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
6118 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
6119 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
6120
34706ddc
VS
61212010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
6124
6972dea9
VS
61252010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub-install.in: Replace useless recomendation to pass
6128 --modules with a recomendation to report a bug.
6129
9c693bd6
VS
61302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 Properly register serial terminfo.
6133 Reported by: Jordan Uggla
6134
6135 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
6136 const.
6137 (grub_serial_terminfo_output_template): Likewise.
6138 (grub_cmd_serial): Register "serial" with terminfo.
6139 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
6140 grub_serial_terminfo_output.
6141
6c9e4c0c
RM
61422010-11-05 Robert Millan <rmh@gnu.org>
6143
6144 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
6145 needed).
6146
b9b3839f
RM
61472010-11-05 Robert Millan <rmh@gnu.org>
6148
6149 On Yeeloong, pass machine type information to Linux.
6150
6151 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
6152 (LOONGSON_MACHTYPE): New macro, set to
6153 "machtype=lemote-yeeloong-2f-8.9inches".
6154 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
6155 additional argument to Linux.
6156
1a3aaff4
RM
61572010-11-04 Robert Millan <rmh@gnu.org>
6158
6159 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
6160 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
6161 (its SATA disks are detected as slaveless IDE master drives on
6162 kFreeBSD).
6163 Reported by Carsten Aulbert.
6164
a75f4f62
CW
61652010-11-02 Colin Watson <cjwatson@ubuntu.com>
6166
6167 * util/bin2h.c (main): Fix spelling error in generated output.
6168
33b4b0c6
GS
61692010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
6170
6171 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
6172
2b36fbf4
VS
61732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
6176 vga= option is supplied.
6177
74aaf558
VS
61782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
6181 * util/grub.d/10_kfreebsd.in: Likewise.
6182 * util/grub.d/10_linux.in: Likewise.
6183 * util/grub.d/20_linux_xen.in: Likewise.
6184
6428dec3
VS
61852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
6188 argument as an argument to no-argument option.
6189
f8729d98
VS
61902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * util/grub.d/10_linux.in: Add missing load_video with explicit
6193 GRUB_GFXPAYLOAD_LINUX.
6194
89d68fa6
VS
61952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
6198
3a1197cd
VS
61992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
6202 elements with invlid index.
6203 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6204 * grub-core/disk/raid.c (insert_array): Automatically reallocate
6205 members.
6206 * include/grub/raid.h (grub_raid_member): New struct.
6207 (grub_raid_array): Transform devices and start_sector into usage of
6208 grub_raid_member. All users updated
6209 (allocated_devs): New member.
6210
71574288
VS
62112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
6214 is modified
6215
8d40ec65
BC
62162010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
6217
6218 NetBSD build fix for getline function conflict from gnulib.
6219
6220 * Makefile.util.def (libgrubkern.a): New library for grub kernel
6221 components that depend on gnulib headers.
6222 (libgrubmods.a): Renamed from earlier libgrub.a.
6223 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
6224
95b9257e
VS
62252010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
6228 install rather than creating a broken install.
6229
26c53dc6
VS
62302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * util/grub-setup.c (argp): Remove misleading example of installing to
6233 a partition.
6234
4171b3c5
VS
62352010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * util/grub-setup.c (setup): Clarify the error message.
6238
18568d18
VS
62392010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
6242
4f6a2e21
VS
62432010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/kern/emu/misc.c
6246 (grub_make_system_path_relative_to_its_root)
6247 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6248
62492010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
6250
6251 * grub-core/kern/emu/misc.c
6252 (grub_make_system_path_relative_to_its_root): Revert r2882.
6253
e138c458
VS
62542010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
6257 useless field head. All users updated.
6258 (free_subchunk): Correct handling of IN_REGION subchunk.
6259
0cbcdf0e
CW
62602010-10-22 Colin Watson <cjwatson@ubuntu.com>
6261
6262 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
6263 (Supported kernels): Likewise.
6264
b65ea155
GS
62652010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6266
6267 Make mktemp invocations portable.
6268
6269 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
6270 exit if mktemp fails.
6271 * tests/grub_script_blockarg.in: Likewise.
6272 * tests/partmap_test.in: Likewise.
6273 * tests/util/grub-shell-tester.in: Likewise.
6274 * tests/util/grub-shell.in: Likewise.
6275 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6276 * Makefile.am: Likewise, and chain shell commands with `&&'
6277 instead of ';'.
6278 * util/grub-mkrescue.in: Use the same explicit template as above, and
6279 exit if mktemp fails.
6280
05f43cdd
BC
62812010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
6282
6283 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
6284 Linux kernel, reported by Dennis Schridde.
6285
800e6a9b
SJ
62862010-10-17 Szymon Janc <szymon@janc.net.pl>
6287
6288 * grub-core/normal/auth.c (grub_auth_check_authentication):
6289 Set-but-not-used variable removed.
6290
d82df574
VS
62912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * docs/grub.texi (GNU/Linux): Document APM unavailability with
6294 32-bit linux protocol.
6295
7bced458
VS
62962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
6299 cursor shape for sanity.
6300
5b027690
VS
63012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * docs/grub.texi (Installation): Document buggy BIOS install.
6304
ba5f65cf
VS
63052010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * docs/grub.texi (Installation): Indent.
6308
fdf2ec9c
VS
63092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * util/grub-setup.c (setup): New parameter allow_floppy.
6312 (arguments): New member allow_floppy.
6313 (argp_parser): Handle --allow-floppy.
6314 (main): Pass allow_floppy.
6315 * util/grub-install.in: New option --allow-floppy passed though to
6316 grub-setup.
6317
861dfd4c
VS
63182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * util/grub-install.in: Handle partitionless disks.
6321
f77a8c24
VS
63222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub-setup.c (setup): Don't clean blocklists before readability
6325 verfification.
6326
27d9ee32
VS
63272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * docs/grub.texi (Installation): Document embedding zone. Remove
6330 obsolete grub-install example.
6331
6bdda8f8
SJ
63322010-10-16 Szymon Janc <szymon@janc.net.pl>
6333
6334 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6335 Set-but-not-used variable ifdef'ed.
6336 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6337 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6338 variable removed.
6339 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6340 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6341 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6342 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6343 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6344 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6345 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6346 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6347 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6348 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6349 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6350 Likewise.
6351
e19b016b
VS
63522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6355 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6356 enum value.
6357
6c8d3002
VS
63582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6361 synonym to _S5_. Needed for some DSDTs.
6362
c32b51c9
VS
63632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Userspace ACPI parser debugging.
6366
6367 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6368 headers and add relevant defines. Don't include standard headers.
6369 (main) [GRUB_DSDT_TEST]: New function.
6370 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6371 Don't declare functions.
6372
fbfbeb39
VS
63732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 Remove dead grub_efi_mm_fini.
6376
6377 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6378 (ALLOCATED_PAGES_SIZE): Likewise.
6379 (MAX_ALLOCATED_PAGES): Likewise.
6380 (allocated_pages): Likewise.
6381 (grub_efi_allocate_pages): Don't record allocated pages.
6382 (grub_efi_free_pages): Likewise.
6383 (grub_efi_mm_init): Likewise.
6384 (grub_efi_mm_fini): Removed.
6385
65f7ed7c
VS
63862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6389 (grub_efi_mm_init): Take into account the memory map size increase.
6390
24977b44
VS
63912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6394 (serial_hw_put): Wait based on real time rather than port reads. Don't
6395 roken ports.
6396 * include/grub/serial.h (grub_serial_port): New field broken.
6397
1eb01cd2
RM
63982010-10-16 Robert Millan <rmh@gnu.org>
6399
6400 * grub-core/kern/emu/misc.c
6401 (grub_make_system_path_relative_to_its_root): Fix premature return
6402 when processing non-root ZFS filesystems.
5f8b440b 6403 Reported by Sergio Talens-Oliag.
1eb01cd2 6404
2d5fed60
RM
64052010-10-15 Robert Millan <rmh@gnu.org>
6406
6407 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6408 guarantee compressed ones are processed first.
6409
d0f4c1ea
VS
64102010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6413 grub_efiemu_autocore.
6414
d87c681f
VS
64152010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6418 rather than 0x1b.
6419 (grub_console_getkey): Use correct jae opcode rather than ja.
6420
219b3564
RM
64212010-10-12 Robert Millan <rmh@gnu.org>
6422
6423 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6424 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6425 variable. All references updated.
6426
6427 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6428
20c6bb7e
VS
64292010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 Correctly distinguish mdraid flavours.
6432
6433 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6434 (insert_array): New argument raid.
6435 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6436 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6437 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6438
74baff84
VS
64392010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6442 handling of special keys.
6443
3ef068df 64442010-10-02 Aleš Nesrsta <starous@volny.cz>
6445
c7980ad9
VS
6446 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6447 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6448
a9455194 64492010-10-02 Aleš Nesrsta <starous@volny.cz>
6450
c7980ad9
VS
6451 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6452 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6453 users updated.
a9455194 6454 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6455 Use right endpoint when querying descriptor.
a9455194 6456
441cfe65
VS
64572010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 Clear out 0x80 color bit on EFI.
6460 Tested by: decoder
6461 Reported by: decoder and meta tech.
6462
6463 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6464 (grub_console_setcolorstate): Clear out 0x80 bit.
6465 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6466 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6467 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6468
bf26bcc4
VS
64692010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6472 Set to "auto".
6473
6e3c515d
VS
64742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6477 mo_file after freeing.
6478
e6d983ba
VS
64792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6482
74ccb5b5
VS
64832010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6486 flags.
6487
17821956
VS
64882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6491 usage.
6492
ee74fa48
VS
64932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6496
6497 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6498 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6499 and terminfo.h when needed.
6500 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6501 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6502 (terminfo): Enable only on terminfokernel.
6503 (extcmd): Likewise.
6504 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6505 * include/grub/lib/arg.h: Likewise.
6506 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6507 incorrect usage of ->.
6508
aa438e68
VS
65092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6512 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6513
57994012
VS
65142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Fix coreboot compilation.
6517
6518 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6519 Take VBE info into account even if only text is supported.
6520 (fill_vbe_info): Take into account the case when only VGA text
6521 is supported.
6522 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6523 on coreboot, multiboot and qemu.
6524
2a406611
VS
65252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6528 debug messages.
6529 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6530
d33613fc
VS
65312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6534 parameters.
6535
44a1b432
VS
65362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6539 if they were BSD-style.
6540
edde54e6
VS
65412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/boot/i386/pc/lnxboot.S: Replace
6544 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6545 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6546
b65830fa
VS
65472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Write embedding zone using Reed-Solomon.
6550
6551 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6552 * grub-core/Makefile.am (rs_decoder.S): New target.
6553 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6554 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6555 (multiboot): Move to RS part.
6556 (post_reed_solomon): New label.
6557 (grub_boot_drive): Move to non-RS part since it's modified in memory
6558 on boot.
6559 Include rs_decoder.S.
6560 * grub-core/lib/reed_solomon.c: New file.
6561 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6562 New definition.
6563 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6564 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6565 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6566 * include/grub/partition.h (grub_partition_map): Change prototype of
6567 embed to allow returning additional sectors.
6568 * include/grub/reed_solomon.h: New file.
6569 * util/grub-setup.c (setup): Handle Reed-Solomon.
6570
0b4b227f
CW
65712010-09-28 Colin Watson <cjwatson@ubuntu.com>
6572
6573 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6574 i386 and x86-64 definedness tests.
6575
f772623b
YB
65762010-09-27 Yves Blusseau <blusseau@zetam.org>
6577
6578 Fix generation of kernel_syms.lst
6579
6580 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6581 ASM_PREFIX
6582
8e57a6ca
RM
65832010-09-26 Robert Millan <rmh@gnu.org>
6584
6585 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6586
6587 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6588 the pool is an array of devices, iterate through it and return the
6589 first device that passes a stat() test (instead of blindly returning
6590 the first one).
6591
f9130836
RM
65922010-09-26 Robert Millan <rmh@gnu.org>
6593
6594 Build fixes for GNU/kFreeBSD.
6595
6596 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6597 to programs that require ZFS conversion.
6598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6599 kernels that don't have FLOPPY_MAJOR.
6600
96510faf
BC
66012010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6602
6603 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6604
449333eb
BC
66052010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6606
6607 Fix grub-emu build.
6608
6609 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6610 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6611 mdraid09 and mdraid1x.
6612
e1fd1939
CW
66132010-09-24 Colin Watson <cjwatson@ubuntu.com>
6614
6615 Re-enable grub-extras.
6616
6617 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6618 avoid confusing Automake. Run autogen only twice, once for the top
6619 level and once for grub-core. Add Makefile.util.def and
6620 Makefile.core.def from extra modules to the appropriate autogen
6621 invocations. If Makefile.common exists in an extra module, include
6622 it in both Makefile.util.am and grub-core/Makefile.core.am;
6623 similarly, include any Makefile.util.common file in Makefile.util.am
6624 and any Makefile.core.common file in grub-core/Makefile.core.am.
6625 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6626 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6627 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6628 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6629
6630 * gentpl.py (gvar_add): Turn GVARS into a set.
6631 (global_variable_initializers): Sort global variables on output.
6632 (vars_init): New function.
6633 (first_time): Likewise.
6634 (library): Ensure that non-global variable initialisations are
6635 emitted before the first time we emit code for a library block.
6636 Append to variables rather than setting them. Only emit
6637 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6638 each conditional path.
6639 (program): installdir() emits an Autogen macro, so must be passed to
6640 var_add rather than gvar_add.
6641 (data): Likewise.
6642 (script): Likewise.
6643 (rules): New function, centralising handling for different target
6644 types. Set up Guile association lists for first_time and vars_init,
6645 and send most output to a diversion so that variable initialisations
6646 can be emitted first.
6647 (module_rules): Use new rules function.
6648 (kernel_rules): Likewise.
6649 (image_rules): Likewise.
6650 (library_rules): Likewise.
6651 (program_rules): Likewise.
6652 (script_rules): Likewise.
6653 (data_rules): Likewise.
6654
6655 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6656
6657 * .bzrignore: Add contrib and grub-core/contrib. Remove
6658 grub-core/Makefile.gcry.am.
6659
1d12cf29
YB
66602010-09-24 Yves Blusseau <blusseau@zetam.org>
6661
6662 * grub-core/lib/LzFind.c: Add missing include.
6663 * grub-core/lib/LzmaEnc.c: Likewise.
6664 * grub-core/script/lexer.c: Likewise.
6665 * grub-core/script/yylex.l: Likewise.
6666 * util/grub-macho2img.c: Likewise.
6667 * util/grub-menulst2cfg.c: Likewise.
6668 * util/grub-mklayout.c: Likewise.
6669 * util/grub-mkpasswd-pbkdf2.c
6670 * util/grub-mkrelpath.c: Likewise.
6671 * util/resolve.c: Likewise.
6672
dd363028
BC
66732010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6674
6675 * Makefile.util.def (example_unit_test): Add
6676 grub-core/gnulib/libgnu.a.
6677
f5a109e2
GS
66782010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6679
6680 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6681
6d0fa83c
VS
66822010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 Support xz compression on yeeloong.
6685
6686 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6687 * configure.ac: Check for LZMA.
6688 * grub-core/Makefile.core.def (xz_decompress): New target.
6689 (none_decompress): Likewise.
6690 * grub-core/boot/decompressor/minilib.c: New file.
6691 * grub-core/boot/decompressor/none.c: Likewise.
6692 * grub-core/boot/decompressor/xz.c: Likewise.
6693 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6694 * grub-core/kern/mips/cache_flush.S: Likewise.
6695 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6696 * grub-core/kern/mips/startup.S: Move first stage to ...
6697 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6698 nomacro.
6699 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6700 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6701 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6702 Allocate statically.
6703 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6704 Allocate statically or use scratch. Don't check CRC32.
6705 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6706 Allocate statically. Don't check CRC32.
6707 * include/grub/decompressor.h: New file.
6708 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6709 Removed.
6710 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6711 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6712 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6713 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6714 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6715 * util/grub-mkimage.c (grub_compression_t): New type.
6716 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6717 (image_target_desc): New field default_compression.
6718 (image_targets): Adjust yeeloong targets.
6719 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6720 (compress_kernel): New parameter comp.
6721 (generate_image): Likewise. Handle new compression case.
6722 (options): New option --compression
6723 (help): Likewise.
6724 (main): Handle new option.
6725
1b655af6
GS
67262010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6727
6728 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6729
8f03f0b5
CW
67302010-09-22 Colin Watson <cjwatson@ubuntu.com>
6731
6732 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6733 typo in __i386__ conditional.
6734
7835dfd3
VS
67352010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6738 include.
6739
e255597e
VS
67402010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6741
6d0fa83c 6742 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6743
6744 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6745 new tags as supported.
6746 (acpiv2_size): New function.
6747 (grub_multiboot_get_mbi_size): Take new tags into account.
6748 (grub_multiboot_make_mbi): Add new tags.
6749 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6750
6cc14051 67512010-09-21 Aleš Nesrsta <starous@volny.cz>
6752
6753 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6754 Added missing configuration of USB device.
6755
df7769d8
CW
67562010-09-21 Colin Watson <cjwatson@ubuntu.com>
6757
6758 * grub-core/normal/menu_entry.c (run): Make sure we always return
6759 a value.
6760
b031012d
CW
67612010-09-21 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6764 NumberOfPages is UINT64 according to the UEFI specification, not
6765 UINTN. Fix printf format.
6766
174de8f3
CW
67672010-09-21 Colin Watson <cjwatson@ubuntu.com>
6768
6769 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6770 `err' to grub_usb_err_t.
6771 Reported and tested by: KESHAV P.R.
6772
d7dbe923
CW
67732010-09-21 Colin Watson <cjwatson@ubuntu.com>
6774
6775 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6776 tpart non-const, so that we can assign to it. (Since this is a
6777 typedef, the constness refers to the pointer rather than what it
6778 points to.)
6779
8d5e2af3
CW
67802010-09-21 Colin Watson <cjwatson@ubuntu.com>
6781
6782 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6783 $(top_srcdir)/grub-core/gnulib as well as
6784 $(top_builddir)/grub-core/gnulib.
6785 Reported by: KESHAV P.R.
6786
5c527783
CW
67872010-09-21 Colin Watson <cjwatson@ubuntu.com>
6788
6789 * util/grub-install.in: Fix the bootloader ID option to be
6790 consistently --bootloader-id, not --bootloader_id.
6791 Reported by: KESHAV P.R.
6792
d309a16e
CW
67932010-09-21 Colin Watson <cjwatson@ubuntu.com>
6794
6795 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6796 check hash checksum." consistently translatable.
6797
b830cd16
YB
67982010-09-21 Yves Blusseau <blusseau@zetam.org>
6799
6800 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6801 $(top_builddir).
6802
c4fe27a8
CW
68032010-09-21 Colin Watson <cjwatson@ubuntu.com>
6804
6805 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6806 (GRUB_MOD_INIT): Register sha1sum command.
6807 (GRUB_MOD_FINI): Unregister sha1sum command.
6808
a4c1d277
YB
68092010-09-21 Yves Blusseau <blusseau@zetam.org>
6810
6811 Keep boot and grub directory names in sync with utils scripts
6812
6813 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6814 * config.h.in: Add previous macros.
6815 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6816 * util/grub-install.in: Use $bootdir and $grubdir variables.
6817
4eff79d2
CW
68182010-09-21 Colin Watson <cjwatson@ubuntu.com>
6819
6820 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6821 convert partition names to disk names if the new `convert' parameter
6822 is set.
6823 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6824 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6825 disk in its own right. This can happen with Xen disk images.
6826
934d7e44
YB
68272010-09-21 Yves Blusseau <blusseau@zetam.org>
6828
6829 * util/grub-editenv.c: Update strings to avoid warnings when generating
6830 grub.pot file.
6831 * util/grub-setup.c: Likewise.
934d7e44 6832
df3367cc
VS
68332010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * configure.ac: Change version to 1.99~beta0.
6836
77a94e98
VS
68372010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6840 Add BADRAM.
6841 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6842 Likewise.
6843 * include/multiboot.h: Resynced with specification.
6844 * include/multiboot2.h: Likewise.
6845
269004c1
CW
68462010-09-21 Colin Watson <cjwatson@ubuntu.com>
6847
6848 Fix po directory handling.
6849
6850 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6851 * grub-core/gnulib/Makefile.am: Import gettext module.
6852 * m4/gnulib-cache.m4: Likewise.
6853 * m4/gnulib-comp.m4: Likewise.
6854 * m4/gettext.m4: New file, from gnulib.
6855 * m4/glibc2.m4: Likewise.
6856 * m4/iconv.m4: Likewise.
6857 * m4/intdiv0.m4: Likewise.
6858 * m4/intl.m4: Likewise.
6859 * m4/intldir.m4: Likewise.
6860 * m4/intlmacosx.m4: Likewise.
6861 * m4/intmax.m4: Likewise.
6862 * m4/inttypes-pri.m4: Likewise.
6863 * m4/lcmessage.m4: Likewise.
6864 * m4/lib-ld.m4: Likewise.
6865 * m4/lib-link.m4: Likewise.
6866 * m4/lib-prefix.m4: Likewise.
6867 * m4/lock.m4: Likewise.
6868 * m4/nls.m4: Likewise.
6869 * m4/po.m4: Likewise.
6870 * m4/printf-posix.m4: Likewise.
6871 * m4/progtest.m4: Likewise.
6872 * m4/threadlib.m4: Likewise.
6873 * m4/uintmax_t.m4: Likewise.
6874 * m4/visibility.m4: Likewise.
6875 * po/Makefile.am: Remove.
6876 * po/Makefile.in.in: New file, from gettext.
6877 ($(DOMAIN).pot-update): Support POTFILES-shell.
6878 * po/Makevars: New file.
6879 * po/POTFILES-shell: Rename to ...
6880 * po/POTFILES-shell.in: ... this. Update.
6881 * po/POTFILES: Rename to ...
6882 * po/POTFILES.in: ... this. Update.
6883 * po/Rules-quot: New file, from gettext.
6884 * po/boldquot.sed: Likewise.
6885 * po/en@boldquot.header: Likewise.
6886 * po/en@quot.header: Likewise.
6887 * po/insert-header.sin: Likewise.
6888 * po/quot.sed: Likewise.
6889 * po/remove-potcdate.sin: Likewise.
6890
3e0fa5d0
VS
68912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6894
ade9bd66
VS
68952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * util/grub.d/20_linux_xen.in: Use submenus.
6898
fc55cc4c
VS
68992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 Support submenus.
6902
6903 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6904 parameter submenu. All users updated.
6905 * grub-core/normal/main.c (free_menu): Rename to ...
6906 (grub_normal_free_menu): ... this. Made global.
6907 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6908 if requested.
6909 * grub-core/normal/menu_entry.c (screen): New field submenu.
6910 (make_screen): Set submenu.
6911 (run): Open new context if requested.
6912 * include/grub/menu.h (grub_menu_entry): New field submenu.
6913 * include/grub/normal.h (grub_normal_free_menu): New proto.
6914
600cedf7
VS
69152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Menu entries extractor.
6918
6919 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6920 variants.
6921 (GRUB_MOD_INIT): Register new variants.
6922 (GRUB_MOD_FINI): Unregister new variants.
6923 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6924 into grub_cmd_legacy_source.
6925 (grub_cmd_legacy_source): Implement extractor variants.
6926 (GRUB_MOD_INIT): Register new variants.
6927 (GRUB_MOD_FINI): Unregister new variants.
6928 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6929 as an extractor.
6930 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6931 search as an extractor.
6932 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6933 test as an extractor.
6934 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6935 as an extractor.
6936 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6937 (grub_env_new_context): New function.
6938 (grub_env_context_open): Likewise.
6939 (grub_env_extractor_open): Likewise.
6940 (grub_env_extractor_close): Likewise.
6941 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6942 grub_extractor_level.
6943 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6944 * include/grub/env.h (grub_env_extractor_open): New proto.
6945 (grub_env_extractor_close): Likewise.
6946 * include/grub/normal.h (grub_extractor_level): New external variable.
6947
7bda3a87
VS
69482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Make cutmem accept a region specification.
6951 Suggested by: Samuel Thibault
6952
6953 * grub-core/mmap/mmap.c (parsemem): New function.
6954 (grub_cmd_cutmem): Handle new arguments.
6955
2ea57f88
VS
69562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 New command cutmem.
6959
6960 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6961 (GRUB_MOD_INIT): Register new command.
6962 (GRUB_MOD_FINI): Unregister new command.
6963
74342e31
VS
69642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Support some annoying BSD and Minix subpartitions.
6967
6968 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6969 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6970 Properly handle concatenation.
6971 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6972 * grub-core/normal/completion.c (iterate_partition): Likewise.
6973 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6974 contain partition. All users updated.
6975 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6976 struct.
6977 (grub_openbsdlabel_partition_map): Likewise.
6978 (bsdlabel_partition_map_iterate): Rename to ..
6979 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6980 (bsdlabel_partition_map_iterate): New function.
6981 (netopenbsdlabel_partition_map_iterate): Likewise.
6982 (netbsdlabel_partition_map_iterate): Likewise.
6983 (openbsdlabel_partition_map_iterate): Likewise.
6984 (GRUB_MOD_INIT): Register new partmaps.
6985 (GRUB_MOD_FINI): Unregister new partmaps.
6986 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6987 (grub_partition_msdos_iterate): ... this. All users updated.
6988 Don't support embedding other than in a minix partition.
6989 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6990 proto.
6991 * include/grub/partition.h (grub_partition): New field msdostype.
6992 * util/grub-install.in: Handle openbsd and netbsd types being in
6993 part_bsd module.
6994
1e8d555b
VS
69952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6998
6999 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
7000 * grub-core/Makefile.core.def (mdraid): Renamed to ...
7001 (mdraid09): ... this.
7002 (mdraid1x): New module.
7003 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
7004 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
7005
899d8af4
VS
70062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
7009 vsprintf.
7010
40901acd
CW
70112010-09-20 Colin Watson <cjwatson@ubuntu.com>
7012
7013 * grub-core/commands/efi/lsefimmap.c: Correct header.
7014 * NEWS: Update.
7015
dfe3b247
CW
70162010-09-20 Colin Watson <cjwatson@ubuntu.com>
7017
7018 * util/grub-editenv.c (argp_parser): Don't pass translated strings
7019 as printf format strings; the translations might contain '%' which
7020 could cause a crash.
7021 (main): Likewise.
7022 * util/grub-fstest.c (argp_parser): Likewise.
7023 * util/grub-setup.c (argp_parser): Likewise.
7024 (main): Likewise.
7025
3286a4b4
VS
70262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 Use argp in grub-fstest.
7029
7030 * util/grub-fstest.c: Don't include getopt.h.
7031 Include argp.h.
7032 (root): New variable.
7033 (args_count): Likewise.
7034 (nparm): Likewise.
7035 (num_disks): Likewise.
7036 (images): Likewise.
7037 (cmd): Likewise.
7038 (debug_str): Likewise.
7039 (args): Likewise.
7040 (options): Transformed to argp.
7041 (usage): Removed.
7042 (main): Split argument parsing into ...
7043 (argp_parser): ... this. Changed to argp format.
7044 (argp): New variable.
7045 (main): Use argp_parse.
7046
3dccbe4b
TG
70472010-09-20 Tristan Gingold <gingold@free.fr>
70482010-09-20 Robert Millan <rmh.grub@aybabtu.com>
70492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/commands/efi/lsefimmap.c: New file.
7052 * grub-core/Makefile.core.def (lsefimmap): New module.
7053 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
7054
38c259a7
VS
70552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 Pause the execution (10s max) if any errors are displayed so the user
7058 has a chance to see them.
7059
7060 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
7061 (grub_print_error): Increment grub_err_printed_errors.
7062 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
7063 execution if any errors were displayed.
7064 (show_menu): Remove old code for pause.
7065 * grub-core/normal/menu_entry.c (run): Likewise.
7066 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
7067 users updated.
7068 (grub_normal_get_char_counter): Likewise.
7069 * include/grub/err.h (grub_err_printed_errors): New external variable.
7070 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
7071
f218b09c
VS
70722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Support multiboot VBE info.
7075
7076 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7077 Take VBE info into account.
7078 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
7079 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7080 Call fill_vbe_info when appropriate.
7081 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
7082 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
7083 as supported.
7084 (grub_multiboot_get_mbi_size): Take new tags into account.
7085 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
7086 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7087 Call fill_vbe_tag when appropriate.
7088 (grub_multiboot_make_mbi): Properly align tags.
7089 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
7090 function.
7091 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
7092 proto.
7093 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
7094
a9cc5438
VS
70952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Suport manual terminal geometry specification.
7098
7099 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
7100 Save state in grub_ofconsole_terminfo_output.
7101 (grub_ofconsole_term): Use grub_terminfo_getwh.
7102 (grub_ofconsole_getwh): Removed.
7103 * grub-core/term/serial.c (grub_serial_getwh): Removed.
7104 (grub_serial_term): Use grub_terminfo_getwh.
7105 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
7106 (options): New struct.
7107 (OPTION_*): New enum.
7108 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
7109 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
7110 width and height.
7111 (grub_terminfo_getwh): New proto.
7112 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
7113
1a8fed20
VS
71142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 Handle legacy "terminal" command.
7117
7118 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
7119 and FLAG_TERMINAL.
7120 (legacy_commands): Add terminal and title.
7121 (grub_legacy_parse): Handle terminal. Simplify title handling.
7122
41e9c57d
VS
71232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
7126 parameters overflow.
7127
61c874c5
CW
71282010-09-20 Colin Watson <cjwatson@ubuntu.com>
7129
7130 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
7131 widthspec.h.
7132
7133 * docs/grub.texi (Shell-like scripting): Document `!'.
7134 (Network): Simplify using new i386-pc-pxe format. Mention
7135 grub-mknetdir.
7136
7137 * NEWS: Update.
7138
943682b4
CW
71392010-09-20 Colin Watson <cjwatson@ubuntu.com>
7140
7141 * Makefile.am (SUBDIRS): Restore "."; it's important to force
7142 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
7143 when needed.
7144
6d3d698d
CW
71452010-09-20 Colin Watson <cjwatson@ubuntu.com>
7146
7147 * grub-core/commands/efi/lsefisystab.c: Correct header.
7148 * grub-core/commands/efi/lssal.c: Likewise.
7149 * grub-core/commands/testload.c: Likewise.
7150
c982589f
CW
71512010-09-20 Colin Watson <cjwatson@ubuntu.com>
7152
7153 * util/grub-mkrescue.in: Add explicit root argument to --set to
7154 prevent the UUID being interpreted as an argument to --set (matches
7155 previous change to prepare_grub_to_access_device).
7156
a63c31b6
CW
71572010-09-20 Colin Watson <cjwatson@ubuntu.com>
7158
7159 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
7160 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
7161 the verbosity of later #ifs.
7162 (find_partition_start): Define this function on FreeBSD too.
7163 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
7164 function.
7165 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
7166 on FreeBSD.
7167
6439b8ee
YB
71682010-09-20 Yves Blusseau <blusseau@zetam.org>
7169
7170 * util/grub-editenv.c: Use argp instead of getopt.
7171
c5930ec8
YB
71722010-09-20 Yves Blusseau <blusseau@zetam.org>
7173
7174 * util/grub-setup.c: Use argp instead of getopt.
7175
15c69261
YB
71762010-09-20 Yves Blusseau <blusseau@zetam.org>
7177
7178 Use gnulib-tool to create gnulib source files.
7179
7180 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
7181 grub-core/gnulib directories
7182 * .bzignore: Add **/.deps and autogenerated gnulib files
7183 * configure.ac: Assign auxiliary directory to build-aux, add invocation
7184 of gnulib macros, add grub-core/gnulib/Makefile
7185 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
7186 include m4 directory to aclocal.
7187 * Makefile.util.def: Remove direct compilation of gnulib source files
7188 and use the new grub-core/gnulib/libgnu.a.
7189 * build-aux/config.rpath: move config.rpath from top directory to
7190 build-aux
7191 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
7192 in gnulib headers
7193 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
7194 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
7195 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
7196 header.
7197 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
7198 string.
7199
e511c9f5
YB
72002010-09-20 Yves Blusseau <blusseau@zetam.org>
7201
7202 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
7203 grub-core/genmod.sh and grub-core/gensyminfo.sh
7204
c2dede05
BC
72052010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
7206
7207 Add a test for echo command options.
7208
7209 * tests/grub_cmd_echo.in: New test.
7210 * Makefile.util.def: Rules for new test.
7211
c55f5018
SJ
72122010-09-20 Szymon Janc <szymon@janc.net.pl>
7213
7214 Remove crc.mod and move crc command to hashsum.mod.
7215 Remove lib/crc.c - users updated to use gcrypt implementation.
7216
7217 * grub-core/commands/crc.c: Removed.
7218 * grub-core/Makefile.core.def (crc): Module removed.
7219 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
7220 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
7221 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
7222 * grub-core/lib/crc.c: Removed.
7223 * include/grub/lib/crc.h: Removed.
7224 * Makefile.util.def (crc): Remove lib/crc.c
7225 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
7226 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
7227 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
7228 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
7229 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
7230 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
7231
e0337366
VS
72322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
7235
742f9232
VS
72362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 Split config.h for util and core.
7239
7240 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
7241 (ADDR32): Likewise.
7242 (DATA32): Likewise.
7243 (BSS_START_SYMBOL): Likewise.
7244 (END_SYMBOL): Likewise.
7245 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
7246 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
7247 * config.h.in: New file.
7248 * configure.ac: Use config-util.h as config define file.
7249 Rename MACHINE into GRUB_MACHINE. All users updated.
7250 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
7251 updated.
7252 (NESTED_FUNC_ATTR): Likewise.
7253 Substitue new variables.
7254 (COND_HAVE_ASM_USCORE): New conditional.
7255 * grub-core/Makefile.am (ASM_PREFIX): New variable.
7256 (kernel_syms.lst): Use ASM_PREFIX.
7257 * grub-core/kern/emu/console.c: Include config-util.h.
7258 * grub-core/kern/emu/misc.c: Likewise.
7259 * grub-core/kern/emu/mm.c: Likewise.
7260 * include/grub/emu/misc.h: Likewise.
7261 * include/grub/libgcc.h: Likewise.
7262
39feb0e8
VS
72632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
7266 constants usage.
7267 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
7268 Fix GRUB_TERM_KEY_* constants usage.
7269 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
7270
9af6dac3
VS
72712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
7274 print pointer.
7275 * grub-core/bus/usb/uhci.c: Remove empty define.
7276 (grub_uhci_check_transfer): Add missing cast.
7277 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
7278 print pointer.
7279 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
7280 PRIuGRUB_SIZE.
7281 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
7282
d6d94820
VS
72832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/Makefile.core.def (legacycfg): Add
7286 lib/i386/pc/vesa_modes_table.c on emu.
7287
3572f2b6
BC
72882010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7289
7290 Reduce number of temporary files generated by build system.
7291
7292 * grub-core/gencmdlist.sh: Removed.
7293 * grub-core/genfslist.sh: Removed.
7294 * grub-core/genhandlerlist.sh: Removed.
7295 * grub-core/genmodsrc.sh: Removed.
7296 * grub-core/genpartmaplist.sh: Removed.
7297 * grub-core/genparttoollist.sh: Removed.
7298 * grub-core/gentermiinallist.sh: Removed.
7299 * grub-core/genvideolist.sh: Removed.
7300
7301 * grub-core/genmod.sh.in: New file.
7302 * grub-core/gensyminfo.sh.in: New file.
7303
7304 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
7305 * conf/Makefile.extra-dist: Update with new files.
7306 * gentpl.py: Remove rules related to unnecessary temporary files.
7307 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7308 and und-* files.
7309 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7310 genmod.sh scripts.
7311 * grub-core/bus/usb/uhci.c: Remove empty #define.
7312 * grub-core/genmoddep.awk: Updated with new syminfo format.
7313 * util/bash-completion.d/Makefile.am: Add config.log to
7314 CLEANFILES.
7315
c836b030
YB
73162010-09-19 Yves Blusseau <blusseau@zetam.org>
7317
7318 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7319
2f4e8053
BC
73202010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7321
7322 * util/grub-mkconfig.in: Check the config script for syntax errors
7323 before saving.
7324
75831c34
CW
73252010-09-19 Colin Watson <cjwatson@ubuntu.com>
73262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7329 platforms.
7330 * util/grub-install.in: Add EFI and IEEE1275 support.
7331 * util/i386/efi/grub-install.in: Removed.
7332 * util/ieee1275/grub-install.in: Likewise.
7333
eaf41b25
VS
73342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7337 (grub_cmd_cmosclean): Likewise.
7338 (GRUB_MOD_INIT): Register command cmosclean.
7339 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7340 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7341
1a9130dd
CPE
73422010-09-18 Carles Pina i Estany <carles@pina.cat>
73432010-09-18 Aleš Nesrsta <starous@volny.cz>
73442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 Add keyboard layouts support.
7347
7348 * Makefile.util.def (grub-mklayout): New file.
7349 (grub-kbdcomp): New script.
7350 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7351 Add keyboard_layouts.h.
7352 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7353 commands/boot.c on yeeloong.
7354 (keylayouts): New module.
7355 * grub-core/bus/usb/ohci.c
7356 * grub-core/bus/usb/uhci.c
7357 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7358 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7359 (attach_root_port): Likewise.
7360 (poll_nonroot_hub): Likewise.
7361 (grub_usb_poll_devices): Likewise.
7362 (detach_device): Close transfer.
7363 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7364 function.
7365 (grub_usb_bulk_setup_readwrite): Likewise.
7366 (grub_usb_bulk_finish_readwrite): Likewise.
7367 * grub-core/commands/keylayouts.c: New file.
7368 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7369 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7370 aliases.
7371 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7372 support scancode 2.
7373 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7374 * include/grub/keyboard_layouts.h: New file.
7375 * util/grub-mklayout.c: New file.
7376 * util/grub-kbdcomp.in: Likewise.
7377
a1d84a5e
VS
73782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Unify memory types.
7381
7382 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7383 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7384 types.
7385 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7386 (grub_upper_mem): Likewise.
7387 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7388 * include/grub/memory.h (grub_memory_type_t): New enum.
7389 All users updated.
7390
9696382e
VS
73912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/Makefile.core.def (lsapm): New module.
7394 * grub-core/commands/i386/pc/lsapm.c: New file.
7395 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7396 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7397 Likewise.
7398 * include/grub/i386/pc/apm.h: New file.
7399 * include/multiboot.h (multiboot_apm_info): New struct.
7400
74012010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 GRUB-legacy configuration file support.
7404
7405 * Makefile.util.def (grub-menulst2cfg): New util.
7406 * docs/man/grub-menulst2cfg.h2m: New file.
7407 * grub-core/Makefile.core.def (legacycfg): New module.
7408 * grub-core/commands/legacycfg.c: New file.
7409 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7410 (grub_normal_add_menu_entry): ... this.
7411 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7412 (grub_normal_set_password): ...this.
7413 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7414 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7415 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7416 * grub-core/lib/legacy_parse.c: New file.
7417 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7418 * include/grub/i386/pc/vesa_modes_table.h: New file.
7419 * include/grub/legacy_parse.h: Likewise.
7420 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7421 * util/grub-menulst2cfg.c: New file.
7422
bf8d1338
CW
74232010-09-17 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * grub-core/kern/emu/hostdisk.c
7426 (convert_system_partition_to_system_disk): Initialise node.
7427
9c0bad2e
CW
74282010-09-17 Colin Watson <cjwatson@ubuntu.com>
7429
7430 * grub-core/kern/emu/hostdisk.c
7431 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7432 leak.
7433 Reported and based on patch by: Modestas Vainius.
7434
a939d135
CW
74352010-09-17 Colin Watson <cjwatson@ubuntu.com>
7436
7437 Fix DM-RAID probing with recent versions of device-mapper udev
7438 rules.
7439
7440 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7441 canonicalise device paths under /dev/mapper/.
7442 (convert_system_partition_to_system_disk): Compare the
7443 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7444 path, since device nodes under /dev/mapper/ are often symlinks.
7445
0f7ee3c9
YB
74462010-09-17 Yves Blusseau <blusseau@zetam.org>
7447
7448 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7449
10854d0d
YB
74502010-09-16 Yves Blusseau <blusseau@zetam.org>
7451
7452 * configure.ac: Avoid some annoying error messages if freetype-config
7453 program is not found.
7454
108538d8
CW
74552010-09-16 Colin Watson <cjwatson@ubuntu.com>
7456
7457 Support RAID on virtio devices, and others.
7458
7459 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7460 Rename to ...
7461 [__MINGW32__] (grub_find_device): ... this.
7462 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7463 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7464 reasonable default if dir is NULL.
7465 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7466 ...
7467 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7468 (grub_guess_root_device): Update callers.
7469 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7470
7471 * util/raid.c (grub_util_getdiskname): Remove.
7472 (grub_util_raid_getmembers): Use grub_find_device rather than
7473 grub_util_getdiskname.
7474
e5bfc130
CW
74752010-09-16 Colin Watson <cjwatson@ubuntu.com>
7476
7477 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7478 needing to be compiled with serial support.
7479 (ls): Indicate that multiple files are accepted.
7480 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7481 indicate that multiple files are accepted.
7482
be458ae2
CW
74832010-09-16 Colin Watson <cjwatson@ubuntu.com>
7484
7485 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7486 libgrub_a_init.c, and util/bash-completion.d/grub.
7487
cb731b5e
VS
74882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * util/grub-setup.c (setup): Fix incorrect container semantics.
7491
35139e8a
VS
74922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7495 misusage.
7496 Reported by: J. Nick Terry
7497
e50fca4a
VS
74982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 Move embedding routines to partmap sources files.
7501
7502 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7503 [GRUB_UTIL]: New variable.
7504 (gpt_partition_map_iterate): Set part.parent.
7505 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7506 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7507 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7508 New function.
7509 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7510 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7511 (grub_partition_map) [GRUB_UTIL]: New field embed.
7512 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7513 (setup): Use ->embed.
7514
f00478b7
VS
75152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7518 function.
7519 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7520 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7521
2b94e3ff
YB
75222010-09-15 Yves Blusseau <blusseau@zetam.org>
7523
7524 Add function to get completions from usage.
7525
7526 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7527 completions from usage. Use LC_ALL=C to get options properly.
7528
2e04a006
VS
75292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/gnulib/basename-lgpl.c: Imported.
7532 * grub-core/gnulib/basename.c: Likewise.
7533 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7534 * grub-core/gnulib/dirname.c: Likewise.
7535 * grub-core/gnulib/dirname.h: Likewise.
7536 * grub-core/gnulib/stripslash.c: Likewise.
7537
5dcdf93a
VS
75382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/gnulib/error.c: Resynced.
7541 * grub-core/gnulib/getopt.c: Likewise.
7542 * grub-core/gnulib/getopt_int.h: Likewise.
7543 * grub-core/gnulib/regex.h: Likewise.
7544 * grub-core/gnulib/regex_internal.c: Likewise.
7545 * grub-core/gnulib/regex_internal.h: Likewise.
7546
014f47b7
SJ
75472010-09-15 Szymon Janc <szymon@janc.net.pl>
7548
7549 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7550 CRC calculations and validity checks.
7551 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7552 calculations.
7553
dd521a4a
SJ
75542010-09-15 Szymon Janc <szymon@janc.net.pl>
7555
7556 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7557
79c4eeb9
VS
75582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Fix incorrect echo options handling.
7561 Reported by: Yves Blusseau.
7562
7563 * include/grub/command.h (grub_command_flags_t): New flags
7564 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7565 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7566 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7567
ed80f7d5
VS
75682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7571 users updated.
7572 (GRUB_COMMAND_FLAG_MENU): Likewise.
7573 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7574 (GRUB_COMMAND_FLAG_TITLE): Removed.
7575 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7576 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7577 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7578 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7579 (grub_command_flags_t): New enum. All users updated.
7580
5fe7620a
SG
75812010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7582
7583 Fix solaris compilation.
7584
7585 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7586 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7587 (grub-emu-list): Likewise.
7588
545b752f
VS
75892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 Remove deprecated root command.
7592
7593 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7594 updated.
7595
6c1a338c
VS
75962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * util/i386/pc/grub-setup.c: Merge this ...
7599 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7600 * util/grub-setup.c: ... into this.
7601 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7602 New struct.
7603
76042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7607 possible.
7608
d2ea4551
VS
76092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7612 allocate p.
7613
3c3b5040
VS
76142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7617 explicit root argument to set to prevent UUID to be interpreted as
7618 argument to set.
7619
b71c3fae
VS
76202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7623
275433e6
VS
76242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Don't export grub_gate_a20.
7627
7628 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7629 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7630 to ...
7631 (grub_gate_a20): ... this. All users updated.
7632 * include/grub/i386/pc/init.h: Removed. All users updated.
7633
a5dbb1f1
VS
76342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Create euro.pf2 which supports most European languages.
7637
7638 * Makefile.am (grubdata_DATA): Add euro.pf2.
7639 (euro.pf2): New target.
7640 (CLEANFILES): Add euro.pf2.
7641
62a747cb
VS
76422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * configure.ac: Disable emu-usb by default to prevent inadvertent
7645 device takeover.
7646
608e43b1
VS
76472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 Disable usbserial on grub-emu since our libusb code isn't good enough
7650 yet.
7651
7652 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7653 (usbserial_pl2303): Likewise.
7654 (usbserial_ftdi): Likewise.
7655
94564f81
VS
76562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * include/grub/disk.h (grub_disk): Remove has_partitions.
7659 All users updated.
7660 * disk/loopback.c (grub_loopback): Remove has_partitions.
7661 All users updated.
7662 (options): Remove partitions. All users updated.
7663 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7664 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7665 actual partition table is found.
7666
3352800b
VS
76672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Remove readability checks (too many false negatives).
7670
7671 * util/grub-install.in: Remove readability checks.
7672 * util/grub-mkconfig.in: Likewise.
7673 * util/grub.d/10_hurd.in: Likewise.
7674 * util/grub.d/10_kfreebsd.in: Likewise.
7675 * util/grub.d/10_linux.in: Likewise.
7676 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7677 way.
7678
2419f17a
VS
76792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 Enable acpi shutdown on all ACPI platforms.
7682
7683 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7684 on coreboo, multiboot and EFI.
7685 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7686 (grub_acpi_halt): Likewise.
7687 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7688 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7689 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7690 * grub-core/lib/i386/halt.c (grub_halt)
7691 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7692
0575c7c3
VS
76932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7696 context.
7697
54ac3cd1
VS
76982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7701 * grub-core/video/efi_uga.c: Likewise.
7702
b2a30ac5
VS
77032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Filter devaliases and never open same device twice.
7706
7707 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7708 (last_ihandle): Likewise.
7709 (ofdisk_hash_ent): New member shortest.
7710 (ofdisk_hash_add): Add canonical path too.
7711 (scan): New function.
7712 (grub_ofdisk_iterate): Iterate over hashed entries.
7713 (compute_dev_path): Don't add :0.
7714 (grub_ofdisk_open): Don't really open the disk.
7715 (grub_ofdisk_close): Avoid closing unrelated disk.
7716 (grub_ofdisk_read): Implement reopen logic.
7717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7718 New function.
7719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7720 New proto.
7721
fb53b340
VS
77222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 Fix sparc64.
7725
7726 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7727 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7728 right address. Add sparc64_ieee1275_ldflags.
7729 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7730 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7731 to grub_host_to_target_addr
7732 (load_image): Likewise.
7733
f452b040
VS
77342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/normal/completion.c (complete_file): Handle device
7737 containing slash.
7738 Fix based on patch by Doug Nazar.
7739
9b5b2541
VS
77402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 grub-mknetdir script.
7743
7744 * Makefile.util.def (grub-mknetdir): New module.
7745 * tests/util/grub-shell.in: Support boot=net
7746 * util/grub-mknetdir.in: New file.
7747
9d2be652
VS
77482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 videoinfo on non-vbe.
7751
7752 * grub-core/Makefile.core.def (vbeinfo): Removed.
7753 (vbetest): Removed.
7754 (videoinfo): New module.
7755 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7756 * grub-core/commands/i386/pc/vbetest.c: Removed.
7757 * grub-core/commands/videoinfo.c: New file.
7758 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7759 specification.
7760 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7761 as vbetest.
7762 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7763 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7764 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7765 mode_number. New parameter mode. All users updated.
7766 (grub_video_gop_iterate): New function.
7767 (grub_video_efi_gop): New member iterate.
7768 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7769 (grub_vbe_set_video_mode): Remove setting useless fields.
7770 (vbe2videoinfo): New function.
7771 (grub_video_vbe_iterate): Likewise.
7772 (grub_video_vbe_setup): Use vbe2videoinfo.
7773 (grub_video_vbe_print_adapter_specific_info): New function.
7774 (grub_video_vbe_adapter): New fields iterate and
7775 print_adapter_specific_info.
7776 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7777 All users updated.
7778 (grub_video_mode_info): New field mode_number.
7779 (grub_video_adapter): New fields iterate and
7780 print_adapter_specific_info.
7781
179503f5
TG
77822010-09-13 Tristan Gingold <gingold@free.fr>
77832010-09-13 Robert Millan <rmh.grub@aybabtu.com>
77842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/commands/efi/lsefisystab.c: New file.
7787 * grub-core/commands/efi/lssal.c: Likewise.
7788 * grub-core/Makefile.core.def (lsacpi): New module.
7789 (lsefisystab): Likewise.
7790 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7791 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7792 (grub_efi_sal_system_table): New struct.
7793 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7794 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7795 (grub_efi_sal_system_table_platform_features): Likewise.
7796 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7797 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7798 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7799 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7800
cf9827de
VS
78012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 Support explicit user claim that a device is BIOS-visible.
7804
7805 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7806 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7807 * grub-core/kern/emu/hostdisk.c
7808 (convert_system_partition_to_system_disk): Support mdX.
7809 (find_system_device): New parameter add. All users updated.
7810 (grub_util_biosdisk_is_present): New function.
7811 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7812 proto.
7813
53f0eb1f
VS
78142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 Search hints support.
7817
7818 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7819 All users updated.
7820
b23ffd70
YB
78212010-09-13 Yves Blusseau <blusseau@zetam.org>
7822
7823 Bash completion script for util commands
7824
7825 * Makefile.am: Add util/bash-completion.d directory
7826 * configure.ac: Likewise.
7827 * util/bash-completion.d/Makefile.am: New file.
7828 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7829
d547dc28
VS
78302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7833 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7834 Reported by: Yves Blusseau.
7835
2fc8ccb9
VS
78362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7839 partition size and offset.
7840
d8a84076
VS
78412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7844
84fb3b3d
VS
78452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7848
768ec2e2
VS
78492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7852 (grub_xvasprintf): Likewise.
7853
4870900f
VS
78542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7857
faca6bec
VS
78582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7861 args ending with NULL.
7862
78632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7864
7865 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7866 pointer.
7867
3c70f225
SJ
78682010-09-11 Szymon Janc <szymon@janc.net.pl>
7869
7870 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7871
4df7996d
VS
78722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 Shutdown using ACPI.
7875
7876 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7877 * grub-core/commands/acpihalt.c: New file.
7878 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7879 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7880 (grub_acpi_halt): New proto.
7881 (GRUB_ACPI_SLP_EN): New const.
7882 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7883 (GRUB_ACPI_OPCODE_*): New enum.
7884 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7885
126b4c32
TG
78862010-09-11 Tristan Gingold <gingold@free.fr>
78872010-09-11 Robert Millan <rmh.grub@aybabtu.com>
78882010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * commands/lsacpi.c: New file.
7891 * grub-core/Makefile.core.def (lsacpi): New module.
7892 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7893 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7894 (grub_acpi_madt_entry_header): New struct.
7895 (grub_acpi_madt): Likewise.
7896 (grub_acpi_madt_entry_interrupt_override): Likewise.
7897 (grub_acpi_madt_entry_sapic): Likewise.
7898 (grub_acpi_madt_entry_lsapic): Likewise.
7899 (grub_acpi_madt_entry_platform_int_source): Likewise.
7900 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7901 (PRIuGRUB_UINT32_T): Likewise.
7902 (PRIxGRUB_UINT64_T): Likewise.
7903
1aa4fe88
VS
79042010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 Implement loading palette on ieee1275_fb.
7907
7908 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7909 (have_setcolors): Likewise.
7910 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7911 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7912 (grub_video_ieee1275_set_palette): Implement.
7913
25761e13
VS
79142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
79152010-09-11 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * util/grub-install.in (grub_partition): New variable.
7918 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7919 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7920 Fixes a bug reported by Yves Blusseau.
7921
050abaea
VS
79222010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 Fix emu on mipsel.
7925
7926 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7927 =grub_cpu_flush_cache on all mips and not only yeeloong.
7928 * configure.ac (COND_mips): New conditional.
7929 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7930 platforms.
7931 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7932 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7933 [GRUB_LINKER_HAVE_INIT]: New function.
7934 (grub_emu_post_init): Likewise.
7935 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7936 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7937 * include/grub/cache.h (_mips): Include mips/cache.h.
7938 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7939 LVM and RAID prototypes.
7940 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7941 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7942 function.
7943
5ed7d816
CW
79442010-09-10 Colin Watson <cjwatson@ubuntu.com>
7945
7946 * util/grub-install.in: Don't try to verify core.img until after
7947 running grub-mkimage to create it.
7948
90367e04
RM
79492010-09-10 Robert Millan <rmh@gnu.org>
7950
7951 * util/grub.d/10_hurd.in: Add misc readability checks.
7952 * util/grub.d/10_kfreebsd.in: Likewise.
7953 * util/grub.d/10_linux.in: Likewise.
7954
c452fa66
CW
79552010-09-10 Colin Watson <cjwatson@ubuntu.com>
7956
7957 * util/grub-install.in: ${imgext} won't be defined here until the
7958 install branch is merged. For the meantime, only verify core.img on
7959 i386-pc and sparc64-ieee1275 platforms.
7960
c38fe9f4
RM
79612010-09-10 Robert Millan <rmh@gnu.org>
7962
7963 Solaris support in grub_find_zpool_from_dir(). Thanks
7964 Seth Goldberg for referring to getextmntent() facility.
7965
7966 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7967 `sys/mkdev.h'.
7968 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7969 `<sys/mnttab.h>'.
7970 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7971 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7972 method for finding zpool name.
7973
905f7773
CW
79742010-09-10 Colin Watson <cjwatson@ubuntu.com>
7975
7976 grub-fstest needs the host and hostfs modules while other utilities
7977 actively require those modules to be absent, so grub-fstest needs
7978 its own initialisation and finalisation code.
7979
7980 * Makefile.am (grub_fstest.pp): New target.
7981 (grub_fstest_init.lst): Likewise.
7982 (grub_fstest_init.c): Likewise.
7983 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7984
fb90b546
RM
79852010-09-10 Robert Millan <rmh@gnu.org>
7986
7987 * configure.ac: Check for `struct statfs.f_fstypename' and
7988 `struct statfs.f_mntfromname'.
7989
7990 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7991 kFreeBSD-specific code.
7992
66d4bea5
RM
79932010-09-10 Robert Millan <rmh@gnu.org>
7994
7995 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7996 on ZFS. Now non-main filesystems are supported as / too.
7997
b6a690ee
CW
79982010-09-09 Colin Watson <cjwatson@ubuntu.com>
7999
8000 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
8001 and grub-core/disk/host.c to ...
8002 (grub-fstest): ... here. Having the host disk implementation
8003 present confuses grub-probe and other utility programs.
8004
8005 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
8006 when writing to a file, not when writing to stdout.
8007
8901b00c 80082010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
8009
8010 * tests/partmap_test.in: New test for partitions.
8011 * Makefile.util.def: Rules for new test.
8012
7bf45fdd
RM
80132010-09-09 Robert Millan <rmh@gnu.org>
8014
8015 * util/grub-probe.c (probe): Fix a pair of unhandled error
8016 conditions.
8017
4dfbc574
RM
80182010-09-09 Robert Millan <rmh@gnu.org>
8019
8020 Basic Btrfs support (detection and UUID).
8021
8022 * grub-core/fs/btrfs.c: New file.
8023 * Makefile.util.def (library): Register btrfs.c.
8024 * grub-core/Makefile.core.def: Likewise.
8025
6b8e78ae
RM
80262010-09-08 Robert Millan <rmh@gnu.org>
8027
8028 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
8029 with (optional) parameters to specify device and relative path.
8030 * util/grub-install.in: Use is_path_readable_by_grub() to
8031 verify readability of a few critical files.
8032 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
8033 verify readability of grub.cfg.new.
8034
27f21a8b
VS
80352010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Split minix.mod into minix.mod and minix2.mod.
8038
8039 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
8040 * grub-core/Makefile.core.def (minix2): New module.
8041 * grub-core/fs/minix.c: Use definitions instead of runtime version
8042 checking.
8043 * grub-core/fs/minix2.c: New file.
8044
c0e53ea5
YB
80452010-09-08 Yves Blusseau <blusseau@zetam.org>
8046
8047 Add new --boot-directory option to replace --root-directory
8048
8049 * util/grub-install.in: Add new --boot-directory option
8050 * util/grub-reboot.in: Likewise.
8051 * util/grub-set-default.in: Likewise.
8052
b9fe6ea2
YB
80532010-09-08 Yves Blusseau <blusseau@zetam.org>
8054
8055 * util/grub-mkconfig.in: Use new variable.
8056
d87aedff
YB
80572010-09-08 Yves Blusseau <blusseau@zetam.org>
8058
8059 * configure.ac: Define some useful variables.
8060
e55e8495
VS
80612010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8064 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
8065 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
8066 Use terminfo and don't use cursor-on/cursor-off unless it's known
8067 to work.
8068 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
8069 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
8070
6fa6d675
CW
80712010-09-08 Colin Watson <cjwatson@ubuntu.com>
8072
8073 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
8074 starts with "(,", fill the drive containing the loaded image in
8075 between those two characters, but expect that a full partition
8076 specification including partition map names will follow.
8077
92f2aef0
RM
80782010-09-08 Robert Millan <rmh@gnu.org>
8079
8080 * configure.ac: Remove `--enable-grub-fstest' option.
8081 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
8082
8083 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
8084 `grub-fstest' instead of `grub-probe' for readability verification.
8085 * util/grub-probe.c (probe): Remove readability verification kludge.
8086
99fd620d
RM
80872010-09-08 Robert Millan <rmh@gnu.org>
8088
8089 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
8090 initializing `GRUB_FS'.
8091
058e30ac 80922010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
8093
8094 Not command (!) support to GRUB script.
8095
8096 * tests/grub_script_not.in: New test.
8097 * Makefile.util.def: Rules for new test.
8098
8099 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8100 ! command as a special case.
8101 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
8102
b61d05ed 81032010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8104
058e30ac 8105 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
8106 grub_free.
b61d05ed 8107
4d69c786 81082010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8109
8110 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
8111
aa3119c4 81122010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8113
8114 * docs/grub.texi (Shell-like scripting): Documentation for break,
8115 continue, shift and return commands.
8116
db0f7e3d
VS
81172010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 Rename CD-ROM to cd on BIOS.
8120
8121 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
8122 "cd".
8123 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
8124
88b87c93
VS
81252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
8128 * util/grub-probe.c (main): Likewise.
8129 * util/i386/pc/grub-setup.c (main): Likewise.
8130 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8131 Reported and debugged by: alexxy
8132
294f324d
VS
81332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
8136 diagnostic info.
8137
d7ee3441
JS
81382010-09-05 Jo Shields <directhex@apebox.org>
8139
8140 * util/grub.d/30_os-prober.in: Add missing classes.
8141
d7e06c1f
VS
81422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * docs/grub.texi (Theme file format): Document new position format.
8145
fc157e53
VS
81462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
8149 a table. Use @code instead of @verbatim.
8150
506e9a1c
CB
81512010-09-05 Colin D Bennett <colin@gibibit.com>
8152
8153 Gfxmenu documentation.
8154
8155 * docs/grub.texi (Theme file format): New chapter.
8156
f0aff67c
SJ
81572010-09-05 Szymon Janc <szymon@janc.net.pl>
8158
8159 * grub-core/Makefile.core.def (xzio): New module.
8160 * grub-core/io/xzio.c: New file.
8161 * grub-core/lib/xzembed/xz.h: New file (from xembed).
8162 * grub-core/lib/xzembed/xz_config.h: Likewise.
8163 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
8164 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
8165 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
8166 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
8167 * grub-core/lib/xzembed/xz_private.h: Likewise.
8168 * grub-core/lib/xzembed/xz_stream.h: Likewise.
8169 * include/grub/file.h (grub_file_filter_id): New compression filter
8170 GRUB_FILE_FILTER_XZIO.
8171
82a85062
VS
81722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
8175 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
8176 size.
8177
3579415d
VS
81782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
8181 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
8182
5124ae6d
VS
81832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 Uncompressed checksum support.
8186
8187 * grub-core/commands/hashsum.c (options): Add option --uncompress.
8188 (check_list): New parameter uncompress.
8189 (grub_cmd_hashsum): Handle --uncompress.
8190
9aadb3d1
VS
81912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Reintroduce testload.
8194
8195 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
8196 from here ...
8197 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
8198 (GRUB_MOD_INIT): New function.
8199 (GRUB_MOD_FINI): Likewise.
8200 * grub-core/Makefile.core.def (testload): New module.
8201
a17792c3
SJ
82022010-09-05 Szymon Janc <szymon@janc.net.pl>
8203
8204 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
8205 (uint8_t): New type.
8206 (uint16_t): Likewise.
8207 (uint32_t): Likewise.
8208 (uint64_t): Likewise.
8209
b81e40a3
SJ
82102010-09-05 Szymon Janc <szymon@janc.net.pl>
8211
8212 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
8213
fc2ef117
VS
82142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8217 Made static.
8218 (grub_gzfile_open): Removed. All users updated.
8219 (GRUB_MOD_INIT): New function.
8220 (GRUB_MOD_FINI): Likewise.
8221 * grub-core/kern/file.c (grub_file_filters_all): New variable.
8222 (grub_file_filters_enabled): Likewise.
8223 (grub_file_open): Handle filters.
8224 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
8225 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
8226 * include/grub/file.h (grub_file_filter_id_t): New type.
8227 (grub_file_filter_t): Likewise.
8228 (grub_file_filters_all): New extern variable.
8229 (grub_file_filters_enabled): Likewise.
8230 (grub_file_filter_register): New inline function.
8231 (grub_file_filter_unregister): Likewise.
8232 (grub_file_filter_disable): Likewise.
8233 (grub_file_filter_disable_compression): Likewise.
8234 * include/grub/gzio.h: Removed.
8235
35ee15e0
BC
82362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8237
8238 Filename expansion support for wildcards in GRUB script.
8239
8240 * tests/grub_script_expansion.in: New test.
8241 * Makefile.util.def: Rule for new test.
8242
8243 * grub-core/commands/wildcard.c: New file, implements filename
8244 expansion support for GRUB script.
8245 * grub-core/Makefile.core.def: Rule update for regexp.mod.
8246 * grub-core/script/argv.c: Cosmetic changes.
8247 * grub-core/script/execute.c (grub_script_arglist_to_argv):
8248 Refactored to perform wildcard expansion on arguments.
8249 * include/grub/script_sh.h (grub_script_wildcard_translator): New
8250 struct.
8251
8252 * tests/util/grub-shell.in: Fix quoting for read input.
8253
5f0c4aca
BC
82542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8255
8256 Support for updating environment variables with matched substrings
8257 of regexp.
8258
8259 * tests/grub_cmd_regexp.in: New test.
8260 * Makefile.util.def: Rule for new test.
8261
8262 * grub-core/commands/regexp.c: New option -s to update environment
8263 variables with regexp matches.
8264
3759a35f
SJ
82652010-09-04 Szymon Janc <szymon@janc.net.pl>
8266
8267 * include/grub/file.h (grub_file): New member not_easly_seekable.
8268 (grub_file_seekable): New inline function.
8269 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
8270 easily seekable.
8271 (grub_gzio_open): Set not_easly_seekable.
8272 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
8273 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
8274
ed8c6dec
BC
82752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8276
8277 Support for options to appear multiple times on cmdline.
8278
8279 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
8280 * grub-core/commands/extcmd.c: Support for repeatable option.
8281 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
8282 repeatable option support.
8283
8284 Refactor menuentry into a regular command.
8285
8286 * grub-core/commands/menuentry.c: New file, menuentry command
8287 implementation.
8288 * grub-core/Makefile.core.def: Rule update for normal.mod.
8289 * grub-core/normal/main.c: Moved menuentry creation to
8290 grub-core/commands/menuentry.c.
8291 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
8292 (grub_menu_execute_entry_real): Removed.
8293 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
8294 function.
8295 (grub_script_execute_menuentry): Removed.
8296 * grub-core/script/parser.y (menuentry): Removed.
8297 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
8298 * grub-core/script/yylex.l (menuentry): Removed.
8299 * include/grub/menu.h (grub_menu_init): New prototype.
8300 (grub_menu_fini): New prototype.
8301 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
8302 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
8303 (grub_script_execute_sourcecode): New prototype.
8304
dacd0cf0
BC
83052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8306
8307 "return" command for GRUB script functions.
8308
8309 * tests/grub_script_return.in: New test.
8310 * Makefile.util.def: Rules for new test.
8311
8312 * grub-core/script/execute.c (grub_script_return): New function.
8313 * grub-core/script/main.c: Register/unregister return commaond.
8314 * include/grub/script_sh.h (grub_script_return): New prototype.
8315
52e72f9d
BC
83162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8317
8318 "setparams" command to update positional parameters.
8319
8320 * tests/grub_script_setparams.in: New test.
8321 * Makefile.util.def: Rules for new test.
8322
8323 * grub-core/script/argv.c (grub_script_argv_make): New function.
8324 * grub-core/script/execute.c (replace_scope): New function.
8325 (grub_script_setparams): New function.
8326 * grub-core/script/lexer.c: Remove unused variables.
8327 * grub-core/script/main.c: Register/unregister setparams command.
8328 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8329 (grub_script_setparams): New prototype.
8330
25b60c91
BC
83312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8332
8333 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8334 grub_free order.
8335
37e7bf68
BC
83362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8337
8338 Support for passing block of commands as an argument to extcmds.
8339
8340 * Makefile.util.def: Rules for new test.
8341 * tests/grub_script_blockarg.in: New test.
8342 * grub-core/tests/test_blockarg.c: New file, block argument
8343 command used in the test.
8344
8345 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8346 (grub_register_extcmd_prio): New function prototype.
8347 (grub_extcmd_dispatcher): New function prototype.
8348 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8349 type.
8350 * include/grub/script_sh.h (struct grub_script): New members
8351 `children', `next_siblings' and `refcnt' for block arguments and
8352 reference counting.
8353 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8354 (grub_script_arg): New member `script' for block argument.
8355 (grub_script_argv): New member `script' for block argument.
8356 (grub_parser_param): New member `scripts' for block argument.
8357 (grub_script_mem_free): New extern function prototype.
8358 (grub_script_ref): New function prototype.
8359 (grub_script_unref): New function prototype.
8360
8361 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8362 extcmd form to support block arguments.
8363 * grub-core/script/argv.c: Block arguments support.
8364 * grub-core/script/execute.c: Likewise.
8365 * grub-core/script/lexer.c: Likewise.
8366 * grub-core/script/main.c: Likewise.
8367 * grub-core/script/script.c: Likewise.
8368 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8369 non-terminals.
8370
8371 * grub-core/commands/acpi.c: Update extcmd implementations with
8372 grub_extcmd_context_t.
8373 * grub-core/commands/cat.c: Likewise.
8374 * grub-core/commands/echo.c: Likewise.
8375 * grub-core/commands/extcmd.c: Likewise.
8376 * grub-core/commands/hashsum.c: Likewise.
8377 * grub-core/commands/hdparm.c: Likewise.
8378 * grub-core/commands/help.c: Likewise.
8379 * grub-core/commands/hexdump.c: Likewise.
8380 * grub-core/commands/i386/cpuid.c: Likewise.
8381 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8382 * grub-core/commands/i386/pc/halt.c: Likewise.
8383 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8384 * grub-core/commands/iorw.c: Likewise.
8385 * grub-core/commands/keystatus.c: Likewise.
8386 * grub-core/commands/loadenv.c: Likewise.
8387 * grub-core/commands/ls.c: Likewise.
8388 * grub-core/commands/lspci.c: Likewise.
8389 * grub-core/commands/memrw.c: Likewise.
8390 * grub-core/commands/probe.c: Likewise.
8391 * grub-core/commands/search_wrap.c: Likewise.
8392 * grub-core/commands/setpci.c: Likewise.
8393 * grub-core/commands/sleep.c: Likewise.
8394 * grub-core/disk/loopback.c: Likewise.
8395 * grub-core/hello/hello.c: Likewise.
8396 * grub-core/loader/i386/bsd.c: Likewise.
8397 * grub-core/loader/xnu.c: Likewise.
8398 * grub-core/term/gfxterm.c: Likewise.
8399 * grub-core/term/serial.c: Likewise.
8400 * grub-core/tests/lib/functional_test.c: Likewise.
8401
888d1500
BC
84022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8403
8404 Multi-line quoted strings support.
8405
8406 * grub-core/script/lexer.c (append_newline): Removed.
8407 (grub_script_lexer_yywrap): Refactored.
8408 (grub_script_lexer_init): Refactored.
8409 * grub-core/script/yylex.l (yywrap): New function.
8410 (grub_lexer_resplit): New function.
8411 (grub_lexer_unput): New function.
8412 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8413 and resplit.
8414 * tests/grub_script_echo1.in: Added few more testcases.
8415
dda060dd
VS
84162010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/kern/misc.c: Don't add abort alias in utils.
8419 Reported by: echoline.
8420
6556eba9
BC
84212010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8422
8423 Add missing files into "make dist" tarball for other platforms.
8424
8425 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8426 * conf/Makefile.common (dist_noinst_DATA): New variable.
8427 * conf/Makefile.extra-dist: Added missing make dist files.
8428 * grub-core/Makefile.core.def: Likewise.
8429
c8e7bf5f
VS
84302010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 Compress grub_prefix.
8433
8434 * grub-core/boot/i386/pc/lnxboot.S: Use
8435 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8436 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8437 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8438 GRUB_MACHINE_PREFIX_END. All users updated.
8439 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8440 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8441 + 0x40.
8442 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8443 * util/grub-mkimage.c (image_target_desc): Change data_end to
8444 prefix_end. All users updated.
8445
a7c00cdb
VS
84462010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8449 value.
8450 (grub_openbsd_boot): Likewise.
8451 (grub_netbsd_boot): Likewise.
8452 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8453 (grub_xnu_boot): Likewise.
8454
9f915872
VS
84552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * configure.ac: Clean LIBS variable after tests.
8458
efa1bee7
CW
84592010-09-02 Colin Watson <cjwatson@ubuntu.com>
8460
8461 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8462
61d720e5
VS
84632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8466 echo if libdevmapper will be used.
8467
ef8e0ec8
IT
84682010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8469
8470 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8471 constant for the same file.
8472
03e261d8
VS
84732010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8476
c2a4eba6
CW
84772010-09-02 Colin Watson <cjwatson@ubuntu.com>
8478
8479 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8480 grub-core/*.pp.
8481
9056cbf3
CW
84822010-09-02 Colin Watson <cjwatson@ubuntu.com>
8483
8484 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8485 required by the boot protocol.
8486
8487 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8488 ebp and edi members.
8489 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8490 state.ebp and state.edi.
8491 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8492 %ebp and %edi according to grub_relocator32_ebp and
8493 grub_relocator32_edi respectively.
8494 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8495 and state.edi.
8496
529cc99a
VS
84972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Add i386-pc-pxe image target.
8500
8501 * util/grub-mkimage.c (image_target_desc): New enum value
8502 IMAGE_I386_PC_PXE.
8503 (image_targets): New target i386-pc-pxe.
8504 (generate_image): Handle i386-pc-pxe image.
8505
9a093920
VS
85062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 Fix grub_pxe_scan.
8509
8510 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8511 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8512 All users updated.
8513 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8514 (grub_pxe_pxenv): Correct type.
8515
f9cefc4e
CW
85162010-09-01 Colin Watson <cjwatson@ubuntu.com>
8517
8518 * NEWS: Document most of the important changes since 1.98.
8519
4066f57f
CW
85202010-09-01 Colin Watson <cjwatson@ubuntu.com>
8521
8522 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8523 generated manual page) a little.
8524
da2891f9
CW
85252010-09-01 Colin Watson <cjwatson@ubuntu.com>
8526
8527 * docs/grub.texi: Add myself as an author.
8528
ad717fae
VS
85292010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * Makefile.util.def (libgrub.a): Add missing sunpc.
8532 Reported by: Seth Goldberg.
8533
eefe8abd
VS
85342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Interrupt wrapping and code simplifications.
8537
9494ef9a
VS
8538 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8539 x86_noieee1275 which are functionaly equivalent in this case.
8540 (grub-install): Make source on each platform explicit. Enable on
8541 all noemu.
8542 * gentpl.py (x86_efi_pc): Removed group.
8543 (x86_noefi): Likewise.
8544 (i386_noefi): Likewise.
8545 (x86_noieee1275): Likewise.
8546 (i386_noieee1275): Likewise.
8547 (i386_noefi_noieee1275): Likewise.
8548 (i386_pc_qemu_coreboot): Likewise.
8549 (i386_coreboot_multiboot): Likewise.
8550 (i386_pc_coreboot_multiboot_qemu): Likewise.
8551 (x86_noefi_mips): Likewise.
8552 (noieee1275): Likewise.
8553 (ieee1275_mips): Likewise.
8554 (noemu_noieee1275): Likewise.
8555 (cmos): New group.
8556 (usb): Likewise.
8557 (videoinkernel): Likewise.
8558 (videomodules): Likewise.
eefe8abd 8559 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8560 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8561 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8562 include/grub/loader.h, include/grub/msdos_partition.h,
8563 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8564 include/grub/machine/console.h, include/grub/machine/vga.h,
8565 include/grub/machine/vbe.h, include/grub/machine/init.h,
8566 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8567 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8568 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8569 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8570 * grub-core/Makefile.core.def (kernel): Explicit the source for
8571 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8572 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8573 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8574 Use videoinkernel tag.
8575 (usb): Enable on all usb.
8576 (usbserial_common): Likewise.
8577 (usbserial_pl2303): Likewise.
8578 (usbserial_ftdi): Likewise.
8579 (uhci): Enable on all x86.
8580 (ohci): Enable on all pci.
8581 (cmostest): Enable on all CMOS.
8582 (acpi): Include commands/acpi.c on all platforms.
8583 (halt): Add relevant lib/*/halt.c.
8584 (hdparm): Enable on all pci.
8585 (lspci): Likewise.
8586 (usbtest): Enable on all usb.
8587 (ata): Enable on all pci.
8588 (ata_pthru): Likewise.
8589 (usbms): Enable on all usb.
8590 (usb_keyboard): Likewise.
8591 (font): Use tag videomodules.
8592 (bufio): Likewise.
8593 (datetime): Use tag cmos. Enable on all noemu.
8594 (mmap): Use tags common and x86.
8595 (gfxterm): Use tag videomodules.
8596 (bitmap): Likewise.
8597 (bitmap_scale): Likewise.
8598 (video_fb): Likewise.
8599 (video): Likewise.
8600 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8601 adjust padding accordingly. All users updated.
8602 (grub_ohci_transaction): Fix bad format specification.
8603 (GRUB_MOD_INIT): Add asserts for struct size.
8604 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8605 (grub_alloc_td): Likewise.
8606 (grub_free_queue): Likewise.
8607 (grub_uhci_transfer): Likewise.
8608 (grub_uhci_transaction): Fix bad format specification.
8609 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8610 (grub_usb_bulk_readwrite): Likewise.
8611 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8612 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8613 Made static.
8614 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8615 Made static.
8616 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8617 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8618 Transformed into C.
8619 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8620 Moved from here ...
8621 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8622 ... here. Transformed into C. Made static.
8623 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8624 Moved from here ...
8625 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8626 ... here. Transformed into C. Made static.
8627 * grub-core/kern/i386/pc/startup.S
8628 (grub_biosdisk_check_int13_extensions): Moved from here ...
8629 * grub-core/disk/i386/pc/biosdisk.c
8630 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8631 Made static.
8632 * grub-core/kern/i386/pc/startup.S
8633 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8634 * grub-core/disk/i386/pc/biosdisk.c
8635 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8636 Transformed into C. Made static.
8637 * grub-core/kern/i386/pc/startup.S
8638 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8639 * grub-core/disk/i386/pc/biosdisk.c
8640 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8641 Transformed into C. Made static.
8642 * grub-core/kern/i386/pc/startup.S
8643 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8644 * grub-core/disk/i386/pc/biosdisk.c
8645 (grub_biosdisk_get_diskinfo_standard): ... here.
8646 Transformed into C. Made static.
8647 * grub-core/kern/i386/pc/startup.S
8648 (grub_biosdisk_get_num_floppies): Moved from here ...
8649 * grub-core/disk/i386/pc/biosdisk.c
8650 (grub_biosdisk_get_num_floppies): ... here.
8651 Transformed into C. Made static.
8652 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8653 New function.
8654 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8655 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8656 Transformed into C. Made static.
8657 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8658 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8659 Transformed into C. Made static.
8660 * grub-core/kern/i386/ieee1275/init.c: Removed.
8661 * grub-core/kern/i386/misc.S: Likewise.
8662 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8663 Splitted from here ...
8664 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8665 Transformed into C. Made static. All users updated.
8666 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8667 Transformed into C. Made static. All users updated.
8668 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8669 Moved from here...
8670 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8671 Transformed into C. Made static. All users updated.
8672 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8673 Moved from here...
8674 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8675 Transformed into C. Made static. All users updated.
8676 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8677 Removed (replaced by C version).
8678 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8679 Moved from here...
8680 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8681 Transformed into C. Made static.
8682 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8683 Moved from here...
8684 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8685 ... here. Transformed into C.
8686 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8687 Moved from here...
8688 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8689 ... here. Transformed into C.
8690 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8691 Moved from here...
8692 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8693 ... here. Transformed into C. Made static.
8694 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8695 Moved from here...
8696 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8697 ... here. Transformed into C.
21ed554b
VS
8698 * grub-core/kern/i386/pc/startup.S
8699 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8700 * grub-core/video/i386/pc/vbe.c
8701 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8702 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8703 Moved from here...
8704 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8705 ... here. Transformed into C.
8706 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8707 Moved from here...
8708 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8709 ... here. Transformed into C.
8710 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8711 Moved from here...
8712 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8713 ... here. Transformed into C.
8714 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8715 Moved from here...
8716 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8717 ... here. Transformed into C.
8718 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8719 Moved from here...
8720 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8721 ... here. Transformed into C. Made static.
8722 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8723 Moved from here...
8724 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8725 ... here. Transformed into C. Made static.
8726 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8727 Moved from here...
8728 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8729 ... here. Transformed into C. Made static.
8730 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8731 pxe_rm_entry as third argument.
8732 (grub_bios_interrupt): New function.
8733 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8734 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8735 of calling grub_stop.
8736 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8737 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8738 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8739 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8740 * grub-core/lib/i386/halt.c: Moved from here ...
8741 * grub-core/lib/i386/halt.c: ... here.
8742 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8743 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8744 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8745 grub_stop_floppy.
8746 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8747 * include/grub/i386/coreboot/init.h: Removed.
8748 * include/grub/i386/multiboot/init.h: Likewise.
8749 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8750 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8751 * include/grub/i386/pc/int.h: New file.
8752 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8753 (grub_pxe_scan): Removed.
8754 (grub_pxe_call): Update prototype.
8755 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8756 prototypes.
8757 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8758 * include/grub/i386/qemu/init.h: Removed.
8759 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8760 noreturn.
8761 (grub_halt): Likewise.
8762 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8763 (grub_reboot): Likewise.
8764 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8765 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8766 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8767
215dd471
RM
87682010-08-30 Robert Millan <rmh@gnu.org>
8769
8770 * NEWS: Document addition of ZFS support in `grub-install' and
8771 `grub-mkconfig'.
8772
ebd65b82
BC
87732010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8774
8775 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8776 dprintf output.
8777
11721d19
VS
87782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Remove leftover embedding of font objects.
8781
8782 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8783 * util/grub-install.in (font): Removed.
8784 * util/grub-mkimage.c (generate_image): Remove font support. All users
8785 updated.
8786
37837d4e
VS
87872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 Remove leftover embedding of font objects.
8790
8791 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8792 * util/grub-install.in (font): Removed.
8793 * util/grub-mkimage.c (generate_image): Remove font support. All users
8794 updated.
8795
b4c1aae0
VS
87962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8799 Reported by: Ian Turner
b4c1aae0 8800
8920a08d
VS
88012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8804 timeout to avoid indefinite boot stalling.
8805
f21db033
VS
88062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8809 (grub_env_write_color_highlight): Likewise.
8810
9a9de209
VS
88112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * grub-core/normal/term.c (print_more): Return to normal and not
8814 to standard state after printing "---MORE---".
8815
3dca01d7
VS
88162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8819 Mask out the bit 0x80 since it has other meaning that specifiing color.
8820
0b986c40
VS
88212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 New relocator. Allows for more kernel support and more straightforward
8824 loader writing.
8825
8826 * Makefile.am (BOOTTARGET): New variable.
8827 (QEMU32): Likewise.
8828 (linux.init.x86_64): New target.
8829 (linux.init.i386): Likewise.
8830 (multiboot.elf): Likewise.
8831 (kfreebsd.elf): Likewise.
8832 (kfreebsd.aout): Likewise.
8833 (pc-chainloader.elf): Likewise.
8834 (pc-chainloader.bin): Likewise.
8835 (ntldr.elf): Likewise.
8836 (ntldr.bin): Likewise.
8837 (multiboot2.elf): Likewise.
8838 (kfreebsd.init.x86_64): Likewise.
8839 (kfreebsd.init.i386): Likewise.
8840 (knetbsd.init.i386): Likewise.
8841 (kopenbsd.init.i386): Likewise.
8842 (knetbsd.init.x86_64): Likewise.
8843 (kopenbsd.init.x86_64): Likewise.
8844 (linux-initramfs.i386): Likewise.
8845 (linux-initramfs.x86_64): Likewise.
8846 (kfreebsd-mfsroot.i386.img): Likewise.
8847 (knetbsd.image.i386): Likewise.
8848 (kopenbsd.image.i386): Likewise.
8849 (kopenbsd.image.x86_64): Likewise.
8850 (knetbsd.miniroot-image.i386.img): Likewise.
8851 (kfreebsd-mfsroot.x86_64.img): Likewise.
8852 (knetbsd.image.x86_64): Likewise.
8853 (knetbsd.miniroot-image.x86_64.img): Likewise.
8854 (kfreebsd-mfsroot.i386.gz): Likewise.
8855 (bootcheck-kfreebsd-i386): Likewise.
8856 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8857 (bootcheck-kfreebsd-x86_64): Likewise.
8858 (knetbsd.miniroot-image.i386.gz): Likewise.
8859 (bootcheck-knetbsd-i386): Likewise.
8860 (bootcheck-kopenbsd-i386): Likewise.
8861 (bootcheck-kopenbsd-x86_64): Likewise.
8862 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8863 (bootcheck-knetbsd-x86_64): Likewise.
8864 (bootcheck-linux-i386): Likewise.
8865 (bootcheck-linux-x86_64): Likewise.
8866 (bootcheck-linux16-i386): Likewise.
8867 (bootcheck-linux16-x86_64): Likewise.
8868 (bootcheck-multiboot): Likewise.
8869 (bootcheck-multiboot2): Likewise.
8870 (bootcheck-kfreebsd-aout): Likewise.
8871 (bootcheck-pc-chainloader): Likewise.
8872 (bootcheck-ntldr): Likewise.
8873 (CLEANFILES): Add new targets.
8874 (BOOTCHECKS): New variable.
8875 (.PHONY): Add bootchecks.
8876 (SUCCESSFUL_BOOT_STRING): New variable.
8877 (BOOTCHECK_TIMEOUT): Likewise.
8878 (bootcheck): New target
8879 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8880 * configure.ac: Correct efiemu excuse.
8881 * docs/grub.texi (Supported kernels): New chapter.
8882 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8883 include/grub/mm_private.h. Simplify inclusion of
8884 include/grub/boot.h, include/grub/loader.h
8885 and include/grub/msdos_partition.h
8886 (KERNEL_HEADER_FILES) [i386_coreboot]:
8887 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8888 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8889 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8890 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8891 include/grub/machine/loader.h.
8892 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8893 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8894 extra_dist.
8895 (pci.mod): Enable on i386-multiboot.
8896 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8897 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8898 i386-qemu.
8899 (relocator.mod): Rewritten.
8900 (aout.mod): Enable on all x86.
8901 (bsd.mod): Likewise.
8902 (ntldr.mod): New module.
8903 (linux.mod): Use loader/i386/linux.c on all x86.
8904 (xnu.mod): Enable on all x86.
8905 (vga_text.mod): disable on EFI and QEMU.
8906 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8907 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8908 * grub-core/efiemu/loadcore.c: Likewise.
8909 * grub-core/efiemu/main.c: Likewise.
8910 (grub_efiemu_exit_boot_services): Removed.
8911 (grub_efiemu_finish_boot_services): Likewise.
8912 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8913 function.
8914 * grub-core/efiemu/i386/nocfgtables.c: New file.
8915 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8916 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8917 (grub_efi_finish_boot_services): Moved from here ...
8918 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8919 Fille finish memory map and related data.
8920 (finish_mmap_buf): New variable.
8921 (grub_efi_uintn_t finish_mmap_size): Likewise.
8922 (grub_efi_uintn_t finish_key): Likewise.
8923 (grub_efi_uintn_t finish_desc_size): Likewise.
8924 (grub_efi_uint32_t finish_desc_version): Likewise.
8925 (grub_efi_is_finished): Likewise.
8926 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8927 finished.
8928 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8929 (grub_elf64_phdr_iterate): Likewise.
8930 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8931 (grub_os_area_size): Likewise.
8932 (grub_machine_init): Don't reserve os area.
8933 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8934 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8935 * grub-core/kern/i386/loader.S: Removed.
8936 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8937 (grub_os_area_size): Likewise.
8938 (grub_machine_init): Don't reserve os area.
8939 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8940 Don't call grub_dl_unload_all.
8941 Don't include loader.S.
8942 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8943 Declare the memory after _end as available.
8944 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8945 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8946 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8947 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8948 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8949 * include/grub/mm_private.h (grub_mm_header): ... here.
8950 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8951 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8952 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8953 (grub_mm_region): ..here. Removed addr. Added pre_size.
8954 All users updated.
8955 * grub-core/kern/mm.c (base): Renamed to ...
8956 (grub_mm_base): ... this. Made global.
8957 (grub_real_malloc): Alloc from end of region.
8958 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8959 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8960 * grub-core/kern/powerpc/cache_flush.S: ... here.
8961 * grub-core/lib/efi/relocator.c: New file.
8962 * grub-core/lib/i386/relocator.c: Rewritten.
8963 * grub-core/lib/i386/relocator16.S: New file.
8964 * grub-core/lib/i386/relocator32.S: Likewise.
8965 * grub-core/lib/i386/relocator64.S: Likewise.
8966 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8967 * grub-core/lib/i386/relocator_common.S: New file.
8968 * grub-core/lib/ieee1275/relocator.c: Likewise.
8969 * grub-core/lib/mips/relocator.c: Rewritten.
8970 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8971 stylistic adjustments.
8972 * grub-core/lib/powerpc/relocator.c: New file.
8973 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8974 * grub-core/lib/relocator.c: Rewritten.
8975 * grub-core/lib/x86_64/relocator_asm.S: New file.
8976 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8977 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8978 (bsd_tag): New struct.
8979 (tags): New variable.
8980 (tags_last): Likewise.
8981 (netbsd_module): New struct.
8982 (netbsd_mods): New variable.
8983 (netbsd_mods_last): Likewise.
8984 (openbsd_opts): New parameter "serial".
8985 (OPENBSD_SERIAL_ARG): New definition.
8986 (netbsd_opts): New parameter "serial".
8987 (NETBSD_SERIAL_ARG): New definition.
8988 (grub_freebsd_add_meta): Reorganised into ...
8989 (grub_bsd_add_meta): ...this. All users updated.
8990 (grub_freebsd_add_mmap): Reorganised into ...
8991 (generate_e820_mmap): ...this...
8992 (grub_bsd_add_mmap): ...and this. All users updated.
8993 (grub_freebsd_list_modules): Use tags.
8994 (grub_netbsd_add_meta_module): New function.
8995 (grub_netbsd_list_modules): Likewise.
8996 (grub_freebsd_boot): Use relocator and finish EFI.
8997 (grub_openbsd_boot): Likewise.
8998 (grub_netbsd_setup_video): New function.
8999 (grub_netbsd_add_modules): Likewise.
9000 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
9001 and finish EFI.
9002 (grub_bsd_unload): Unload tags.
9003 (grub_bsd_load_aout): Use relocator.
9004 (grub_bsd_elf32_size_hook): New function.
9005 (grub_bsd_elf32_hook): Use relocator.
9006 (grub_bsd_elf64_size_hook): New function.
9007 (grub_bsd_elf64_hook): Use relocator.
9008 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
9009 (grub_bsd_load): Zero-out openbsd_ramdisk.
9010 (grub_bsd_load): Use relocator.
9011 (grub_cmd_openbsd): Support serial.
9012 (grub_cmd_netbsd): Support modules.
9013 (grub_cmd_freebsd_module): Use relocator.
9014 (grub_netbsd_module_load): New function.
9015 (grub_cmd_netbsd_module): Likewise.
9016 (grub_cmd_openbsd_ramdisk): Likewise.
9017 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
9018 kopenbsd_ramdisk.
9019 (GRUB_MOD_FINI): Unregister new commands.
9020 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
9021 (grub_freebsd_load_elfmodule_obj): Use relocator.
9022 (grub_freebsd_load_elfmodule): Likewise.
9023 (grub_freebsd_load_elf_meta): Likewise.
9024 (grub_netbsd_load_elf_meta): New function.
9025 (grub_openbsd_find_ramdisk): Likewise.
9026 * grub-core/loader/i386/bsd_helper.S: Removed.
9027 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
9028 * grub-core/loader/i386/bsd_trampoline.S: Removed.
9029 * grub-core/loader/i386/efi/linux.c: Likewise.
9030 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
9031 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
9032 (DEFAULT_VIDEO_MODE): Likewise.
9033 (real_mode_target): New variable.
9034 (prot_mode_target): Likewise.
9035 (initrd_mem_target): Likewise.
9036 (relocator): Likewise.
9037 (efi_mmap_buf): Likewise.
9038 (efi_mmap_size): Likewise.
9039 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
9040 (free_pages): Use relocator.
9041 (allocate_pages): Account for efi_mmap and use relocator. Return error.
9042 (grub_linux_setup_video): Return error.
9043 (grub_linux_trampoline_start): Removed.
9044 (grub_linux_trampoline_end): Likewise.
9045 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
9046 andd video parameters depending on firmware.
9047 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
9048 [GRUB_MACHINE_EFI]: Pass EFI parameters.
9049 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
9050 (grub_cmd_initrd): Use relocator.
9051 * grub-core/loader/i386/linux_trampoline.S: Removed.
9052 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
9053 (elf_sec_entsize): Likewise.
9054 (elf_sec_shstrndx): Likewise.
9055 (elf_sections): Likewise.
9056 (grub_multiboot_load): Use relocator.
9057 (grub_multiboot_get_mbi_size): Account for sections.
9058 (grub_multiboot_make_mbi): Use relocator and support sections.
9059 (grub_multiboot_add_elfsyms): New function.
9060 (grub_multiboot_free_mbi): Free sections.
9061 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
9062 (grub_linux_real_target): Likewise.
9063 (grub_linux_real_chunk): Likewise.
9064 (grub_linux16_prot_size): Likewise.
9065 (grub_linux16_boot): Use relocator.
9066 (grub_linux_unload): Unload relocator.
9067 (grub_cmd_linux): Use relocator.
9068 (grub_cmd_initrd): Likewise.
9069 * grub-core/loader/i386/pc/ntldr.c: New file.
9070 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
9071 Don't try to guess CPU frequency.
9072 (grub_xnu_set_video): Stretch bitmap.
9073 (grub_xnu_boot): Use relocator.
9074 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
9075 (grub_linux_unload): Free relocator.
9076 (grub_linux_load32): Use relocator.
9077 (grub_linux_load64): Likewise.
9078 (grub_cmd_initrd): Likewise.
9079 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
9080 (grub_multiboot_unload): Unload relocator.
9081 (grub_cmd_multiboot): Use relocator.
9082 (grub_cmd_module): Likewise.
9083 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
9084 Use relocator and support sections.
9085 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
9086 (elf_sec_entsize): Likewise.
9087 (elf_sec_shstrndx): Likewise.
9088 (elf_sections): Likewise.
9089 (grub_multiboot_load): Use relocator.
9090 (grub_multiboot_get_mbi_size): Account for sections.
9091 (grub_multiboot_make_mbi): Use relocator and support sections.
9092 (grub_multiboot_add_elfsyms): New function.
9093 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
9094 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
9095 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
9096 Prototype changed. All users updated.
9097 (grub_xnu_align_heap): Simplified.
9098 (grub_xnu_writetree_toheap): Likewise.
9099 (grub_xnu_unload): Unload relocator.
9100 (grub_cmd_xnu_kernel): Use relocator.
9101 (grub_cmd_xnu_kernel64): Likewise.
9102 (grub_xnu_register_memory): Simplified.
9103 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
9104 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
9105 EFI is finished.
9106 (grub_console_checkkey): Likewise.
9107 (grub_console_getkey): Likewise.
9108 (grub_console_getwh): Likewise.
9109 (grub_console_getxy): Likewise.
9110 (grub_console_gotoxy): Likewise.
9111 (grub_console_cls): Likewise.
9112 (grub_console_setcolorstate): Likewise.
9113 (grub_console_setcursor): Likewise.
9114 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
9115 * grub-core/tests/boot/kbsd.init-i386.S: New file.
9116 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
9117 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
9118 * grub-core/tests/boot/kernel-8086.S: Likewise.
9119 * grub-core/tests/boot/kernel-i386.S: Likewise.
9120 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
9121 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
9122 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
9123 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
9124 * grub-core/tests/boot/knetbsd.cfg: Likewise.
9125 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
9126 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
9127 * grub-core/tests/boot/linux.cfg: Likewise.
9128 * grub-core/tests/boot/linux.init-i386.S: Likewise.
9129 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
9130 * grub-core/tests/boot/linux16.cfg: Likewise.
9131 * grub-core/tests/boot/multiboot.cfg: Likewise.
9132 * grub-core/tests/boot/multiboot2.cfg: Likewise.
9133 * grub-core/tests/boot/ntldr.cfg: Likewise.
9134 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
9135 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
9136 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
9137 New definition.
9138 * include/grub/dl.h (grub_dl_unload_all): Removed.
9139 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
9140 (grub_efi_finish_boot_services): Change prototype.
9141 (grub_efi_is_finished): New variable.
9142 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
9143 Changed prototype.
9144 (grub_efiemu_finish_boot_services): Removed.
9145 (grub_machine_efiemu_init_tables): New prototype.
9146 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
9147 (grub_elf64_phdr_iterate): Likewise.
9148 * include/grub/i386/bsd.h: Include relocator.h.
9149 (freebsd_tag_header): New struct.
9150 (grub_openbsd_bios_mmap): Removed.
9151 (grub_unix_real_boot): Removed.
9152 (grub_freebsd_load_elfmodule32): Changed prototype.
9153 (grub_freebsd_load_elfmodule_obj64): Likewise.
9154 (grub_freebsd_load_elf_meta32): Likewise.
9155 (grub_freebsd_load_elf_meta64): Likewise.
9156 (grub_freebsd_add_meta): Removed.
9157 (grub_netbsd_load_elf_meta32): New prototype.
9158 (grub_netbsd_load_elf_meta64): Likewise.
9159 (grub_bsd_add_meta): Likewise.
9160 (grub_openbsd_ramdisk_descriptor): New struct.
9161 (grub_openbsd_find_ramdisk32): New prototype.
9162 (grub_openbsd_find_ramdisk64): Likewise.
9163 * include/grub/i386/coreboot/loader.h: Removed.
9164 * include/grub/i386/efi/loader.h: Likewise.
9165 * include/grub/i386/ieee1275/loader.h: Likewise.
9166 * include/grub/i386/linux.h (linux_kernel_header): Change void *
9167 to grub_uint32_t.
9168 * include/grub/i386/loader.h: Removed.
9169 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
9170 value.
9171 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
9172 (grub_phys_addr_t): New type.
9173 (grub_vtop): New inline function.
9174 (grub_map_memory): Likewise.
9175 (grub_unmap_memory): Likewise.
9176 * include/grub/i386/multiboot/loader.h: Removed.
9177 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
9178 (NETBSD_BTINFO_CONSOLE): New definition.
9179 (NETBSD_BTINFO_SYMTAB): Likewise.
9180 (NETBSD_BTINFO_MODULES): Likewise.
9181 (NETBSD_BTINFO_FRAMEBUF): Likewise.
9182 (grub_netbsd_bootinfo): New struct.
9183 (grub_netbsd_btinfo_common): Use explicit bitsize.
9184 (grub_netbsd_btinfo_mmap_entry): Removed.
9185 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
9186 (grub_netbsd_btinfo_bootdisk): New struct.
9187 (grub_netbsd_btinfo_symtab): Likewise.
9188 (grub_netbsd_btinfo_serial): Likewise.
9189 (grub_netbsd_btinfo_modules): Likewise.
9190 (grub_netbsd_btinfo_framebuf): Likewise.
9191 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
9192 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
9193 Likewise.
9194 (grub_openbsd_bootargs): Use explicit bitsize.
9195 (grub_openbsd_bootarg_console): New struct.
9196 (GRUB_OPENBSD_COM_MAJOR): New definition.
9197 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
9198 * include/grub/i386/pc/efiemu.h: Removed.
9199 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
9200 * include/grub/i386/qemu/loader.h: Removed.
9201 * include/grub/i386/relocator.h: Rewritten.
9202 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
9203 * include/grub/mips/memory.h: New file.
9204 * include/grub/mips/multiboot.h: Rewritten.
9205 * include/grub/mips/relocator.h: Rewritten.
9206 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
9207 (grub_vtop): New function.
9208 (grub_map_memory): Likewise.
9209 (grub_unmap_memory): Likewise.
9210 * include/grub/misc.h (ALIGN_DOWN): New definition.
9211 * include/grub/mm.h (grub_mm_check_real): New proto.
9212 (GRUB_MM_CHECK): New definition.
9213 * include/grub/mm_private.h: New file.
9214 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
9215 (grub_multiboot_get_mbi_size): Removed.
9216 (grub_multiboot_make_mbi): Change prottype.
9217 (grub_multiboot_set_accepts_video): New proto.
9218 (grub_multiboot_add_elfsyms): Likewise.
9219 (grub_multiboot_payload_eip): New variable.
9220 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
9221 New prototype.
9222 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
9223 New definition.
9224 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
9225 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
9226 * include/grub/powerpc/ieee1275/loader.h: Removed.
9227 * include/grub/powerpc/memory.h: New file.
9228 * include/grub/powerpc/relocator.h: Likewise.
9229 * include/grub/relocator.h: Likewise.
9230 * include/grub/relocator_private.h: Likewise.
9231 * include/grub/sparc64/ieee1275/loader.h: Removed.
9232 * include/grub/x86_64/memory.h: New file.
9233 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
9234 (grub_xnu_heap_malloc): Likewise.
9235 (grub_xnu_heap_real_start): Removed.
9236 (grub_xnu_heap_start): Likewise.
9237 (grub_xnu_relocator): New variable.
9238 (grub_xnu_heap_target_start): Likewise.
9239 * tests/util/grub-shell.in: Support non-pc.
9240 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 9241
5303b85d
VS
92422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
9245 on malloc error.
9246 (grub_bidi_logical_to_visual): Check that malloc succeded.
9247 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
9248 puts.
9249 (grub_xputs_normal): Likewise.
9250
d768d159
VS
92512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
9254 extra_dist.
9255
92562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/efiemu/runtime/efiemu.sh: Removed.
9259
5bf84df4
VS
92602010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
9263
3626810e
VS
92642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
9267 dprintf.
9268
a7363f53
BC
92692010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
9270
9271 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
9272
902f75f6
VS
92732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/normal/term.c (print_more): Fix a memory leak.
9276 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9277 (grub_xputs_normal): Likewise.
9278
3c707967
VS
92792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
9282 the begining of the string
9283
2053cc07
VS
92842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/script/script.c (grub_script_parse): Free parsed on
9287 failure.
9288
46422ebf
VS
92892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
9292 on failure.
9293
9e0fa3f6
VS
92942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
9297 return.
9298
3393cf16
VS
92992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
9302 (scroll_up): Fix a memory leak.
9303
b17540cb
VS
93042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
9307 errors.
9308
67140446
VS
93092010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Handle USB pendrives exposed as floppies.
9312
9313 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9314 floppy.
9315 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9316 Check for partitions on all devices.
9317
e35e46fc
VS
93182010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9321 (readkey): Likewise.
9322
d24c6190
BC
93232010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9324
9325 Multiple variable names support to "export" command.
9326
9327 * normal/context.c (grub_cmd_export): "export" command supports
9328 multiple variable names.
9329
04ddcc6a
ST
93302010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9331
9332 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9333 --target=drive output to Mach device name.
9334
0c8b61d8
BC
93352010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9336
9337 New Automake based build system for GRUB.
9338
9339 * ABOUT-NLS: New file.
9340 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9341 in Makefile.util.def file.
9342 * Makefile.util.def: New file. Autogen build definitions file for
9343 GRUB host utils.
9344 * conf/Makefile.common: New file. Common variables for GRUB host
9345 utils and target modules.
9346 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9347 * docs/Makefile.am: New file. Automake file for docs.
9348 * gentpl.py: New file. Python script to generate Autogen
9349 template.
9350 * grub-core/Makefile.am: New file. GRUB target modules' rules
9351 that doesn't fit in Makefile.core.def file.
9352 * grub-core/Makefile.core.def: New file. Autogen build
9353 definitions file for GRUB target modules.
9354 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9355 specific setjmp.S file.
9356 * po/Makefile.am: New file.
9357
9358 * .bzrignore: New ignores.
9359 * INSTALL: New requirements, without Ruby.
9360 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9361 * autogen.sh: Updated to invoke autogen as necessary.
9362 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9363 and defines for Automake conditionals.
9364 * geninit.sh: Refactoring.
9365
9366 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9367 necessary.
9368 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9369 New prototype.
9370
9371 * include/grub/test.h: Fix functional test modules' naming.
9372 * grub-core/tests/example_functional_test.c: Fix test module name.
9373
9374 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9375 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9376 * util/grub-editenv.c: Likewise.
9377 * util/grub-fstest.c: Likewise.
9378 * util/grub-mkdevicemap.c: Likewise.
9379 * util/grub-mkfont.c: Likewise.
9380 * util/grub-mkimage.c: Likewise.
9381 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9382 * util/grub-probe.c: Likewise.
9383 * util/grub-script-check.c: Likewise.
9384 * util/i386/pc/grub-setup.c: Likewise.
9385 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9386
9387 * tests/util/grub-shell.in: Fix override directory path.
9388 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9389 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9390
9391 * util/lvm.c: Update #includes.
9392 * util/raid.c: Likewise.
9393 * util/resolve.c: Likewise.
9394 * grub-core/bus/emu/pci.c: Likewise.
9395 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9396 * grub-core/lib/posix_wrap/string.h: Likewise.
9397 * grub-core/kern/emu/main.c: Likewise.
9398
9399 * grub-core/gensymlist.sh: New file. Script for generating kernel
9400 symbols file.
9401 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9402
9403 * grub-core/gentrigtables.c: Fix unused variable warnings.
9404
9405 * Makefile.in: Removed.
9406 * conf/any-emu.rmk: Removed.
9407 * conf/common.rmk: Removed.
9408 * conf/i386-coreboot.rmk: Removed.
9409 * conf/i386-efi.rmk: Removed.
9410 * conf/i386-ieee1275.rmk: Removed.
9411 * conf/i386-multiboot.rmk: Removed.
9412 * conf/i386-pc.rmk: Removed.
9413 * conf/i386-qemu.rmk: Removed.
9414 * conf/i386.rmk: Removed.
9415 * conf/mips-yeeloong.rmk: Removed.
9416 * conf/mips.rmk: Removed.
9417 * conf/powerpc-ieee1275.rmk: Removed.
9418 * conf/sparc64-ieee1275.rmk: Removed.
9419 * conf/tests.rmk: Removed.
9420 * conf/x86-efi.rmk: Removed.
9421 * conf/x86_64-efi.rmk: Removed.
9422 * gendistlist.sh: Removed.
9423 * geninitheader.sh: Removed.
9424 * genkernsyms.sh.in: Removed.
9425 * genmk.rb: Removed.
9426 * gensymlist.sh.in: Removed.
9427 * mkinstalldirs: Removed.
9428 * boot: Moved ...
9429 * grub-core/boot: ... to here.
9430 * bus: Moved ...
9431 * grub-core/bus: ... to here.
9432 * commands: Moved ...
9433 * grub-core/commands: ... to here.
9434 * disk: Moved ...
9435 * grub-core/disk: ... to here.
9436 * efiemu: Moved ...
9437 * grub-core/efiemu: ... to here.
9438 * font: Moved ...
9439 * grub-core/font: ... to here.
9440 * fs: Moved ...
9441 * grub-core/fs: ... to here.
9442 * gencmdlist.sh: Moved ...
9443 * grub-core/gencmdlist.sh: ... to here.
9444 * genemuinit.sh: Moved ...
9445 * grub-core/genemuinit.sh: ... to here.
9446 * genemuinitheader.sh: Moved ...
9447 * grub-core/genemuinitheader.sh: ... to here.
9448 * genfslist.sh: Moved ...
9449 * grub-core/genfslist.sh: ... to here.
9450 * genhandlerlist.sh: Moved ...
9451 * grub-core/genhandlerlist.sh: ... to here.
9452 * genmoddep.awk: Moved ...
9453 * grub-core/genmoddep.awk: ... to here.
9454 * genmodsrc.sh: Moved ...
9455 * grub-core/genmodsrc.sh: ... to here.
9456 * genpartmaplist.sh: Moved ...
9457 * grub-core/genpartmaplist.sh: ... to here.
9458 * genparttoollist.sh: Moved ...
9459 * grub-core/genparttoollist.sh: ... to here.
9460 * genterminallist.sh: Moved ...
9461 * grub-core/genterminallist.sh: ... to here.
9462 * gentrigtables.c: Moved ...
9463 * grub-core/gentrigtables.c: ... to here.
9464 * genvideolist.sh: Moved ...
9465 * grub-core/genvideolist.sh: ... to here.
9466 * gettext: Moved ...
9467 * grub-core/gettext: ... to here.
9468 * gfxmenu: Moved ...
9469 * grub-core/gfxmenu: ... to here.
9470 * gnulib: Moved ...
9471 * grub-core/gnulib: ... to here.
9472 * hello: Moved ...
9473 * grub-core/hello: ... to here.
9474 * hook: Moved ...
9475 * grub-core/hook: ... to here.
9476 * io: Moved ...
9477 * grub-core/io: ... to here.
9478 * kern: Moved ...
9479 * grub-core/kern: ... to here.
9480 * lib: Moved ...
9481 * grub-core/lib: ... to here.
9482 * loader: Moved ...
9483 * grub-core/loader: ... to here.
9484 * mmap: Moved ...
9485 * grub-core/mmap: ... to here.
9486 * normal: Moved ...
9487 * grub-core/normal: ... to here.
9488 * partmap: Moved ...
9489 * grub-core/partmap: ... to here.
9490 * parttool: Moved ...
9491 * grub-core/parttool: ... to here.
9492 * script: Moved ...
9493 * grub-core/script: ... to here.
9494 * term: Moved ...
9495 * grub-core/term: ... to here
9496 * tests/example_functional_test.c: Moved ...
9497 * grub-core/tests/example_functional_test.c: ... to here.
9498 * tests/lib/functional_test.c: Moved ...
9499 * grub-core/tests/lib/functional_test.c: ... to here.
9500 * tests/lib/test.c: Moved ...
9501 * grub-core/tests/lib/test.c: ... to here.
9502 * video: Moved ...
9503 * grub-core/video: ... to here.
9504
645586e6
BC
95052010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9506
9507 Replace --enable-grub-emu-modules with grub-emu-lite.
9508
9509 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9510 cache.S.
9511
9512 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9513 * kern/emu/full.c: New file. For grub-emu specific initialization.
9514 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9515 * kern/emu/main.c: Call initialization function grub_emu_init.
9516
9517 * Makefile.in: Include grub-emu-lite in install.
9518 * commands/parttool.c: Use grub_no_autoload to differentiate
9519 between grub-emu and grub-emu-lite.
9520 * include/grub/misc.h: New variable grub_no_autoload.
9521
9522 * conf/any-emu.rmk: New rules for grub-emu-lite.
9523 * configure.ac: Remove --enable-grub-emu-modules.
9524 * genmk.rb: Cleanup unnecessary rules.
9525 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9526
9527 * normal/main.c: Don't load list files on grub-emu-lite.
9528 * util/misc.c (grub_arch_sync_caches): Removed.
9529
f86a4030
CW
95302010-08-23 Colin Watson <cjwatson@ubuntu.com>
9531
9532 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9533 grub-mkimage rather than grub-mkelfimage.
9534 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9535
06776944
VS
95362010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9539 a key after CapsLock or NumLock. It's just a qemu bug.
9540
df262419
VS
95412010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9544 needed by libusb wrapper.
9545
b40ea81b
ST
95462010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9547
9548 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9549
dee50575
VS
95502010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9553 --nounzip is passed.
9554
fb1d7b79
VS
95552010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 USB hotunplugging and USB serial support.
9558
9559 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9560 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9561 (grub_uhci_transfer): Respect timeout and set *actual.
9562 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9563 non-standard length.
9564 (grub_usb_device_attach): Autoload modules.
9565 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9566 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9567 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9568 users updated.
9569 (grub_usb_add_hub): Fill nports and children.
9570 (attach_root_port): Receive hub instead of controller.
9571 All users updated. Fill hub->devices.
9572 (grub_usb_root_hub): Allocate hub->devices.
9573 (detach_device): New function.
9574 (poll_nonroot_hub): Fill children and detach devices.
9575 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9576 actual arguments. All users updated.
9577 (grub_usb_bulk_read_extended): New function.
9578 * bus/usb/serial/common.c: New file.
9579 * bus/usb/serial/ftdi.c: Likewise.
9580 * bus/usb/serial/pl2303.c: Likewise.
9581 * commands/terminal.c (handle_command): Support wildcard.
9582 * commands/usbtest.c: Output "Unknown" instead of empty string.
9583 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9584 (usbserial_common_mod_SOURCES): New variable.
9585 (usbserial_common_mod_CFLAGS): Likewise.
9586 (usbserial_common_mod_LDFLAGS): Likewise.
9587 (pkglib_MODULES): Add usbserial_pl2303.mod.
9588 (usbserial_pl2303_mod_SOURCES): New variable.
9589 (usbserial_pl2303_mod_CFLAGS): Likewise.
9590 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9591 (pkglib_MODULES): Add usbserial_ftdi.mod.
9592 (usbserial_ftdi_mod_SOURCES): New variable.
9593 (usbserial_ftdi_mod_CFLAGS): Likewise.
9594 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9595 (pkglib_MODULES): Add serial.mod.
9596 (serial_mod_SOURCES): New variable.
9597 (serial_mod_CFLAGS): Likewise.
9598 (serial_mod_LDFLAGS): Likewise.
9599 * conf/i386-pc.rmk: Likewise.
9600 * conf/mips-yeeloong.rmk: Likewise.
9601 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9602 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9603 * disk/usbms.c (first_available_slot): New variable.
9604 (grub_usbms_attach): Don't reuse free slots due to potential cache
9605 problems.
9606 * include/grub/serial.h: Moved to ..
9607 * include/grub/ns8250.h: ...this.
9608 * include/grub/serial.h: New file.
9609 * include/grub/term.h (grub_term_poll_usb): New variable.
9610 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9611 readkey. All users updated.
9612 (grub_terminfo_output_state): Pass term to put.
9613 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9614 (grub_usb_controller_dev): Add timeout and actual arguments to
9615 transfer. All users updated.
9616 (grub_usb_interface): New field detach_data.
9617 (grub_usb_device): New fields children and nports.
9618 (grub_usb_ep_type_t): New type.
9619 (grub_usb_get_ep_type): New function.
9620 (grub_usb_bulk_read_extended): Likewise.
9621 * include/grub/usbdesc.h (grub_usb_desc): New type.
9622 * include/grub/usbserial.h: New file.
9623 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9624 * kern/term.c (grub_term_poll_usb): New variable.
9625 (grub_getkey): Call grub_term_poll_usb if set.
9626 (grub_checkkey): Likewise.
9627 (grub_getkeystatus): Likewise.
9628 * term/serial.c: Moved controller-specific parts to ...
9629 * term/ns8250.c: ... here.
9630 * term/serial.c: Mostly rewritten.
9631 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9632 according to spec.
9633
21a313de
RM
96342010-08-20 Robert Millan <rmh@gnu.org>
9635
9636 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9637 a separate module and maybe other interesting combinations.
9638
9639 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9640 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9641 (kfreebsd_entry): Add generic filesystem module load routine.
9642 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9643
63c734a6
CW
96442010-08-20 Colin Watson <cjwatson@ubuntu.com>
9645
9646 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9647 "numcenter" (I misunderstood the purpose of this entry).
9648 * docs/grub.texi (sendkey): Likewise.
9649
c4d16542
CW
96502010-08-20 Colin Watson <cjwatson@ubuntu.com>
9651
9652 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9653 status flag options; simply omitting the option is equivalent and
9654 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9655 (keysym_table): Rename "num5numlock" to "numlock".
9656 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9657 can uniformly say that only the last of multiple `sendkey'
9658 invocations has any effect.
9659 * docs/grub.texi (sendkey): New section.
9660
93541d66
CW
96612010-08-19 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * commands/i386/pc/sendkey.c (options): Fix three typos.
9664
b4ece5e1
VS
96652010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 Implement sendkey support.
9668
9669 * commands/i386/pc/sendkey.c: New file.
9670 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9671 (sendkey_mod_SOURCES): New variable.
9672 (sendkey_mod_CFLAGS): Likewise.
9673 (sendkey_mod_LDFLAGS): Likewise.
9674
51f1f5af
CW
96752010-08-18 Colin Watson <cjwatson@ubuntu.com>
9676
9677 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9678 fix warnings from Autoconf.
9679
9da94e05
CW
96802010-08-18 Colin Watson <cjwatson@ubuntu.com>
9681
9682 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9683 to avoid false positives with some assemblers that output things
9684 like "someprefix_func" as part of their output.
9685
729a0f2e
RM
96862010-08-15 Robert Millan <rmh@gnu.org>
9687
9688 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9689 errors.
9690 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9691 grub_get_libzfs_handle() errors.
9692
f3710e08
RM
96932010-08-14 Robert Millan <rmh@gnu.org>
9694
9695 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9696 filesystem is not ZFS.
9697
7a3c13de
BC
96982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9699
9700 Fix for misspelled color names defaulting to black/black (bug
9701 reported by Doug Nazar)
9702
9703 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9704 status to prototype.
9705 * normal/color.c (grub_parse_color_name_pair): Return failure
9706 status.
9707 (grub_env_write_color_normal): Ignore bad color names.
9708 (grub_env_write_color_highlight): Likewise.
9709 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9710
ab8ba50d
BC
97112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9712
9713 "shift" command support to GRUB script.
9714
9715 * include/grub/script_sh.h (grub_script_shift): New prototype.
9716 * script/execute.c (grub_script_shift): New function.
9717 * script/main.c (grub_script_init): Register shift command.
9718 (grub_script_fini): Unregister shift command.
9719 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9720
9721 * tests/grub_script_shift.in: New testcase.
9722 * conf/tests.rmk: Rules for new testcase.
9723
4d61999e
BC
97242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9725
9726 "continue" command support to GRUB script.
9727
9728 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9729 (grub_script_break): Continue support.
9730 * script/main.c (grub_script_init): Register continue command.
9731 (grub_script_fini): Unregister continue command.
9732
9733 * tests/grub_script_continue.in: New testcase.
9734 * conf/tests.rmk: Rules for new testcase.
9735
4df51e00
BC
97362010-08-12 BVK Chaitanya <bvk@dbook>
9737
9738 "break" command support to GRUB script.
9739
9740 * conf/common.rmk: Rule updates to grub-script-check.
9741 * include/grub/misc.h (grub_min): New function.
9742 * include/grub/script_sh.h (grub_script_init): New prototype.
9743 (grub_script_fini): New prototype.
9744 (grub_script_break): New prototype.
9745 * script/main.c (grub_script_init): New function.
9746 (grub_script_fini): New function.
9747 * script/execute.c (grub_script_break): New function.
9748 * normal/main.c: Calls to grub_script_{init,fini}.
9749 * util/grub-script-check.c (grub_script_break): New function.
9750
9751 * tests/grub_script_break.in: New testcase.
9752 * conf/tests.rmk: Rules for new test case.
9753
f12c8420
BC
97542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9755
9756 Function parameters support to GRUB script.
9757
9758 * script/yylex.l (VARIABLE): Regular expression update.
9759 * script/function.c (grub_script_function_call): Moved ...
9760 * script/execute.c (grub_script_function_call): ... to here.
9761 (grub_script_execute_arglist_to_argv): Removed.
9762 (grub_script_arglist_to_argv): New function.
9763 * script/argv.c: New file.
9764 (grub_script_argv_free): New function.
9765 (grub_script_argv_next): Likewise.
9766 (grub_script_argv_append): Likewise.
9767 (grub_script_argv_split_append): Likewise.
9768 * include/grub/script_sh.h (grub_script_argv): New struct.
9769 (grub_script_argv_free): New function.
9770 (grub_script_argv_next): Likewise.
9771 (grub_script_argv_append): Likewise.
9772 (grub_script_argv_split_append): Likewise.
9773
9774 * conf/common.rmk (normal.mod): New source script/argv.c.
9775
9776 * tests/grub_script_echo1.in: More tests.
9777 * tests/grub_script_vars1.in: Likewise.
9778 * tests/grub_script_functions.in: New test case.
9779 * conf/tests.rmk: Rules for new testcase.
9780
8022b748
BC
97812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9782
9783 Remove grub_script_cmdblock struct.
9784
9785 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9786 * script/parser.y: Likewise.
9787 * script/execute.c: Rename cmdblock suffix to cmdlist.
9788 * script/script.c: Likewise.
9789 * util/grub-script-check.c: Likewise.
9790
79a6ba61
YB
97912010-08-11 Yves Blusseau <blusseau@zetam.org>
9792
9793 * .bzrignore: add grub-macho2img
9794
d04b9414
VS
97952010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9798
f947ab49
VS
97992010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 Remove the dump of sm712 initialisation sequence.
9802
9803 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9804 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9805 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9806 (GRUB_VGA_CR_*): Added many registers.
9807 (GRUB_VGA_SR_*): Likewise.
9808 (GRUB_VGA_GR_*): Likewise.
9809 (grub_vga_write_arx): New function.
9810 (grub_video_hw_config): New struct.
9811 (grub_vga_set_geometry): New function.
9812 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9813 GRUB_PCI_CLASS_SUBCLASS_VGA.
9814 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9815 * video/sm712.c (grub_sm712_write_reg): New function
9816 (grub_sm712_read_reg): Likewise.
9817 (grub_sm712_sr_write): Likewise.
9818 (grub_sm712_gr_write): Likewise.
9819 (grub_sm712_cr_write): Likewise.
9820 (grub_sm712_write_arx): Likewise.
9821 (grub_sm712_cr_shadow_write): Likewise.
9822 (grub_sm712_write_dda_lookup): Likewise.
9823 (grub_video_sm712_setup): Initialise the video rather then
9824 blindly replay the dump.
9825 (main) [TEST]: Add a routine to be able to compile as standalone for
9826 tests.
9827 * video/sm712_init.c (sm712_init): Removed.
9828 (sm712_sr_seq1): New array.
9829 (sm712_sr_seq2): Likewise.
9830
f0206638
VS
98312010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * include/grub/vga.h: Add missing grub/pci.h include.
9834
2764da3b
YB
98352010-08-10 Yves Blusseau <blusseau@zetam.org>
9836
9837 * util/grub-macho2img.c (main): fix typo
9838
cf0c775e
VS
98392010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9842 (grub_vga_gr_read): Likewise.
9843 (grub_vga_cr_write): Likewise.
9844 (grub_vga_cr_read): Likewise.
9845 (grub_vga_sr_write): Likewise.
9846 (grub_vga_sr_read): Likewise.
9847 (grub_vga_palette_read): Likewise.
9848 (grub_vga_palette_write): Likewise.
9849 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9850 (grub_sm712_sr_read): New function.
9851 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9852 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9853
07f360e9
RM
98542010-08-09 Robert Millan <rmh@gnu.org>
9855
9856 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9857 out unused variables on non-ZFS build.
9858
346c2072
RM
98592010-08-08 Robert Millan <rmh@gnu.org>
9860
9861 Fix path generation for sub-filesystems in ZFS.
9862
9863 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9864 missing slash.
9865
71175420
RM
98662010-08-08 Robert Millan <rmh@gnu.org>
9867
9868 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9869
0d8286f3
RM
98702010-08-08 Robert Millan <rmh@gnu.org>
9871
9872 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9873 exist, issue a proper error message (rely on `ls' for translated
9874 strings).
9875
55dd2924
RM
98762010-08-08 Robert Millan <rmh@gnu.org>
9877
9878 Fix grub-probe invocation.
9879
9880 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9881
d3dd9e80
RM
98822010-08-04 Robert Millan <rmh@gnu.org>
9883
9884 * configure.ac: Remove checks for getfsstat() and getmntany().
9885 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9886 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9887 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9888 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9889 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9890 function.
9891 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9892 via find_mount_point_from_dir() and getfsstat() / getmntany().
9893
0de22aa9
RM
98942010-08-04 Robert Millan <rmh@gnu.org>
9895
9896 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9897 (grub_find_zpool_from_mount_point): Merge into ...
9898 (grub_find_zpool_from_dir): ... this.
9899 * kern/emu/misc.c: Likewise.
9900
9901 * kern/emu/misc.c
9902 (grub_make_system_path_relative_to_its_root): Replace
9903 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9904 with grub_find_zpool_from_dir().
9905 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9906
62858144
RM
99072010-08-04 Robert Millan <rmh@gnu.org>
9908
9909 Support OpenSolaris in ZFS device resolution.
9910
9911 * configure.ac: Check for getmntany().
9912 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9913 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9914 support.
9915
9dd6fd50
RM
99162010-08-03 Robert Millan <rmh@gnu.org>
9917
9918 Fix grub-emu build.
9919
9920 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9921 * include/grub/emu/misc.h: ... here.
9922
9923 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9924 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9925
9926 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9927 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9928 (grub_get_libzfs_handle): Move to ...
9929 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9930 (grub_get_libzfs_handle): ... here.
9931
c9f7ff97
BC
99322010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9933
9934 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9935 as command name case.
9936
a870a783
CW
99372010-08-02 Colin Watson <cjwatson@ubuntu.com>
9938
9939 * disk/raid.c (insert_array): Select unique numbers for named arrays
9940 as well, for use as keys in the disk cache.
9941
c7db243b
RM
99422010-08-01 Robert Millan <rmh@gnu.org>
9943
9944 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9945 kFreeBSD device name, except on ZFS where the filesystem label is
9946 used.
9947 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9948 `/boot/zfs/zpool.cache'.
9949 Set mountfrom kernel variable using ${kfreebsd_device}.
9950
f7abdefb
RM
99512010-08-01 Robert Millan <rmh@gnu.org>
9952
9953 Make it even harder to use uninitialized `libzfs_handle' (and
9954 make the interface a bit simpler).
9955
9956 * include/grub/util/misc.h (grub_util_init_libzfs)
9957 (libzfs_handle): Remove.
9958 (grub_get_libzfs_handle): New prototype.
9959
9960 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9961 attribute.
9962 (grub_util_init_libzfs): Remove.
9963 (grub_get_libzfs_handle): New function.
9964
9965 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9966 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9967 accessing `libzfs_handle' directly.
9968
c882acc0
RM
99692010-08-01 Robert Millan <rmh@gnu.org>
9970
9971 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9972 (grub_find_zpool_from_mount_point): New function prototypes.
9973
9974 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9975 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9976
9977 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9978 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9979 `static' attribute.
9980
9981 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9982 finding zpool from mount point into ...
9983 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9984
9985 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9986 requested path is part of a ZFS pool, use
9987 grub_find_zpool_from_mount_point() to detect its filesystem name,
9988 and generate a path with `/fsname@path' syntax.
9989
8bfe31d8
CW
99902010-08-01 Colin Watson <cjwatson@ubuntu.com>
9991
9992 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9993 (void) rather than () so that this is a proper prototype.
9994
553df63d
VS
99952010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9998
8687cf07
VS
99992010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
10002 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
10003
ea9be8ea
CW
100042010-08-01 Colin Watson <cjwatson@ubuntu.com>
10005
10006 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
10007
6eea041a
CW
100082010-08-01 Colin Watson <cjwatson@ubuntu.com>
10009
10010 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
10011
2cfb45df
CW
100122010-08-01 Colin Watson <cjwatson@ubuntu.com>
10013
10014 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
10015 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
10016 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
10017 disable gfxpayload.
10018 (Shell-like scripting): Add real content.
10019 (Serial terminal): Suggest `terminal_input serial; terminal_output
10020 serial' rather than putting the two commands on separate lines,
10021 since console input will be inoperative after the first command.
10022 (menuentry): Document --class, --users, and --hotkey options.
10023 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
10024 Vladimir Serbinenko).
10025
7decd202
VS
100262010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
100272010-08-01 Colin Watson <cjwatson@ubuntu.com>
10028
10029 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
10030
c882acc0
RM
100312010-08-01 Robert Millan <rmh@gnu.org>
10032
10033 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10034 (grub_find_zpool_from_mount_point): New function prototypes.
10035
10036 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10037 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10038
10039 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10040 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10041 `static' attribute.
10042
10043 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10044 finding zpool from mount point into ...
10045 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10046
10047 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10048 requested path is part of a ZFS pool, use
10049 grub_find_zpool_from_mount_point() to detect its filesystem name,
10050 and generate a path with `/fsname@path' syntax.
10051
deb0caa3
RM
100522010-08-01 Robert Millan <rmh@gnu.org>
10053
10054 Prevent accidental use of uninitialized libzfs_handle.
10055
10056 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
10057 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
10058 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
10059
ce04ef47
CW
100602010-08-01 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
10063 util/grub.d/10_linux.in). Fixes Debian bug #591093.
10064
ebf53056
RM
100652010-08-01 Robert Millan <rmh@gnu.org>
10066
10067 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 10068
3710bb6b
RM
100692010-07-31 Robert Millan <rmh@gnu.org>
10070
10071 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
10072
8072efeb
RM
100732010-07-31 Robert Millan <rmh@gnu.org>
10074
10075 * kern/emu/misc.c: Add missing license header.
10076
3169f4c7
RM
100772010-07-31 Robert Millan <rmh@gnu.org>
10078
10079 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
10080
10081 * include/grub/util/libnvpair.h: Include `<config.h>'.
10082 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
10083 declaring libnvpair prototypes ourselves.
10084 * include/grub/util/libzfs.h: Include `<config.h>'.
10085 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
10086 declaring libzfs prototypes ourselves.
10087
10088 (libzfs_handle): Moved to ...
10089 * include/grub/util/misc.h (libzfs_handle): ... here.
10090 Include `<grub/util/libzfs.h>'.
10091
c9a00aee
RM
100922010-07-30 Robert Millan <rmh@gnu.org>
10093
10094 * include/grub/emu/misc.h: Add missing license header.
10095
a184f9c8
RM
100962010-07-30 Robert Millan <rmh@gnu.org>
10097
10098 Enable `grub-probe -t device' resolution on ZFS.
10099
10100 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
10101 * include/grub/util/libnvpair.h: New file.
10102 * include/grub/util/libzfs.h: New file.
10103
10104 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
10105 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
10106 `<grub/util/libnvpair.h>'.
10107 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
10108
10109 (find_mount_point_from_dir): New static function.
10110 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
10111 function.
10112 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
10113 find_root_device_from_libzfs() before ressorting to find_root_device().
10114
10115 * include/grub/util/misc.h (grub_util_init_libzfs): New function
10116 prototype.
10117 * util/misc.c: Include `<grub/util/libzfs.h>'.
10118 (grub_util_init_libzfs): New function.
10119 [HAVE_LIBZFS] (libzfs_handle): New global variable.
10120 [HAVE_LIBZFS] (fini_libzfs): New static function.
10121 (grub_util_init_libzfs): New function.
10122 * util/grub-probe.c (main): Call grub_util_init_libzfs().
10123
f7790cdd
RM
101242010-07-30 Robert Millan <rmh@gnu.org>
10125
10126 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
10127 (xmalloc, xrealloc, xstrdup, xasprintf): Add
10128 `warn_unused_result' attribute.
10129 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
10130 (grub_xasprintf, grub_xvasprintf): Likewise.
10131 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
10132
0806b63c
RM
101332010-07-29 Robert Millan <rmh@gnu.org>
10134
10135 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
10136 (probe): Handle `PRINT_FS_LABEL'.
10137 (main): Handle `-t fs_label'.
10138
9f841f5c
RM
101392010-07-29 Robert Millan <rmh@gnu.org>
10140
10141 * configure.ac: Remove grub-mkisofs checks.
10142
46371121
VS
101432010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * util/ieee1275/grub-install.in: Don't use empty grub_device.
10146 Reported by: Lennart Sorensen.
10147
101482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
10151 prior to terminal_input/terminal_output separation. It's been over 1.5
10152 years and those versions weren't widely deployed.
10153
a9600892
CW
101542010-07-22 Colin Watson <cjwatson@ubuntu.com>
10155
10156 * disk/raid.c (insert_array): Don't count named arrays when looking
10157 for unused array numbers.
697e053c 10158 Reported and tested by: Michael Guntsche.
a9600892 10159
c03507df
CW
101602010-07-20 Colin Watson <cjwatson@ubuntu.com>
10161
10162 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
10163 implementation of this so that grub-emu links again, with a note
10164 that this should support hotplugging in the future.
10165
b26f1c11
CW
101662010-07-20 Colin Watson <cjwatson@ubuntu.com>
10167
10168 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10169
efc9d7f1
CW
101702010-07-20 Colin Watson <cjwatson@ubuntu.com>
10171
10172 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
10173 handle on failure.
10174 (grub_loopback_close): Remove empty function.
10175 (grub_loopback_dev): Remove close method.
10176
dd8ff5c9
CW
101772010-07-20 Colin Watson <cjwatson@ubuntu.com>
10178
10179 Disable EFI cursor when the EFI console becomes inactive.
10180
10181 * term/efi/console.c (grub_efi_console_init): New function.
10182 (grub_efi_console_fini): New function.
10183 (grub_console_term_output): Register init and fini methods.
10184
5e3bec67
VS
101852010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * tests/util/grub-shell-tester.in: Remove bashism and declare as
10188 sh script.
10189
afaec079
VS
101902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * disk/loopback.c (grub_loopback): Replace filename with file.
10193 (delete_loopback): Handle new semantics.
10194 (grub_cmd_loopback): Likewise.
10195 (grub_loopback_iterate): Likewise.
10196 (grub_loopback_close): Likewise.
10197
a6a11f3c
VS
101982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
10201 with -p "".
10202 Reported by: Tito Keitel.
10203
64a638b0
VS
102042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * docs/grub.texi (Naming convention): Document new naming convention.
10207
ab8ba957
VS
102082010-07-20 Vadim Solomin <vadic052@gmail.com>
102092010-07-20 Colin Watson <cjwatson@ubuntu.com>
10210
10211 Generate device.map in something closer to the old ordering.
10212
10213 * util/deviceiter.c (struct device): New declaration.
10214 (compare_file_names): Rename to ...
10215 (compare_devices): ... this. Sort by kernel name in preference to
10216 the stable by-id name, but keep the latter as a fallback comparison.
10217 Update header comment.
10218 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
10219 of `struct device' rather than of plain file names.
10220
a29d6a4b
TF
102212010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
10222
10223 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
10224 on i386.
10225
39d824e8
VS
102262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * commands/acpi.c (setup_common_tables): Use sizeof instead of
10229 hardcoding size.
10230 (setv1table): Likewise.
10231
f058276b
FZ
102322010-07-20 Colin Watson <cjwatson@ubuntu.com>
10233
10234 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
10235 removing the homehost if present.
10236 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
10237 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
10238 removing the homehost if present.
10239 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
10240 if possible.
10241 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
10242
10243 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
10244 parameter. Set its pointer target to 0.
10245 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
10246 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
10247 `data_offset' value from the superblock for 1.x metadata.
10248 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
10249 data on the device.
10250 (insert_array): Record the start sector of data on the device.
10251 (grub_raid_register): Pass start_sector parameters to
10252 grub_raid_list->detect and insert_array.
10253 * include/grub/raid.h (struct grub_raid_array): Add start_sector
10254 member.
10255 (struct grub_raid): Add start_sector parameter to `detect'.
10256
10257 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
10258 __attribute__ ((packed)), leaving a comment.
10259 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
10260 (grub_mdraid_detect_09): ... here and ...
10261 (grub_mdraid_detect_1x): ... here.
10262
102632010-07-20 Peter Henn <peter.henn@web.de>
10264
10265 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
10266 chunk size and disk size, which are already given as sector counts
10267 as distinct from the 0.90 units. Fetch the correct device number
10268 from the role table instead of using the table index.
10269
102702010-07-20 Felix Zielcke <fzielcke@z-51.de>
10271
10272 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
10273 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
10274 (WriteMostly1): New macro.
10275 Set array->name to NULL for metadata format 0.90. Add support for
10276 metadata 1.x. Fix some comments.
10277 * disk/raid.c (): Add support for name based RAID arrays. Fix a
10278 few comments.
10279 * util/getroot.c (grub_util_get_grub_dev): Add support for
10280 /dev/md/name style devices.
10281
4b761da9
CW
102822010-07-20 Colin Watson <cjwatson@ubuntu.com>
10283
10284 * .bzrignore: Ignore 20_linux_xen.
10285
5771289a
CW
102862010-07-17 Colin Watson <cjwatson@ubuntu.com>
10287
10288 * util/import_unicode.py: Remove unnecessary imports.
10289
5dab68df
AN
102902010-07-17 Aleš Nesrsta <starous@volny.cz>
10291
10292 Hotplugging and USB hub support.
10293
10294 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10295 (grub_ohci): Likewise.
10296 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
10297 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
10298 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
10299 (GRUB_OHCI_CTRL_EDS): Likewise.
10300 (GRUB_OHCI_BULK_EDS): Likewise.
10301 (GRUB_OHCI_TDS): Likewise.
10302 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
10303 (grub_ohci_ed_phys2virt): New function.
10304 (grub_ohci_virt_to_phys): Likewise.
10305 (grub_ohci_td_phys2virt): Likewise.
10306 (grub_ohci_td_virt2phys): Likewise.
10307 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10308 attachment.
10309 (grub_ohci_find_ed): New function.
10310 (grub_ohci_alloc_td): Likewise.
10311 (grub_ohci_free_td): Likewise.
10312 (grub_ohci_free_tds): Likewise.
10313 (grub_ohci_transfer): Use previously allocated memory.
10314 (grub_ohci_portstatus): Reset status changed bit.
10315 (grub_ohci_detect_dev): Supply status changed.
10316 (grub_ohci_fini_hw): Free memory.
10317 (grub_ohci_restore_hw): Reallocate memory.
10318 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10319 Reset status change.
10320 (grub_uhci_detect_dev): Supply status_change.
10321 * bus/usb/usb.c (attach_hooks): New var.
10322 (grub_usb_device_attach): New function.
10323 (grub_usb_register_attach_hook_class): Likewise.
10324 (grub_usb_unregister_attach_hook_class): Likewise.
10325 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10326 (grub_usb_add_hub): Reset connection changed bit.
10327 (attach_root_port): New function.
10328 (grub_usb_root_hub): Likewise.
10329 (poll_nonroot_hub): Likewise.
10330 (grub_usb_poll_devices): Likewise.
10331 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10332 * disk/usbms.c (grub_usbms_open): Use device hooks.
10333 (grub_usbms_iterate) :Poll devices.
10334 (grub_usbms_finddevs): Split into ...
10335 (grub_usbms_attach): ... this ...
10336 (grub_usbms_attach): ... and this.
10337 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10338 in detect_dev.
10339 (grub_usb_interface): New fields attached and detach_hook.
10340 (grub_usb_attach_hook_class): New type.
10341 (grub_usb_attach_desc): New struct.
10342 (grub_usb_register_attach_hook_class): New function.
10343 (grub_usb_unregister_attach_hook_class): Likewise.
10344 (grub_usb_poll_devices): Likewise.
10345 (grub_usb_device_attach): Likewise.
10346 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10347 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10348
3222efaf
VS
103492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10352 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10353 delta determination style. Works with most NetBSD partitions too.
10354
139b714a
VS
103552010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10358 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10359
986aad56
VS
103602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10363
99be513c
AB
103642010-07-14 Anton Blanchard <anton@samba.org>
10365
10366 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10367 ET_DYN files.
10368
18075f62
GS
103692010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10370
10371 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10372
8d9a5b15
GS
103732010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10374
10375 * kern/partition.c (grub_partition_check_containment): New function to
10376 check that a partition is physically contained in a parent. Since
10377 offsets are relative (and non-negative), this reduces to checking that
10378 the partition ends before its parent.
10379 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10380 (grub_partition_iterate): Likewise.
10381 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10382 comments.
10383 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10384 partitions that start before their parent, and add debug printfs.
10385
19563c25
CW
103862010-07-13 Colin Watson <cjwatson@ubuntu.com>
10387
10388 * Makefile.in (.SUFFIX): Spell correctly, as ...
10389 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10390 bare module name without `.mod', e.g. `test') tried to invoke a
10391 Modula-2 compiler.
10392
1a1f1e67
CW
103932010-07-13 Colin Watson <cjwatson@ubuntu.com>
10394
10395 * README: Point to the Info manual.
10396
811b0dca
JS
103972010-07-13 Jiro SEKIBA <jir@unicus.jp>
10398
10399 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10400 2nd superblock position from partition size.
10401
e4f4eafc
CW
104022010-07-10 Colin Watson <cjwatson@ubuntu.com>
10403
10404 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10405 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10406 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10407 outputs.
10408
4274c30f
VS
104092010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Restructure SCSI .id handling.
10412 Reported and tested by: Aleš Nesrsta.
10413
10414 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10415 (grub_atapi_dev): Changed .name to "ata". New field .id.
10416 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10417 (grub_usbms_dev): New field .id.
10418 * disk/scsi.c (grub_scsi_iterate): Generate name.
10419 (grub_scsi_open): Parse name.
10420 * include/grub/scsi.h (grub_make_scsi_id): New function.
10421 (grub_scsi_dev): Change iterate and open to number instead of naming
10422 busses. All users updated.
10423 (grub_scsi): Remove name. Add .bus.
10424
5bc24388
VS
104252010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * commands/help.c (grub_cmd_help): Fix a typo.
10428
249975ba
VS
104292010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10432 Reported and tested by: Colin Watson.
10433
3eaac1a1
VS
104342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10437 in this context.
10438
becce1b1
VS
104392010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10442
f7bf0918
CW
104432010-07-07 Colin Watson <cjwatson@ubuntu.com>
10444
10445 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10446 indentation.
10447
0b0f9620
CW
104482010-07-06 Colin Watson <cjwatson@ubuntu.com>
10449
10450 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10451 and disk/raid6_recover.c.
10452 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10453 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10454
1e545469
CW
104552010-07-06 Colin Watson <cjwatson@ubuntu.com>
10456
10457 * term/gfxterm.c (repaint_schedulded): Rename to ...
10458 (repaint_scheduled): ... this. Update all callers.
10459 (repaint_was_schedulded): Rename to ...
10460 (repaint_was_scheduled): ... this. Update all callers.
10461
5357687a
CW
104622010-07-06 Colin Watson <cjwatson@ubuntu.com>
10463
10464 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10465 which we expect to be handled by upper layers.
10466
29d7e783
BC
104672010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10468
10469 * bus/usb/usbhub.c: #include time.h header.
10470
37582066
CW
104712010-07-06 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10474 entry_name also for entries without stat blocks (e.g. ".."); fixes
10475 corruption of the first entry in a directory.
10476
c8c06953
CW
104772010-07-06 Colin Watson <cjwatson@ubuntu.com>
10478
10479 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10480 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10481 doesn't work otherwise.
10482
e75056f1
CW
104832010-07-05 Colin Watson <cjwatson@ubuntu.com>
10484
10485 * docs/grub.texi (Features): Update list of supported file systems.
10486 (GNU/Linux): Update for GRUB 2.
10487 (Serial terminal): Remove mention of --disable-serial, which was a
10488 GRUB Legacy configure option. Update instructions to use
10489 `terminal_input' and `terminal_output' rather than `terminal'.
10490 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10491 configuration' and `Installing GRUB using grub-install'.
10492 (Menu entry editor): Update for GRUB 2.
10493 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10494 Document new -a, -u, and -v options.
10495 (initrd): New section.
10496 (initrd16): New section.
10497 (linux): New section.
10498 (linux16): New section.
10499 (search): The `var' argument to `--set' is optional.
10500 (GRUB only offers a rescue shell): Go into a little more detail on
10501 drive ordering.
10502
5cf69151
CW
105032010-07-05 Colin Watson <cjwatson@ubuntu.com>
10504
10505 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10506
e3f90044
CW
105072010-07-05 Colin Watson <cjwatson@ubuntu.com>
10508
10509 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10510 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10511
38d8f4f3
CW
105122010-07-05 Colin Watson <cjwatson@ubuntu.com>
10513
10514 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10515 install_prefix, in line with install_dos_part and install_bsd_part.
10516 Add new prefix variable, which is copied to install_prefix after
10517 comparing core.img in memory with the one read from disk in the
10518 no-embedding case, and use that rather than overwriting
10519 install_prefix immediately when installing to a partition.
10520 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10521 Bicakci.
10522
57ebd41e
GS
105232010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10524
10525 * configure.ac: Avoid == in test command, it's not portable.
10526 * util/grub.d/30_os-prober.in: Likewise.
10527
cb7f64b2
CW
105282010-07-04 Colin Watson <cjwatson@ubuntu.com>
10529
10530 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10531
6b654bb0
GS
105322010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10533
10534 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10535 multiple (top-level) partmaps.
10536
72a2026d
VS
105372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10540 Reported by: Tino Keitel.
72a2026d 10541
df3eb88f
VS
105422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 Bidi and diacritics support.
10545
10546 * Makefile.in (widthspec.bin): New target.
10547 (widthspec.h): Likewise.
10548 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10549 * autogen.sh: Generate unidata.c.
10550 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10551 * commands/ls.c (grub_ls_list_devices): Likewise.
10552 (grub_ls_list_files): Likewise.
10553 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10554 (grub_mini_cmd_lsmod): Likewise.
10555 * commands/read.c: Likewise.
10556 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10557 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10558 * lib/arg.c (grub_arg_show_help): Likewise.
10559 * lib/crypto.c (grub_password_get): Likewise.
10560 * normal/auth.c (grub_username_get): Likewise.
10561 * normal/misc.c (grub_normal_print_device_info): Likewise.
10562 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10563 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10564 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10565 (normal/charset.c_DEPENDENCIES): New variable.
10566 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10567 (pkglib_MODULES): Remove charset.mod.
10568 (charset_mod_SOURCES): Removed.
10569 (charset_mod_CFLAGS): Likewise.
10570 (charset_mod_LDFLAGS): Likewise.
10571 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10572 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10573 and term/tparm.c.
10574 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10575 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10576 (kernel_img_HEADERS): Add terminfo.h.
10577 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10578 Fill ->font. Reverse ascii bitmaps.
10579 (grub_font_get_xheight): New function.
10580 * font/font.c (grub_font_get_string_width): Moved from here ...
10581 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10582 * font/font.c (grub_font_draw_string): Moved from here ...
10583 * gfxmenu/font.c (grub_font_draw_string): ... here.
10584 * font/font.c (grub_font_dup_glyph): New function.
10585 (grub_font_blit_glyph): Likewise.
10586 (grub_font_blit_glyph_mirror): Likewise.
10587 (blit_comb): Likewise.
10588 (grub_font_construct_dry_run): Likewise.
10589 (grub_font_get_constructed_device_width): Likewise.
10590 (grub_font_construct_glyph): Likewise.
10591 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10592 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10593 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10594 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10595 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10596 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10597 (grub_font_get_xheight): New proto.
10598 (grub_font_get_constructed_device_width): Likewise.
10599 (grub_font_construct_glyph): Likewise.
10600 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10601 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10602 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10603 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10604 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10605 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10606 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10607 (grub_console_getcharwidth): Likewise.
10608 * include/grub/misc.h (grub_xputs): New proto.
10609 (grub_puts): Inlined.
10610 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10611 (grub_normal_get_line_counter): Removed.
10612 (grub_install_newline_hook): Likewise.
10613 (grub_normal_get_char_counter): New proto.
10614 (grub_normal_reset_more): Likewise.
10615 (grub_xputs_normal): Likewise.
10616 * include/grub/powerpc/ieee1275/console.h: Removed.
10617 * include/grub/sparc64/ieee1275/console.h: Likewise.
10618 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10619 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10620 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10621 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10622 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10623 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10624 (grub_term_input): Pass reference to self. All users updated.
10625 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10626 Pass reference to self. New fields normal_color, highlight_color and
10627 data. All users updated.
10628 (grub_putchar): Removed.
10629 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10630 (grub_unicode_estimate_width): New function.
10631 (grub_term_getcharwidth): Add defaults.
10632 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10633 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10634 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10635 (grub_cls): Remove EXPORT_FUNC.
10636 (grub_setcolorstate): Inline.
10637 (grub_newline_hook): Removed.
10638 * include/grub/terminfo.h: Rewritten. All users updated.
10639 * include/grub/unicode.h: New file.
10640 * include/grub/video.h (grub_video_signed_rect): New type.
10641 * kern/emu/console.c (grub_console_highlight_color): Removed.
10642 (grub_console_normal_color): Likewise.
10643 (grub_console_standard_color): Made static.
10644 (grub_ncurses_putchar): Remove mapping.
10645 (grub_ncurses_getcharwidth): Removed.
10646 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10647 (grub_ncurses_setcolor): Removed.
10648 (grub_ncurses_getcolor): Likewise.
10649 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10650 (grub_console_putchar): ... this.
10651 (grub_console_putchar): Handle argument difference.
10652 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10653 console_init_early and console_init_lately.
10654 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10655 * kern/misc.c (grub_puts): Removed.
10656 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10657 (grub_vsnprintf_real): Remove str = NULL support.
10658 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10659 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10660 * kern/term.c (grub_putcode): Renamed to ...
10661 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10662 (grub_putchar): Removed.
10663 (grub_xputs_dumb): New function.
10664 (grub_xputs): New variable.
10665 * lib/charset.c: Move from here ...
10666 * normal/charset.c: ... to here.
10667 (grub_ucs4_to_utf8): New function.
10668 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10669 (join_types): New variable.
10670 (unpack_join): New function.
10671 (bidi_types): New variable.
10672 (unpack_bidi): New function.
10673 (get_bidi_type): Likewise.
10674 (get_join_type): Likewise.
10675 (is_mirrored): Likewise.
10676 (grub_unicode_get_comb_type): Likewise.
10677 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10678 (is_type_after): Likewise.
10679 (grub_unicode_aglomerate_comb): Likewise.
10680 (bidi_line_wrap): Likewise.
10681 (grub_bidi_line_logical_to_visual): Likewise.
10682 (grub_bidi_logical_to_visual): Likewise.
10683 (grub_unicode_mirror_code): Likewise.
10684 (grub_unicode_shape_code): Likewise.
10685 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10686 Don't use grub_putchar.
10687 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10688 (grub_normal_reader_init): Likewise.
10689 (grub_xputs_saved): New variable.
10690 (GRUB_MOD_INIT): Set grub_xputs.
10691 (GRUB_MOD_FINI): Restore grub_xputs.
10692 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10693 (menu_init): Avoid printing gfxmenu error.
10694 (show_menu): Use grub_normal_get_char_counter.
10695 * normal/menu_entry.c (update_screen): Fix out-of-array.
10696 (complete): Avoid NULL dereferencing.
10697 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10698 * normal/menu_text.c (print_spaces): Removed.
10699 (grub_print_ucs4): Likewise.
10700 (grub_print_message_indented): Use grub_print_ucs4.
10701 (print_message): Use grub_putcode.
10702 (print_entry): Hanlde diacritics.
10703 * normal/term.c (term_state): New type.
10704 (grub_more_lines): Removed.
10705 (term_states): New variable.
10706 (grub_normal_line_counter): Renamed to ..
10707 (grub_normal_char_counter): ...this. All users updated.
10708 (grub_normal_get_line_counter): Renamed to ...
10709 (grub_normal_get_char_counter): ... this.
10710 (grub_normal_reset_more): New function.
10711 (process_newline): Removed.
10712 (print_more): New function.
10713 (grub_install_newline_hook): Removed.
10714 (map_code): New function.
10715 (grub_puts_terminal): Use grub_print_ucs4.
10716 (putglyph): New function.
10717 (putcode_real): Likewise.
10718 (grub_putcode): Use putcode_real.
10719 (get_maxwidth): New function.
10720 (get_startwidth): Likewise.
10721 (print_ucs4_terminal): Likewise.
10722 (find_term_state): Likewise.
10723 (put_glyphs_terminal): Likewise.
10724 (print_backlog): Likewise.
10725 (print_ucs4_real): Likewise.
10726 (grub_print_ucs4): Likewise.
10727 (grub_xputs_normal): Likewise.
10728 * term/efi/console.c (grub_console_putchar): Output diacritics.
10729 (grub_console_getcharwidth): Removed.
10730 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10731 * term/gfxterm.c (clear_char): Free chars.
10732 (scroll_up): Avoid leaking memory.
10733 (grub_gfxterm_putchar): Support diacritics.
10734 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10735 * term/i386/pc/console.c (grub_console_term_output): Declare as
10736 GRUB_TERM_CODE_TYPE_VGA.
10737 * term/i386/pc/vga.c (grub_vga_term): Declare as
10738 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10739 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10740 GRUB_TERM_CODE_TYPE_VGA.
10741 * term/i386/vga_common.c (map_char): Removed.
10742 (grub_console_putchar): Likewise.
10743 (grub_console_getcharwidth): Likewise.
10744 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10745 (colors): Reordered to match terminfo.
10746 (grub_ofconsole_normal_color): Removed.
10747 (grub_ofconsole_writeesc): Likewise.
10748 (grub_ofconsole_highlight_color): Likewise.
10749 (grub_ofconsole_getcharwidth): Likewise.
10750 (grub_ofconsole_setcolorstate): Likewise.
10751 (grub_ofconsole_setcolor): Likewise.
10752 (grub_ofconsole_getcolor): Likewise.
10753 (grub_ofconsole_readkey): Renamed to ...
10754 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10755 key.
10756 (grub_ofconsole_checkkey): Removed.
10757 (grub_ofconsole_getkey): Likewise.
10758 (grub_ofconsole_getxy): Likewise.
10759 (grub_ofconsole_gotoxy): Likewise.
10760 (grub_ofconsole_cls): Likewise.
10761 (grub_ofconsole_refresh): Likewise.
10762 (grub_ofconsole_terminfo_input): New struct.
10763 (grub_ofconsole_terminfo_output): Likewise.
10764 (grub_ofconsole_term_input): Use terminfo.
10765 (grub_ofconsole_term_output): Likewise.
10766 (grub_console_init): Split into ...
10767 (grub_console_init_early): ...this and ...
10768 (grub_console_init_lately): ...this. Use terminfo.
10769 (grub_ofconsole_putchar): Renamed to ...
10770 (put): ... this. Remove mapping.
10771 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10772 * term/serial.c: Simplify using terminfo.
10773 (xpos): Removed.
10774 (ypos): Likewise.
10775 (keep_track): Likewise.
10776 (registered): Likewise.
10777 (input_buf): Likewise.
10778 (npending): Likewise.
10779 (serial_translate_key_sequence): Likewise.
10780 (fill_input_buf): Likewise.
10781 (grub_serial_checkkey): Likewise.
10782 (grub_serial_getkey): Likewise.
10783 (grub_serial_getxy): Likewise.
10784 (grub_serial_gotoxy): Likewise.
10785 (grub_serial_putchar): Likewise.
10786 (grub_serial_cls): Likewise.
10787 (grub_serial_setcolorstate): Likewise.
10788 (grub_serial_setcursor): Likewise.
10789 (serial_hw_init): Use serial_hw_fetch.
10790 (grub_serial_terminfo_input): New variable.
10791 (grub_serial_terminfo_output): Likewise.
10792 (grub_serial_term_input): Use terminfo.
10793 (grub_serial_term_output): Likewise.
10794 * term/terminfo.c (putstr): Use put.
10795 (grub_terminfo_all_free): New function
10796 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10797 (grub_terminfo_output_register): New function.
10798 (grub_terminfo_output_unregister): Likewise.
10799 (grub_terminfo_getxy): Likewise.
10800 (grub_terminfo_readkey): Likewise.
10801 (grub_terminfo_checkkey): Likewise.
10802 (grub_terminfo_getkey): Likewise.
10803 (grub_terminfo_input_init): Likewise.
10804 (print_terminfo): Likewise.
10805 (grub_cmd_terminfo): Handle encoding.
10806 (grub_terminfo_gotoxy): Track position.
10807 (grub_terminfo_cls): Likewise.
10808 (grub_terminfo_putchar): Likewise.
10809 (grub_terminfo_setcolorstate): Handle colors
10810 (grub_terminfo_cursor_on): This ...
10811 (grub_terminfo_cursor_off): ... and this merged into ...
10812 (grub_terminfo_setcursor): ... this.
10813 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10814 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10815 * unicode/BidiMirroring.txt: Likewise.
10816 * unicode/UnicodeData.txt: Likewise.
10817 * unicode/COPYING: Likewise.
10818 * util/grub-editenv.c (grub_putchar): Removed.
10819 (grub_xputs_real): New function.
10820 (grub_xputs): New variable.
10821 * util/grub-fstest.c (grub_putchar): Removed.
10822 (grub_xputs_real): New function.
10823 (grub_xputs): New variable.
10824 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10825 (grub_xputs_real): New function.
10826 (grub_xputs): New variable.
10827 * util/grub-probe.c (grub_putchar): Removed.
10828 (grub_xputs_real): New function.
10829 (grub_xputs): New variable.
10830 * util/grub-script-check.c (grub_putchar): Removed.
10831 (grub_xputs_real): New function.
10832 (grub_xputs): New variable.
10833 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10834 (grub_xputs_real): New function.
10835 (grub_xputs): New variable.
10836 * util/import_unicode.py: New file.
10837 * util/grub-mkfont.c (ft_errmsgs): New array.
10838 (grub_glyph_info): Make bitmap a pointer.
10839 (file_formats): New type WIDTH_SPEC.
10840 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10841 (options): Add width-spec.
10842 (help): Likewise.
10843 (add_char): Renamed to ...
10844 (add_glyph): ... this.
10845 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10846 (glyph_replace): New type.
10847 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10848 (add_char): New function.
10849 (add_subst): Likewise.
10850 (process_cursive): Likewise.
10851 (add_font): Handle GSUB.
10852 (write_font_width_spec): New function.
10853 (main): Sort glyphs.
10854 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10855 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10856 * kern/term.c (grub_cls): Moved from here...
10857 * normal/term.c (grub_cls): ... here.
10858
50f0bcda
CW
108592010-07-02 Colin Watson <cjwatson@ubuntu.com>
10860
10861 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10862 suitable for using within the format argument of printf when
10863 converting grub_size_t.
10864 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10865 "x" to convert grub_size_t arguments.
10866
40372103
VS
108672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10870 too long captions.
10871 (list_get_minimal_size): Take selection box into account.
10872
942a10c7
VS
108732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10876 NULL font.
10877
2bdb2892
CW
108782010-07-02 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10881 devices when iterating over /dev/disk/by-id; they will be handled
10882 later if appropriate, which they aren't always (e.g. LVM).
10883
e03ed6c1
CW
108842010-07-02 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10887 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10888 fails.
10889 (grub_halt): Likewise.
10890 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10891 reset-all fails.
10892 (grub_halt): Don't return, even if all of shut-down, power-off, and
10893 poweroff fail.
10894
47695765
CW
108952010-07-02 Colin Watson <cjwatson@ubuntu.com>
10896
10897 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10898 arguments, not three.
10899
507736c8
CW
109002010-07-02 Colin Watson <cjwatson@ubuntu.com>
10901
10902 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10903 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10904 LVM-on-RAID is handled correctly.
10905
e3c8cd37
CW
109062010-07-02 Colin Watson <cjwatson@ubuntu.com>
10907
10908 * docs/grub.texi (Changes from GRUB Legacy): New section.
10909 (Future): Fix typo.
10910
8d4a2fec
CW
109112010-07-02 Colin Watson <cjwatson@ubuntu.com>
10912
10913 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10914 grub.d/README accidentally ends up executable for one reason or
10915 another. Ignore it.
10916
1c4827be
VS
109172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10920 (gpt_partition_map_iterate): Support non-512B sectors.
10921
d9a0c941
VS
109222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10925 Tested by: Seth Goldberg.
10926
48f27e87
VS
109272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10930 Properly align mbi.
10931 Reported by: Seth Goldberg.
10932
b0c4f956
VS
109332010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * util/grub-mkrescue.in: Avoid module duplication.
10936
105a2e8c
SF
109372010-07-01 Sean Finney <seanius@seanius.net>
10938
10939 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10940
5944958c
SF
109412010-07-01 Sean Finney <seanius@seanius.net>
10942
10943 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10944
109452010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * disk/lvm.c (grub_lvm_checkvalue): New function.
10948 (grub_lvm_check_flag): Likewise.
10949
b79889ba
RM
109502010-07-01 Robert Millan <rmh@gnu.org>
10951
10952 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10953 Support 'p' as partition separator on kernel of FreeBSD (used
10954 with GPT labels).
10955 (grub_util_biosdisk_get_grub_dev): Likewise.
10956
ec1d04f1
VS
109572010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 Yeeloong firmware port.
10960
10961 * boot/mips/yeeloong/fwstart.S: New file.
10962 * bus/cs5536.c (gpiodump): New const.
10963 (set_io_space): New function.
10964 (set_iod): Likewise.
10965 (set_p2d): Likewise.
10966 (grub_cs5536_init_geode): Likewise.
10967 * commands/mips/yeeloong/lsspd.c: New file.
10968 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10969 (serial_mod_SOURCES): New variable.
10970 (serial_mod_CFLAGS): Likewise.
10971 (serial_mod_LDFLAGS): Likewise.
10972 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10973 term/terminfo.c and term/tparm.c.
10974 (pkglib_IMAGES): Add fwstart.img.
10975 (fwstart_img_SOURCES): New variable.
10976 (fwstart_img_CFLAGS): Likewise.
10977 (fwstart_img_ASFLAGS): Likewise.
10978 (fwstart_img_LDFLAGS): Likewise.
10979 (fwstart_img_FORMAT): Likewise.
10980 (pkglib_MODULES): Add lsspd.mod.
10981 (lsspd_mod_SOURCES): New variable.
10982 (lsspd_mod_CFLAGS): Likewise.
10983 (lsspd_mod_LDFLAGS): Likewise.
10984 (pkglib_MODULES): Add halt.mod.
10985 (halt_mod_SOURCES): New variable.
10986 (halt_mod_CFLAGS): Likewise.
10987 (halt_mod_LDFLAGS): Likewise.
10988 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10989 (serial_mod_SOURCES): Removed.
10990 (serial_mod_CFLAGS): Likewise.
10991 (serial_mod_LDFLAGS): Likewise.
10992 * disk/ata.c (check_device): New function.
10993 (grub_ata_device_initialize): Use check_device.
10994 (grub_ata_iterate): Recheck devices.
10995 (grub_ata_open): Likewise.
10996 (grub_atapi_iterate): Likewise.
10997 (grub_atapi_open): Likewise.
10998 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10999 (GRUB_ATA_CH1_PORT1): Likewise.
11000 (GRUB_ATA_CH0_PORT2): Likewise.
11001 (GRUB_ATA_CH1_PORT2): Likewise.
11002 * include/grub/mips/loongson.h: New file.
11003 * include/grub/mips/yeeloong/ec.h: Likewise.
11004 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
11005 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
11006 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
11007 * include/grub/misc.h (grub_halt): Declare as noreturn.
11008 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
11009 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
11010 (UART_ENABLE_FIFO_TRIGGER1): New definition.
11011 (UART_ENABLE_DTRRTS): Likewise.
11012 (UART_ENABLE_MODEM): Removed.
11013 (UART_ENABLE_OUT2): New const.
11014 * include/grub/term.h (grub_term_register_input_active): New function.
11015 (grub_term_register_output_active): Likewise.
11016 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
11017 argument.
11018 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
11019 (init_pci): New function.
11020 (grub_machine_init): Execute platform init when firmware. Init serial.
11021 (grub_halt): Implement.
11022 (grub_exit): Likewise.
11023 (grub_reboot): Likewise.
11024 * term/serial.c (serial_hw_init): Update macros.
11025 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
11026 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
11027 (image_targets): New target mipsel-yeeloong-flash.
11028 (generate_image): Support IMAGE_YEELOONG_FLASH.
11029 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
11030 (grub_video_sm712_setup): Init card.
11031 (grub_video_sm712_set_palette): Removed.
11032 * video/sm712_init.c: New file.
11033
ff4a70d2
CW
110342010-06-30 Colin Watson <cjwatson@ubuntu.com>
11035
11036 * Makefile.in (install-local): Temporarily prepend $(builddir) to
11037 PATH when running help2man and then run it on the unadorned
11038 executable names, rather than passing $(builddir)/* paths to
11039 help2man. This avoids the build directory ending up in generated
11040 manual pages.
11041
1246efeb
CW
110422010-06-29 Colin Watson <cjwatson@ubuntu.com>
11043
11044 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
11045 to avoid accidents when debugging with 'sh -x'.
11046 * util/grub-mkrescue.in: Likewise.
11047 * util/grub.d/00_header.in: Likewise.
11048 * util/grub.d/10_hurd.in: Likewise.
11049 * util/grub.d/10_kfreebsd.in: Likewise.
11050 * util/grub.d/10_linux.in: Likewise.
11051 * util/grub.d/10_netbsd.in: Likewise.
11052 * util/grub.d/10_windows.in: Likewise.
11053 * util/grub.d/20_linux_xen.in: Likewise.
11054 * util/grub.d/30_os-prober.in: Likewise.
11055 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11056
1ba9b889
CW
110572010-06-29 Colin Watson <cjwatson@ubuntu.com>
11058
11059 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
11060 last character in the buffer.
11061 Reported by: Vladimir Serbinenko.
11062
dccaf99d
RM
110632010-06-29 Robert Millan <rmh@gnu.org>
11064
11065 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
11066 (Command-line and menu entry commands): Document `badram' command.
11067
d500ed12
RM
110682010-06-28 Robert Millan <rmh@gnu.org>
11069
11070 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
11071 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
11072 command using ${GRUB_BADRAM} as parameter.
11073
20bc84a6
CW
110742010-06-28 Colin Watson <cjwatson@ubuntu.com>
11075
11076 * docs/grub.texi (Device map): New section.
11077 (Themes): New section (stub).
11078 * Makefile.in (docs/grub.info): The info documentation now builds
11079 without errors. Make sure it stays that way.
11080
4045dee1
VS
110812010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 Use normal parser for menu entries.
11084 Reported by: Thomas Frauendorfer
11085
11086 * include/grub/parser.h (grub_parser_execute): Don't export.
11087 * normal/menu.c (grub_menu_execute_entry_real): New function.
11088 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
11089
bca58c7b
CW
110902010-06-28 Colin Watson <cjwatson@ubuntu.com>
11091
11092 * docs/grub.texi (Embedded configuration): New section (replacing
11093 old "Preset Menu" stub).
11094 (Images): New section.
11095 (configfile): Note that any menu entries defined in `file' are shown
11096 immediately.
11097
dec53e63
JT
110982010-06-28 Josh Triplett <josh@joshtriplett.org>
11099
11100 * mmap/i386/pc/mmap_helper.S: Set CF on return.
11101
c06e40f7
CW
111022010-06-28 Colin Watson <cjwatson@ubuntu.com>
11103
11104 * util/grub-install.in: Add --debug-image= option.
11105
cb88052b
CW
111062010-06-28 Colin Watson <cjwatson@ubuntu.com>
11107
11108 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
11109 possible on Linux.
11110
11111 * util/deviceiter.c (check_device): Rename to ...
11112 (check_device_readable_unique): ... this. Update all callers.
11113 Maintain and check a list of which devices (by canonicalized name)
11114 have already been seen.
11115 (clear_seen_devices): New function.
11116 (compare_file_names) [__linux__]: New function.
11117 (grub_util_iterate_devices): Clear the list of seen devices on exit
11118 and (just in case) on entry.
11119 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
11120 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
11121 seen-devices list, superseded by general code in check_device.
11122
bbe34652
CW
111232010-06-28 Colin Watson <cjwatson@ubuntu.com>
11124
11125 * commands/cat.c (options): New variable.
11126 (grub_cmd_cat): Parse options. If the --dos option is given, print
11127 DOS-style "\r\n" line endings as simple newlines (Debian bug
11128 #586358).
11129 (GRUB_MOD_INIT): Use extcmd.
11130 (GRUB_MOD_FINI): Likewise.
11131 * docs/grub.texi (cat): Document --dos.
11132
412e09f3
VS
111332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 XEN with Linux grub-mkconfig support.
11136
11137 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
11138 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
11139 GRUB_CMDLINE_XEN_DEFAULT.
11140 * util/grub.d/20_linux_xen.in: New file.
11141
53f3ef38 111422010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
11143
11144 Initialise VGA video on qemu ourselves.
11145
11146 * boot/i386/qemu/boot.S: Don't call 0xc000.
11147 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
11148 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
11149 (kernel_img_HEADERS): Add pci.h.
11150 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
11151 * configure.ac: Force unifont on qemu and yeeloong.
11152 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
11153 (grub_vga_palette_write): Use correct register.
11154 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
11155 Call grub_qemu_init_cirrus.
11156 * kern/i386/qemu/init.c: New file.
11157 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
11158
11159 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
11160
c75be4fb
PR
111612010-06-26 Pavel Roskin <proski@gnu.org>
11162
11163 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
11164 13.
11165
d8034603
CW
111662010-06-26 Colin Watson <cjwatson@ubuntu.com>
11167
11168 * docs/grub.texi (Simple configuration): Explain that
11169 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
11170 set to `true' to disable their respective recovery entries, not
11171 merely set.
11172
3fa06487
CW
111732010-06-26 Colin Watson <cjwatson@ubuntu.com>
11174
11175 Make the `source' command slightly faster.
11176
11177 * normal/main.c (grub_normal_execute): Don't re-read list files when
11178 nested.
11179
e9b29642
CW
111802010-06-23 Colin Watson <cjwatson@ubuntu.com>
11181
11182 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
11183 field position and mask size to red fields from mode_info, not
11184 green.
11185 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
11186 Remove redundant tag->common.framebuffer_type assignment.
11187 Reported by: Seth Goldberg.
11188
e726542f
CW
111892010-06-23 Colin Watson <cjwatson@ubuntu.com>
11190
11191 Sync up other versions of the Linux loader with Robert Millan's
11192 change of 2010-01-09, "Make loader output a bit more user-friendly".
11193
11194 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
11195 grub_dprintf().
11196 (grub_cmd_linux): Likewise.
11197 (grub_cmd_initrd): Likewise.
11198 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
11199 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11200
d6e98a17
CW
112012010-06-21 Colin Watson <cjwatson@ubuntu.com>
11202
11203 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
11204 larger than MEMORY_MAP_SIZE.
11205
14d3f08e
BC
112062010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
11207
11208 Fix parallel build.
11209
11210 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
11211 dependency.
11212 * script/parser.y: #include grub_script.tab.h header.
11213
4f9613a3
VS
112142010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 Support >3GiB and <16MiB RAM in i386-qemu.
11217
11218 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
11219 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
11220 (grub_lower_mem): Removed.
11221 (grub_upper_mem): Likewise.
11222 (mem_size): Made static.
11223 (above_4g): New variable.
11224 (grub_machine_mmap_init): Detect small mem_size and above_4g.
11225 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
11226 support.
11227
05e51879
VS
112282010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 Cirrus 5446 and Bochs video cards support.
11231
11232 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
11233 video_bochs.mod
11234 (video_cirrus_mod_SOURCES): New variable.
11235 (video_cirrus_mod_CFLAGS): Likewise.
11236 (video_cirrus_mod_LDFLAGS): Likewise.
11237 (video_bochs_mod_SOURCES): Likewise.
11238 (video_bochs_mod_CFLAGS): Likewise.
11239 (video_bochs_mod_LDFLAGS): Likewise.
11240 * include/grub/vga.h: New file.
11241 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
11242 (grub_video_fb_set_page_t): New type.
11243 (grub_video_fb_setup): New prototype.
11244 (grub_video_fb_swap_buffers): Likewise.
11245 (grub_video_fb_get_info_and_fini): Likewise.
11246 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
11247 (CRTC_DATA_PORT): Likewise.
11248 (CRTC_CURSOR): Likewise.
11249 (CRTC_CURSOR_ADDR_HIGH): Likewise.
11250 (CRTC_CURSOR_ADDR_LOW): Likewise.
11251 (CRTC_CURSOR_DISABLE): Likewise.
11252 (update_cursor): Use grub_vga_cr_write.
11253 (grub_vga_text_setcursor): Likewise.
11254 * video/bochs.c: New file.
11255 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
11256 (palette): Likewise.
11257 (palette_size): Likewise.
11258 (framebuffer): New variable.
11259 (grub_video_fb_init): Use 'framebuffer'.
11260 (grub_video_fb_fini): Likewise.
11261 (grub_video_fb_get_info): Likewise.
11262 (grub_video_fb_get_palette): Likewise.
11263 (grub_video_fb_set_palette): Likewise.
11264 (grub_video_fb_set_viewport): Likewise.
11265 (grub_video_fb_get_viewport): Likewise.
11266 (grub_video_fb_map_color): Likewise.
11267 (grub_video_fb_map_rgb): Likewise.
11268 (grub_video_fb_map_rgba): Likewise.
11269 (grub_video_fb_unmap_color): Likewise.
11270 (grub_video_fb_unmap_color_int): Likewise.
11271 (grub_video_fb_fill_rect): Likewise.
11272 (grub_video_fb_blit_bitmap): Likewise.
11273 (grub_video_fb_blit_render_target): Likewise.
11274 (grub_video_fb_scroll): Likewise.
11275 (grub_video_fb_create_render_target): Likewise.
11276 (grub_video_fb_doublebuf_blit_init): Likewise.
11277 (grub_video_fb_set_active_render_target): Handle doublebuffering.
11278 (doublebuf_pageflipping_update_screen): New function.
11279 (doublebuf_pageflipping_init): Likewise.
11280 (grub_video_fb_setup): Likewise.
11281 (grub_video_fb_swap_buffers): Likewise.
11282 (grub_video_fb_get_info_and_fini): Likewise.
11283 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
11284 All users updated.
11285 (doublebuf_pageflipping_commit): Restructured into ...
11286 (doublebuf_pageflipping_set_page): ... this.
11287 (doublebuf_pageflipping_update_screen): Removed.
11288 (doublebuf_pageflipping_init): Likewise.
11289 (double_buffering_init): Likewise.
11290 (grub_video_vbe_setup): Use grub_video_fb_setup.
11291 (grub_video_vbe_swap_buffers): Removed.
11292 (grub_video_vbe_set_active_render_target): Likewise.
11293 (grub_video_vbe_get_active_render_target): Likewise.
11294 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
11295 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
11296 grub_video_fb_set_active_render_target and
11297 grub_video_fb_get_active_render_target.
11298 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
11299 (SEQUENCER_DATA_PORT): Likewise.
11300 (MAP_MASK_REGISTER): Likewise.
11301 (CRTC_ADDR_PORT): Likewise.
11302 (CRTC_DATA_PORT): Likewise.
11303 (START_ADDR_HIGH_REGISTER): Likewise.
11304 (START_ADDR_LOW_REGISTER): Likewise.
11305 (GRAPHICS_ADDR_PORT): Likewise.
11306 (GRAPHICS_DATA_PORT): Likewise.
11307 (READ_MAP_REGISTER): Likewise.
11308 (INPUT_STATUS1_REGISTER): Likewise.
11309 (INPUT_STATUS1_VERTR_BIT): Likewise.
11310 (get_map_mask): Use grub_vga_sr_read.
11311 (set_map_mask): Use grub_vga_sr_write.
11312 (set_read_map): Use grub_vga_gr_write.
11313 (set_start_address): Use grub_vga_cr_write.
11314 * video/sm712.c (framebuffer): Remove leftover fields.
11315
4321c64a
CW
113162010-06-20 Colin Watson <cjwatson@ubuntu.com>
11317
11318 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11319 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11320 instead. Replace the gfxterm backend check with a check that
11321 ${GRUB_PREFIX}/video.lst is non-empty.
11322 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11323 again.
11324 (load_video): New generated function. Call it before loading
11325 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11326 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11327 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11328 * docs/grub.texi (Simple configuration): Document
11329 GRUB_VIDEO_BACKEND.
11330
113312010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 Use video functions in linux and xnu loaders.
11334
11335 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11336 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11337 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11338 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11339 loader/i386/pc/linux.c.
11340 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11341 (find_line_len): Removed.
11342 (find_framebuf): Likewise.
11343 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11344 * loader/i386/efi/xnu.c: Removed.
11345 * loader/i386/pc/xnu.c: Moved from here...
11346 * loader/i386/xnu.c: ...here.
11347
11348 Enable priorities in video drivers.
11349
11350 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11351 (grub_video_adapter): New field prio.
11352 (grub_video_register): Respect prio when inserting.
11353 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11354 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11355 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11356 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11357 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11358 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11359 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11360
11361 Fix SDL driver ID.
11362
11363 * include/grub/video.h (grub_video_driver_id_t): New value
11364 GRUB_VIDEO_DRIVER_SDL.
11365 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11366
7d24e434
CW
113672010-06-17 Colin Watson <cjwatson@ubuntu.com>
11368
11369 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11370 argument to printf.
11371 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11372
c88a83f6
CW
113732010-06-17 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11376 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11377
094dfb69
CW
113782010-06-17 Colin Watson <cjwatson@ubuntu.com>
11379
11380 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11381 directly, and recommend grub-install instead.
11382 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11383
2164da6b
CW
113842010-06-17 Colin Watson <cjwatson@ubuntu.com>
11385
11386 Fix i386-pc prefix handling with nested partitions (Debian bug
11387 #585068). Note that the case where the core image is booted using
11388 multiboot and relocated from its original location still requires
11389 more work.
11390
11391 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11392 with "(,", fill the boot drive in between those two characters, but
11393 expect that a full partition specification including partition map
11394 names will follow.
11395 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11396 specified, write a prefix without the drive name but including a
11397 full partition specification.
11398
044e2e60
CW
113992010-06-16 Colin Watson <cjwatson@ubuntu.com>
11400
11401 * util/grub-mkconfig.in: Ignore non-option arguments, for
11402 compatibility with older versions (before 2010-06-12) which did the
11403 same. In particular, this makes it easier to ship an update-grub
11404 wrapper which is compatible with that used with GRUB Legacy (Debian
11405 bug #586056).
11406
5591324f
GS
114072010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11408
11409 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11410 for manual page generation.
11411
662e24d5
GS
114122010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11413
11414 * po/POTFILES: Remove leftover commands/handler.c.
11415
8d70754e
CW
114162010-06-14 Colin Watson <cjwatson@ubuntu.com>
11417
11418 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11419 left this script non-functional.
11420
41160e2e
CW
114212010-06-14 Colin Watson <cjwatson@ubuntu.com>
11422
11423 * docs/man/grub-emu.h2m: New file.
11424
b5309cc1
CW
114252010-06-13 Colin Watson <cjwatson@ubuntu.com>
11426
11427 * docs/grub.texi (Commands): Document reduced command set in rescue
11428 mode.
11429 (cpuid): New section.
11430
fcb2d090
GS
114312010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11432
11433 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11434 new partition naming style.
11435 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11436
96e5c556
BC
114372010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11438
11439 Add "-o grub.iso" like cmdline options support.
11440
11441 * util/grub-install.in: Improve cmdline option parsing.
11442 * util/grub-mkconfig.in: Likewise.
11443 * util/grub-mkrescue.in: Likewise.
11444 * util/grub-reboot.in: Likewise.
11445 * util/grub-set-default.in: Likewise.
11446 * util/i386/efi/grub-install.in: Likewise.
11447 * util/ieee1275/grub-install.in: Likewise.
11448 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11449
c16be99b
CW
114502010-06-12 Colin Watson <cjwatson@ubuntu.com>
11451
11452 * .bzrignore: Ignore 41_custom.
11453
ce08a9fb
TS
114542010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11455
11456 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11457
7beac90c
CW
114582010-06-12 Colin Watson <cjwatson@ubuntu.com>
11459
11460 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11461 prototype declarations.
11462
11463 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11464 generating fs, partmap, and video lists.
11465 * include/grub/fs.h (grub_fs_register): Omit prototype if
11466 GRUB_LST_GENERATOR is defined.
11467 * include/grub/partition.h (grub_partition_map_register): Likewise.
11468 * include/grub/video.h (grub_video_register): Likewise.
11469
1c8f0f8d
JM
114702010-06-12 Javier Martín <lordhabbit@gmail.com>
11471
11472 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11473
a6085973
TS
114742010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11475
11476 * util/grub-mkrescue.in: Support --xorriso argument.
11477
25c56d29
VS
114782010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11481 Suggested by: Thomas Schmitt.
11482
e03e4b24
VS
114832010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11486 Suggested by: Thomas Schmitt.
11487
57711df6
VS
114882010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 custom.cfg support.
11491
11492 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11493 * util/grub.d/41_custom.in: New file.
11494
ee62c427
CW
114952010-06-12 Colin Watson <cjwatson@ubuntu.com>
11496
11497 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11498 been merged back into normal.
11499
283af07a
CW
115002010-06-11 Colin Watson <cjwatson@ubuntu.com>
11501
11502 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11503 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11504
56a0d956
CW
115052010-06-11 Colin Watson <cjwatson@ubuntu.com>
11506
11507 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11508 when generating manual pages.
11509 * docs/man/grub-bin2h.h2m: New file.
11510 * docs/man/grub-editenv.h2m: New file.
11511 * docs/man/grub-fstest.h2m: New file.
11512 * docs/man/grub-install.h2m: New file.
11513 * docs/man/grub-macho2img.h2m: New file.
11514 * docs/man/grub-mkconfig.h2m: New file.
11515 * docs/man/grub-mkdevicemap.h2m: New file.
11516 * docs/man/grub-mkfont.h2m: New file.
11517 * docs/man/grub-mkimage.h2m: New file.
11518 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11519 * docs/man/grub-mkrelpath.h2m: New file.
11520 * docs/man/grub-mkrescue.h2m: New file.
11521 * docs/man/grub-ofpathname.h2m: New file.
11522 * docs/man/grub-pe2elf.h2m: New file.
11523 * docs/man/grub-probe.h2m: New file.
11524 * docs/man/grub-reboot.h2m: New file.
11525 * docs/man/grub-script-check.h2m: New file.
11526 * docs/man/grub-set-default.h2m: New file.
11527 * docs/man/grub-setup.h2m: New file.
11528
3a37e322
VS
115292010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 Use FOR_* macros instead of *_iterate whenever possible.
11532
11533 * commands/handler.c: Removed.
11534 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11535 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11536 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11537 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11538 (grub_probe_SOURCES): Remove kern/parser.c.
11539 (util/grub-script-check.c_DEPENDENCIES): Removed.
11540 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11541 and grub_script_check_init.c.
11542 (grub_script_check_init.lst): Removed.
11543 (grub_script_check_init.h): Likewise.
11544 (grub_script_check_init.c): Likewise.
11545 (pkglib_MODULES): Remove handler.mod and sh.mod.
11546 (handler_mod_SOURCES): Removed.
11547 (handler_mod_CFLAGS): Likewise.
11548 (handler_mod_LDFLAGS): Likewise.
11549 (normal_mod_SOURCES): Remove normal/handler.c.
11550 Add script/main.c, script/script.c, script/execute.c,
11551 script/function.c, script/lexer.c, grub_script.tab.c
11552 and grub_script.yy.c.
11553 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11554 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11555 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11556 (grub_setup_SOURCES): Remove kern/parser.c.
11557 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11558 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11559 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11560 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11561 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11562 (grub_setup_SOURCES): Remove kern/parser.c.
11563 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11564 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11565 * include/grub/command.h (grub_command_iterate): Removed.
11566 (FOR_COMMANDS): New macro.
11567 * include/grub/dl.h (grub_dl): New member next.
11568 (grub_dl_iterate): Removed.
11569 (grub_dl_head): New variable declaration.
11570 (FOR_DL_MODULES): New macro.
11571 * include/grub/fs.h: Include list.h.
11572 (grub_fs): Make next first element.
11573 (grub_fs_list): New variable declaration.
11574 (grub_fs_register): Make inline.
11575 (grub_fs_unregister): Likewise.
11576 (grub_fs_iterate): Removed.
11577 (FOR_FILESYSTEMS): New macro.
11578 * include/grub/handler.h: Removed.
11579 * include/grub/list.h (grub_list_hook_t): Removed.
11580 (grub_list_test_t): Likewise.
11581 (grub_list_pop): Likewise.
11582 (grub_list_iterate): Likewise.
11583 (grub_list_insert): Likewise.
11584 (FOR_LIST_ELEMENTS): New macro.
11585 * include/grub/parser.h (grub_parser_class): Removed.
11586 (grub_parser_register): Likewise.
11587 (grub_parser_unregister): Likewise.
11588 (grub_parser_get_current): Likewise.
11589 (grub_parser_set_current): Likewise.
11590 (grub_register_rescue_parser): Likewise.
11591 (grub_rescue_parse_line): New function.
11592 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11593 * include/grub/script_sh.h (grub_script_function_list): New variable
11594 declaration.
11595 (FOR_SCRIPT_FUNCTIONS): New macro.
11596 (grub_script_function_iterate): Removed.
11597 (grub_normal_parse_line): New prototype.
11598 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11599 (FOR_DISABLED_TERM_INPUTS): Likewise.
11600 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11601 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11602 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11603 element.
11604 (grub_video_register): Inline.
11605 (grub_video_unregister): Likewise.
11606 (grub_video_adapter_list): New variable declaration.
11607 (grub_video_iterate): Removed.
11608 (FOR_VIDEO_ADAPTERS): New macro.
11609 * kern/dl.c (grub_dl_list): Removed. All users updated.
11610 (grub_dl_iterate): Removed.
11611 * kern/fs.c (grub_fs_list): Make global.
11612 (grub_fs_register): Removed.
11613 (grub_fs_unregister): Likewise.
11614 (grub_fs_iterate): Likewise.
11615 * kern/handler.c: Removed.
11616 * kern/list.c (grub_list_pop): Removed.
11617 (grub_list_iterate): Likewise.
11618 (grub_list_insert): Likewise.
11619 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11620 (grub_prio_list_insert): Don't use grub_list_insert.
11621 * kern/main.c (grub_register_rescue_parser): Don't call
11622 grub_register_rescue_parser.
11623 * kern/parser.c (grub_parser_class): Removed.
11624 (grub_parser_execute): Use grub_rescue_parse_line.
11625 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11626 (grub_rescue_parser): Removed.
11627 (grub_register_rescue_parser): Likewise.
11628 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11629 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11630 (grub_auth_check_authentication): Likewise.
11631 * normal/completion.c (iterate_command): Removed.
11632 (grub_normal_do_completion): Use FOR_COMMANDS.
11633 * normal/handler.c: Removed.
11634 * normal/main.c (read_config_file): Remove parser changing.
11635 (grub_normal_execute): Don't call read_handler_list.
11636 (grub_normal_read_line_real): Statically allocate prompt.
11637 (grub_cmdline_run): Use grub_normal_parse_line.
11638 (GRUB_MOD_FINI): Don't call free_handler_list.
11639 * normal/menu_entry.c (run): Likewise.
11640 * script/function.c (grub_script_function_list): Make global.
11641 (grub_script_function_iterate): Removed.
11642 * script/main.c (grub_normal_parse_line): Make global.
11643 (grub_sh_parser): Removed.
11644 (GRUB_MOD_INIT): Likewise.
11645 (GRUB_MOD_FINI): Likewise.
11646 * tests/lib/functional_test.c (grub_functional_test): Use
11647 FOR_LIST_ELEMENTS.
11648 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11649 (grub_test_run): Use FOR_LIST_ELEMENTS.
11650 * tests/lib/unit_test.c (main): Likewise.
11651 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11652 grub_list_pop.
11653 * util/grub-fstest.c (grub_term_input_class): Removed.
11654 (grub_term_output_class): Likewise.
11655 * util/grub-probe.c: Likewise.
11656 * util/i386/pc/grub-setup.c: Likewise.
11657 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11658 * util/grub-script-check.c (main): Don't call grub_init_all and
11659 grub_fini_all.
11660 * video/video.c (grub_video_adapter_list): Make global.
11661 (grub_video_register): Removed.
11662 (grub_video_unregister): Likewise.
11663 (grub_video_iterate): Likewise.
11664
6289c3a7
VS
116652010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11668 reported by Henrique Ferreiro.
11669
91460247
RM
116702010-06-09 Robert Millan <rmh@gnu.org>
11671
11672 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11673 ones, when both are available.
11674
0ea7c4f9
GS
116752010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11676
11677 Make --version uniform and avoid hard-coded program name.
11678
11679 * util/grub-mkimage.c (main): Use `program_name' instead of
11680 hard-coded string.
11681 * util/i386/pc/grub-setup.c (main): Likewise.
11682 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11683 * util/grub-install.in: Save the basename of $0 in $self, and use the
11684 latter in informational messages. Use the same format for --version
11685 as the binary programs.
11686 * util/grub-mkconfig.in: Likewise.
11687 * util/grub-mkrescue.in: Likewise.
11688 * util/grub-reboot.in: Likewise.
11689 * util/grub-set-default.in: Likewise.
11690 * util/i386/efi/grub-install.in: Likewise.
11691 * util/ieee1275/grub-install.in: Likewise.
11692 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11693
e8a6f3b6
GS
116942010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11695
11696 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11697 embedding area. Use <= instead of == when checking for non-emptiness.
11698
f4d095d7
GS
116992010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11700
11701 * configure.ac: Add `.' to the directories searched for unifont.
11702
50e532ca
CW
117032010-06-08 Colin Watson <cjwatson@ubuntu.com>
11704
11705 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11706 grub_script.yy.h.
11707
d39f3dec
CW
117082010-06-08 Colin Watson <cjwatson@ubuntu.com>
11709
11710 * docs/grub.texi (History): Expand to cover GRUB 2.
11711 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11712 commands, not `terminal'.
11713 (serial): Likewise.
11714 (terminal_input): New section.
11715 (terminal_output): New section.
11716 (uppermem): New section (stub).
11717 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11718
6ef0ddb4
CW
117192010-06-08 Colin Watson <cjwatson@ubuntu.com>
11720
11721 * docs/grub.texi (Security): Menu entries are unrestricted by
11722 default, not restricted to superusers as I had previously thought.
11723 Reword to account for this.
11724
e0f4c438
CW
117252010-06-07 Colin Watson <cjwatson@ubuntu.com>
11726
11727 * kern/emu/misc.c (device_mapper_null_log): New function.
11728 (grub_device_mapper_supported): New function.
11729 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11730 prototype.
11731 * kern/emu/hostdisk.c (find_partition_start): Check whether
11732 device-mapper is supported before trying to use it.
11733 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11734
da908200
CW
117352010-06-07 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11738 (File name syntax): Likewise.
11739 (help): --all is no longer supported in GRUB 2. Be more precise
11740 about pattern matching.
11741
fb55c3ac
CW
117422010-06-07 Colin Watson <cjwatson@ubuntu.com>
11743
11744 * normal/completion.c (grub_normal_do_completion): When completing
11745 arguments to "set" and the current word contains an equals sign,
11746 skip to after the equals sign before starting completion.
11747
258c2573
CW
117482010-06-07 Colin Watson <cjwatson@ubuntu.com>
11749
11750 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11751
ee75515e
CW
117522010-06-07 Colin Watson <cjwatson@ubuntu.com>
11753
11754 * docs/grub.texi (Network): New section.
11755 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11756 `(nd)' as in GRUB Legacy.
11757 (pxe_unload): New section.
11758
a6a700aa
CW
117592010-06-07 Colin Watson <cjwatson@ubuntu.com>
11760
11761 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11762 in the rescue shell, so recommend using `set' instead. Thanks,
11763 Jordan Uggla.
11764
4003dd38
CW
117652010-06-07 Colin Watson <cjwatson@ubuntu.com>
11766
11767 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11768 (password): New section.
11769 (password_pbkdf2): New section.
11770 (search): New section.
11771 (Security): New section.
11772 (Troubleshooting): New section, currently very incomplete.
11773 (Invoking grub-mkpasswd-pbkdf2): New section.
11774 (Internals): New section, currently very incomplete.
11775
e1cbcc40
CW
117762010-06-07 Colin Watson <cjwatson@ubuntu.com>
11777
11778 * util/grub.d/00_header.in: Add some more quoting (of
11779 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11780 work again.
11781 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11782
db8fa1ad
CW
117832010-06-07 Colin Watson <cjwatson@ubuntu.com>
11784
11785 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11786 to `count', fixing variable shadowing that broke the -c option.
11787
117882010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11789
11790 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11791 in case they contain spaces.
11792
f28a9212
CW
117932010-06-04 Colin Watson <cjwatson@ubuntu.com>
11794
11795 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11796 "part_" to partmap module names, in line with grub-install.
11797 Reported by: Jindřich Makovička (Debian bug #584426).
11798
9cdfe32f
CW
117992010-06-04 Colin Watson <cjwatson@ubuntu.com>
11800
11801 * util/grub-mkimage.c: Make target-related error messages slightly
11802 more helpful; -O talks about "format". Explicitly point to the use
11803 of -O if no target is specified.
11804 Reported by: Didier Raboud (Debian bug #584415).
11805
795b593a
CW
118062010-06-03 Colin Watson <cjwatson@ubuntu.com>
11807
11808 * INSTALL: Document several build requirements for optional features
11809 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11810
9d9b5833
GS
118112010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11812
11813 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11814 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11815 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11816
0819fec8
CW
118172010-06-02 Colin Watson <cjwatson@ubuntu.com>
11818
11819 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11820 Thanks to Jordan Uggla for spotting this.
11821
49396b4f
VS
118222010-06-02 Aleš Nesrsta <starous@volny.cz>
11823
11824 Finally make USB usable.
11825
11826 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11827 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11828 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11829 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11830 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11831 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11832 (GRUB_OHCI_FSMPS): Likewise.
11833 (GRUB_OHCI_PERIODIC_START): Likewise.
11834 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11835 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11836 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11837 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11838 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11839 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11840 (grub_ohci_transaction): Likewise.
11841 (grub_ohci_transfer): Improve condition detection algorithms.
11842 Handle toggle property. Program the transactions correctly.
11843 Improve error handling. Various important fixups.
11844 (grub_ohci_portstatus): Put register writes in right order.
11845 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11846 (grub_uhci_transfer): Don't show "failed" message on success.
11847 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11848 array.
11849 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11850 determine its size.
11851 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11852 before initialization is completed. Use IN direction for empty
11853 transfers. Use last_trans and compute toggle.
11854 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11855 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11856 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11857 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11858 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11859 (grub_usb_device): Increase toggle to 256.
11860 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11861 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11862 GRUB_USBMS_SUBCLASS_SFF8070.
11863 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11864 (grub_scsi_inquiry): New member page and alloc_length.
11865 (grub_scsi_request_sense): New structure.
11866 (grub_scsi_request_sense_data): Likewise.
11867 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11868 control.
11869 * disk/scsi.c (grub_scsi_request_sense): New function.
11870 (grub_scsi_test_unit_ready): Likewise.
11871 (grub_scsi_inquiry): Fill new fields.
11872 (grub_scsi_read_capacity): Likewise.
11873 (grub_scsi_read10): Add request sense at the end.
11874 (grub_scsi_read12): Likewise.
11875 (grub_scsi_write10): Likewise.
11876 (grub_scsi_write12): Likewise.
11877 (grub_scsi_open): Add Test Unit Ready.
11878 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11879 Support additional subclasses. Con't clear halt yet. Activate the
11880 proper config. Calculate LUNs correctly.
11881 (grub_usbms_transfer): Various important fixups.
11882
118832010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11886 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11887 (grub_ohci_fini_hw): New function.
11888 (grub_ohci_restore_hw): Likewise.
11889 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11890 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11891 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11892
118932010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 Dedicated DMA allocations.
11896
11897 * bus/pci.c (grub_memalign_dma32): New function
11898 (grub_dma_free): Likewise.
11899 (grub_dma_get_virt): Likewise.
11900 (grub_dma_get_phys): Likewise.
11901 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11902 (grub_ohci_pci_iter): Use dma32_alloc.
11903 (grub_ohci_transfer): Likewise.
11904 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11905 (grub_usb_bulk_readwrite): Likewise.
11906 * include/grub/pci.h: Add declarations.
11907
119082010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 CS5536 support.
11911
11912 * bus/cs5536.c: New file.
11913 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11914 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11915 (cs5536_mod_SOURCES): New variable.
11916 (cs5536_mod_CFLAGS): Likewise.
11917 (cs5536_mod_LDFLAGS): Likewise.
11918 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11919 machine/pci.h.
11920 (kernel_img_SOURCES): Add bus/cs5536.c.
11921 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11922 usb_keyboard.mod.
11923 (usb_mod_SOURCES): New variable.
11924 (usb_mod_CFLAGS): New variable.
11925 (usb_mod_LDFLAGS): New variable.
11926 (usbtest_mod_SOURCES): New variable.
11927 (usbtest_mod_CFLAGS): New variable.
11928 (usbtest_mod_LDFLAGS): New variable.
11929 (ohci_mod_SOURCES): New variable.
11930 (ohci_mod_CFLAGS): New variable.
11931 (ohci_mod_LDFLAGS): New variable.
11932 (usbms_mod_SOURCES): New variable.
11933 (usbms_mod_CFLAGS): New variable.
11934 (usbms_mod_LDFLAGS): New variable.
11935 (usb_keyboard_mod_SOURCES): New variable.
11936 (usb_keyboard_mod_CFLAGS): New variable.
11937 (usb_keyboard_mod_LDFLAGS): New variable.
11938 * include/grub/smbus.h: New file.
11939 * include/grub/cs5536.h: New file.
11940
0b35b2a9
CW
119412010-06-02 Colin Watson <cjwatson@ubuntu.com>
11942
11943 * util/grub.d/00_header.in: Add safety check to make sure that
11944 ${locale_dir} exists before trying to probe it.
11945
ca0afd5b
CW
119462010-06-02 Colin Watson <cjwatson@ubuntu.com>
11947
11948 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11949 per the GNU Coding Standards; this is now too obscure to be worth
11950 documenting.
11951 (QNX): Likewise.
11952 (chainloader): Remove cross-reference to `SCO UnixWare'.
11953
1c41aa78
CW
119542010-06-02 Colin Watson <cjwatson@ubuntu.com>
11955
11956 * docs/grub.texi (Chain-loading): New section.
11957 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11958 adjusted for GRUB 2.
11959 (SCO UnixWare): Likewise.
11960 (QNX): Likewise.
11961 (chainloader): Add reference to `Block list syntax'.
11962 (drivemap): New section.
11963 (parttool): New section.
11964
bb8ea0f5
CW
119652010-06-02 Colin Watson <cjwatson@ubuntu.com>
11966
11967 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11968 the grub shell'.
11969 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11970 (Installing GRUB using grub-install): Remove reference to the grub
11971 shell; mention `grub-mkimage' and `grub-setup' instead.
11972 (Invoking grub-install): Likewise.
11973 (Interface): Add reference to `Menu entry editor'.
11974 (serial): Remove `--device' option.
11975
288dd6ed
CW
119762010-06-02 Colin Watson <cjwatson@ubuntu.com>
11977
11978 * docs/grub.texi (Configuration): New section, documenting
11979 configuration file generation using grub-mkconfig. I've left a slot
11980 for documenting the full shell scripting format but have not yet
11981 started on writing that up.
11982 (Invoking grub-mkconfig): New section.
11983
34c9f0e9
CW
119842010-06-02 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11987 (GNU GRUB manual): Likewise.
11988 (General commands): Update description of `terminfo' for GRUB 2.
11989
9121567e
CW
119902010-06-02 Colin Watson <cjwatson@ubuntu.com>
11991
11992 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11993 (GRUB_MOD_INIT): Fix capitalisation.
11994 * docs/grub.texi (Command-line and menu entry commands): Document
11995 gettext and gptsync commands.
11996
ab631611
CW
119972010-06-02 Colin Watson <cjwatson@ubuntu.com>
11998
11999 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
12000 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
12001
bde4a9ac
CW
120022010-06-01 Colin Watson <cjwatson@ubuntu.com>
12003
12004 Add btrfs probing support, currently only in the single-device case.
12005
12006 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
12007 function.
12008 (grub_guess_root_device): Call find_root_device_from_mountinfo
12009 before looking in /dev.
12010
b1d17e10
VS
120112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
12014 GRUB_DISK_SIZE_UNKNOWN.
12015 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
12016
dfbfe004
JS
120172010-05-31 Jiro SEKIBA <jir@unicus.jp>
12018
12019 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
12020 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
12021 corrupted or not synced properly.
12022
c2ffc8e9
VS
120232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
12026 Reported by: Seth Goldberg.
12027
56293166
VS
120282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
12031 addition of dest.
12032 Reported by: Seth Goldberg.
12033
7620e7de
VS
120342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
12037 Reported by: Seth Goldberg.
12038
c837af3f
VS
120392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
12042 64-bit address as signed on MIPS.
12043
c7c75cf4
CW
120442010-05-28 Colin Watson <cjwatson@ubuntu.com>
12045
12046 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
12047 to the empty string.
12048
fa4b8490
BC
120492010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
12050
12051 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
12052
12053 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
12054 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
12055 * kern/misc.c (__enable_execute_stack): Disable on
12056 GRUB_MACHINE_EMU.
12057
a33075b9
CW
120582010-05-28 Colin Watson <cjwatson@ubuntu.com>
12059
12060 Make grub-probe work with symbolic links under /dev/mapper as well
12061 as with real block devices. The Linux world seems to be (at best)
12062 in transition here, and GRUB shouldn't get caught in the middle.
12063
12064 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
12065 /dev/mapper.
12066
d8708134
CW
120672010-05-27 Colin Watson <cjwatson@ubuntu.com>
12068
12069 * util/grub-script-check.c (main): Ensure defined behaviour on empty
12070 input files (in which case exit zero).
12071
db2102a0
CW
120722010-05-27 Colin Watson <cjwatson@ubuntu.com>
12073
12074 * kern/emu/misc.c (canonicalize_file_name): realpath can still
12075 return NULL for various reasons even if it has a maximum-length
12076 buffer: for example, there might be a symlink loop, or the path
12077 might exceed PATH_MAX. If this happens, return NULL.
12078
5fdba519
RM
120792010-05-27 Robert Millan <rmh@gnu.org>
12080
12081 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
12082 partmap module to handle cross-partmap setups.
12083 Reported by Orestes Mas. Gràcies!
12084
d1d368e4
CW
120852010-05-27 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * util/grub-mkrescue.in: Initialise override_dir rather than
12088 assuming that it's unset or empty in the environment.
12089
95ac3c73
GS
120902010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
12091
12092 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
12093 variable index into p_index to suppress a warning with -Wshadow.
12094
7d8c0213
BC
120952010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
12096
12097 * INSTALL: Added flex >= 2.5.35 requirement.
12098
db4d5813
VS
120992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
12102
f24f4300
VS
121032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 cmostest support.
12106
12107 * commands/i386/cmostest.c: New file.
12108 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
12109 (cmostest_mod_SOURCES): New variable.
12110 (cmostest_mod_CFLAGS): Likewise.
12111 (cmostest_mod_LDFLAGS): Likewise.
12112 * conf/i386-pc.rmk: Likewise.
12113 * docs/grub.texi (Vendor power-on keys): New section.
12114 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
12115 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
12116 and GRUB_BUTTON_CMOS_ADDRESS.
12117 * util/grub.d/00_header.in: Handle powering-on by separate button.
12118
ad603f61
VS
121192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
12122 Removed drawing_scrollbar argument. All users updated
12123 Fixes #29792.
12124 Reported by Jo Shields
12125
3ecb080a
VS
121262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
12129 buffer since gfxterm handles double repaint.
12130
5f2316c1
VS
121312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
12134 * term/gfxterm.c (real_scroll): Likewise.
12135
9a25f885
VS
121362010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
12139 before calling BIOS.
12140
39fbb79a
VS
121412010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * include/grub/i18n.h: Always enable grub_gettext.
12144
228cfa97
VS
121452010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
12148 partition naming style.
12149
21717c8f
CW
121502010-05-21 Colin Watson <cjwatson@ubuntu.com>
12151
12152 * util/grub-mkconfig.in: Fix handling of -o so that it works when
12153 not the first option.
12154
c0f48e65
CW
121552010-05-20 Colin Watson <cjwatson@ubuntu.com>
12156
12157 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
12158
96779aec
CW
121592010-05-20 Colin Watson <cjwatson@ubuntu.com>
12160
12161 * util/misc.c: Move inclusion of <limits.h> to ...
12162 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
12163
fa9d256e
GS
121642010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
12165
12166 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
12167 Fix merge error in NetBSD code.
12168 (find_partition_start) [__NetBSD__]: Likewise.
12169
123b7a85
BC
121702010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
12171
12172 Fix grub-mkrescue usage unit testing.
12173
12174 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
12175
74276c0d
CF
121762010-05-18 Christian Franke <franke@computer.org>
12177
12178 * util/grub.d/10_windows.in: Use path names instead of
12179 drive letters to prevent warning from Cygwin 1.7.
12180 Add drivemap command to menuentry if needed.
12181
c4f7b523
ST
121822010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
12183
12184 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
12185 gnumach and gnumach.gz.
12186
95b97950
VS
121872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * include/grub/i18n.h (gettext): Inline instead of using #define.
12190 (grub_gettext): Likewise.
12191 (_): Likewise.
12192
01b8d2d7
VS
121932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
12196 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
12197 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
12198 (main): Add a slash after pkglibdirroot.
12199
654e1d1e
VS
122002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * util/grub-install.in: Add missing "in" keyword.
12203
26966aeb
VS
122042010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
12207 Reported by: Seth Goldberg.
12208
75006747
VS
122092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
12212
74cbf5bd
CW
122132010-05-18 Colin Watson <cjwatson@ubuntu.com>
12214
12215 * configure.ac: Check for Linux device-mapper support.
12216
12217 * util/hostdisk.c (device_is_mapped): New function.
12218 (find_partition_start): New function, partly broken out from
12219 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
12220 device-mapper support added.
12221 (linux_find_partition): Use find_partition_start.
12222 (convert_system_partition_to_system_disk): Add `st' argument.
12223 Support Linux /dev/mapper/* devices if device-mapper support is
12224 available; only DM-RAID devices are understood at present.
12225 (find_system_device): Add `st' argument. Pass it to
12226 convert_system_partition_to_system_disk.
12227 (grub_util_biosdisk_get_grub_dev): Pass stat result to
12228 find_system_device and convert_system_partition_to_system_disk. Use
12229 find_partition_start.
12230
12231 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
12232 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
12233 * util/deviceiter.c [__linux__]: Define MINOR.
12234 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
12235 * util/mkdevicemap.c (grub_putchar): New function.
12236 (grub_getkey): New function.
12237 (grub_refresh): New function.
12238 (main): Set debug=all if -v -v is used.
12239
355b51e9
CW
122402010-05-18 Colin Watson <cjwatson@ubuntu.com>
12241
12242 Fix build with non-GNU libcs.
12243
12244 * util/misc.c (canonicalize_file_name): Move to ...
12245 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
12246 grub_make_system_path_relative_to_its_root.
12247
7fb5c25f
CW
122482010-05-18 Colin Watson <cjwatson@ubuntu.com>
12249
12250 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
12251 we handle finding grub-mkimage. Default to finding grub-mkimage in
12252 ${bindir} with program_transform_name applied, and provide a
12253 --grub-mkimage option to override this.
12254
1d3293d6
VS
122552010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Remove grub-mkisofs.
12258
12259 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
12260 (grub_mkisofs_SOURCES): Removed.
12261 (grub_mkisofs_CFLAGS): Removed.
12262 * util/mkisofs/defaults.h: Removed.
12263 * util/mkisofs/eltorito.c: Likewise.
12264 * util/mkisofs/exclude.h: Likewise.
12265 * util/mkisofs/hash.c: Likewise.
12266 * util/mkisofs/include/: Likewise.
12267 * util/mkisofs/include/fctldefs.h: Likewise.
12268 * util/mkisofs/include/mconfig.h: Likewise.
12269 * util/mkisofs/include/prototyp.h: Likewise.
12270 * util/mkisofs/include/statdefs.h: Likewise.
12271 * util/mkisofs/iso9660.h: Likewise.
12272 * util/mkisofs/joliet.c: Likewise.
12273 * util/mkisofs/match.c: Likewise.
12274 * util/mkisofs/match.h: Likewise.
12275 * util/mkisofs/mkisofs.c: Likewise.
12276 * util/mkisofs/mkisofs.h: Likewise.
12277 * util/mkisofs/msdos_partition.h: Likewise.
12278 * util/mkisofs/multi.c: Likewise.
12279 * util/mkisofs/name.c: Likewise.
12280 * util/mkisofs/rock.c: Likewise.
12281 * util/mkisofs/tree.c: Likewise.
12282 * util/mkisofs/write.c: Likewise.
12283
5dde9afe
VS
122842010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 Unify grub-mkimage accross platforms.
12287
12288 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
12289 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
12290 (grub_mkelfimage_SOURCES): Removed.
12291 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
12292 (util/grub-mkimage.c_DEPENDENCIES): .. this.
12293 (bin_UTILITIES): Add grub-mkimage.
12294 (grub_mkimage_SOURCES): New variable.
12295 (kernel_img_HEADERS): Remove machine/kernel.h.
12296 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
12297 (pkglib_PROGRAMS): Add kernel.img.
12298 (kernel_img_HEADERS): Add machine/kernel.h.
12299 (kernel_img_FORMAT): Removed.
12300 (bin_UTILITIES): Remove grub-mkimage.
12301 (grub_mkimage_SOURCES): Removed.
12302 (grub_mkimage_CFLAGS): Likewise.
12303 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12304 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
12305 (pkglib_PROGRAMS): Add kernel.img.
12306 (bin_UTILITIES): Remove grub-mkimage.
12307 (grub_mkimage_SOURCES): Removed.
12308 (grub_mkimage_CFLAGS): Likewise.
12309 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12310 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12311 (pkglib_PROGRAMS): Add kernel.img.
12312 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12313 (pkglib_PROGRAMS): Add kernel.img.
12314 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12315 (grub_mkimage_SOURCES): Removed.
12316 (grub_mkimage_CFLAGS): Likewise.
12317 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12318 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12319 (pkglib_PROGRAMS): Add kernel.img.
12320 (bin_UTILITIES): Remove grub-mkimage.
12321 (grub_mkimage_SOURCES): Removed.
12322 (grub_mkimage_CFLAGS): Likewise.
12323 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12324 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12325 (grub_mkimage_SOURCES): Removed.
12326 (grub_mkimage_CFLAGS): Likewise.
12327 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12328 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12329 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12330 (grub_pe32_optional_header): ... this.
12331 (grub_pe64_optional_header): ... and this. All users updated.
12332 (GRUB_PE32_PE32_MAGIC): Split into ..
12333 (GRUB_PE32_PE32_MAGIC): .. this.
12334 (GRUB_PE32_PE64_MAGIC): .. and this.
12335 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12336 * include/grub/elf.h (PT_GNU_STACK): New definition.
12337 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12338 * include/grub/i386/efi/kernel.h: Likewise.
12339 * include/grub/i386/kernel.h: Likewise.
12340 * include/grub/i386/pc/kernel.h: Likewise.
12341 * include/grub/i386/qemu/boot.h: Likewise.
12342 * include/grub/mips/kernel.h: Likewise.
12343 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12344 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12345 * include/grub/powerpc/kernel.h: Likewise.
12346 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12347 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12348 * include/grub/sparc64/kernel.h: Likewise.
12349 * include/grub/x86_64/efi/kernel.h: Likewise.
12350 * include/grub/x86_64/kernel.h: Likewise.
12351 * include/grub/offsets.h: New file.
12352 * include/grub/kernel.h (grub_module_info): Split into ...
12353 (grub_module_info32): ... this.
12354 (grub_module_info64): ... and this.
12355 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12356 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12357 (grub_boot_blocklist): Moved from here ...
12358 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12359 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12360 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12361 * include/grub/types.h (grub_target_to_host16): Removed.
12362 (grub_target_to_host32): Likewise.
12363 (grub_target_to_host64): Likewise.
12364 (grub_host_to_target16): Likewise.
12365 (grub_host_to_target32): Likewise.
12366 (grub_host_to_target64): Likewise.
12367 (grub_host_to_target_addr): Likewise.
12368
12369 Support grub-mkrescue for efi, coreboot and qemu.
12370
12371 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12372 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12373 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12374 * util/grub-mkrawimage.c: Moved from here ...
12375 * util/grub-mkimage.c: ... here. All users updated.
12376 (ALIGN_ADDR): Use image_target.
12377 (TARGET_NO_FIELD): New const.
12378 (image_target_desc): New type.
12379 (image_targets): New array.
12380 (grub_target_to_host64): Use image_target.
12381 (grub_target_to_host32): Likewise.
12382 (grub_target_to_host16): Likewise.
12383 (grub_host_to_target64): Likewise.
12384 (grub_host_to_target32): Likewise.
12385 (grub_host_to_target16): Likewise.
12386 (grub_host_to_target_addr): Likewise.
12387 (generate_image): Handle multiimage.
12388 (main): Require -O parameter. All users updated.
12389 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12390 util/efi/grub-mkimage.c
12391 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12392 New option --rom-directory.
12393 Use xorriso.
12394 * util/i386/efi/grub-mkimage.c: Removed.
12395 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12396 (grub_target_to_host32): Likewise.
12397 (grub_target_to_host64): Likewise.
12398 (grub_host_to_target16): Likewise.
12399 (grub_host_to_target32): Likewise.
12400 (grub_host_to_target64): Likewise.
12401 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12402 (grub_target_to_host32): Likewise.
12403 (grub_target_to_host64): Likewise.
12404 (grub_host_to_target16): Likewise.
12405 (grub_host_to_target32): Likewise.
12406 (grub_host_to_target64): Likewise.
12407
f4fc97d0
BC
124082010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12409
12410 Source tree is reorganized for emu build.
12411
12412 * include/grub/util/console.h: Move from here...
12413 * include/grub/emu/console.h: ...to here.
12414 * include/grub/util/getroot.h: Move from here...
12415 * include/grub/emu/getroot.h: ...to here.
12416 * include/grub/util/hostdisk.h: Move from here...
12417 * include/grub/emu/hostdisk.h: ...to here.
12418 * util/console.c: Move from here...
12419 * kern/emu/console.c: ...to here.
12420 * util/getroot.c: Move from here...
12421 * kern/emu/getroot.c: ...to here.
12422 * util/grub-emu.c: Move from here...
12423 * kern/emu/main.c: ...to here.
12424 * util/hostdisk.c: Move from here...
12425 * kern/emu/hostdisk.c: ...to here.
12426 * util/hostfs.c: Move from here...
12427 * kern/emu/hostfs.c: ...to here.
12428 * util/mm.c: Move from here...
12429 * kern/emu/mm.c: ...to here.
12430 * util/pci.c: Move from here...
12431 * bus/emu/pci.c: ...to here.
12432 * util/sdl.c: Move from here...
12433 * video/emu/sdl.c: ...to here.
12434 * util/time.c: Move from here...
12435 * kern/emu/time.c: ...to here.
12436 * util/usb.c: Move from here...
12437 * bus/usb/emu/usb.c: ...to here.
12438
12439 * include/grub/emu/misc.h: New header for grub-emu functions.
12440 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12441
12442 * conf/any-emu.rmk: Rule updates for above renames.
12443 * conf/common.rmk: Likewise.
12444 * conf/i386-pc.rmk: Likewise.
12445 * conf/i386-qemu.rmk: Likewise.
12446 * conf/mips.rmk: Likewise.
12447 * conf/sparc64-ieee1275.rmk: Likewise.
12448 * conf/x86-efi.rmk: Likewise.
12449
12450 * disk/lvm.h: #include updates for above renames.
12451 * util/grub-mkrelpath.c: Likewise.
12452 * util/grub-probe.c: Likewise.
12453 * util/i386/pc/grub-setup.c: Likewise.
12454 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12455 * kern/emu/console.c: Likewise.
12456 * kern/emu/getroot.c: Likewise.
12457 * kern/emu/hostdisk.c: Likewise.
12458 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12459
12460 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12461 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12462 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12463 * util/misc.c: Remove grub-emu functions.
12464
cced9145
VS
124652010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 Fix gfxmenu crash.
12468 Reported by: Thorsten Grützmacher.
12469
12470 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12471 timeout hook.
12472 (circprog_set_property): Register and unregister timeout hook.
12473 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12474 (label_destroy): Free template. and unregister hook.
12475 (label_set_state): New function.
12476 (label_set_property): Handle templates and hooks.
12477 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12478 timeout hook.
12479 (progress_bar_set_property): Register and unregister timeout hook.
12480 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12481 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12482 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12483 (update_timeout_visit): Removed.
12484 (update_timeouts): New function.
12485 (redraw_timeouts): Likewise.
12486 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12487 (grub_gfxmenu_clear_timeout): Likewise.
12488 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12489 (grub_gfxmenu_timeout_notify): Likewise.
12490 (grub_gfxmenu_timeout_notifications): New external variable.
12491 (grub_gfxmenu_timeout_register): New function.
12492 (grub_gfxmenu_timeout_unregister): Likewise.
12493
c6e5caab
VS
124942010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Transform (broken) vga terminal into (working) vga video driver.
12497
12498 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12499 video/i386/pc/vga.c.
12500 * include/grub/video.h (grub_video_driver_id):
12501 Add GRUB_VIDEO_DRIVER_VGA.
12502 * term/i386/pc/vga.c: Renamed to ...
12503 * video/i386/pc/vga.c: ...this
12504 (DEBUG_VGA): Removed.
12505 (CHAR_WIDTH): Likewise.
12506 (CHAR_HEIGHT): Likewise.
12507 (TEXT_WIDTH): Likewise.
12508 (TEXT_HEIGHT): Likewise.
12509 (DEFAULT_FG_COLOR): Likewise.
12510 (DEFAULT_BG_COLOR): Likewise.
12511 (colored_char): Likewise.
12512 (xpos): Likewise.
12513 (ypos): Likewise.
12514 (cursor_state): Likewise.
12515 (fg_color): Likewise.
12516 (bg_color): Likewise.
12517 (text_buf): Likewise.
12518 (page): Likewise.
12519 (font): Likewise.
12520 (framebuffer): New variable.
12521 (set_read_map): Disabled.
12522 (setup): New variable.
12523 (is_target): Likewise.
12524 (grub_vga_mod_init): Likewise.
12525 (grub_vga_mod_fini): Likewise.
12526 (check_vga_mem): Likewise.
12527 (write_char): Likewise.
12528 (write_cursor): Likewise.
12529 (scroll_up): Likewise.
12530 (grub_vga_putchar): Likewise.
12531 (grub_vga_getcharwidth): Likewise.
12532 (grub_vga_getwh): Likewise.
12533 (grub_vga_getxy): Likewise.
12534 (grub_vga_gotoxy): Likewise.
12535 (grub_vga_cls): Likewise.
12536 (grub_vga_setcolorstate): Likewise.
12537 (grub_vga_setcursor): Likewise.
12538 (grub_video_vga_init): New function.
12539 (grub_video_vga_setup): Likewise.
12540 (grub_video_vga_fini): Likewise.
12541 (update_target): Likewise.
12542 (grub_video_vga_blit_bitmap): Likewise.
12543 (grub_video_vga_blit_render_target): Likewise.
12544 (grub_video_vga_set_active_render_target): Likewise.
12545 (grub_video_vga_get_active_render_target): Likewise.
12546 (grub_video_vga_swap_buffers): Likewise.
12547 (grub_video_vga_set_palette): Likewise.
12548 (grub_video_vga_get_info_and_fini): Likewise.
12549 (grub_vga_term): Removed.
12550 (grub_video_vga_adapter): New variable.
12551 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12552 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12553
2bf61a98
VS
125542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * video/readers/jpeg.c: Indented.
12557
09ddcd11
VS
125582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Various jpeg cleanups.
12561
12562 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12563 (grub_jpeg_decode_quan_table): Use sizeof.
12564 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12565
e5507505
PH
125662010-05-05 Peter Hurley <No e-mail available> (tiny change)
12567
12568 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12569 tables. Ignore non-last ac bit.
12570 (grub_jpeg_decode_quan_table): Likewise.
12571
7e720a9b
VS
125722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12575 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12576 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12577 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12578 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12579 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12580
a7fc080b
VS
125812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12584 error.
12585
2bf6012d
VS
125862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12589
265d68cd
VS
125902010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12593 condition.
12594
125952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12596
12597 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12598 part.
12599
265d68cd 126002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12601
12602 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12603 pointers.
12604
265d68cd 126052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12606
12607 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12608
d1b61374
CF
126092010-05-01 Christian Franke <franke@computer.org>
12610
12611 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12612 Remove broken Cygwin path conversion.
12613 * util/misc.c: [__CYGWIN__] Add include and define.
12614 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12615 for Cygwin 1.7.
12616 (make_system_path_relative_to_its_root): Simplify loop, replace early
12617 return by break.
12618 [__CYGWIN__] Add conversion to win32 path.
12619 Include "/" case in trailing slash removal.
12620
3558c6e9
VS
126212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12624 Reported by: Seth Goldberg
12625
f5f3ff93
VS
126262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * commands/help.c (grub_cmd_help): Fix a typo.
12629 Reported by: Seth Goldberg
12630
d8b5cd40
VS
126312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12634 name and add N_.
12635 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12636 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12637 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12638 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12639 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12640 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12641 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12642 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12643 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12644 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12645 * normal/context.c (GRUB_MOD_INIT): Likewise.
12646 * normal/main.c (GRUB_MOD_INIT): Likewise.
12647 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12648 * term/serial.c (GRUB_MOD_INIT): Likewise.
12649 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12650
88c14915
VS
126512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12654 extra == 0.
12655
165134bc
VS
126562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * commands/iorw.c: New file.
12659 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12660 (iorw_mod_SOURCES): New variable.
12661 (iorw_mod_CFLAGS): Likewise.
12662 (iorw_mod_LDFLAGS): Likewise.
12663
c5ac9b32
VS
126642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 Hotkey support
12667
12668 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12669 * normal/main.c (hotkey_aliases): New variable.
12670 (grub_normal_add_menu_entry): Parse "--hotkey".
12671 * normal/menu_text.c (run_menu): Handle hotkeys.
12672
ce60689c
VS
126732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * kern/i386/coreboot/init.c (grub_machine_init): Call
12676 grub_machine_mmap_init on qemu.
12677
0359d006
VS
126782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * boot/i386/qemu/boot.S: Add a missing .code16.
12681
7819a456
VS
126822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Use LBIO on coreboot.
12685
12686 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12687 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12688 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12689 New declaration.
12690 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12691 grub_machine_mmap_init on coreboot.
12692 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12693 GRUB_LINUXBIOS_MEMBER_LINK.
12694 (grub_machine_mmap_iterate): Fix declaration.
12695 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12696
7210dca9
VS
126972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Split coreboot and multiboot ports.
12700
12701 * conf/i386-multiboot.rmk: New file.
12702 * configure.ac: Add multiboot port.
12703 * include/grub/i386/multiboot/boot.h: New file.
12704 * include/grub/i386/multiboot/console.h: Likewise.
12705 * include/grub/i386/multiboot/init.h: Likewise.
12706 * include/grub/i386/multiboot/kernel.h: Likewise.
12707 * include/grub/i386/multiboot/loader.h: Likewise.
12708 * include/grub/i386/multiboot/memory.h: Likewise.
12709 * include/grub/i386/multiboot/serial.h: Likewise.
12710 * include/grub/i386/multiboot/time.h: Likewise.
12711 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12712 * loader/multiboot.c: Likewise.
12713 * loader/multiboot_mbi2.c: Likewise.
12714 * util/grub-mkrescue.in: Generate multiboot rescue.
12715
6f8aaf68
VS
127162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12717
3080f7a7
VS
12718 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12719
127202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12723
12724 * commands/terminal.c (abstract_terminal): New struct.
12725 (handle_command): New function. Based on grub_cmd_terminal_input.
12726 (grub_cmd_terminal_input): Use handle_command.
12727 (grub_cmd_terminal_output): Use handle_command.
12728
a8ebb841
BC
127292010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12730
12731 Fix comment handling.
12732
12733 * tests/grub_script_comments.in: New testcase.
12734 * conf/tests.rmk: Rules for new testcase.
12735 * script/yylex.l: Updated flex rules.
12736
bb06ba08
ST
127372010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12738
12739 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12740 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12741 if argc is 1.
bb06ba08 12742
cc9d2425
VS
127432010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12746 autogen issues.
12747
460d8402
CF
127482010-04-26 Christian Franke <franke@computer.org>
12749
12750 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12751 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12752 (grub_get_prefix): Remove function.
12753 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12754 make_system_path_relative_to_its_root ().
12755 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12756
553c01f9
CF
127572010-04-24 Christian Franke <franke@computer.org>
12758
12759 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12760 (kernel_img_LDFLAGS): Remove -static-libgcc.
12761
2aec1692
CF
127622010-04-24 Christian Franke <franke@computer.org>
12763
12764 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12765 and CHECK_END_SYMBOL if grub-emu is built.
12766 Unset TARGET_OBJ2ELF if grub-emu is built
12767 without module support.
12768
f67dc308
JS
127692010-04-24 Jiro SEKIBA <jir@unicus.jp>
12770
12771 Nilfs2 support.
12772
12773 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12774 (grub_fstest_SOURCES): Likewise.
12775 (pkglib_MODULES): Add nilfs2.mod.
12776 (nilfs2_mod_SOURCES): New variable.
12777 (nilfs2_mod_CFLAGS): Likewise.
12778 (nilfs2_mod_LDFLAGS): Likewise.
12779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12780 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12781 * fs/nilfs2.c: New file.
12782
4ba8d354
VS
127832010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12786 is not supported.
12787
0d2c20c6
GS
127882010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12789
12790 Add grub-mkconfig support for NetBSD.
12791
12792 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12793 * util/grub-mkconfig.in: export new NetBSD specific variables.
12794 * po/POTFILES-shell: added 10_netbsd.in.
12795 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12796
bc4a2d83
BC
127972010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12798
12799 Fix emu build with grub-emu-pci and grub-emu-modules.
12800
12801 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12802 functions.
12803 * include/grub/libpciaccess.h: New file.
12804 * conf/any-emu.rmk: Update kernel headers for emu build.
12805
f48c87aa
VS
128062010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12809
18959385
VS
128102010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12813
0037de3f
VS
128142010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12817 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12818 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12819 util/ieee1275/ofpath.c.
12820 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12821 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12822 * include/grub/sparc64/ieee1275/boot.h
12823 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12824 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12825 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12826 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12827 const char *.
12828 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12829 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12830 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12831 install.
12832
38e55e90
GS
128332010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12834
12835 * util/grub-mkconfig.in: Corrected two == equality tests.
12836 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12837 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12838 expect a number appended to it.
12839 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12840 expects a number appended to it.
12841
a9e6ff28
VS
128422010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12845
0b830b8f
VS
128462010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * util/hostdisk.c (make_device_name): Change to new partition naming.
12849
0973daeb
VS
128502010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12853
460d8402 128542010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12855
12856 * Makefile.in: Add missing localedir setting.
12857
0b456309
CW
128582010-04-14 Colin Watson <cjwatson@ubuntu.com>
12859
12860 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12861 mistake in r2156. Noticed by Anthony Fok.
12862
12863 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12864 @localedir@.
12865 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12866
08f46d62
BC
128672010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12868
12869 Fix a spurious, uninitialized variable warning.
12870
12871 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12872 Initialize variable, shdr.
12873 (grub_freebsd_load_elfmodule): Likewise.
12874 (grub_freebsd_load_elf_meta): Likewise.
12875
8c4a72d4
BC
128762010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12877
12878 Fix for escaped dollar in double quoted strings.
12879
12880 * script/yylex.l: Updated flex rules.
12881 * conf/tests.rmk: Rule for new testcase.
12882 * tests/grub_script_dollar.in: New testcase.
12883
ce44826e
CPE
128842010-04-13 Carles Pina i Estany <carles@pina.cat>
128852010-04-13 Colin Watson <cjwatson@ubuntu.com>
12886
12887 Enclose all translated strings in grub.cfg in single quotes, and
12888 escape them appropriately (Ubuntu bug #552921).
12889
12890 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12891 * util/grub.d/10_hurd.in: Use it.
12892 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12893 * util/grub.d/10_linux.in (linux_entry): Likewise.
12894
4b0cd8f8
VS
128952010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 Fix cygwin compilation.
12898
12899 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12900 * include/grub/misc.h (__register_frame_info)
12901 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12902 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12903 * kern/misc.c (__register_frame_info)
12904 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12905 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12906
01fcf061
VS
129072010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12910
5d04b11e
VS
129112010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Unify libgcc processing.
12914
12915 * Makefile.in (kernel_img_LDFLAGS): New variable.
12916 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12917 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12918 overwriting.
12919 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12920 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12921 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12922 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12923 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12924 overwriting. Remove -lgcc and -static-libgcc
12925 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12926 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12927 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12928 (kernel_img_LDFLAGS): Append instead of overwriting.
12929 Remove -lgcc and -static-libgcc
12930 * conf/sparc64-ieee1275.rmk: Likewise.
12931 * include/grub/powerpc/libgcc.h: Move to ...
12932 * include/grub/libgcc.h: .. this.
12933 * include/grub/libgcc.h: Don't export most of the function on x86.
12934 (__bswapsi2): New export.
12935 (__bswapdi2): Likewise.
12936 * include/grub/mips/libgcc.h: Removed.
12937 * include/grub/sparc64/libgcc.h: Likewise.
12938
b7f3ac29
VS
129392010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12942 disk_info_msg (conflicts with gettexting into languages with cases).
12943
2c7031b1
GS
129442010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12945
12946 Add grub-probe support for NetBSD.
12947
12948 * util/getroot.c (find_root_device): Convert block device to
12949 character device on NetBSD.
12950 * util/probe.c (probe): Require character device on NetBSD.
12951 * util/hostdisk.c: NetBSD specific headers.
12952 (configure_device_driver): new function to tune device driver
12953 parameters (currently only for NetBSD floppy driver).
12954 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12955 via disklabel ioctl).
12956 (open_device): call configure_device_driver on NetBSD.
12957 (convert_system_partition_to_system_disk): NetBSD specific code.
12958 (device_is_wholedisk): Likewise.
12959 (grub_util_biosdisk_get_grub_dev): Likewise.
12960 (make_device_name): Fixed a typo in bsd_part_str.
12961 * configure.ac: check for opendisk() and getrawpartition() on
12962 NetBSD and set LIBUTIL.
12963 * Makefile.in: add LIBUTIL to LIBS.
12964
f516290c
BC
129652010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12966
12967 Documentation fix.
12968
12969 * util/grub-script-check.c: Better help message.
12970
d8dcc0df
BC
129712010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12972
12973 Fix FreeBSD build.
12974
12975 * configure.ac: Flex version check.
12976 * conf/common.rmk: Add -Wno-error to sh.mod.
12977 * script/yylex.l: Remove all #pragma.
12978
6734334a
VS
129792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12982 prototype.
12983 Reported by: Seth Goldberg.
12984
daea6abd
VS
129852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12988 Rename "module" to "module2".
12989 Reported by: Seth Goldberg.
12990
f2fd9d2b
VS
129912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12994 EXPORT_FUNC.
12995 Reported by: Seth Goldberg.
12996
be124579
VS
129972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * lib/posix_wrap/locale.h: Add missing file.
13000 Reported by: Seth Goldberg.
13001
ef5da797
VS
130022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 grub-emu module load support.
13005
13006 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
13007 NO_DYNAMIC_MODULES switched to this.
13008 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
13009 (CFLAGS): Likewise.
13010 * conf/any-emu.rmk: Generate symlist.
13011 (kernel_img_HEADERS): Add util/datetime.h.
13012 (kernel_img_HEADERS) [sdl]: Add sdl.h.
13013 (kernel_img_HEADERS) [libusb]: Add libusb.h.
13014 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
13015 kern/$(target_cpu)/cache.S.
13016 * configure.ac (grub-emu-modules): New option.
13017 * genmk.rb: Handle multiple source lists.
13018 * include/grub/sdl.h: New file.
13019 * include/grub/libusb.h: Likewise.
13020 * util/grub-emu.c (main): Hanle (host) root.
13021 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
13022 GRUB_ERR_UNKNOWN_DEVICE.
13023 * util/misc.c: Move mm functions to ...
13024 * util/mm.c: ... here. All users updated.
13025
47822096
VS
130262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
13029 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
13030 missing files.
13031 (maintainer-clean): Remove libgcrypt-grub.
13032
5d7e7445
VS
130332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
13036
25f4e252
EC
130372010-04-09 EFI Coder <eficoder@hotmail.com>
13038
13039 * normal/menu_text.c (print_message): Clean up the message and show
13040 the Fn information when on EFI
13041 * term/efi/console.c (grub_console_checkkey): Add F4 support.
13042
027de555
VS
130432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
13046 All users updated.
13047 * normal/crypto.c (read_crypto_list): Likewise.
13048 * normal/dyncmd.c (read_command_list): Likewise.
13049 * normal/term.c (read_terminal_list): Likewise.
13050 * normal/main.c (read_lists): Use explicit prefix.
13051 (read_lists_hook): Use read_lists.
13052 (grub_normal_execute): Likewise.
13053
47779711
VS
130542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
13057 Reported by: Thomas Schmitt.
13058 Add -no-emul-boot to grub-mkisofs parameters.
13059
1118c32e
VS
130602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * font/font.c: Indented.
13063
7d652447
BC
130642010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13065
13066 Elif support to GRUB script (by Deepak Vankadaru).
13067
13068 * tests/grub_script_if.in: New testcase.
13069 * conf/tests.rmk: Rule for new testcase.
13070 * script/parser.y: Grammar rules for elif.
13071
34bb22df
BC
130722010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13073
13074 While and until loops support to GRUB script.
13075
13076 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
13077 (grub_script_create_cmdwhile): New function prototype.
13078 (grub_script_execute_cmdwhile): New function prototype.
13079 * script/execute.c (grub_script_execute_cmdwhile): New function.
13080 * script/parser.y (command): New commands.
13081 (whilecmd): New grammar rule.
13082 (untilcmd): New grammar rule.
13083 * script/script.c (grub_script_create_cmdwhile): New function.
13084 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
13085 function.
13086
13087 * tests/grub_script_while1.in: New testcase.
13088 * conf/tests.rmk: Rule for new testcase.
13089
e215d8e0
VS
130902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
13093 as *.jpg.
13094
d7c43ba1
MV
130952010-04-09 Mario Vazquez <mariovazq@gmail.com>
13096
13097 GRUB_BACKGROUND support.
13098
13099 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
13100 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
13101
d64795c0
VS
131022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 13105 Idea by: Mario Vazquez
d64795c0
VS
13106
13107 * util/grub.d/00_header.in: Load pf2 and image modules.
13108
f267f83a
VS
131092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 grub-mkconfig multiple terminal support.
13112
13113 * util/grub-mkconfig.in: Handle multiple terminals correctly.
13114 * util/grub.d/00_header.in: Likewise.
13115
b7841ceb
VS
131162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 * Makefile.in: Specify files explicitly instead of using $< and $@ since
13119 we use cd $(srcdir).
13120
df60998c
CW
131212010-04-08 Colin Watson <cjwatson@ubuntu.com>
13122
13123 * util/grub.d/10_linux.in: Only use the first word of
13124 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
13125 spaces in GRUB_DISTRIBUTOR.
13126 * util/grub.d/10_kfreebsd.in: Likewise.
13127 * util/grub.d/10_hurd.in: Likewise.
13128
fa09c82e
BC
131292010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
13130
14e18ae3 13131 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
13132
13133 * tests/util/grub-shell.in: Remove -serial stdio option.
13134
daf892b3
BC
131352010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 POSIX header file wrappers.
13138
13139 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
13140 equivalents.
13141 * lib/posix_wrap/ctype.h: Likewise.
13142 * lib/posix_wrap/errno.h: Likewise.
13143 * lib/posix_wrap/langinfo.h: Likewise.
13144 * lib/posix_wrap/limits.h: Likewise.
13145 * lib/posix_wrap/localcharset.h: Likewise.
13146 * lib/posix_wrap/stdint.h: Likewise.
13147 * lib/posix_wrap/stdio.h: Likewise.
13148 * lib/posix_wrap/stdlib.h: Likewise.
13149 * lib/posix_wrap/string.h: Likewise.
13150 * lib/posix_wrap/sys/types.h: Likewise.
13151 * lib/posix_wrap/unistd.h: Likewise.
13152 * lib/posix_wrap/wchar.h: Likewise.
13153 * lib/posix_wrap/wctype.h: Likewise.
13154 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
13155 (grub_script.yy.h): Likewise.
13156 * script/yylex.l: Remove POSIX emulation #defines.
13157 * Makefile.in (POSIX_CFLAGS): New variable.
13158 (GNULIB_UTIL_CFLAGS): Likewise.
13159
13160 Regexp support.
13161
13162 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
13163 (regexp_mod_SOURCES): New variable.
13164 (regexp_mod_CFLAGS): Likewise.
13165 (regexp_mod_LDFLAGS): Likewise.
13166 * commands/regexp.c: New file.
13167 * gnulib/regcomp.c: New file. Imported from gnulib.
13168 * gnulib/regex.c: Likewise.
13169 * gnulib/regex_internal.c: Likewise.
13170 * gnulib/regex_internal.h: Likewise.
13171 * gnulib/regexec.c: Likewise.
13172 * gnulib/regex.h: Likewise.
13173
974ac4f7
VS
131742010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
13177 unsupported video mode types.
13178
2622c3ff
VS
131792010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
13182
064cb524
VS
131832010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
13186 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
13187
a8c3b552
VS
131882010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Remove unused grub_vga_get_font.
13191
13192 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
13193 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
13194
187bbe3d
GS
131952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13196
13197 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
13198 * include/grub/misc.h: Likewise.
13199
b9396631
GS
132002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13201
13202 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
13203 for which failure is fatal.
13204
50479feb
GS
132052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13206
13207 * util/grub-install.in: Use mkdir -p to create grub directory.
13208 * util/i386/efi/grub-install.in: Likewise.
13209 * util/ieee1275/grub-install.in: Likewise.
13210
b1654fdf
GS
132112010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13212
13213 * Makefile.in (LEX): new variable.
13214
bd5a6415
GS
132152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13216
13217 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
13218 `=' and added double quotes on operands of this equality test.
13219
3db3a82b
VS
132202010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * Makefile.in (uninstall): Remove a leftover debug echo.
13223 Reported by: Grégoire Sutre
13224
38023412
VS
132252010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 MIPS multiboot2 support.
13228
13229 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
13230 (multiboot2_mod_SOURCES): New variable.
13231 (multiboot2_mod_CFLAGS): Likewise.
13232 (multiboot2_mod_LDFLAGS): Likewise.
13233 (multiboot2_mod_ASFLAGS): Likewise.
13234 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
13235 definition.
13236 (MULTIBOOT_ENTRY_REGISTER): Likewise.
13237 (MULTIBOOT_MBI_REGISTER): Likewise.
13238 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
13239 (MULTIBOOT_ELF32_MACHINE): Likewise.
13240 (MULTIBOOT_ELF64_MACHINE): Likewise.
13241 * include/grub/mips/multiboot.h: New file.
13242 * include/grub/video.h (grub_video_driver_id): New type
13243 GRUB_VIDEO_DRIVER_SM712.
13244 (grub_video_get_info_and_fini): Export.
13245 (grub_video_get_palette): Likewise.
13246 (grub_video_get_driver_id): Likewise.
13247 * include/multiboot2.h: Resynced with spec.
13248 * loader/i386/multiboot.c: Moved from here ...
13249 * loader/multiboot.c: ... here. All users updated.
13250 (grub_multiboot_boot): Use platform-specific macros.
13251 * loader/i386/multiboot_elfxx.c: Moved from here ...
13252 * loader/multiboot_elfxx.c: ... here. All users updated.
13253 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
13254 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
13255 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
13256
47674667
VS
132572010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 Import gnulib argp module.
13260
13261 * gnulib/argp-ba.c: New file.
13262 * gnulib/argp-eexst.c: Likewise.
13263 * gnulib/argp-fmtstream.c: Likewise.
13264 * gnulib/argp-fmtstream.h: Likewise.
13265 * gnulib/argp-fs-xinl.c: Likewise.
13266 * gnulib/argp-help.c: Likewise.
13267 * gnulib/argp-namefrob.h: Likewise.
13268 * gnulib/argp-parse.c: Likewise.
13269 * gnulib/argp-pin.c: Likewise.
13270 * gnulib/argp-pv.c: Likewise.
13271 * gnulib/argp-pvh.c: Likewise.
13272 * gnulib/argp-version-etc.c: Likewise.
13273 * gnulib/argp-version-etc.h: Likewise.
13274 * gnulib/argp-xinl.c: Likewise.
13275 * gnulib/argp.h: Likewise.
13276
495442ed
VS
132772010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * kern/device.c (grub_device_iterate): Clear errors after failed
13280 opening device.
13281
f9fd65df
VS
132822010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
13285 returned by firmware.
13286
af09641e
VS
132872010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
13290 compilation on coreboot and qemu
13291
016883a5
VS
132922010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * include/multiboot2.h: Resync with spec.
13295
f97e1f7d
VS
132962010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 Multiboot2 tag support
13299
13300 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
13301 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
13302 Remove loader/multiboot_loader.c.
13303 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
13304 (grub_multiboot2_real_boot): Likewise.
13305 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
13306 (grub_get_multiboot_mmap_count): New proto.
13307 (grub_fill_multiboot_mmap): Likewise.
13308 (grub_multiboot_set_video_mode): Likewise.
13309 (grub_multiboot_set_console): Likewise.
13310 (grub_multiboot_load): Likewise.
13311 (grub_multiboot_load_elf): Likewise.
13312 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13313 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13314 * include/multiboot.h: Resynced with specification.
13315 * include/multiboot2.h: Resynced with specification.
13316 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13317 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13318 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13319 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13320 users updated.
13321 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13322 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13323 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13324 Removed.
13325 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13326 Moved from here...
13327 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13328 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13329 Moved from here...
13330 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13331 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13332 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13333 All users updated.
13334 * loader/i386/multiboot_mbi2.c: New file.
13335
3506b90b
VS
133362010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 Resync with gnulib.
13339
13340 * Makefile.in (GNULIB_CFLAGS): New variable.
13341 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13342 (grub_script_check_CFLAGS): New variable.
13343 * gnulib/alloca.h: Resync with gnulib.
13344 * gnulib/error.c: Likewise.
13345 * gnulib/error.h: Likewise.
13346 * gnulib/fnmatch.c: Likewise.
13347 * gnulib/fnmatch_loop.c: Likewise.
13348 * gnulib/getdelim.c: Likewise.
13349 * gnulib/getline.c: Likewise.
13350 * gnulib/getopt.c: Likewise.
13351 * gnulib/getopt1.c: Likewise.
13352 * gnulib/getopt_int.h: Likewise.
13353 * gnulib/gettext.h: Likewise.
13354 * gnulib/progname.c: Likewise.
13355 * gnulib/progname.h: Likewise.
13356
394a3120
GS
133572010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13358
13359 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13360 which is the case with --disabled-nls.
13361
13362 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13363 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13364 * util/misc.c: Likewise.
13365 * util/mkisofs/mkisofs.c: Likewise.
13366 * util/mkisofs/mkisofs.h: Likewise.
13367
969d1c78
VS
133682010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 Simplify Apple CC support.
13371
13372 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13373 Add 0 byte at the end not to have a symbol with empty target.
13374 * mmap/i386/pc/mmap_helper.S: Likewise.
13375 * genmk.rb: Ignore errors 2030 and 2050.
13376 * kern/i386/pc/startup.S: Use LOCAL when possible.
13377
8d2977bb
BC
133782010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13379
13380 Testcase and the fix for final semicolon on cmdline.
13381
13382 * tests/grub_script_final_semicolon.in: New testcase.
13383 * conf/tests.rmk: Rules for the new testcase.
13384 * script/parser.y: Grammar fix.
13385
a7bd6915
BC
133862010-03-26 BVK Chaitanya <bvk@localhost>
13387
13388 Blank lines testcase for GRUB script.
13389
13390 * tests/grub_script_blanklines.in: New testcase.
13391 * conf/tests.rmk: Rules for the new testcase.
13392
e4ff6628
VS
133932010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 Don't use __FILE__.
13396
13397 * genmk.rb: Add -DGRUB_FILE to all C targets.
13398 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13399 * include/grub/list.h: Likewise.
13400 * include/grub/misc.h: Likewise.
13401 * include/grub/mm.h: Likewise.
13402 * include/grub/test.h: Likewise.
13403 * kern/mm.c: Likewise.
13404 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13405
6a5cf6b6
VS
134062010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 Sunpc partitions support.
13409
13410 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13411 (grub_fstest_SOURCES): Likewise.
13412 (pkglib_MODULES): Add part_sunpc.mod.
13413 (part_sunpc_mod_SOURCES): New variable.
13414 (part_sunpc_mod_CFLAGS): Likewise.
13415 (part_sunpc_mod_LDFLAGS): Likewise.
13416 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13417 * partmap/sunpc.c: New file.
13418
746d9045
BC
134192010-03-26 BVK Chaitanya <bvk@localhost>
13420
13421 For loop support to GRUB script.
13422
13423 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13424 (grub_script_create_cmdfor): New function prototype.
13425 (grub_script_execute_cmdfor): New function prototype.
13426 * script/execute.c (grub_script_execute_cmdfor): New function.
13427 * script/parser.y (command): New for command.
13428 (forcmd): New grammar rule.
13429 * script/script.c (grub_script_create_cmdfor): New function.
13430 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13431 function.
13432 * tests/grub_script_for1.in: New testcase.
13433 * conf/tests.rmk: Rules for new testcase.
13434
18486b18
VS
134352010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 Nested partitions
13438
13439 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13440 'partition' is NULL, grub_partition_get_start already does that.
13441 * commands/loadenv.c (check_blocklists): Likewise.
13442 (write_blocklists): Likewise.
13443 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13444 (grub_fstest_SOURCES): Likewise.
13445 (pkglib_MODULES): Add part_bsd.mod.
13446 (part_bsd_mod_SOURCES): New variable.
13447 (part_bsd_mod_CFLAGS): Likewise.
13448 (part_bsd_mod_LDFLAGS): Likewise.
13449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13450 (grub_emu_SOURCES): Likewise.
13451 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13452 * include/grub/bsdlabel.h: New file.
13453 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13454 'get_name'.
13455 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13456 (grub_partition_map_list): New variable.
13457 (grub_partition_map_register): Inline.
13458 (grub_partition_map_unregister): Likewise.
13459 (FOR_PARTITION_MAPS): New macro.
13460 (grub_partition_map_iterate): Removed.
13461 (grub_partition_get_start): Handle nested partitions.
13462 * include/grub/msdos_partition.h: Remove bsd-related entries.
13463 (grub_pc_partition): Remove.
13464 * kern/disk.c (grub_disk_close): Free partition data.
13465 (grub_disk_adjust_range): Handle nested partitions.
13466 * kern/partition.c (grub_partition_map_probe): New function.
13467 (grub_partition_probe): Parse name to number, handle subpartitions.
13468 (get_partmap): New function.
13469 (grub_partition_iterate): Handle subpartitions.
13470 (grub_partition_get_name): Likewise.
13471 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13472 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13473 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13474 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13475 Set 'number'.
13476 (acorn_partition_map_probe): Remove.
13477 (acorn_partition_map_get_name): Likewise.
13478 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13479 Set 'number'.
13480 Set 'index' to 0 since there can be only one partition entry per sector.
13481 (amiga_partition_map_probe): Remove.
13482 (amiga_partition_map_get_name): Likewise.
13483 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13484 Set 'number'.
13485 Set 'offset' and 'index' to real positions of partitions.
13486 (apple_partition_map_probe): Remove.
13487 (apple_partition_map_get_name): Likewise.
13488 * partmap/bsdlabel.c: New file.
13489 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13490 Set 'number'.
13491 Allocate 'data' so it can be correctly freed.
13492 Set 'index' to offset inside sector.
13493 (gpt_partition_map_probe): Remove.
13494 (gpt_partition_map_get_name): Likewise.
13495 * partmap/msdos.c (grub_partition_parse): Remove.
13496 (pc_partition_map_iterate): Don't force raw access.
13497 Set 'number'.
13498 Make 'ext_offset' a local variable.
13499 (pc_partition_map_probe): Remove.
13500 (pc_partition_map_get_name): Remove.
13501 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13502 Set 'number'.
13503 (sun_partition_map_probe): Remove.
13504 (sun_partition_map_get_name): Likewise.
13505 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13506 (grub_pcpart_type): Likewise.
13507 * util/hostdisk.c (open_device): Handle new numbering scheme.
13508 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13509 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13510 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13511 * util/grub-install.in: Insert all subpartition modules.
13512 * util/ieee1275/grub-install.in: Likewise.
13513
a3940f88
AG
135142010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13515
13516 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13517 grammar.
13518
21b99926 135192010-03-24 Colin Watson <cjwatson@ubuntu.com>
13520
13521 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13522
bed1d352
CW
135232010-03-21 Colin Watson <cjwatson@ubuntu.com>
13524
13525 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13526 match where 'make install' puts them.
13527 * util/i386/efi/grub-install.in: Likewise.
13528
c9f58427
CW
135292010-03-19 Colin Watson <cjwatson@ubuntu.com>
13530
13531 * .bzrignore: Add gentrigtables, grub-script-check,
13532 grub_script_check_init.c, grub_script_check_init.h, and
13533 trigtables.c.
13534
f84afb27
VS
135352010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13536
13537 * kern/parser.c: Indented.
13538
ed0e3d30
VS
135392010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13542
0ea81d98
VS
135432010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13546 alpha_mask_size == 0 case.
13547
0cdc2a09
BC
135482010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13549
13550 GRUB shell lexer and parser improvements.
13551
13552 * conf/any-emu.rmk: Build rule updates.
13553 * conf/common.rmk: Likewise.
13554 * conf/i386-coreboot.rmk: Likewise.
13555 * conf/i386-efi.rmk: Likewise.
13556 * conf/i386-ieee1275.rmk: Likewise.
13557 * conf/i386-pc.rmk: Likewise.
13558 * conf/powerpc-ieee1275.rmk: Likewise.
13559 * conf/x86_64-efi.rmk: Likewise.
13560
13561 * configure.ac: Configure check for flex.
13562
13563 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13564 types.
13565 (grub_lexer_param): Struct member updates.
13566 (grub_parser_param): Likewise.
13567 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13568 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13569 (grub_script_lexer_init): Prototype update.
13570 (grub_script_lexer_record_start): Likewise.
13571 (grub_script_lexer_record_stop): Likewise.
13572 (grub_script_lexer_yywrap): New function prototype.
13573 (grub_script_lexer_fini): Likewise.
13574 (grub_script_execute_argument_to_string): Removed by...
13575 (grub_script_execute_argument_to_argv): ...better version.
13576
13577 * script/execute.c (ROUND_UPTO): New macro.
13578 (grub_script_execute_cmdline): Out of memory fixes.
13579 (grub_script_execute_menuentry): Likewise.
13580 (grub_script_execute_argument_to_string): Removed. Update all
13581 users by...
13582 (grub_script_execute_argument_to_argv): ...better version.
13583 * script/function.c (grub_script_function_create): Use
13584 grub_script_execute_argument_to_argv instead of
13585 grub_script_execute_argument_to_string.
13586
13587 * script/lexer.c (check_varstate): Removed.
13588 (check_textstate): Removed.
13589 (grub_script_lexer_record_start): Likewise.
13590 (grub_script_lexer_record_stop): Likewise.
13591 (recordchar): Replaced with...
13592 (grub_script_lexer_record): ...new function.
13593 (nextchar): Removed.
13594 (grub_script_lexer_init): Rewritten.
13595 (grub_script_yylex): Rewritten.
13596 (append_newline): New function.
13597 (grub_script_lexer_yywrap): New function.
13598 (grub_script_lexer_fini): New function.
13599 (grub_script_yyerror): Sets error flag.
13600
13601 * script/yylex.l: New file.
13602 (grub_lexer_yyfree): Wrapper for flex yyffre.
13603 (grub_lexer_yyalloc): Likewise.
13604 (grub_lexer_yyrealloc): Likewise.
13605 * script/parser.y: Refactored.
13606
13607 * script/script.c (grub_script_arg_add): Out of memory fixes.
13608 (grub_script_add_arglist): Likewise.
13609 (grub_script_create_cmdline): Likewise.
13610 (grub_script_create_cmdmenu): Likewise.
13611 (grub_script_add_cmd): Likewise.
13612 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13613 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13614 unnecessary code.
13615
13616 * tests/grub_script_echo1.in: New testcase.
13617 * tests/grub_script_vars1.in: New testcase.
13618 * tests/grub_script_echo_keywords.in: New testcase.
13619
1d63a066
VS
136202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Remove some redundancy in build system.
13623
13624 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13625 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13626 (TARGET_LDFLAGS): Add -nostdlib.
13627 (TARGET_IMG_LDFLAGS): Likewise.
13628 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13629 anything since mmap isn't available.
13630 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13631 Add util/time.c.
13632 (pkglib_MODULES): Remove reboot.mod.
13633 (reboot_mod_SOURCES): Removed.
13634 (reboot_mod_CFLAGS): Likewise.
13635 (reboot_mod_LDFLAGS): Likewise.
13636 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13637 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13638 (DEFSYMFILES): Add kernel_syms.lst.
13639 (kernel_img_HEADERS): Add common headers.
13640 (symlist.c): New target.
13641 (kernel_syms.lst): Likewise.
13642 (pkglib_MODULES): Add memdisk.mod.
13643 (memdisk_mod_SOURCES): New variable.
13644 (memdisk_mod_CFLAGS): Likewise.
13645 (memdisk_mod_LDFLAGS): Likewise.
13646 (pkglib_MODULES): Add reboot.mod.
13647 (reboot_mod_SOURCES): New variable.
13648 (reboot_mod_CFLAGS): Likewise.
13649 (reboot_mod_LDFLAGS): Likewise.
13650 (pkglib_MODULES): Add date.mod.
13651 (date_mod_SOURCES): New variable.
13652 (date_mod_CFLAGS): Likewise.
13653 (date_mod_LDFLAGS): Likewise.
13654 (pkglib_MODULES): Add datehook.mod.
13655 (datehook_mod_SOURCES): New variable.
13656 (datehook_mod_CFLAGS): Likewise.
13657 (datehook_mod_LDFLAGS): Likewise.
13658 (pkglib_MODULES): Add lsmmap.mod.
13659 (lsmmap_mod_SOURCES): New variable.
13660 (lsmmap_mod_CFLAGS): Likewise.
13661 (lsmmap_mod_LDFLAGS): Likewise.
13662 (pkglib_MODULES): Add boot.mod.
13663 (boot_mod_SOURCES): New variable.
13664 (boot_mod_CFLAGS): Likewise.
13665 (boot_mod_LDFLAGS): Likewise.
13666 * conf/i386-coreboot.rmk: Removed redundant parts.
13667 * conf/i386-ieee1275.rmk: Likewise.
13668 * conf/i386-pc.rmk: Likewise.
13669 * conf/mips-yeeloong.rmk: Likewise.
13670 * conf/mips.rmk: Likewise.
13671 * conf/powerpc-ieee1275.rmk: Likewise.
13672 * conf/sparc64-ieee1275.rmk: Likewise.
13673 * conf/x86_64-efi.rmk: Likewise.
13674 * conf/i386-coreboot.rmk: Moved qemu parts ..
13675 * conf/i386-qemu.rmk: ... here
13676 * conf/i386-efi.rmk: Moved common parts to...
13677 * conf/x86-efi.rmk: ... here.
13678 * conf/i386.rmk: Added modules common to all x86 variants.
13679 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13680 * disk/memdisk.c: Remove grub/machine/kernel.h.
13681 * gensymlist.sh.in: Include symbol.h.
13682 * hook/datehook.c: Correct module name.
13683 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13684 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13685 * include/grub/i386/efi/serial.h: New file.
13686 * include/grub/x86_64/efi/serial.h: Likewise.
13687 * util/time.c: Likewise.
13688 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13689
463ac55f
CK
136902010-03-14 Colin King <colin.king@ubuntu.com>
136912010-03-14 Colin Watson <cjwatson@ubuntu.com>
13692
13693 Shrink the pre-partition-table part of boot.img by eight bytes.
13694
13695 * boot/i386/pc/boot.S (ERR): New macro.
13696 (chs_mode): Use ERR.
13697 (geometry_error): Likewise.
13698 (hd_probe_error): Remove. This is only used once, so we wrwite
13699 it inline instead.
13700 (read_error): Instead of printing read_error_string, just set up
13701 %si and fall through to ...
13702 (error_message): ... this new function, also used by ERR.
13703
08e46ede
CW
137042010-03-14 Colin Watson <cjwatson@ubuntu.com>
13705
13706 Speed up consecutive hostdisk operations on the same device.
13707
13708 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13709 (grub_util_biosdisk_open): Initialise disk->data.
13710 (struct linux_partition_cache): New structure.
13711 (linux_find_partition): Cache partition start positions; these are
13712 expensive to compute on every read and write.
13713 (open_device): Cache open file descriptor in disk->data, so that we
13714 don't have to reopen it and flush the buffer cache for consecutive
13715 operations on the same device.
13716 (grub_util_biosdisk_close): New function.
13717 (grub_util_biosdisk_dev): Set `close' member.
13718
13719 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13720 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13721 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13722 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13723 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13724
4a6d2d06
VS
137252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Compile parts of grub-emu as modules.
13728
13729 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13730 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13731 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13732 (all-local): Add $(GRUB_EMU).
13733 (install-local): Install $(GRUB_EMU).
13734 (uninstall): Uninstall $(GRUB_EMU).
13735 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13736 * kern/dl.c: Likewise.
13737 * commands/sleep.c: Not include machine/time.h.
13738 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13739 (COMMON_CFLAGS): Likewise.
13740 (sbin_UTILITIES): Remove grub-emu.
13741 (grub_emu_SOURCES): Removed.
13742 (kernel_img_RELOCATABLE): New variable.
13743 (pkglib_PROGRAMS): Add kernel.img.
13744 (kernel_img_SOURCES): New variable
13745 (kernel_img_CFLAGS): Likewise.
13746 (kernel_img_LDFLAGS): Likewise.
13747 (TARGET_NO_STRIP): Likewise.
13748 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13749 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13750 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13751 (grub-emu): New target.
13752 (GRUB_EMU): New variable.
13753 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13754 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13755 * loader/xnu.c: Likewise.
13756 * include/grub/pci.h: Likewise.
13757 * genemuinit.sh: New file.
13758 * genemuinitheader.sh: Likewise.
13759 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13760 Support TARGET_NO_DYNAMIC_MODULES.
13761 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13762 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13763 * disk/loopback.c: Likewise.
13764 * font/font_cmd.c: Likewise.
13765 * partmap/acorn.c: Likewise.
13766 * partmap/amiga.c: Likewise.
13767 * partmap/apple.c: Likewise.
13768 * partmap/gpt.c: Likewise.
13769 * partmap/msdos.c: Likewise.
13770 * partmap/sun.c: Likewise.
13771 * parttool/msdospart.c: Likewise.
13772 * term/gfxterm.c: Likewise.
13773 * video/bitmap.c: Likewise.
13774 * video/readers/jpeg.c: Likewise.
13775 * video/readers/png.c: Likewise.
13776 * video/readers/tga.c: Likewise.
13777 * video/video.c: Likewise.
13778 * util/grub-emu.c (read_command_list): Removed.
13779 (main): Don't call util_init_nls.
13780 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13781 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13782
91fdd2ed
VS
137832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13786 date.mod, datehook.mod.
13787 (datetime_mod_SOURCES): New variable.
13788 (datetime_mod_CFLAGS): Likewise.
13789 (datetime_mod_LDFLAGS): Likewise.
13790 (date_mod_SOURCES): Likewise.
13791 (date_mod_CFLAGS): Likewise.
13792 (date_mod_LDFLAGS): Likewise.
13793 (datehook_mod_SOURCES): Likewise.
13794 (datehook_mod_CFLAGS): Likewise.
13795 (datehook_mod_LDFLAGS): Likewise.
13796 * conf/sparc64-ieee1275.rmk: Likewise.
13797 * lib/ieee1275/datetime.c: New file.
13798
873ccae6
VS
137992010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13802 (ieee1275_fb_mod_SOURCES): New variable.
13803 (ieee1275_fb_mod_CFLAGS): Likewise.
13804 (ieee1275_fb_mod_LDFLAGS): Likewise.
13805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13806 New proto.
13807 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13808 (HEAP_MAX_ADDR): Likewise.
13809 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13810 type.
13811 Correct stop condition.
13812 (grub_ieee1275_devices_iterate): New function.
13813 * video/ieee1275.c: New file.
13814
601c97c0
VS
138152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13818
13819 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13820 as scratch.
13821 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13822 SCRATCH_PAD_DISKBOOT as scratch.
13823 (bootit): Pass Openfirmware pointer in %o4.
13824 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13825 of 0x200000.
13826 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13827 with util/grub-mkrawimage.c.
13828 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13829 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13830 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13831 (grub_aout_load) [GRUB_UTIL]: Likewise.
13832 * include/grub/kernel.h (grub_modules_get_end): New proto.
13833 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13834 (SCRATCH_PAD_BOOT): New definition.
13835 (SCRATCH_PAD_DISKBOOT): Likewise.
13836 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13837 * include/grub/sparc64/ieee1275/ieee1275.h
13838 (grub_ieee1275_original_stack): New variable
13839 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13840 New definition
13841 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13842 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13843 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13844 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13845 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13846 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13847 (grub_platform_image_format_t): New type.
13848 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13849 * kern/main.c (grub_modules_get_end)
13850 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13851 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13852 (codestart): Switch stacks.
13853 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13854 variable.
13855 (grub_heap_init): Use grub_modules_get_end.
13856 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13857 stack.
13858 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13859 (main): Likewise.
13860 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13861
d68b491e
TG
138622010-03-14 Thorsten Glaser <tg@mirbsd.org>
13863
13864 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13865
4e02ed50
MK
138662010-03-08 Matt Kraai <kraai@ftbfs.org>
13867
13868 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13869 bug #559005).
13870
1f15fc1e
VS
138712010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * genmoddep.awk: Output all missing symbols and not only first.
13874
fce5d8ff
VS
138752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * NEWS: Put the date of 1.98 release.
13878
d1e8a02f
VS
138792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13882 ft2build.h.
13883
696fd607
VS
138842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13887 completition in the middle of string.
13888
33e2e6f3
VS
138892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * util/grub-mkrescue.in: Use mktemp with explicit template.
13892
b1f6d291
VS
138932010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13896
2ac227c7
VS
138972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13900 right pointer.
13901
8f9a632b
VS
139022010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 Fix FreeBSD compilation.
13905
13906 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13907 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13908
60b03859
VS
139092010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13912
48a5a769
VS
139132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13916
3ab4bd77
VS
139172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13920
d116e0d8
RM
139212010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13922
13923 Support relative image path in theme file.
13924
13925 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13926 (image_set_property): Handle theme_dir and relative path.
13927
c7ef54aa
VS
139282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * configure.ac: Alias amd64 to x86_64.
13931
fcee14ed
VS
139322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * NEWS: mention multiboot on EFI.
13935
d0780363
VS
139362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * kern/main.c (grub_load_modules): Handle errors from init functions of
13939 embeded modules.
13940
41168ea4
VS
139412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * normal/autofs.c (autoload_fs_module): Handle errors.
13944
b54d93ac
VS
139452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 Disable linux.mod on qemu-mips since it's not functional and leads
13948 to compilation failure.
13949
13950 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13951 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13952 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13953 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13954 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13955 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13956 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13957 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13958 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13959 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13960 Reported by: BVK Chaitanya
13961
fc8345da
JU
139622010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13963
13964 * INSTALL: Add gettext as a dependency and add qemu to a new section
13965 "Prerequisites for make-check".
13966
4760f979
CF
139672010-03-04 Christian Franke <franke@computer.org>
13968
13969 * util/grub-pe2elf.c: Add missing include "progname.h".
13970
f209b5b2
VS
139712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * normal/crypto.c (read_crypto_list): Fix a typo.
13974 Reported by: Seth Goldberg.
13975
b4b7be98
VS
139762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13979 Reported by: Seth Goldberg.
b4b7be98 13980
c0ee0385
VS
139812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13984 ascii.bitmaps.
13985
a8efbf64
VS
139862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13989 Reported by: Seth Goldberg.
a8efbf64 13990
08dcd913
VS
139912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * util/i386/efi/grub-install.in: Copy gettext files.
13994
c4d0b332
VS
139952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13998
c6f2fe52
VS
139992010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Wait for user entry basing on presence of output rather than on errors.
14002
14003 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
14004 (grub_install_newline_hook): Likewise.
14005 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
14006 * normal/menu.c (show_menu): Check line_counter to determine presence
14007 of output.
14008 * normal/term.c (grub_normal_line_counter): New variable.
14009 (grub_normal_get_line_counter): New function.
14010 (grub_install_newline_hook): Likewise.
14011
5382b1e4
VS
140122010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
14015
5519963b
VS
140162010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * configure.ac: Update version to 1.98.
14019
72b28631
VS
140202010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * util/grub.d/10_linux.in (linux_entry): Don't default to
14023 gfxpayload=keep if Linux doesn't support video handover.
14024
c140a180
VS
140252010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Don't compile video modules on yeeloong since video subsystem is part
14028 of kernel.
14029
14030 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
14031 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
14032 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
14033 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
14034 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
14035 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
14036 * include/grub/bitmap_scale.h: Likewise.
14037 * include/grub/bufio.h: Likewise.
14038 * include/grub/font.h: Likewise.
14039 * include/grub/gfxterm.h: Likewise.
14040 * include/grub/video.h: Likewise.
14041 * include/grub/vbe.h: Don't include video_fb.h.
14042 * video/i386/pc/vbe.c: Include video_fb.h.
14043 * commands/i386/pc/vbetest.c: Include video.h.
14044
a0ca21c2
CW
140452010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
14046
14047 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
14048 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
14049 default entry if GRUB_SAVEDEFAULT=true. This allows using
14050 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
14051 saving a new default on every boot.
14052
4a8a763c
VS
140532010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * normal/crypto.c (read_crypto_list): Fix a memory leak.
14056 * normal/term.c (read_terminal_list): Likewise.
14057 * normal/main.c (grub_normal_init_page): Likewise.
14058 (grub_normal_read_line_real): Likewise.
14059
607ffde2
VS
140602010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
14063 memory leak.
14064 Reported by: Seth Goldberg.
14065
2b8fa975
CW
140662010-02-24 Joey Korkames <joey+lists@kidfixit.com>
14067
14068 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
14069 duplicate declaration of `start'.
14070
618307dd
VS
140712010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
14074 filename.
14075 Reported by: Georgy Buranov
14076
7dd05b96 140772010-02-20 Carles Pina i Estany <carles@pina.cat>
14078
14079 * util/grub-mkrawimage.c (usage): Change string formatting to
14080 improve gettext.
14081
d1484a42
MRA
140822010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14083
14084 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
14085 backspace keys.
14086
42b1d186
VS
140872010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
14090 Reported by: Michael Suchanek.
14091
140922010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
14093
14094 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
14095 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
14096
d9f31a41
VS
140972010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 Remove any reference to non-free fonts.
14100
14101 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
14102 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
14103 uses non-free components.
14104 * font/font.c (grub_font_get_name): Remove example name.
14105 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
14106 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14107 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
14108 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
14109
2793c71e
GB
141102010-02-16 Georgy Buranov <gburanov@gmail.com>
14111
14112 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
14113
402e3779
VS
141142010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
14117 Double divisor.
14118 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
14119 features.
14120 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
14121
0dd1e0dd
VS
141222010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * gensymlist.sh.in: Use TARGET_CC instead of CC.
14125
6fa7cfce
ST
141262010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14127
14128 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
14129 * docs/grub.texi (Command-line and menu entry commands): Document play
14130 command.
14131
37c8483b
ST
141322010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14133
14134 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
14135 parse arguments as inline tempo and notes. Move code for playing notes
14136 to...
14137 (play): ... new function.
14138
14da0fb7
ST
141392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14140
14141 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
14142 grub_uint16_t instead of short.
14143 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
14144 disk from little endian to cpu endianness.
14145
04459e70
ST
141462010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
14147
14148 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
14149 GRUB_TICKS_PER_SECOND instead of 120.
14150
a0876943
VS
141512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
14154 escape sequence after \e.
14155
e29f95dc
VS
141562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
14159 non-ASCII characters.
14160
d27859b2
VS
141612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
14164 set root in single quotes to prevent \, from being unescaped.
14165
bc028f2f
VS
141662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 Prevent unknown commands from stopping menuentry execution.
14169
14170 * script/execute.c (grub_script_execute_cmdline): Print error after
14171 unknown command.
14172
095f5f82
VS
141732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
14176 Reported by: Pavel Pisa.
14177
8c717950
VS
141782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
14181
904935c3
VS
141822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 Merge grub_ieee1275_map_physical into grub_map and rename to
14185 grub_ieee1275_map
14186
14187 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
14188 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
14189 Remove.
14190 * kern/ieee1275/openfw.c (grub_map): Rename to ...
14191 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
14192 necessary.
14193 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
14194
5b59a4e3
VS
141952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
14198 opening and not after.
14199
69e137e8
VS
142002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
14203 constants.
14204
2c0fcc36
VS
142052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
14208 (alloc_phys): Use ALIGN_UP instead of align_addr.
14209
8c6052ce
VS
142102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14211
14212 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
14213
17cec782
VS
142142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
14217
e0128bbd
VS
142182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
14221 verbose dprintf.
14222
ca62070b
VS
142232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Fix over-4GiB seek on sparc64.
14226
14227 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
14228 Replace pos_i and pos_lo with pos. All users updated.
14229 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14230 New constant.
14231 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14232 Likewise.
14233 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
14234 and pos_lo.
14235
bdca2607
VS
142362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * util/grub-mkrawimage.c (main): Call set_program_name.
14239
da278c4d
VS
142402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 Properly align 64-bit targets.
14243
14244 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
14245 (generate_image): Use ALIGN_ADDR.
14246
b274d734
VS
142472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 Properly create cross-endian images.
14250
14251 * include/grub/types.h (grub_host_to_target_addr): New macro
14252 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
14253
82da2062
VS
142542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
14257
7cae4377
VS
142582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
14261
14262 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
14263 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
14264 (grub_linux_boot): Divide by 64K when on VESA.
14265
65a533e7
VS
142662010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Support GRUB_GFXPAYLOAD_LINUX.
14269
14270 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
14271 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
14272
dd01d397
VS
142732010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
14276 to show messages instead of discarding them.
14277 Process errors after executing command and not before. Keep old method
14278 too as precaution.
14279
660960d6
VS
142802010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * configure.ac: Check for ft2build.h.
14283
62509f04
VS
142842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
14287
473df63d
VS
142882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * genkernsyms.sh.in: Use TARGET_CC.
14291
c98d2a13
CW
142922010-02-07 Colin Watson <cjwatson@ubuntu.com>
14293
14294 * NEWS: Update.
14295
6e14234c
VS
142962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
14299 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
14300 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 14301
b255e9cf
YB
143022010-02-07 Yves Blusseau <blusseau@zetam.org>
14303
6e14234c 14304 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 14305
98e6959d
VS
143062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 Fix warnings in grub-emu when compiling with maximum warning options.
14309
14310 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14311 (grub_arch_modules_addr): Return 0 and not NULL.
14312 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 14313 (xstrdup): Use newstr instead of dup.
f88d801b
VS
14314 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14315 of disk to dsk to avoid shadowing.
74e4934e
VS
14316 (find_free_slot): Fix prototype.
14317 * util/getroot.c (grub_util_is_dmraid): Make static.
14318 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14319 Add missing prototype.
14320 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 14321
74e31b5c
VS
143222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14325 appropriately.
14326
6b2ad14b
VS
143272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14330 code out.
14331
8f891adc
VS
143322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14335 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14336 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14337 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14338 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14339 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14340
74b45184
VS
143412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * include/grub/err.h (grub_err_printf): Don't export.
14344
a4bced77
VS
143452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14348
007d0695
VS
143492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14352 * kern/misc.c (grub_gettext_dummy): Make static.
14353
b6c0d9c2
VS
143542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14357 by non-valid ones.
14358 * kern/term.c (grub_putchar): Likewise.
14359
f51a90d0
VS
143602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14363 buggy hook call and memory leak.
14364
6846cec5
VS
143652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14368
468d69fe
VS
143692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14372
51906b8c
VS
143732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14376 modevar.
14377 Return grub_errno on allocation error.
14378
09706ce5
VS
143792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14382
911df80c
YB
143832010-02-06 Yves Blusseau <blusseau@zetam.org>
14384
14385 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14386 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14387
3746a6bc
VS
143882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14391 non-pxe disk.
14392 (grub_pxefs_open): Likewise.
14393
09706ce5
VS
143942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14395
14396 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14397 * util/grub.d/10_kfreebsd.in: Likewise.
14398 * util/grub.d/10_linux.in: Likewise.
14399
7cc192d9
VS
144002010-02-06 Colin D Bennett <colin@gibibit.com>
14401
14402 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14403 (gfxmenu_mod_SOURCES): New variable.
14404 (gfxmenu_mod_CFLAGS): Likewise.
14405 (gfxmenu_mod_LDFLAGS): Likewise.
14406 * include/grub/term.h (grub_term_set_current_output): Declare
14407 argument as const.
14408 * docs/gfxmenu-theme-example.txt: New file.
14409 * gfxmenu/gfxmenu.c: Likewise.
14410 * gfxmenu/gui_box.c: Likewise.
14411 * gfxmenu/gui_canvas.c: Likewise.
14412 * gfxmenu/gui_circular_progress.c: Likewise.
14413 * gfxmenu/gui_image.c: Likewise.
14414 * gfxmenu/gui_label.c: Likewise.
14415 * gfxmenu/gui_list.c: Likewise.
14416 * gfxmenu/gui_progress_bar.c: Likewise.
14417 * gfxmenu/gui_string_util.c: Likewise.
14418 * gfxmenu/gui_util.c: Likewise.
14419 * gfxmenu/icon_manager.c: Likewise.
14420 * gfxmenu/model.c: Likewise.
14421 * gfxmenu/named_colors.c: Likewise.
14422 * gfxmenu/theme_loader.c: Likewise.
14423 * gfxmenu/view.c: Likewise.
14424 * gfxmenu/widget-box.c: Likewise.
14425 * include/grub/gfxmenu_model.h: Likewise.
14426 * include/grub/gfxmenu_view.h: Likewise.
14427 * include/grub/gfxwidgets.h: Likewise.
14428 * include/grub/gui.h: Likewise.
14429 * include/grub/gui_string_util.h: Likewise.
14430 * include/grub/icon_manager.h: Likewise.
14431
144322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 Agglomerate scrolling in gfxterm.
14435
14436 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14437 (grub_virtual_screen_setup): Initialise 'total_screen'.
14438 (write_char): Split to ...
14439 (paint_char): ... this ...
14440 (write_char): ... and this.
14441 (paint_char): Handle delayed scrolling.
14442 (draw_cursor): Likewise.
14443 (scroll_up): Split to ...
14444 (real_scroll): ... this ...
14445 (scroll_up): ... and this.
14446 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14447 characters.
14448 (grub_gfxterm_refresh): Call real_scroll.
14449
144502010-02-06 Colin D Bennett <colin@gibibit.com>
14451
14452 * include/grub/misc.h (grub_iscntrl): New inline function.
14453 (grub_isalnum): Likewise.
14454 (grub_strtol): Likewise.
14455
144562010-02-06 Colin D Bennett <colin@gibibit.com>
14457
14458 * normal/menu_text.c (get_entry_number): Move from here ...
14459 * normal/menu.c (get_entry_number): ... moved here.
14460 * include/grub/menu.h (grub_menu_get_default_entry_index):
14461 New prototype.
14462 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14463 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14464 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14465 (grub_menu_viewer_should_return): Likewise.
14466 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14467 * normal/menu_text.c (run_menu): Enable menu switching.
14468 * normal/menu_viewer.c (should_return): New variable.
14469 (menu_viewer_changed): Likewise.
14470 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14471 (grub_menu_viewer_should_return): New function.
14472 (menuviewer_write_hook): Likewise.
14473 (grub_menu_viewer_init): Likewise.
14474
144752010-02-06 Colin D Bennet <colin@gibibit.com>
144762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 Support for gfxterm in a window.
14479
14480 * include/grub/gfxterm.h: New file.
14481 * include/grub/video.h (struct grub_video_rect): New declaration.
14482 (grub_video_rect_t): Likewise.
14483 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14484 (refcount): New variable.
14485 (render_target): Likewise.
14486 (window): Likewise.
14487 (repaint_callback): Likewise.
14488 (grub_virtual_screen_setup): Use 'render_target'.
14489 (init_window): New function.
14490 (grub_gfxterm_init_window): Likewise.
14491 (grub_gfxterm_init): Check reference counter.
14492 Use init_window.
14493 (destroy_window): New function.
14494 (grub_gfxterm_destroy_window): Likewise.
14495 (grub_gfxterm_fini): Check reference counter.
14496 Use destroy_window.
14497 (redraw_screen_rect): Restore viewport.
14498 Use 'render_target' and 'window'.
14499 Call 'repaint_callback'.
14500 (write_char): Use 'render_target'.
14501 (draw_cursor): Likewise.
14502 (scroll_up): Restore viewport.
14503 Use 'render_target' and 'window'.
14504 Call 'repaint_callback'.
14505 (grub_gfxterm_cls): Likewise.
14506 (grub_gfxterm_refresh): Use 'window'.
14507 (grub_gfxterm_set_repaint_callback): New function.
14508 (grub_gfxterm_background_image_cmd): Use 'window'.
14509 (grub_gfxterm_get_term): New function.
14510 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14511
145122010-02-06 Colin D Bennett <colin@gibibit.com>
14513
14514 Bitmap scaling support.
14515
14516 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14517 (bitmap_scale_mod_SOURCES): New variable.
14518 (bitmap_scale_mod_CFLAGS): Likewise.
14519 (bitmap_scale_mod_LDFLAGS): Likewise.
14520 * include/grub/bitmap_scale.h: New file.
14521 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14522 (background_image_cmd_options): New variable.
14523 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14524 (cmd): Rename and change type to ...
14525 (background_image_cmd_handle): ... this. All users updated.
14526 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14527 * video/bitmap_scale.c: New file.
14528
145292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 SDL support.
14532
14533 * Makefile.in (LIBSDL): New variable.
14534 (enable_grub_emu_sdl): Likewise.
14535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14536 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14537 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14538 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14539 * util/sdl.c: New file.
14540
145412010-02-06 Colin D Bennett <colin@gibibit.com>
145422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 Double buffering support.
14545
14546 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14547 * include/grub/video.h: Update comment.
14548 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14549 New type.
14550 (grub_video_fb_doublebuf_blit_init): New prototype.
14551 * term/gfxterm.c (scroll_up): Support double buffering.
14552 (grub_gfxterm_refresh): Likewise.
14553 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14554 (grub_video_fb_doublebuf_blit_init): Likewise.
14555 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14556 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14557 'displayed_page', 'render_page' and 'update_screen'.
14558 (grub_video_vbe_fini): Free offscreen buffer.
14559 (doublebuf_pageflipping_commit): New function.
14560 (doublebuf_pageflipping_update_screen): Likewise.
14561 (doublebuf_pageflipping_init): Likewise.
14562 (double_buffering_init): Likewise.
14563 (grub_video_vbe_setup): Enable doublebuffering.
14564 (grub_video_vbe_swap_buffers): Implement.
14565 (grub_video_vbe_set_active_render_target): Handle double buffering.
14566 (grub_video_vbe_get_active_render_target): Likewise.
14567 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14568 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14569 (grub_video_vbe_enable_double_buffering): Likewise.
14570 (grub_video_vbe_swap_buffers): Use update_screen.
14571 (grub_video_set_mode): Use double buffering.
14572
145732010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14574
14575 * maintainance/gentrigtables.py: Remove.
14576 * lib/trig.c: Likewise.
14577
14578 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14579
14580 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14581 `trigtables.c'.
14582 (trigtables.c): New rule.
14583 (gentrigtables): Likewise.
14584 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14585
145862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14587
14588 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14589 integer constants.
14590
145912010-02-06 Colin D Bennet <colin@gibibit.com>
14592
14593 Trigonometry support.
14594
14595 * include/grub/trig.h: New file.
14596 * lib/trig.c: Likewise.
14597 * maintainance/gentrigtables.py: Likewise.
14598 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14599 (trig_mod_SOURCES): New variable.
14600 (trig_mod_CFLAGS): Likewise.
14601 (trig_mod_LDFLAGS): Likewise.
14602
5562834e
VS
146032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14606 disk devices.
14607
4f8528fc
VS
146082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14611 error.
14612
2b4068e9
VS
146132010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * util/hostdisk.c (open_device): Don't use partition device when reading
14616 before the partition.
14617 (grub_util_biosdisk_read): Don't read from partition and before the
14618 partition in single operation.
14619 (grub_util_biosdisk_write): Don't write to partition and before the
14620 partition in single operation.
14621
399f6e4d
TL
146222010-02-03 Torsten Landschoff <torsten@debian.org>
14623
14624 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14625 last sectors.
14626
996649b0
VS
146272010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14630 CDROM reads.
14631 (grub_biosdisk_write): Refuse to write to CDROM.
14632
3b205d4d
VS
146332010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14636
61e89d9d
VS
146372010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * font/font.c (find_glyph): Check that bmp_idx is available before
14640 using it.
14641 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14642 with (font == NULL).
14643
bf7fcba2
CS
146442010-01-28 Christian Schmitt <chris@ilovelinux.de>
14645
14646 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14647
f45d2663
BC
146482010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14649
14650 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14651 * util/grub-script-check.c (getline): Fix empty lines case.
14652
ec1444e6
RM
146532010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14654
14655 * Makefile.in (check): Exit with fail status when one of the tests
14656 fails.
14657 * tests/example_functional_test.c (example_test): Fix reversed assert.
14658 * tests/example_unit_test.c (example_test): Likewise.
14659
2e1cb9bb
CW
146602010-01-28 Colin Watson <cjwatson@ubuntu.com>
14661
14662 * util/grub.d/10_linux.in: This script does not use any of the
14663 contents of gettext.sh, only the external command `gettext', so stop
14664 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14665 the same prefix as GRUB.)
14666 * util/grub.d/10_kfreebsd.in: Likewise.
14667
63533ab0
VS
146682010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14671 of the line.
14672
989e1f93
VS
146732010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14676 last sectors.
14677
e709ebe2
VS
146782010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14681 having a 4KiB and not 32KiB buffer size.
14682
27dea7ed
RM
146832010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14684
14685 * util/hostfs.c: Include `<errno.h>'.
14686 (grub_hostfs_read): Handle errors from fseeko() and fread().
14687
67667b9c
RM
146882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14689
14690 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14691 loop when using read hooks on files whose size isn't sector-aligned.
14692
c294d9d8
RM
146932010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14694
14695 Remove unused parameter.
14696
14697 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14698 (grub_iso9660_open): Remove initialization of `data->length'.
14699
af75a9f1
RM
147002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14701
14702 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14703 memleak conditions.
14704
254e2ce5 147052010-01-27 Carles Pina i Estany <carles@pina.cat>
14706
14707 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14708 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14709
b510928c 147102010-01-26 Carles Pina i Estany <carles@pina.cat>
14711
14712 * util/bin2h.c (usage): Fix warning (space after backslash).
14713
aa2f9dd2 147142010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14715
14716 * font/font.c: Include `grub/fontformat.h.
14717 Remove font file format constants.
14718 (grub_font_load): Use the new macros.
14719 * include/grub/fontformat.h: New file.
14720 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14721 (write_font_pf2): Use the new macros.
14722
94e7e712
RM
147232010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14724
14725 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14726 does.
14727
3973a59a
RM
147282010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14729
14730 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14731
14732 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14733 (_start): Macroify `0x7F'.
14734
14735 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14736 (make_install_device): Use "(pxe)" as fallback prefix when booting
14737 via PXE.
14738
42e0cba3
GS
147392010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * configure.ac: Reset LIBS after check for libgcc symbols.
14742
847effd8
CW
147432010-01-25 Colin Watson <cjwatson@ubuntu.com>
14744
14745 * util/hostdisk.c (open_device): Add trailing newline to debug
14746 message.
14747
ea4a7e35
GS
147482010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14749
14750 * configure.ac: Check for `limits.h'.
14751 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14752
67951a53
RM
147532010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14754
14755 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14756 capitalize error strings.
14757
c273d4ce
ST
147582010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14759
14760 * util/grub.d/10_hurd.in: Add a recovery mode.
14761
69be5b74
VS
147622010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * configure.ac: Check for libgcc symbols with -nostdlib.
14765
fc9e5810
BC
147662010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14767
14768 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14769
4b358c0a
VS
147702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14773 stack since heap may be unavailable at that point.
14774 (grub_ofconsole_gotoxy): Likewise.
14775
454fcd1c
VS
147762010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * configure.ac: Check for _restgpr_14_x.
14779 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14780 and _savegpr_* prototypes.
14781
566863ca
RM
147822010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14783
14784 Use generic grub_reboot() for i386-efi.
14785
14786 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14787 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14788 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14789
bf86e59a
VS
147902010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14793 presence of "prefix" variable as it breaks when normal.mod is
14794 embedded.
14795
d645e0f8
VS
147962010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14799 stack since heap is unavailable at that point.
14800
f9ab2e25
VS
148012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14804 (grub_freebsd_bootinfo): Rewritten.
14805 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14806
01fc7054
VS
148072010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14810
caab4fd6
RM
148112010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14812
14813 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14814 domain now.
14815
67eb1427
FZ
148162010-01-20 Felix Zielcke <fzielcke@z-51.de>
14817
14818 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14819 around for handling "/" to the correct fix. Fix a memory leak. Use
14820 xstrdup instead of strdup.
14821
a9ed4ff3
VS
148222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14825
148262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14827
14828 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14829
14830 * font/font.c (struct grub_font): New member 'bmp_idx'.
14831 (font_init): Initialise 'bmp_idx'.
14832 (load_font_index): Fill 'bmp_idx'.
14833 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14834
48209f4f
VS
148352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14838 unnecessary calls.
14839
9f0a4bb7
VS
148402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 Move context handling out of the kernel.
14843
14844 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14845 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14846 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14847 * conf/i386-efi.rmk: Likewise.
14848 * conf/i386-ieee1275.rmk: Likewise.
14849 * conf/i386-pc.rmk: Likewise.
14850 * conf/powerpc-ieee1275.rmk: Likewise.
14851 * conf/sparc64-ieee1275.rmk: Likewise.
14852 * conf/x86_64-efi.rmk: Likewise.
14853 * include/grub/env.h: Include grub/menu.h.
14854 (grub_env_var_type): Removed.
14855 (grub_env_var): Replaced field 'type' with 'global'.
14856 (grub_env_find): New prototype.
14857 (grub_env_context_open): Remove EXPORT_FUNC.
14858 (grub_env_context_close): Likewise.
14859 (grub_env_export): Likewise.
14860 (grub_env_set_data_slot): Removed.
14861 (grub_env_get_data_slot): Likewise.
14862 (grub_env_unset_data_slot): Likewise.
14863 (grub_env_unset_menu): New prototype.
14864 (grub_env_set_menu): Likewise.
14865 (grub_env_get_menu): Likewise.
14866 * include/grub/env_private.h: New file.
14867 * include/grub/normal.h (grub_context_init): New prototype.
14868 (grub_context_fini): Likewise.
14869 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14870 * normal/context.c (grub_cmd_export): ... to here.
14871 * kern/env.c: Include env_private.h.
14872 (HASHSZ): Moved to include/grub/env_private.h.
14873 (grub_env_context): Likewise.
14874 (grub_env_sorted_var): Likewise.
14875 (current_context): Renamed from this ...
14876 (grub_current_context): ...to this. 'static' removed. All users updated.
14877 (grub_env_find): Removed 'static'.
14878 (grub_env_context_open): Moved to normal/context.c.
14879 (grub_env_context_close): Likewise.
14880 (grub_env_export): Likewise.
14881 (mangle_data_slot_name): Removed.
14882 (grub_env_set_data_slot): Likewise.
14883 (grub_env_get_data_slot): Likewise.
14884 (grub_env_unset_data_slot): Likewise.
14885 * kern/main.c (grub_set_root_dev): Don't export root.
14886 It will be done later.
14887 (grub_main): Don't export prefix.
14888 It will be done later.
14889 * normal/context.c: New file.
14890 * normal/main.c (free_menu): Use grub_env_unset_menu.
14891 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14892 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14893 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14894 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14895
8dd35b8c
VS
148962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 setpci support.
14899
14900 * commands/setpci.c: New file.
14901 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14902 (setpci_mod_SOURCES): New variable.
14903 (setpci_mod_CFLAGS): Likewise.
14904 (setpci_mod_LDFLAGS): Likewise.
14905
449193d5
VS
149062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 Byte-addressable PCI configuration space.
14909
14910 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14911 dword address.
14912 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14913 GRUB_PCI_REG_CACHELINE.
14914 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14915 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14916 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14917 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14918 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14919 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14920 grub_pci_make_address.
14921 (lock_rom_area): Likewise.
14922 * commands/lspci.c (grub_lspci_iter): Use macroses
14923 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14924 of grub_pci_make_address.
14925 * disk/ata.c (grub_ata_pciinit): Likewise.
14926 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14927 (GRUB_PCI_REG_VENDOR): Likewise.
14928 (GRUB_PCI_REG_DEVICE): Likewise.
14929 (GRUB_PCI_REG_COMMAND): Likewise.
14930 (GRUB_PCI_REG_STATUS): Likewise.
14931 (GRUB_PCI_REG_REVISION): Likewise.
14932 (GRUB_PCI_REG_CLASS): Likewise.
14933 (GRUB_PCI_REG_CACHELINE): Likewise.
14934 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14935 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14936 (GRUB_PCI_REG_BIST): Likewise.
14937 (GRUB_PCI_REG_ADDRESSES): Likewise.
14938 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14939 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14940 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14941 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14942 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14943 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14944 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14945 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14946 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14947 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14948 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14949 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14950 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14951 (GRUB_PCI_REG_MIN_GNT): Likewise.
14952 (GRUB_PCI_REG_MAX_LAT): Likewise.
14953 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14954 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14955 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14956 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14957 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14958 space.
14959
96d73208
RM
149602010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14961
14962 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14963 can be reliably determined to be supported.
14964
d4484482
RM
149652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14966
14967 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14968 that VESA is supported.
14969 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14970 supported.
14971
00308ecf
VS
149722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14975
f66924a4
RM
149762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 * util/misc.c (make_system_path_relative_to_its_root): Work around
14979 special-casing of "/", as previous incarnation of this routine did.
14980
cbca0ada
VS
149812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 Fix any-emu compilation.
14984
14985 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14986 * grub_bin2h_SOURCES: New variable.
14987
34a66d99
RM
149882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14989
14990 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14991
94fabf58
RM
149922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14993
14994 * util/grub.d/00_header.in: Fix handling of locale_dir.
14995
02cf98ca
VS
149962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14999 as possible unifont location (Gentoo).
15000 Reported by: Alexander Brüning
15001
327dbcd7
VS
150022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Don't try to generate lists for kernel.img.
15005
15006 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
15007 (pkglib_MODULES): Remove kernel.img.
15008 (kernel_img_EXPORTS): Removed.
15009 (kernel_img_RELOCATABLE): New variable.
15010 * conf/x86_64-efi.rmk: Likewise.
15011 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
15012
ca467290
VS
150132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
15016 grub_xasprintf or grub_snprintf.
15017 (grub_vsprintf): Likewise.
15018 (grub_snprintf): New proto.
15019 (grub_vsnprintf): Likewise.
15020 (grub_xasprintf): Likewise.
15021 (grub_xvasprintf): Likewise.
15022 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
15023 (grub_sprintf): Removed.
15024 (grub_vsnprintf): New function.
15025 (grub_snprintf): Likewise.
15026 (grub_xvasprintf): Likewise.
15027 (grub_xasprintf): Likewise.
15028 (grub_vsprintf): Renamed to ...
15029 (grub_vsnprintf_real): ...this. New argument max_len.
15030
aca655fd
BC
150312010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
15032
15033 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
15034 fix grub-script-check warning.
15035
7ee92c32
VS
150362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 * include/grub/font.h (grub_font_load): Fix prototype.
15039
f80927ca
VS
150402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
15043
119c50ea
VS
150442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 * include/grub/x86_64/at_keyboard.h: New file.
15047
47d5f3c1
VS
150482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * loader/mips/linux.c: Include missing grub/i18n.h.
15051
55ff5266
RM
150522009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15053
15054 * normal/menu.c (notify_execution_failure): Clarify error message.
15055
c893cc87
RM
150562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15057
15058 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
15059 return value (and revert all return statements). Update users.
15060
917dd370
CW
150612010-01-20 Dan Merillat <debian@dan.merillat.org>
15062
15063 * kern/device.c (grub_device_iterate): Allocate new part_ent
15064 structure based on sizeof (*p) rather than sizeof (p->next), to
15065 account for structure padding.
15066
15067 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
15068 disk is NULL, which might happen for LVM physical volumes with no
15069 LVM signature.
15070
d4a4ee57
RM
150712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15072
15073 * loader/mips/linux.c (grub_cmd_initrd)
15074 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
15075
150762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15077
15078 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
15079 (grub_video_video_init, grub_video_bitmap_init)
15080 (grub_font_manager_init, grub_term_gfxterm_init)
15081 (grub_at_keyboard_init): New extern declarations.
15082 (grub_machine_init): Initialize gfxterm and at_keyboard.
15083
15084 * kern/main.c (grub_main): Revert grub_printf delay kludge.
15085
15086 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
15087 `gfxterm.mod' into core image.
15088
15089 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15090 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15091 (kernel_img_FORMAT): Copy to ...
15092
15093 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15094 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15095 (kernel_img_FORMAT): ... here, and ...
15096
15097 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15098 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15099 (kernel_img_FORMAT): ... here.
15100
15101 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
15102 and input (at_keyboard) terminals in kernel.
15103 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
15104
15105 (pkglib_MODULES): Remove `pci.mod'.
15106 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
15107 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
15108 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15109 (at_keyboard_mod_LDFLAGS): Remove variables.
15110
151112010-01-11 Felix Zielcke <fzielcke@z-51.de>
15112
15113 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
15114
151152009-12-10 Robert Millan <rmh.grub@aybabtu.com>
15116
15117 * include/grub/mips/libgcc.h: Only export symbols for functions
15118 that libgcc provides.
15119
151202009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 MIPS support.
15123
15124 * bus/bonito.c: New file.
15125 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
15126 GRUB_PCI_NUM_DEVICES.
15127 * term/i386/pc/serial.c: Move to ...
15128 * term/serial.c: ... here. All users updated.
15129 * util/i386/pc/grub-mkimage.c: Move to ...
15130 * util/grub-mkrawimage.c: ... here. All users updated.
15131 * term/i386/pc/at_keyboard.c: Move to ...
15132 * term/at_keyboard.c: ... here. All users updated.
15133 * conf/mips-qemu-mips.rmk: New file.
15134 * conf/mips-yeeloong.rmk: Likewise.
15135 * conf/mips.rmk: Likewise.
15136 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
15137 mipsel-qemu-mips.
15138 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
15139 to port addresses.
15140 (grub_ata_pciinit): Support CS5536.
15141 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
15142 * font/font_cmd.c (loadfont_command): Open file before passing it to
15143 grub_font_load.
15144 (pseudo_file_read): New function.
15145 (pseudo_file_close): Likewise.
15146 (pseudo_fs): New structure.
15147 (load_font_module): New function.
15148 (GRUB_MOD_INIT(font_manager)): Load embedded font.
15149 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
15150 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
15151 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
15152 * include/grub/i386/at_keyboard.h: Split into ...
15153 * include/grub/at_keyboard.h: ... this ...
15154 * include/grub/i386/at_keyboard.h: ... and this.
15155 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
15156 New prototype.
15157 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
15158 updated.
15159 (grub_elf64_size): Likewise.
15160 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
15161 filename.
15162 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
15163 * include/grub/i386/coreboot/serial.h: Rewritten.
15164 * include/grub/i386/ieee1275/serial.h: Include
15165 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
15166 * include/grub/i386/pc/serial.h: Moved from here ...
15167 * include/grub/serial.h: ... to here. All users updated.
15168 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
15169 (GRUB_PCI_NUM_BUS): Likewise.
15170 (GRUB_PCI_NUM_DEVICES): Likewise.
15171 (grub_pci_device_map_range): Add missing volatile keyword.
15172 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
15173 * include/grub/mips/at_keyboard.h: New file.
15174 * include/grub/mips/cache.h: Likewise.
15175 * include/grub/mips/io.h: Likewise.
15176 * include/grub/mips/kernel.h: Likewise.
15177 * include/grub/mips/libgcc.h: Likewise.
15178 * include/grub/mips/pci.h: Likewise.
15179 * include/grub/mips/qemu-mips/boot.h: Likewise.
15180 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15181 * include/grub/mips/qemu-mips/loader.h: Likewise.
15182 * include/grub/mips/qemu-mips/memory.h: Likewise.
15183 * include/grub/mips/qemu-mips/serial.h: Likewise.
15184 * include/grub/mips/qemu-mips/time.h: Likewise.
15185 * include/grub/mips/relocator.h: Likewise.
15186 * include/grub/mips/time.h: Likewise.
15187 * include/grub/mips/types.h: Likewise.
15188 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
15189 * include/grub/mips/yeeloong/boot.h: Likewise.
15190 * include/grub/mips/yeeloong/kernel.h: Likewise.
15191 * include/grub/mips/yeeloong/loader.h: Likewise.
15192 * include/grub/mips/yeeloong/memory.h: Likewise.
15193 * include/grub/mips/yeeloong/pci.h: Likewise.
15194 * include/grub/mips/yeeloong/serial.h: Likewise.
15195 * include/grub/mips/yeeloong/time.h: Likewise.
15196 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
15197 * kern/elf.c (grub_elf32_size): New parameter. All users
15198 updated.
15199 (grub_elf64_size): Likewise.
15200 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
15201 Load modules before saying "Welcome to GRUB!".
15202 Call grub_refresh after saying "Welcome to GRUB!".
15203 * kern/mips/cache.S: New file.
15204 * kern/mips/cache_flush.S: Likewise.
15205 * kern/mips/dl.c: Likewise.
15206 * kern/mips/init.c: Likewise.
15207 * kern/mips/qemu-mips/init.c: Likewise.
15208 * kern/mips/startup.S: Likewise.
15209 * kern/mips/yeeloong/init.c: Likewise.
15210 * kern/term.c (grub_putcode): Handle NULL terminal.
15211 (grub_getcharwidth): Likewise.
15212 (grub_getkey): Likewise.
15213 (grub_checkkey): Likewise.
15214 (grub_getkeystatus): Likewise.
15215 (grub_getxy): Likewise.
15216 (grub_getwh): Likewise.
15217 (grub_gotoxy): Likewise.
15218 (grub_cls): Likewise.
15219 (grub_setcolorstate): Likewise.
15220 (grub_setcolor): Likewise.
15221 (grub_getcolor): Likewise.
15222 (grub_refresh): Likewise.
15223 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
15224 (write_jump): Add hatch nop.
15225 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
15226 * lib/mips/setjmp.S: New file.
15227 * loader/mips/linux.c: Likewise.
15228 * term/i386/pc/at_keyboard.c: Move from here ...
15229 * term/at_keyboard.c: ... to here.
15230 * term/i386/pc/serial.c: Moved from here ...
15231 * term/serial.c: ... to here. All users updated.
15232 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
15233 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
15234 (serial_translate_key_sequence): Avoid deadlock.
15235 (grub_serial_getkey): Handle backspace.
15236 (grub_serial_putchar): Fix newline handling.
15237 * util/i386/pc/grub-mkimage.c: Move from here ...
15238 * util/grub-mkrawimage.c: ... to here. All users updated.
15239 (generate_image): New parameters 'font_path' and 'format'.
15240 Support embedding font.
15241 Use grub_host_to_target* instead of grub_cpu_to_le*.
15242 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
15243 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
15244 (options): New option "--font".
15245 (usage): Likewise.
15246 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
15247 (main): Handle "--font".
15248 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
15249 (grub_virtual_screen_setup): Set bg_color_display.
15250 (redraw_screen_rect): Use bg_color_display instead of incorrect
15251 bg_color.
15252 (grub_gfxterm_cls): Likewise.
15253 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
15254 Support embedding config file.
15255 (add_segments): Likewise.
15256 (options): New option "--config".
15257 (main): Handle "--config".
15258 * video/sm712.c: New file.
15259
25c2b5b3
RM
152602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15261
15262 Fix parallel builds.
15263
15264 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
15265 font.c depend on ascii.h).
15266
152672010-01-12 Carles Pina i Estany <carles@pina.cat>
15268
15269 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
15270
152712010-01-11 Carles Pina i Estany <carles@pina.cat>
15272
15273 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
15274 By default: disabled.
15275 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
15276 parameter.
15277
152782010-01-10 Carles Pina i Estany <carles@pina.cat>
15279
15280 * font/font.c: Update copyright years.
15281 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
15282
152832010-01-10 Carles Pina i Estany <carles@pina.cat>
15284
15285 * font/font.c: Include `ascii.h'.
15286 (ASCII_BITMAP_SIZE): New macro.
15287 (ascii_font_glyph): Define.
15288 (ascii_glyph_lookup): New function.
15289 (grub_font_get_string_width): Change comment. If glyph not found, use
15290 ascii_glyph_lookup.
15291 (grub_font_get_glyph_with_fallback): If glyph not available returns
15292 ascii_glyph_lookup.
15293 * util/grub-mkfont.c (file_formats): New enum.
15294 (options): Add `ascii-bitmaps' new option.
15295 (usage): Add `asii-bitmaps' new option.
15296 (write_font_ascii_bitmap): New function.
15297 (write_font): Rename to ...
15298 (write_font_p2): ... this. Remove print_glyphs call.
15299 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
15300 used. Call print_glyphs.
15301 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
15302
153032010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15304
15305 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
15306 (grub_bin2h_SOURCES): New variable.
15307 * util/bin2h.c: New file.
15308
915fc1b8
VS
153092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * include/multiboot.h: Resynced with spec.
15312 * include/multiboot2.h: Likewise.
15313 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15314 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15315
9444b678
RM
153162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15317
15318 * include/grub/term.h (grub_term_register_input,
15319 grub_term_register_output): Check return of terminal init()
15320 routines, and abort if errors are raised.
15321
15322 * commands/terminal.c: Update copyright year.
15323
cba98e8d
RM
153242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15325
15326 * commands/terminal.c (grub_cmd_terminal_input)
15327 (grub_cmd_terminal_output): Check return of terminal init()
15328 routines, and abort if errors are raised.
15329
6f7db5d6
VS
153302010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * include/grub/i386/bsd.h: Fix include pathes.
15333
262bff8d
VS
153342010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 Add missing *BSD copyright headers.
15337
15338 * include/grub/aout.h: Add BSD licence.
15339 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15340 * include/grub/i386/freebsd_linker.h: ... here,
15341 * include/grub/i386/freebsd_reboot.h: ... here,
15342 * include/grub/i386/netbsd_bootinfo.h: ... here,
15343 * include/grub/i386/netbsd_reboot.h: ... here,
15344 * include/grub/i386/openbsd_bootarg.h: ... here,
15345 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15346 licence to each file.
15347
b2cab848
RM
153482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15349
15350 * acinclude.m4: Remove `nop' assembly instruction; it's not
15351 implemented by all architectures.
15352
2cb6be4b
RM
153532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15354
15355 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15356 ELILO. This is no longer necessary.
15357
a2eaee15
BC
153582010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15359
15360 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15361
15362 * util/grub-script-check.c: grub-script-check tool.
15363 * conf/common.rmk: Make rules for grub-script-check.
15364
88d17012
RM
153652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15366
15367 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15368 spotting it back in 2008. Shame on me for forgetting he did.
15369
15370 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15371
8040619d
RM
153722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15373
15374 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15375 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15376 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15377 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15378 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15379 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15380
a0c2a0f6
RM
153812010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15382
15383 * include/grub/test.h: Add license header.
15384 * tests/example_functional_test.c: Likewise.
15385 * tests/example_unit_test.c: Likewise.
15386 * tests/lib/functional_test.c: Likewise.
15387 * tests/lib/test.c: Likewise.
15388 * tests/lib/unit_test.c: Likewise.
15389
b0b13907
VS
153902010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 Use flag-based instead of hook-based video mode selection and "auto"
15393 keyword.
15394
15395 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15396 (grub_video_set_mode): Changed prototype. All users updated.
15397 (grub_video_check_mode_flag): New inline function.
15398 * video/video.c (parse_modespec): New function.
15399 (grub_video_set_mode): Parse flags and keywords.
15400
ea379330 154012010-01-17 Carles Pina i Estany <carles@pina.cat>
15402
15403 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15404 fprintf call.
15405
e15c215e
FZ
154062010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15407
15408 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15409
409ae1c9 154102010-01-16 Carles Pina i Estany <carles@pina.cat>
15411
15412 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15413 string.
15414 * util/grub-emu.c (usage): Likewise.
15415 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15416 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15417 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15418 * util/i386/pc/grub-setup.c (usage): Likewise.
15419
70a14d3d 154202010-01-16 Carles Pina i Estany <carles@pina.cat>
15421
15422 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15423 the message.
15424 (grub_util_info): Likewise.
15425 (grub_util_error): Likewise.
15426 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15427 and/or new lines in `grub_util_warna', `grub_util_info',
15428 `grub_util_error' calls.
15429 * util/getroot.c: Likewise.
15430 * util/grub-editenv.c: Likewise.
15431 * util/grub-emu.c: Likewise.
15432 * util/grub-fstest.c: Likewise.
15433 * util/grub-mkdevicemap.c: Likewise.
15434 * util/grub-mkfont.c: Likewise.
15435 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15436 * util/grub-mkrelpath.c: Likewise.
15437 * util/grub-pe2elf.c: Likewise.
15438 * util/grub-probe.c: Likewise.
15439 * util/hostdisk.c: Likewise.
15440 * util/i386/efi/grub-mkimage.c: Likewise.
15441 * util/i386/pc/grub-mkimage.c: Likewise.
15442 * util/i386/pc/grub-setup.c: Likewise.
15443 * util/ieee1275/ofpath.c: Likewise.
15444 * util/mkisofs/eltorito.c: Likewise.
15445 * util/mkisofs/rock.c: Likewise.
15446 * util/mkisofs/write.c: Likewise.
15447 * util/raid.c: Likewise.
15448 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15449 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15450
a0b766fc
VS
154512010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 Enable multiboot on non-pc.
15454
15455 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15456 multiboot.mod and multiboot2.mod to ...
15457 * conf/i386.rmk (pkglib_MODULES): ... here.
15458 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15459 Moved to ...
15460 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15461 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15462 Moved to ...
15463 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15464 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15465 Moved to ...
15466 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15467 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15468 Moved to ...
15469 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15470 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15471 relocator.mod.
15472 (ata_mod_SOURCES): Removed.
15473 (ata_mod_CFLAGS): Likewise.
15474 (ata_mod_LDFLAGS): Likewise.
15475 (relocator_mod_SOURCES): Removed.
15476 (relocator_mod_CFLAGS): Likewise.
15477 (relocator_mod_ASFLAGS): Likewise.
15478 (relocator_mod_LDFLAGS): Likewise.
15479 Include i386.mk.
15480 * include/grub/x86_64/multiboot.h: New file.
15481 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15482 Terminate EFI.
15483
884ade56
VS
154842010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 Video multiboot support.
15487
15488 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15489 New prototype.
15490 * include/multiboot.h: Resynced with multiboot specification.
15491 * include/multiboot2.h: Likewise.
15492 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15493 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15494 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15495 (HAS_VGA_TEXT): Likewise.
15496 (accepts_video): New variable.
15497 (grub_multiboot_set_accepts_video): New function.
15498 (grub_multiboot_get_mbi_size): Account for video structures.
15499 (set_video_mode): New function.
15500 (retrieve_video_parameters): Likewise.
15501 (grub_multiboot_make_mbi): Fill video fields.
15502
0d90e8a6
VS
155032010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 Video driver ids.
15506
15507 * include/grub/video.h (grub_video_driver_id): New type.
15508 (grub_video_adapter): New member 'id'. All users updated.
15509 (grub_video_get_driver_id): New proto.
15510 * video/video.c (grub_video_get_driver_id): New function.
15511
5c71db1b 155122010-01-14 Carles Pina i Estany <carles@pina.cat>
15513
15514 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15515 `var=val'.
15516
cca15b52 155172010-01-14 Carles Pina i Estany <carles@pina.cat>
15518
15519 * normal/cmdline.c (print_completion): Gettextizze.
15520
c586fbb2 155212001-01-14 Carles Pina i Estany <carles@pina.cat>
15522
15523 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15524
ba2f6848 155252010-01-14 Carles Pina i Estany <carles@pina.cat>
15526
15527 * gettext/gettext.c (grub_gettext_translate): Push and pop
15528 grub_errno.
15529 (grub_gettext_delete_list): Change comment style.
15530 * kern/err.c (grub_error): Gettextizze.
15531 (grub_fatal): Gettextizze.
15532
0a46429a
RM
155332010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15534
15535 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15536 (grub_linux16_real_boot): ... this.
15537 * kern/i386/loader.S: Likewise.
15538 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15539 (grub_linux16_boot): New function. Switches to text mode and calls
15540 grub_linux16_real_boot().
15541
15542 * loader/i386/bsd.c: Include `<grub/video.h>'.
15543 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15544 text mode before calling grub_unix_real_boot().
15545
15546 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15547 (grub_multiboot_boot): Switch to text mode before calling
15548 grub_relocator32_boot().
15549
15550 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15551 (grub_chainloader_boot): Switch to text mode before calling
15552 grub_chainloader_real_boot().
15553
d6f93a66
RM
155542010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
155552010-01-05 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15558 non-empty value.
15559
155602010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
155612010-01-05 Colin Watson <cjwatson@ubuntu.com>
15562
15563 * util/grub.d/00_header.in: Define a "savedefault" function for use
15564 in menu entries.
15565 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15566
155672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
155682010-01-05 Colin Watson <cjwatson@ubuntu.com>
15569
15570 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15571 saved_entry if boot_once is unset.
15572 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15573 previous saved entry (i.e. grub-reboot).
15574
155752009-12-08 Colin Watson <cjwatson@ubuntu.com>
15576
15577 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15578
155792009-12-08 Colin Watson <cjwatson@ubuntu.com>
15580
15581 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15582 `var=val'.
15583 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15584
155852009-12-08 Colin Watson <cjwatson@ubuntu.com>
15586
15587 * util/grub-reboot.in: Fix --version output.
15588 * util/grub-set-default.in: Likewise.
15589
155902009-12-08 Colin Watson <cjwatson@ubuntu.com>
15591
15592 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15593 blocks.
15594
155952009-12-08 Colin Watson <cjwatson@ubuntu.com>
15596
15597 * util/grub.d/00_header.in: Quote the value assigned to `default',
15598 in case it contains spaces.
15599
156002009-12-08 Colin Watson <cjwatson@ubuntu.com>
15601
15602 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15603 `save_default_entry' call from the macosx case to the linux case.
15604
156052009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
156062009-10-25 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15609 in `chosen' environment variable.
15610 * normal/menu_text.c (get_entry_number): Check if the variable
15611 matches the title of a menu entry.
15612 (run_menu): Pass menu to get_entry_number.
15613
15614 * util/grub-reboot.in: New file.
15615 * util/grub-set-default.in: New file.
15616 * conf/common.rmk (grub-reboot): New utility.
15617 (grub-set-default): New utility.
15618
15619 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15620 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15621 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15622 move it to `saved_entry' for the next boot. Load environment on
15623 initialisation.
15624 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15625 * util/grub.d/10_hurd.in: Likewise.
15626 * util/grub.d/10_linux.in (linux_entry): Likewise.
15627 * util/grub.d/10_windows.in: Likewise.
15628 * util/grub.d/30_os-prober.in: Likewise.
15629
15630 * util/grub-install.in: Create environment block.
15631 * util/i386/efi/grub-install.in: Likewise.
15632 * util/ieee1275/grub-install.in: Likewise.
15633 * util/sparc64/ieee1275/grub-install.in: Likewise.
15634
0934d184
BC
156352010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15636
15637 Unit testing framework for GRUB.
15638
15639 * Makefile.in: Test framework build rules for 'make check'.
15640 * conf/tests.rmk: Build rules for individual tests and framework.
15641
15642 * include/grub/test.h: Header file for whitebox tests.
15643 * tests/lib/functional_test.c: Framework support for whitebox
15644 functional tests.
15645 * tests/lib/test.c: Common whitebox testing code for unit and
15646 functional tests.
15647 * tests/lib/unit_test.c: Framework support for whitebox unit
15648 tests.
15649
15650 * tests/util/grub-shell-tester.in: Support utility for grub-script
15651 tests.
15652 * tests/util/grub-shell.in: Utility to execute grub-script
15653 commands in a Qemu instance.
15654
15655 * tests/example_functional_test.c: Example whitebox functional
15656 test.
15657 * tests/example_grub_script_test.in: Example grub-script test.
15658 * tests/example_scripted_test.in: Example scripted test.
15659 * tests/example_unit_test.c: Example whitebox unit test.
15660
9c4ffeeb
VS
156612010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15664 Add loader/i386/multiboot_mbi.c.
15665 (multiboot2_mod_SOURCES): Likewise.
15666 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15667 (multiboot2_mod_SOURCES): Likewise.
15668 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15669 (grub_multiboot_make_mbi): Likewise.
15670 (grub_multiboot_free_mbi): Likewise.
15671 (grub_multiboot_init_mbi): Likewise.
15672 (grub_multiboot_add_module): Likewise.
15673 (grub_multiboot_set_bootdev): Likewise.
15674 * loader/i386/multiboot.c (mbi): Removed.
15675 (mbi_dest): Likewise.
15676 (alloc_mbi): New variable.
15677 (grub_multiboot_payload_size): Removed. All users updated.
15678 (grub_multiboot_pure_size): New variable.
15679 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15680 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15681 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15682 (grub_fill_multiboot_mmap): Likewise.
15683 (grub_multiboot_get_bootdev): Likewise.
15684 (grub_multiboot): Use multiboot_mbi functions.
15685 * loader/i386/multiboot_mbi.c: New file.
15686
17383dfe
VS
156872010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15690 it would result in module crash.
15691
c1f28820
VS
156922010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15695 (grub_ofconsole_getwh): Split to ...
15696 (grub_ofconsole_getwh): ... this.
15697 (grub_ofconsole_dimensions): ...and this.
15698 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15699
58655a16
RM
157002010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15701
15702 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15703
10891398
VS
157042010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * loader/i386/pc/multiboot2.c: Removed stalled file.
15707
0b8a223c
VS
157082010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15711 Reported by: Grégoire Sutre
15712
92ab12b0
RM
157132010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15714
15715 * util/misc.c (canonicalize_file_name): New function.
15716 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15717 instead of realpath().
15718
a788afb6
CW
157192010-01-11 Colin Watson <cjwatson@ubuntu.com>
15720
15721 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15722 and make it clearer that it's optional. Based on confusion
15723 witnessed on IRC.
15724
ffa8e3d2
VS
157252010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15728 in premature implicit newline.
15729
e9060a9d
VS
157302010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15733 which resulted in garbled command line at the end of screen.
15734
f0d0c0b7
RM
157352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15736
15737 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15738 initialization with similar approach as with other Linux loaders.
15739
0e60bae7
RM
157402010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15741
15742 Fix i386-ieee1275 build.
15743
15744 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15745 and grub_term_height() for video_{width,height} initialization.
15746
157472010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15748
15749 Fix grub-emu build.
15750
15751 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15752
cdb3f378
RM
157532010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
157542010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15755
15756 Support for multiple terminals.
15757
15758 * Makefile.in (pkglib_DATA): terminal.lst.
15759 (terminal.lst): New target.
15760 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15761 (GRUB_MOD_INIT(handler)): Likewise.
15762 (GRUB_MOD_FINI(handler)): Likewise.
15763 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15764 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15765 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15766 (grub_cmd_sleep): Use grub_term_save_pos.
15767 * commands/terminal.c: New file.
15768 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15769 commands/terminal.c and lib/charset.c.
15770 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15771 (pkglib_MODULES): Add terminal.mod.
15772 (terminal_mod_SOURCES): New variable.
15773 (terminal_mod_CFLAGS): Likewise.
15774 (terminal_mod_LDFLAGS): Likewise.
15775 * genhandlerlist.sh: Don't handle terminals.
15776 * genmk.rb: Generate terminal-*.lst.
15777 * genterminallist.sh: New file.
15778 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15779 (grub_is_valid_utf8): Likewise.
15780 (grub_utf8_to_ucs4_alloc): Likewise.
15781 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15782 (grub_menu_register_viewer): Changed argument.
15783 (grub_menu_try_text): New proto.
15784 (grub_gfxmenu_try_hook): New declaration.
15785 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15786 (grub_menu_init_page): Additional argument term.
15787 (grub_normal_init_page): Likewise.
15788 (grub_cmdline_get): Arguments simplified.
15789 (grub_utf8_to_ucs4_alloc): Removed.
15790 (grub_print_ucs4): Additional argument term.
15791 (grub_getstringwidth): Likewise.
15792 (grub_print_message_indented): Likewise.
15793 (grub_menu_text_register_instances): New proto.
15794 (grub_show_menu): Likewise.
15795 (read_terminal_list): Likewise.
15796 (grub_set_more): Likewise.
15797 * include/grub/parser.h: Include handler.h.
15798 * include/grub/reader.h: Rewritten.
15799 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15800 (GRUB_TERM_WIDTH): Changed to function.
15801 (GRUB_TERM_HEIGHT): Likewise.
15802 (GRUB_TERM_BORDER_WIDTH): Likewise.
15803 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15804 (GRUB_TERM_NUM_ENTRIES): Likewise.
15805 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15806 (GRUB_TERM_CURSOR_X): Likewise.
15807 (grub_term_input_class): Likewise.
15808 (grub_term_output_class): Likewise.
15809 (grub_term_outputs_disabled): New declaration.
15810 (grub_term_inputs_disabled): Likewise.
15811 (grub_term_outputs): Likewise.
15812 (grub_term_inputs): Likewise.
15813 (grub_term_register_input): Rewritten.
15814 (grub_term_register_output): Likewise.
15815 (grub_term_unregister_input): Likewise.
15816 (grub_term_unregister_output): Likewise.
15817 (FOR_ACTIVE_TERM_INPUTS): New macro.
15818 (FOR_DISABLED_TERM_INPUTS): Likewise.
15819 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15820 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15821 * include/grub/terminfo.h: Add oterm argument to all protypes.
15822 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15823 Use grub_rescue_run.
15824 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15825 All users updated.
15826 * kern/reader.c: Removed. All users updated.
15827 * kern/rescue_reader.c (grub_rescue_init): Removed.
15828 (grub_rescue_reader): Likewise.
15829 (grub_register_rescue_reader): Likewise.
15830 (grub_rescue_run): New function based on kern/reader.c.
15831 * kern/term.c: Adapted for multiterm.
15832 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15833 (grub_is_valid_utf8): Likewise.
15834 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15835 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15836 right terminal.
15837 * loader/i386/linux.c (grub_linux_boot): Likewise.
15838 * normal/auth.c (grub_username_get): New function.
15839 (grub_auth_check_authentication): Use grub_username_get.
15840 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15841 * normal/color.c: Adapt for multiterm.
15842 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15843 (grub_normal_init_page): Additional argument term.
15844 (read_lists): Call read_terminal_lists.
15845 (grub_enter_normal_mode): Call grub_cmdline_run.
15846 Handle grub_normal_exit_level.
15847 (grub_cmd_normal): Make reentrant.
15848 (grub_cmd_normal_exit): New function.
15849 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15850 * normal/menu.c: Adapt for multiterm.
15851 * normal/menu_entry.c: Likewise.
15852 * normal/menu_text.c: Likewise.
15853 * normal/menu_viewer.c: Removed. All users updated.
15854 * normal/term.c: New file.
15855 * util/console.c: Change order of includes to workaround a bug in
15856 ncurses headers.
15857 * term/terminfo.c: New argument oterm on all exported functions.
15858 All users updated.
15859 * util/grub-editenv.c (grub_term_input_class): Removed.
15860 (grub_term_output_class): Likewise.
15861
1a064917
RM
158622010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15863
15864 Make loader output a bit more user-friendly.
15865
15866 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15867 is being loaded. Likewise for the Hurd.
15868
15869 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15870 that kernel of FreeBSD ${version} is being loaded.
15871
15872 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15873 grub_dprintf().
15874 (grub_cmd_initrd): Likewise.
15875 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15876 that Linux ${version} is being loaded. Likewise for initrd.
15877
5ce0a83a 158782010-01-09 Carles Pina i Estany <carles@pina.cat>
15879
15880 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15881
809bbfeb 158822010-01-08 Carles Pina i Estany <carles@pina.cat>
15883
15884 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15885 (GRUB_MOD_INIT): Gettextizze.
15886 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15887 (GRUB_MOD_INIT): Gettextizze.
15888 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15889 (grub_cmd_linux): Capitalise Linux.
15890 (GRUB_MOD_INIT): Gettextizze.
15891 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15892 (grub_cmd_linux): Capitalise Linux.
15893 (GRUB_MOD_INIT): Gettextizze.
15894 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15895 (grub_cmd_linux): Capitalise Linux.
15896 (GRUB_MOD_INIT): Gettextizze.
15897 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15898 (GRUB_MOD_INIT): Gettextizze.
15899 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15900 (grub_cmd_linux): Capitalise Linux.
15901 (GRUB_MOD_INIT): Gettextizze.
15902 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15903 (grub_cpu_xnu_init): Gettextizze.
15904 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15905 (GRUB_MOD_INIT): Gettextizze.
15906 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15907 (GRUB_MOD_INIT): Gettextizze.
15908 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15909 (grub_linux_load64): Capitalise Linux.
15910 (GRUB_MOD_INIT): Gettextizze.
15911 * loader/xnu.c: Include `<grub/i18n.h>'.
15912 (GRUB_MOD_INIT): Gettextizze.
15913 * po/POTFILES: Add `loader/efi/appleloader.c',
15914 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15915 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15916 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15917 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15918 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15919 and `loader/xnu.c'.
15920
b394b2ca
RM
159212010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15922
15923 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15924
159252010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15926
15927 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15928 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15929 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15930
bc8b32b3
RM
159312010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15932
15933 Reset Multiboot 2 support. New loader implements the draft in
15934 /branches/multiboot2 and shares as much code as possible with the
15935 production Multiboot 1 implementation.
15936
15937 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15938 * loader/multiboot2.c: Likewise.
15939 * loader/i386/multiboot_helper.S: Likewise.
15940 * include/multiboot2.h: Replace with latest version from the draft
15941 in /branches/multiboot2.
15942
15943 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15944 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15945 and `loader/multiboot2.c'.
15946 (pkglib_MODULES): Add `multiboot2.mod'.
15947 (multiboot2_mod_SOURCES): New variable.
15948 (multiboot2_mod_LDFLAGS): Likewise.
15949 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15950
15951 * conf/i386-pc.rmk: Likewise.
15952
15953 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15954 (multiboot_mod_SOURCES): Remove variable.
15955 (multiboot_mod_LDFLAGS): Likewise.
15956 (multiboot_mod_CFLAGS): Likewise.
15957
15958 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15959 `<multiboot2.h>' instead of `<multiboot.h>'.
15960 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15961 (MULTIBOOT_HEADER_MAGIC): New macros.
15962
15963 * loader/multiboot_loader.c (module_version_status): Remove variable.
15964 (find_multi_boot2_header): Remove function.
15965 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15966 logic. Always check for the Multiboot version we're compiling for.
15967 (grub_cmd_module_loader): Likewise.
15968 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15969 command instead of `multiboot'.
15970
5d2c52b8
RM
159712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15972
15973 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15974 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15975 all users.
15976
53108d92
RM
159772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
159782010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 Fix breakage introduced with previous commit.
15981
15982 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15983 commands.
15984 * normal/handler.c (read_handler_list): Revert part of previous commit
15985 affecting this file.
15986 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15987 (grub_normal_execute): ... here.
15988
e2e936b2
RM
159892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15990
15991 Merge prefix-redefinition-fix branch.
15992
15993 * normal/autofs.c (read_fs_list): Make function capable of being
15994 run multiple times, gracefuly replacing the previous data
15995 structures.
15996 * normal/dyncmd.c (read_command_list): Likewise.
15997 * normal/handler.c (read_handler_list): Likewise.
15998 * normal/main.c (read_lists): New function. Calls all the
15999 list reading functions.
16000 (grub_normal_execute): Use read_lists() instead of calling all
16001 list reading functions explicitly. Register read_lists() as a
16002 variable hook attached to ${prefix}.
16003
607a3701
VS
160042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Merge crypto branch.
16007
16008 * Makefile.in (pkglib_DATA): Add crypto.lst.
16009 (crypto.lst): New target.
16010 * commands/hashsum.c: New file.
16011 * commands/password.c (check_password): Use grub_crypto_memcmp.
16012 * commands/password_pbkdf2.c: New file.
16013 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
16014 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
16015 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
16016 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
16017 -I$(srcdir)/lib/libgcrypt_wrap.
16018 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
16019 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
16020 password_pbkdf2.mod.
16021 (crypto_mod_SOURCES): New variable.
16022 (crypto_mod_CFLAGS): Likewise.
16023 (crypto_mod_LDFLAGS): Likewise.
16024 (hashsum_mod_SOURCES): New variable.
16025 (hashsum_mod_CFLAGS): Likewise.
16026 (hashsum_mod_LDFLAGS): Likewise.
16027 (pbkdf2_mod_SOURCES): New variable.
16028 (pbkdf2_mod_CFLAGS): Likewise.
16029 (pbkdf2_mod_LDFLAGS): Likewise.
16030 (password_pbkdf2_mod_SOURCES): New variable.
16031 (password_pbkdf2_mod_CFLAGS): Likewise.
16032 (password_pbkdf2_mod_LDFLAGS): Likewise.
16033 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
16034 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
16035 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
16036 Include conf/gcry.rmk.
16037 * include/grub/auth.h: Rewritten.
16038 * include/grub/crypto.h: New file.
16039 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
16040 * include/grub/normal.h (read_crypto_list): New prototype.
16041 * lib/crypto.c: New file.
16042 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16043 * lib/pbkdf2.c: Likewise.
16044 * normal/auth.c (grub_auth_strcmp): Removed.
16045 (grub_iswordseparator): Likewise.
16046 (grub_auth_strword): Likewise.
16047 (is_authenticated): Use grub_strword.
16048 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
16049 and grub_strword. Pass entered password to authentication callback.
16050 * normal/crypto.c: New file.
16051 * normal/main.c: Call read_crypto_list.
16052 * util/grub-mkpasswd-pbkdf2.c: New file.
16053 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
16054
42841caa
VS
160552010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 Fix descent and ascent calculation.
16058
16059 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
16060 (options): New option "asce".
16061 (usage): Likewise.
16062 (add_char): Ignore invalid glyphs for descent calculation.
16063 Calculate ascent from actual content.
16064 (print_glyphs): Use 'asce'.
16065 (write_font): Likewise. Allow ascent override.
16066 (main): Handle "asce" option.
16067
e7730de7 160682010-01-06 Carles Pina i Estany <carles@pina.cat>
16069
16070 * kern/err.c: Include `<grub/i18n.h>'.
16071 (grub_print_error): Add full stop. Gettextizze.
16072 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
16073 (grub_bsd_load_elf): Capitalise ELF.
16074 (grub_cmd_freebsd_loadenv): Add `s' in error string.
16075 (grub_cmd_freebsd_module): Likewise.
16076 (grub_cmd_freebsd_module_elf): Likewise.
16077 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
16078
40e3a41f 160792010-01-06 Carles Pina i Estany <carles@pina.cat>
16080
16081 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
16082 * commands/search_file.c (HELP_MESSAGE): New macro.
16083 * commands/search_label.c (HELP_MESSAGE): Likewise.
16084 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
16085 * po/POTFILES: Add `commands/search_file.c',
16086 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
16087 `commands/search.c'.
16088
83507e68
RM
160892010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16090
16091 * config.rpath: Update from Gnulib.
16092
465c787b
YB
160932010-01-05 Yves Blusseau <blusseau@zetam.org>
16094
16095 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
16096
6581dd3a
YB
160972010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
16098
16099 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
16100
3bff18c5
CW
161012010-01-05 Colin Watson <cjwatson@ubuntu.com>
16102
16103 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
16104 arguments to fread so that we get a return value in bytes, rather
16105 than something that will normally be rounded down to 0.
16106 Adjust error handling to avoid producing garbage when size_t is not
16107 the same size as long long.
16108
a1368118
CW
161092010-01-05 Colin Watson <cjwatson@ubuntu.com>
16110
16111 * util/mkisofs/write.c (padblock_write): Check return value of
16112 fread.
16113
7c302978
RM
161142010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16115
16116 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
16117 floppy images now.
16118
16119 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
16120
e33ace06
RM
161212010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16122
16123 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
16124 instead of manual alignment.
16125 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
16126 verbose). Avoid attempts to read past end of the device
16127 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
16128 but GRUB_DISK_CACHE_SIZE may exceed that).
16129
4b856776
RM
161302010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16131
16132 * commands/crc.c (grub_cmd_crc): Abort on read errors.
16133 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
16134 it to upper layer.
16135
52c2d97f
VS
161362010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
16139 New constant.
16140 (grub_efi_piwg_device_path): New structure
16141 (grub_efi_piwg_device_path_t): New type.
16142 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
16143 (devpath_1): Transform to a structure. All users updated.
16144 (devpath_2): Likewise.
16145 (devpath_3): Likewise.
16146 (devpath_4): Likewise.
16147 (devpath_5): Likewise.
16148
98ff6a54
VS
161492010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * loader/efi/appleloader.c: Restored. Update all users.
16152
3a73dcb6
RM
161532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16154
16155 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
16156
16157 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
16158 (struct boot_blocklist): Move from here ...
16159 * include/grub/i386/pc/boot.h [ASM_FILE]
16160 (struct grub_boot_blocklist): ... to here. Update all users.
16161 (setup): Only initialize `start' member of `first_block'
16162 structure. Add assert() calls to verify the other members.
16163
16164 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
16165 (generate_image): Fix broken blocklist length initialization.
16166 Add assert() call to verify blocklist `segment' field.
16167
ab0eeb0c
RM
161682010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16169
16170 * loader/efi/appleloader.c: Remove. Update all users.
16171
58bc8bd5
RM
161722010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16173
16174 * boot/i386/pc/boot.S: Update copyright year.
16175 * boot/i386/pc/cdboot.S: Likewise.
16176 * boot/i386/pc/diskboot.S: Likewise.
16177 * boot/i386/pc/lnxboot.S: Likewise.
16178 * boot/i386/pc/pxeboot.S: Likewise.
16179 * bus/pci.c: Likewise.
16180 * commands/cmp.c: Likewise.
16181 * commands/help.c: Likewise.
16182 * commands/hexdump.c: Likewise.
16183 * commands/i386/pc/halt.c: Likewise.
16184 * commands/i386/pc/play.c: Likewise.
16185 * commands/i386/pc/vbeinfo.c: Likewise.
16186 * commands/ls.c: Likewise.
16187 * commands/test.c: Likewise.
16188 * disk/dmraid_nvidia.c: Likewise.
16189 * disk/i386/pc/biosdisk.c: Likewise.
16190 * disk/ieee1275/nand.c: Likewise.
16191 * disk/ieee1275/ofdisk.c: Likewise.
16192 * disk/lvm.c: Likewise.
16193 * disk/raid.c: Likewise.
16194 * disk/raid6_recover.c: Likewise.
16195 * disk/scsi.c: Likewise.
16196 * fs/affs.c: Likewise.
16197 * fs/cpio.c: Likewise.
16198 * fs/ext2.c: Likewise.
16199 * fs/hfs.c: Likewise.
16200 * fs/iso9660.c: Likewise.
16201 * fs/ntfs.c: Likewise.
16202 * fs/sfs.c: Likewise.
16203 * fs/udf.c: Likewise.
16204 * fs/ufs.c: Likewise.
16205 * fs/xfs.c: Likewise.
16206 * gencmdlist.sh: Likewise.
16207 * genmk.rb: Likewise.
16208 * include/grub/disk.h: Likewise.
16209 * include/grub/efi/api.h: Likewise.
16210 * include/grub/efi/efi.h: Likewise.
16211 * include/grub/efi/pe32.h: Likewise.
16212 * include/grub/elf.h: Likewise.
16213 * include/grub/fs.h: Likewise.
16214 * include/grub/i386/at_keyboard.h: Likewise.
16215 * include/grub/i386/pc/memory.h: Likewise.
16216 * include/grub/i386/pc/vbe.h: Likewise.
16217 * include/grub/i386/pci.h: Likewise.
16218 * include/grub/i386/tsc.h: Likewise.
16219 * include/grub/ieee1275/ieee1275.h: Likewise.
16220 * include/grub/ntfs.h: Likewise.
16221 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16222 * include/grub/sparc64/libgcc.h: Likewise.
16223 * include/grub/symbol.h: Likewise.
16224 * include/grub/types.h: Likewise.
16225 * include/multiboot2.h: Likewise.
16226 * io/gzio.c: Likewise.
16227 * kern/device.c: Likewise.
16228 * kern/disk.c: Likewise.
16229 * kern/efi/efi.c: Likewise.
16230 * kern/efi/mm.c: Likewise.
16231 * kern/elf.c: Likewise.
16232 * kern/file.c: Likewise.
16233 * kern/i386/dl.c: Likewise.
16234 * kern/i386/pc/init.c: Likewise.
16235 * kern/i386/pc/startup.S: Likewise.
16236 * kern/ieee1275/ieee1275.c: Likewise.
16237 * kern/ieee1275/init.c: Likewise.
16238 * kern/main.c: Likewise.
16239 * kern/mm.c: Likewise.
16240 * kern/powerpc/dl.c: Likewise.
16241 * kern/sparc64/dl.c: Likewise.
16242 * kern/x86_64/dl.c: Likewise.
16243 * lib/hexdump.c: Likewise.
16244 * loader/efi/appleloader.c: Likewise.
16245 * loader/i386/ieee1275/linux.c: Likewise.
16246 * loader/i386/pc/chainloader.c: Likewise.
16247 * loader/i386/pc/linux.c: Likewise.
16248 * loader/i386/pc/multiboot2.c: Likewise.
16249 * loader/ieee1275/multiboot2.c: Likewise.
16250 * loader/multiboot2.c: Likewise.
16251 * loader/multiboot_loader.c: Likewise.
16252 * loader/powerpc/ieee1275/linux.c: Likewise.
16253 * normal/completion.c: Likewise.
16254 * normal/menu_entry.c: Likewise.
16255 * partmap/apple.c: Likewise.
16256 * util/grub.d/10_hurd.in: Likewise.
16257 * util/hostfs.c: Likewise.
16258 * video/readers/png.c: Likewise.
16259
e2d70b5c
CW
162602010-01-03 Colin Watson <cjwatson@ubuntu.com>
16261
16262 * include/grub/misc.h (GNUC_PREREQ): New macro.
16263 (ATTRIBUTE_ERROR): New macro.
16264 * include/grub/list.h (grub_bad_type_cast_real): Use
16265 ATTRIBUTE_ERROR.
16266
a173283f 162672010-01-03 Carles Pina i Estany <carles@pina.cat>
16268
16269 * normal/menu_text.c (print_message): Change messages.
16270
7fa7ff74 162712010-01-03 Carles Pina i Estany <carles@pina.cat>
16272
16273 * normal/menu_entry.c (store_completion): Gettextizze.
16274
136d24f6 162752010-01-03 Carles Pina i Estany <carles@pina.cat>
16276
16277 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
16278
f936862e 162792010-01-03 Carles Pina i Estany <carles@pina.cat>
16280
16281 * po/POTFILES: Sort correctly.
16282
29c44ad1 162832010-01-03 Carles Pina i Estany <carles@pina.cat>
16284
16285 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
16286 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
16287 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
16288 full stop.
16289 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
16290 summary. Gettextizze the strings.
16291 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
16292 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
16293 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
16294 full stop.
16295 (GRUB_MOD_INIT): Remove command name from summary.
16296 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
16297 summary.
16298 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
16299 * term/i386/pc/serial.c (options): Add full stops.
16300 (GRUB_MOD_INIT): Remove command name from the summary.
16301
77a79592 163022010-01-03 Carles Pina i Estany <carles@pina.cat>
16303
16304 * commands/acpi.c: Gettextizze help strings and/or options. Include
16305 `grub/i18n.h' if needed.
16306 * commands/blocklist.c: Likewise.
16307 * commands/boot.c: Likewise.
16308 * commands/cat.c: Likewise.
16309 * commands/cmp.c: Likewise.
16310 * commands/configfile.c: Likewise.
16311 * commands/crc.c: Likewise.
16312 * commands/date.c: Likewise.
16313 * commands/echo.c: Likewise.
16314 * commands/efi/fixvideo.c: Likewise.
16315 * commands/efi/loadbios.c: Likewise.
16316 * commands/gptsync.c: Likewise.
16317 * commands/halt.c: Likewise.
16318 * commands/handler.c: Likewise.
16319 * commands/hdparm.c: Likewise.
16320 * commands/hexdump.c: Likewise.
16321 * commands/i386/cpuid.c: Likewise.
16322 * commands/i386/pc/drivemap.c: Likewise.
16323 * commands/i386/pc/halt.c: Likewise.
16324 * commands/i386/pc/pxecmd.c: Likewise.
16325 * commands/i386/pc/vbeinfo.c: Likewise.
16326 * commands/i386/pc/vbetest.c: Likewise.
16327 * commands/ieee1275/suspend.c: Likewise.
16328 * commands/keystatus.c: Likewise.
16329 * commands/loadenv.c: Likewise.
16330 * commands/ls.c: Likewise.
16331 * commands/lsmmap.c: Likewise.
16332 * commands/lspci.c: Likewise.
16333 * commands/memrw.c: Likewise.
16334 * commands/minicmd.c: Likewise.
16335 * commands/parttool.c: Likewise.
16336 * commands/password.c: Likewise.
16337 * commands/probe.c: Likewise.
16338 * commands/read.c: Likewise.
16339 * commands/reboot.c: Likewise.
16340 * commands/search.c: Likewise.
16341 * commands/sleep.c: Likewise.
16342 * commands/test.c: Likewise.
16343 * commands/true.c: Likewise.
16344 * commands/usbtest.c: Likewise.
16345 * commands/videotest.c: Likewise.
16346 * commands/xnu_uuid.c: Likewise.
16347 * disk/loopback.c: Likewise.
16348 * hello/hello.c: Likewise.
16349 * loader/i386/bsd.c: Likewise.
16350 * term/i386/pc/serial.c: Likewise.
16351 * po/POTFILES: Add new files.
16352
da8d5c53
CW
163532010-01-02 Colin Watson <cjwatson@ubuntu.com>
16354
16355 * term/i386/pc/at_keyboard.c
16356 (keyboard_controller_wait_untill_ready): Rename to ...
16357 (keyboard_controller_wait_until_ready): ... this. Update all users.
16358
33937904 163592010-01-01 Carles Pina i Estany <carles@pina.cat>
16360
16361 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16362 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16363 string using string width.
16364 * normal/menu_text.c (grub_print_message_indented): Use
16365 grub_print_spaces and not print_spaces.
16366 (print_timeout): Likewise.
16367 (print_spaces): Move to...
16368 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16369
3fd3b8d8
RM
163702010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16371
16372 Import from Gnulib.
16373
16374 * gnulib/getdelim.c: New file.
16375 * gnulib/getline.c: Likewise.
16376
33433555
VS
163772009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16378
16379 * include/grub/list.h (grub_assert_fail): Removed.
16380 (grub_bad_type_cast_real): New function.
16381 (grub_bad_type_cast): New macro.
16382 (GRUB_AS_LIST): Use grub_bad_type_cast.
16383 (GRUB_AS_LIST_P): Likewise.
e44721e8 16384 (GRUB_AS_NAMED_LIST): Likewise.
33433555 16385 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 16386 (GRUB_AS_PRIO_LIST): Likewise.
33433555 16387 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 16388 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 16389
f5a51306
VS
163902009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16393 Fix syntax error.
16394
90d1e879
RM
163952009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16396
16397 * configure.ac: Check for TARGET_CFLAGS initialization before we
16398 initialize it ourselves (sigh).
16399 Move a few modifications to TARGET_CFLAGS to be unconditional
16400 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16401 eh_frame)
16402
16403 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16404 * term/i386/pc/at_keyboard.c
16405 (keyboard_controller_wait_untill_ready): Likewise.
16406 (keyboard_controller_led): Rename `led_status' paramter to avoid
16407 name conflict.
16408
465b5a81 164092009-12-28 Carles Pina i Estany <carles@pina.cat>
16410
16411 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16412 quotes.
16413
c181849b
VS
164142009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16417
9c8739a4
VS
164182009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * normal/menu_text.c (grub_print_message_indented): Prevent
16421 past-the-end-of-array dereference.
16422
3e74249c
VS
164232009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16426 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16427
64fd18ed 164282009-12-27 Carles Pina i Estany <carles@pina.cat>
16429
16430 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16431 * normal/main.c (grub_normal_read_line): Remove a space from the
16432 default prompt.
16433
714af9b9 164342009-12-27 Carles Pina i Estany <carles@pina.cat>
16435
16436 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16437 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16438 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16439 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16440 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16441 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16442 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16443
82f3e412 164442009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16445
16446 * video/readers/jpeg.c (cmd): Declare.
16447 (grub_cmd_jpegtest): Use `grub_command_t' type.
16448 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16449 Assign to `cmd'.
16450 (GRUB_MOD_FINI): Use `cmd' to unregister.
16451 * video/readers/png.c (cmd): Declare.
16452 (grub_cmd_pngtest): Use `grub_command_t' type.
16453 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16454 Assign to `cmd'.
16455 (GRUB_MOD_FINI): Use `cmd' to unregister.
16456 * video/readers/tga.c (cmd): Declare.
16457 (grub_cmd_tgatest): Use `grub_command_t' type.
16458 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16459 Assign to `cmd'.
16460 (GRUB_MOD_FINI): Use `cmd' to unregister.
16461
82f3e412 164622009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16463
16464 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16465 stops.
16466 * kern/corecmd.c (grub_register_core_commands): Likewise.
16467 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16468 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16469 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16470 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16471 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16472 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16473 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16474 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16475 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16476 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16477 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16478 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16479 * normal/handler.c (insert_handler): Likewise.
16480 * normal/main.c (GRUB_MOD_INIT): Likewise.
16481 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16482
fdcdbb66 164832009-12-26 Carles Pina i Estany <carles@pina.cat>
16484
16485 * commands/help.c (grub_cmd_help): Print the command name before the
16486 summary.
16487 (GRUB_MOD_INIT): Remove command name from the summary.
16488 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16489 string as summary.
fdcdbb66 16490 * lib/arg.c (find_long): Print the command name before the summary.
16491 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16492 summary.
16493 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16494 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16495 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16496 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16497 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16498 * commands/date.c (GRUB_MOD_INIT): Likewise.
16499 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16500 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16501 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16502 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16503 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16504 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16505 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16506 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16507 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16508 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16509 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16510 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16511 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16512 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16513 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16514 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16515 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16516 * commands/password.c (GRUB_MOD_INIT): Likewise.
16517 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16518 * commands/read.c (GRUB_MOD_INIT): Likewise.
16519 * commands/search.c (GRUB_MOD_INIT): Likewise.
16520 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16521 * commands/test.c (GRUB_MOD_INIT): Likewise.
16522 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16523 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16524 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16525 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16526 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16527 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16528 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16529 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16530 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16531 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16532 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16533 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16534 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16535 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16536
9c288be2
VS
165372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Use search command for preliminar UUID search.
16540
16541 * commands/search.c: Split into ...
16542 * commands/search_wrap.c: ...this
16543 * commands/search.c: ...and this.
16544 * commands/search_file.c: New file.
16545 * commands/search_label.c: New file.
16546 * commands/search_uuid.c: New file.
16547 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16548 Add commands/search_wrap.c, commands/search_file.c,
16549 commands/search_label.c and commands/search_uuid.c.
16550 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16551 (search_mod_SOURCES): Set to commands/search_wrap.c.
16552 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16553 search_label.mod.
16554 (search_fs_file_mod_SOURCES): New variable.
16555 (search_fs_file_mod_CFLAGS): Likewise.
16556 (search_fs_file_mod_LDFLAGS): Likewise.
16557 (search_label_mod_SOURCES): Likewise.
16558 (search_label_mod_CFLAGS): Likewise.
16559 (search_label_mod_LDFLAGS): Likewise.
16560 (search_fs_uuid_mod_SOURCES): New variable.
16561 (search_fs_uuid_mod_CFLAGS): Likewise.
16562 (search_fs_uuid_mod_LDFLAGS): Likewise.
16563 (fs_file_mod_SOURCES): Removed.
16564 (fs_file_mod_CFLAGS): Likewise.
16565 (fs_file_mod_LDFLAGS): Likewise.
16566 (fs_uuid_mod_SOURCES): Removed.
16567 (fs_uuid_mod_CFLAGS): Likewise.
16568 (fs_uuid_mod_LDFLAGS): Likewise.
16569 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16570 Set to util/grub-install.in.
16571 * disk/fs_file.c: Removed.
16572 * disk/fs_uuid.c: Likewise.
16573 * include/grub/search.h: New file.
16574 * util/grub-install.in: Handle sparc64.
16575 Create and use load.cfg.
16576 * util/sparc64/ieee1275/grub-install.in: Removed.
16577
db943399
VS
165782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16581 Ignore return status if CF is cleared.
16582 (grub_biosdisk_get_diskinfo_standard): Likewise.
16583
3fdae612
RM
165842009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16585
16586 * term/i386/pc/at_keyboard.c
16587 (keyboard_controller_wait_untill_ready): New function.
16588 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16589 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16590 for keyboard polling, rather than duplicate the same loop. This
16591 saves a few bytes in code size.
16592
7ebaa2b4
VS
165932009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 Support for (pxe[:server[:gateway]]) syntax and
16596 use environment variable for PXE.
16597
16598 * commands/i386/pc/pxecmd.c (options): Removed.
16599 (print_ip): Removed.
16600 (grub_cmd_pxe): Removed
16601 (grub_cmd_pxe_unload): New function.
16602 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16603 (grub_pxe_your_ip): Made static.
16604 (grub_pxe_default_server_ip): Likewise.
16605 (grub_pxe_default_gateway_ip): Likewise.
16606 (grub_pxe_blksize): Likewise.
16607 (parse_ip): New function.
16608 (grub_pxe_open): Support server and gateway specification.
16609 (grub_pxe_close): Free disk->data.
16610 (grub_pxefs_open): Use disk->data.
16611 (grub_pxefs_read): Likewise.
16612 (grub_env_write_readonly): New function.
16613 (set_mac_env): Likewise.
16614 (set_env_limn_ro): Likewise.
16615 (parse_dhcp_vendor): Likewise.
16616 (grub_pxe_detect): Set the environment variables.
16617 (set_ip_env): New function.
16618 (write_ip_env): Likewise.
16619 (grub_env_write_pxe_default_server): Likewise.
16620 (grub_env_write_pxe_default_gateway): Likewise.
16621 (grub_env_write_pxe_blocksize): Likewise.
16622 (GRUB_MOD_INIT(pxe)): Set environment variables.
16623 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16624 (grub_pxe_mac_addr_t): ... this. All users updated.
16625 (grub_pxe_your_ip): Removed.
16626 (grub_pxe_server_ip): Likewise.
16627 (grub_pxe_gateway_ip): Likewise.
16628 (grub_pxe_blksize): Likewise.
16629
ec5f98ab 166302009-12-25 Carles Pina i Estany <carles@pina.cat>
16631
16632 * commands/help.c: Include `<grub/i18n.h>'.
16633 (grub_cmd_help): Gettextizze.
16634 (GRUB_MOD_INIT): Likewise.
16635 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16636 (GRUB_MOD_INIT): Gettextizze.
16637 * commands/search.c: Include `<grub/i18n.h>'.
16638 (options): Gettextizze.
16639 (GRUB_MOD_INIT): Gettextizze.
16640 * lib/arg.c: Include `<grub/i18n.h>'.
16641 (help_options): Gettextizze.
16642 (find_long): Likewise.
16643 (grub_arg_show_help): Likewise.
16644 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16645 (read_command_list): Gettextizze.
16646 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16647 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16648
22815526
RM
166492009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16652 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16653 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16654 (led_status): New variable.
16655 (keyboard_controller_led): New function.
16656 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16657 update led status for caps lock, num lock and scroll lock.
16658
0ad46fd7
FZ
166592009-12-25 Felix Zielcke <fzielcke@z-51.de>
16660
16661 * util/hostdisk.c (open_device): Fix a comment.
16662
d0e158c2
RM
166632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16664
16665 * util/grub-install.in (host_os): New variable.
16666 * util/i386/efi/grub-install.in (host_os): Likewise.
16667
401c0ad6
RM
166682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16669
16670 * util/mkisofs/write.c (padblock_write): Abort when given an
16671 excedingly large embed image, instead of silently truncating it.
16672
d14d3370
RM
166732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16674
16675 * include/multiboot.h: Indentation fixes.
16676
eeed10b4
RM
166772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16678
16679 * include/multiboot.h (struct multiboot_aout_symbol_table)
16680 (struct multiboot_elf_section_header_table): New structure
16681 declarations (stolen from GRUB Legacy).
16682 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16683 table information.
16684
16685 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16686 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16687 type aliases.
16688
681c70ab
RM
166892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16690
16691 * include/multiboot.h: Make comments src2texi-friendly.
16692
e4d47d8d
RM
166932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16694
16695 For consistency with [multiboot]/docs/boot.S.
16696
16697 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16698 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16699 (MULTIBOOT_MAGIC2): Rename from this ...
16700 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16701
a0b70bda
RM
167022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16703
16704 * include/multiboot.h: Remove `<grub/types.h>'.
16705 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16706 types. Update all users.
16707
61ba42be 167082009-12-25 Carles Pina i Estany <carles@pina.cat>
16709
16710 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16711 `couldn't' and `can not' by `cannot'.
16712 * commands/i386/pc/drivemap.c: Likewise.
16713 * disk/ata.c: Likewise.
16714 * disk/ieee1275/nand.c: Likewise.
16715 * fs/affs.c: Likewise.
16716 * fs/fat.c: Likewise.
16717 * fs/hfs.c: Likewise.
16718 * fs/hfsplus.c: Likewise.
16719 * fs/iso9660.c: Likewise.
16720 * fs/jfs.c: Likewise.
16721 * fs/minix.c: Likewise.
16722 * fs/reiserfs.c: Likewise.
16723 * fs/sfs.c: Likewise.
16724 * fs/udf.c: Likewise.
16725 * fs/ufs.c: Likewise.
16726 * fs/xfs.c: Likewise.
16727 * loader/powerpc/ieee1275/linux.c: Likewise.
16728 * loader/sparc64/ieee1275/linux.c: Likewise.
16729 * util/grub-probe.c: Likewise.
16730 * util/misc.c: Likewise.
16731
7fd0baee 167322009-12-24 Carles Pina i Estany <carles@pina.cat>
16733
16734 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16735 grub_errno calls.
16736 * commands/acpi.c: Likewise.
16737 * commands/blocklist.c: Likewise.
16738 * commands/efi/loadbios.c: Likewise.
16739 * commands/i386/pc/drivemap.c: Likewise.
16740 * commands/loadenv.c: Likewise.
16741 * commands/memrw.c: Likewise.
16742 * commands/password.c: Likewise.
16743 * commands/videotest.c: Likewise.
16744 * disk/ata.c: Likewise.
16745 * disk/ata_pthru.c: Likewise.
16746 * disk/dmraid_nvidia.c: Likewise.
16747 * disk/ieee1275/nand.c: Likewise.
16748 * disk/ieee1275/ofdisk.c: Likewise.
16749 * disk/loopback.c: Likewise.
16750 * disk/lvm.c: Likewise.
16751 * disk/mdraid_linux.c: Likewise.
16752 * disk/raid.c: Likewise.
16753 * disk/raid6_recover.c: Likewise.
16754 * disk/scsi.c: Likewise.
16755 * efiemu/main.c: Likewise.
16756 * efiemu/mm.c: Likewise.
16757 * efiemu/pnvram.c: Likewise.
16758 * efiemu/symbols.c: Likewise.
16759 * font/font.c: Likewise.
16760 * fs/cpio.c: Likewise.
16761 * fs/hfsplus.c: Likewise.
16762 * fs/iso9660.c: Likewise.
16763 * fs/jfs.c: Likewise.
16764 * fs/minix.c: Likewise.
16765 * fs/ntfs.c: Likewise.
16766 * fs/ntfscomp.c: Likewise.
16767 * fs/reiserfs.c: Likewise.
16768 * fs/ufs.c: Likewise.
16769 * fs/xfs.c: Likewise.
16770 * gettext/gettext.c: Likewise.
16771 * include/grub/auth.h: Likewise.
16772 * kern/elf.c: Likewise.
16773 * kern/file.c: Likewise.
16774 * kern/ieee1275/init.c: Likewise.
16775 * kern/ieee1275/mmap.c: Likewise.
16776 * kern/ieee1275/openfw.c: Likewise.
16777 * kern/powerpc/dl.c: Likewise.
16778 * kern/sparc64/dl.c: Likewise.
16779 * lib/arg.c: Likewise.
16780 * loader/i386/bsd.c: Likewise.
16781 * loader/i386/bsdXX.c: Likewise.
16782 * loader/i386/efi/linux.c: Likewise.
16783 * loader/i386/efi/xnu.c: Likewise.
16784 * loader/i386/ieee1275/linux.c: Likewise.
16785 * loader/i386/linux.c: Likewise.
16786 * loader/i386/multiboot.c: Likewise.
16787 * loader/i386/pc/linux.c: Likewise.
16788 * loader/i386/pc/multiboot2.c: Likewise.
16789 * loader/i386/xnu.c: Likewise.
16790 * loader/ieee1275/multiboot2.c: Likewise.
16791 * loader/macho.c: Likewise.
16792 * loader/machoXX.c: Likewise.
16793 * loader/multiboot2.c: Likewise.
16794 * loader/multiboot_loader.c: Likewise.
16795 * loader/powerpc/ieee1275/linux.c: Likewise.
16796 * loader/sparc64/ieee1275/linux.c: Likewise.
16797 * loader/xnu.c: Likewise.
16798 * loader/xnu_resume.c: Likewise.
16799 * mmap/i386/pc/mmap.c: Likewise.
16800 * normal/menu_viewer.c: Likewise.
16801 * partmap/acorn.c: Likewise.
16802 * partmap/amiga.c: Likewise.
16803 * partmap/apple.c: Likewise.
16804 * script/lexer.c: Likewise.
16805 * term/gfxterm.c: Likewise.
16806 * term/i386/pc/serial.c: Likewise.
16807 * term/i386/pc/vga.c: Likewise.
16808 * term/ieee1275/ofconsole.c: Likewise.
16809 * term/terminfo.c: Likewise.
16810 * video/bitmap.c: Likewise.
16811 * video/efi_gop.c: Likewise.
16812 * video/efi_uga.c: Likewise.
16813 * video/fb/video_fb.c: Likewise.
16814 * video/i386/pc/vbe.c: Likewise.
16815 * video/readers/tga.c: Likewise.
16816 * video/video.c: Likewise.
16817
0ad46fd7 168182009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16819
16820 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16821 * commands/lspci.c: Likewise.
16822 * commands/probe.c: Likewise.
16823 * commands/xnu_uuid.c: Likewise.
16824 * conf/i386-coreboot.rmk: Likewise.
16825 * conf/i386-efi.rmk: Likewise.
16826 * conf/i386-ieee1275.rmk: Likewise.
16827 * conf/i386-pc.rmk: Likewise.
16828 * conf/powerpc-ieee1275.rmk: Likewise.
16829 * conf/sparc64-ieee1275.rmk: Likewise.
16830 * conf/x86_64-efi.rmk: Likewise.
16831 * fs/i386/pc/pxe.c: Likewise.
16832 * gettext/gettext.c: Likewise.
16833 * include/grub/efi/graphics_output.h: Likewise.
16834 * include/grub/i386/pc/memory.h: Likewise.
16835 * kern/env.c: Likewise.
16836 * kern/i386/qemu/startup.S: Likewise.
16837 * lib/i386/pc/biosnum.c: Likewise.
16838 * lib/i386/relocator.c: Likewise.
16839 * lib/i386/relocator_asm.S: Likewise.
16840 * lib/relocator.c: Likewise.
16841 * loader/i386/bsd.c: Likewise.
16842 * loader/i386/multiboot.c: Likewise.
16843 * loader/i386/pc/chainloader.c: Likewise.
16844 * loader/i386/xnu.c: Likewise.
16845 * loader/xnu.c: Likewise.
16846 * normal/main.c: Likewise.
16847 * normal/menu_text.c: Likewise.
16848 * util/getroot.c: Likewise.
16849 * util/grub-mkconfig_lib.in: Likewise.
16850 * util/grub.d/00_header.in: Likewise.
16851 * util/i386/pc/grub-mkimage.c: Likewise.
16852 * util/mkisofs/eltorito.c: Likewise.
16853 * util/mkisofs/exclude.h: Likewise.
16854 * util/mkisofs/hash.c: Likewise.
16855 * util/mkisofs/iso9660.h: Likewise.
16856 * util/mkisofs/joliet.c: Likewise.
16857 * util/mkisofs/mkisofs.c: Likewise.
16858 * util/mkisofs/mkisofs.h: Likewise.
16859 * util/mkisofs/multi.c: Likewise.
16860 * util/mkisofs/name.c: Likewise.
16861 * util/mkisofs/rock.c: Likewise.
16862 * util/mkisofs/tree.c: Likewise.
16863 * util/mkisofs/write.c: Likewise.
16864 * video/efi_gop.c: Likewise.
16865
009ec743
VS
168662009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16869 size counting.
16870
0ad46fd7 168712009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16872
16873 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16874 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16875
d3d30ea0
VS
168762009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16879 (GRUB_MOD_INIT(memrw)): Update help line.
16880
a34f5c70
VS
168812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16884 Use grub_extcmd_t. All users updated.
16885 (options): New variable.
16886 (grub_cmd_read): Restructure for readability. Support "-v" option.
16887 (grub_cmd_write): Restructure for readability.
16888
0ad46fd7 168892009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16890
16891 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16892
0ad46fd7 168932009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16894
16895 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16896 with the actual contents of the correspondending make variable.
16897 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16898 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16899 specifying `*.lst' and `efiemu??.o'
16900
0ad46fd7 169012009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16902
16903 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16904 after function name.
16905 Noticed by Rene Engelhard <rene@debian.org>.
16906
dc77a799
VS
169072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16910 (options): New variable.
16911 (iospace): Likewise.
16912 (grub_lspci_iter): List IO spaces if "-i" was given.
16913 (grub_cmd_lspci): Parse options.
16914 (GRUB_MOD_INIT(lspci)): Use extcmd.
16915 (GRUB_MOD_FINI(lspci)): Likewise.
16916
0ad46fd7 169172009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16918
16919 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16920 `function' keyword.
16921 Patch by Tony Mancill <tmancill@debian.org>.
16922
b5d5993b
VS
169232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16926 (grub_uhci_portstatus): Likewise.
16927 (grub_uhci_portstatus): Add necessary delay.
11d18281 16928 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16929
941903f2 169302009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16931
941903f2 16932 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16933 (GRUB_MOD_INIT): Likewise.
16934 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16935 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16936 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16937 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16938 (enable_rom_area): Likewise.
16939 (GRUB_MOD_INIT): Likewise.
16940 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16941 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16942 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16943 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16944 * commands/hexdump.c (options): Likewise.
16945 * commands/i386/cpuid.c (options): Likewise.
16946 (GRUB_MOD_INIT): Likewise.
16947 * commands/i386/pc/drivemap.c (options): Likewise.
16948 (GRUB_MOD_INIT): Likewise.
16949 * commands/i386/pc/halt (options): Likewise.
16950 (GRUB_MOD_INIT): Likewise.
16951 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16952 * commands/i386/pc/pxecmd.c (options): Likewise.
16953 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16954 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16955 * commands/keystatus.c (options): Likewise.
16956 (GRUB_MOD_INIT): Likewise.
16957 * commands/loadenv.c (options): Likewise.
16958 * commands/ls.c (options): Likewise.
16959 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16960 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16961 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16962 * commands/parttool.c (helpmsg): Likewise.
16963 * commands/probe.c (options): Likewise.
16964 * commands/read.c (GRUB_MOD_INIT): Likewise.
16965 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16966 * commands/search.c (options): Likewise.
16967 * commands/sleep.c (options): Likewise.
16968 * commands/test.c (GRUB_MOD_INIT): Likewise.
16969 * commands/true.c (GRUB_MOD_INIT): Likewise.
16970 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16971 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16972 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16973 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16974 `$(XGETTEXT)'.
98a50553 16975 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16976
0ad46fd7 169772009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16978
ef3c2c3a 16979 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16980 instead of specifying them explicit.
16981
7922f68b
RM
169822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16983
16984 * NEWS: Add grub-probe support for GNU/Hurd.
16985
537ce47f
RM
169862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16987
16988 * NEWS: gettext was added after 1.97.
16989
9b214e3a
RM
169902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16991
16992 * util/mkisofs/msdos_partition.h: New file (based on
16993 include/grub/msdos_partition.h).
16994 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16995 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16996 (ld_options, main): Recognize --protective-msdos-label.
16997 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16998 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16999 (padblock_write): If `use_protective_msdos_label' is set, patch a
17000 protective DOS-style label in the output image.
17001
17002 * util/grub-mkrescue.in: Use --protective-msdos-label.
17003
e9309813
RM
170042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17005
17006 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
17007 boot.
17008
0ae56929
RM
170092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17010
17011 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
17012 variables.
17013 (ld_options, main): Recognize `--embedded-boot'.
17014 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
17015 declarations.
17016 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
17017 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
17018 (padblock_write): Likewise. Rewrite to support embedded boot image.
17019
17020 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
17021 for BIOS-based disk boot instead of only ElTorito.
17022
b15937b1
RM
170232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17024
17025 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
17026 build (not needed for bootstrap).
17027
52cc3ce0
RM
170282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17029
17030 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
17031 from i386-pc build (not needed for bootstrap).
17032 Rewrite a pair of strings.
17033
36f5ff04
RM
170342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17035
17036 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
17037
973c6c85 170382009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
17039
17040 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
17041
05d21547
AB
170422009-12-21 Andreas Born <futur.andy@googlemail.com>
17043
17044 * kern/env.c (grub_env_context_open): Mark exported variable for
17045 reexport.
17046
0175d51f
AB
170472009-12-21 Andreas Born <futur.andy@googlemail.com>
17048
17049 * kern/env.c (grub_env_export): Create nonexistent variables before
17050 exporting.
17051
7f39d92f 170522009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 17053
7f39d92f 17054 * include/grub/auth.h: Include `<grub/i18n.h>'.
17055 (GRUB_GET_PASSWORD): Gettextizze string.
17056 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
17057 menu_text.c.
17058 (grub_utf8_to_ucs4_alloc): Fix indentation.
17059 (grub_print_ucs4): Likewise.
17060 (grub_getstringwidth): Likewise.
17061 (print_message_indented): New declaration.
17062 * normal/auth.c: Include `<grub/i18n.h>'.
17063 (grub_auth_check_authentication): Gettexttize string.
17064 * normal/cmdline.c: Include `<grub/i18n.h>'.
17065 (grub_cmdline_get): Gettextizze.
17066 * normal/color.c: Include `<grub/i18n.h>'.
17067 (grub_parse_color_name_pair): Gettexttize strings.
17068 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
17069 string (use `print_message_indented').
17070 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
17071 `include/grub/normal.h'.
17072 (print_message_indented): Renamed to ...
17073 (grub_print_message_indented): ... this. Remove `static' qualifer (now
17074 used in normal/main.c).
17075 (print_message): Use `grub_print_message_indented' instead of
17076 `print_message_indented'.
17077 (print_timeout): Likewise.
17078 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
17079 (grub_normal_print_device_info): Gettexttize strings.
17080 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
17081
3041d898
VS
170822009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
17085 of arguments. Return number of tokens and not arguments. All users
17086 updated.
17087
de15bf8e
VS
170882009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
17091 non-MSDOS paritions.
17092
e0a6ca52
VS
170932009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * include/grub/types.h (UNUSED): Removed since it conflicts with
17096 NetBSD headers. All users changed to direct __attribute__ ((unused)).
17097 Reported by Grégoire Sutre.
17098
b99518d1 170992009-12-19 Carles Pina i Estany <carles@pina.cat>
17100
17101 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
17102 (grub_print_ucs4_alloc): Likewise.
17103 (grub_getstringwidth): Likewise.
17104 * normal/main.c (grub_normal_init_page): Gettextize version string.
17105 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
17106 (getstringwidth): Renamed to ...
17107 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
17108 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
17109 (grub_print_ucs4): Remove `static' qualifer (now used in
17110 normal/main.c).
17111 * po/POTFILES: Add normal/main.c.
17112
bfd5e52b 171132009-12-19 Carles Pina i Estany <carles@pina.cat>
17114
17115 * normal/menu_text.c (STANDARD_MARGIN): New macro.
17116 (print_message_indented): Add `margin_left' and `margin_right'
17117 parameters.
17118 (print_message): Update `print_message_indented' calls. Adds '\n' to the
17119 strings.
17120 (print_timeout): Use `print_message_indented' to print the message.
17121 Deletes `second_stage' parameter.
17122 (run_menu): Update `print_timeout' calls.
17123
5a1ad2b9
VS
171242009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 Fix console palette on OpenFirmware.
17127
17128 * term/ieee1275/ofconsole.c (MAX): Removed.
17129 (colors): Redone based on VGA palette.
17130 (grub_ofconsole_setcolor): Discard brightness bit since only 8
17131 colors are supported.
17132 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
17133
b045f00a
VS
171342009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Fix potential EfiEmu double prepare.
17137
17138 * efiemu/main.c (prepared): New variable
17139 (grub_efiemu_unload): Set prepare to '0'.
17140 (grub_efiemu_prepare): Return if already prepared. Set prepared.
17141
17142 set_virtual_address_map support.
17143
17144 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
17145 prototype.
17146 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
17147 prototype.
17148 (grub_efiemu_crc32): Likewise.
17149 (grub_efiemu_crc64): Likewise.
17150 (grub_efiemu_set_virtual_address_map): Likewise.
17151 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
17152 New definition.
17153 (grub_autoefi_set_virtual_address_map): Likewise.
17154 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
17155 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
17156 Restructure flow to accomodate it.
17157 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
17158 (grub_efiemu_crc): Recompute CRC32.
17159 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
17160 (efiemu_ptv_relocated): ... this. Made global. All users updated.
17161 * efiemu/symbols.c (relocated_handle): New variable.
17162 (grub_efiemu_free_syms): Free relocated_handle.
17163 (grub_efiemu_alloc_syms): Allocate relocated_handle.
17164 (grub_efiemu_write_sym_markers): New function.
17165 (grub_efiemu_set_virtual_address_map): Likewise.
17166
17167 Newer XNU parameters.
17168
17169 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
17170 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
17171 (grub_xnu_fill_devicetree): New prototype.
17172 (grub_xnu_heap_real_start): New variable.
17173 * loader/xnu.c (get_name_ptr): New function.
17174 (grub_xnu_load_driver): Fill namelen and name.
17175
17176 64-bit xnu support.
17177
17178 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
17179 and 'loader/macho64.c'.
17180 * conf/i386-pc.rmk: Likewise.
17181 * conf/x86_64-efi.rmk: Likewise.
17182 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
17183 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
17184 * include/grub/macho.h (grub_macho_segment64): New structure.
17185 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
17186 (grub_macho_size32): ... to this.
17187 (grub_macho32_get_entry_point): Renamed from ...
17188 (grub_macho_get_entry_point32): ... to this.
17189 (grub_macho_contains_macho64): New prototype.
17190 (grub_macho_size64): Likewise.
17191 (grub_macho_get_entry_point64): Likewise.
17192 (grub_macho32_load): Renamed from ...
17193 (grub_macho_load32): ... to this.
17194 (grub_macho32_filesize): Renamed from ...
17195 (grub_macho_filesize32): ... to this.
17196 (grub_macho32_readfile): Renamed from ...
17197 (grub_macho_readfile32): ... to this.
17198 (grub_macho_filesize64): New prototype.
17199 (grub_macho_readfile64): Likewise.
17200 (grub_macho_parse32): Likewise.
17201 (grub_macho_parse64): Likewise.
17202 * loader/macho.c: Split into ...
17203 * loader/machoXX.c: ... and this. Replace 32 with XX.
17204 * loader/macho32.c: New file.
17205 * loader/macho64.c: Likewise.
17206 * loader/xnu.c (grub_xnu_is_64bit): New variable.
17207 (grub_cmd_xnu_kernel): Make 32-bit only.
17208 (grub_cmd_xnu_kernel64): New function.
17209 (grub_xnu_load_driver): Support Mach-O 64.
17210 (grub_cmd_xnu_mkext): Likewise.
17211 * util/grub.d/30_os-prober.in (osx_entry): New function.
17212 Generate entries for 64-bit boot too.
17213
17214 Eliminate ad-hoc tree format in XNU and EfiEmu.
17215
17216 * efiemu/main.c (grub_efiemu_prepare): Update comment.
17217 * efiemu/pnvram.c: Rewritten to use environment variables.
17218 All users updated.
17219
17220 Inline utf16_to_utf8.
17221
17222 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
17223 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
17224 All users updated.
17225 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
17226
17227 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
17228 * commands/usbtest.c (grub_usb_get_string): ... move here.
17229 (usb_print_str): Fix error handling.
17230 * include/grub/usb.h (grub_usb_get_string): Remove.
17231
17232 UTF-8 to UTF-16 transformation.
17233
17234 * conf/common.rmk (pkglib_MODULES): Add charset.mod
17235 (charset_mod_SOURCES): New variable.
17236 (charset_mod_CFLAGS): Likewise.
17237 (charset_mod_LDFLAGS): Likewise.
17238 * include/grub/utf.h: New file.
17239 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
17240
17241 Support for device properties.
17242
17243 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
17244 (grub_xnu_devprop_device_header): Likewise.
17245 (grub_xnu_devprop_device_descriptor): Likewise.
17246 (grub_xnu_devprop_add_device): New prototype.
17247 (grub_xnu_devprop_remove_device): Likewise.
17248 (grub_xnu_devprop_remove_property): Likewise.
17249 (grub_xnu_devprop_add_property_utf8): Likewise.
17250 (grub_xnu_devprop_add_property_utf16): Likewise.
17251 (grub_cpu_xnu_init): Likewise.
17252 (grub_cpu_xnu_fini): Likewise.
17253 (grub_cpu_xnu_unload): Likewise.
17254 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
17255 (property_descriptor): Likewise.
17256 (devices): New variable.
17257 (grub_xnu_devprop_remove_property): New function.
17258 (grub_xnu_devprop_add_device): Likewise.
17259 (grub_xnu_devprop_remove_device): Likewise.
17260 (grub_xnu_devprop_add_property): Likewise.
17261 (grub_xnu_devprop_add_property_utf8): Likewise.
17262 (grub_xnu_devprop_add_property_utf16): Likewise.
17263 (hextoval): Likewise.
17264 (grub_cpu_xnu_fill_devprop): Likewise.
17265 (grub_cmd_devprop_load): Likewise.
17266 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
17267 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
17268 (cmd_devprop_load): New variable.
17269 (grub_cpu_xnu_init): New function.
17270 (grub_cpu_xnu_fini): Likewise.
17271 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
17272 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
17273 (grub_cmd_xnu_devtree): Likewise.
17274 (hextoval): New function.
17275 (unescape): Likewise.
17276 (grub_xnu_fill_devicetree): Likewise.
17277
17278 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
17279 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
17280
0945f181
VS
172812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 Workaround for broken ATI VBE.
17284
17285 * video/i386/pc/vbe.c (last_set_mode): New variable.
17286 (grub_vbe_set_video_mode): Set 'last_set_mode'.
17287 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
17288 (grub_video_vbe_setup): Don't check for reserved flag.
17289
0ad46fd7 172902009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
17291
17292 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
17293 the `find' command.
17294
c179ebe4
VS
172952009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 UUID support for HFS.
17298
17299 * fs/hfs.c (grub_hfs_uuid): New function.
17300 (grub_hfs_fs): New value .uuid.
17301 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
17302
0ad46fd7 173032009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
17304
17305 Fix a segfault with parsing unknown long options.
17306
17307 * util/grub-mkrelpath.c (options): Zero terminate it.
17308
c4a3e41a
CPE
173092009-12-13 Carles Pina i Estany <carles@pina.cat>
17310
17311 * include/grub/misc.h (grub_puts): New declaration.
17312 (grub_puts_): Likewise.
a22008a6 17313 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
17314 (grub_puts_): Likewise.
17315
2e8a7602
RM
173162009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17317
17318 * util/grub-probe.c (probe): Improve error message.
17319
b50b77b9
RM
173202009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17321
17322 * loader/i386/multiboot_elfxx.c
17323 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17324 initialization.
17325
173262009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Relocator framework
17329
17330 * loader/i386/xnu_helper.S: Removed. All users updated.
17331 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17332 (relocator_mod_SOURCES): New variable.
17333 (relocator_mod_CFLAGS): Likewise.
17334 (relocator_mod_LDFLAGS): Likewise.
17335 (relocator_mod_ASFLAGS): Likewise.
17336 * conf/x86_64.rmk: Likewise.
17337 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17338 (grub_multiboot_payload_entry_offset): Likewise.
17339 (grub_multiboot_forward_relocator): Likewise.
17340 (grub_multiboot_forward_relocator_end): Likewise.
17341 (grub_multiboot_backward_relocator): Likewise.
17342 (grub_multiboot_backward_relocator_end): Likewise.
17343 (grub_multiboot_payload_eip): New variable.
17344 (grub_multiboot_payload_orig): Likewise.
17345 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17346 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17347 * include/grub/i386/memory.h
17348 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17349 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17350 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17351 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17352 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17353 * include/grub/i386/relocator.h: New file.
17354 * include/grub/x86_64/relocator.h: Likewise.
17355 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17356 (XNU_RELOCATOR): New macro.
17357 (grub_xnu_launcher_start): Remove.
17358 (grub_xnu_launcher_end): Likewise.
17359 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17360 (grub_xnu_heap_real_start): Remove.
17361 (grub_xnu_heap_start): Change to void *. All users updated.
17362 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17363 * lib/i386/relocator.c: New file.
17364 * lib/i386/relocator_asm.S: Likewise.
17365 * lib/i386/relocator_backward.S: Likewise.
17366 * lib/mips/relocator.c: Likewise.
17367 * lib/mips/relocator_asm.S: Likewise.
17368 * lib/relocator.c: Likewise.
17369 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17370 (entry): Removed.
17371 (playground): Likewise.
17372 (grub_multiboot_payload_orig): New variable.
17373 (grub_multiboot_payload_dest): Likewise.
17374 (grub_multiboot_payload_size): Likewise.
17375 (grub_multiboot_payload_eip): Likewise.
17376 (grub_multiboot_payload_esp): Likewise.
17377 (grub_multiboot_boot): Use grub_relocator32_boot.
17378 (grub_multiboot_unload): Free relocators.
17379 (grub_multiboot): Setup stack. Use relocators.
17380 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17381 (grub_multiboot_load_elfXX): Use relocators.
17382 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17383 (grub_multiboot_payload_size): Likewise.
17384 (grub_multiboot_payload_dest): Likewise.
17385 (grub_multiboot_payload_entry_offset): Likewise.
17386 (grub_multiboot_forward_relocator): Likewise.
17387 (grub_multiboot_backward_relocator): Likewise.
17388 (grub_multiboot_real_boot): Likewise.
17389 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17390 (grub_xnu_entry_point): Likewise.
17391 (grub_xnu_arg1): Likewise.
17392 (grub_xnu_stack): Likewise.
17393 (grub_xnu_launch): Removed.
17394 (grub_xnu_boot_resume): New function.
17395 (grub_xnu_boot): Use relocators.
17396 * loader/i386/xnu_helper.S: Removed.
17397 * loader/xnu.c (grub_xnu_heap_start): New variable.
17398 (grub_xnu_heap_size): Likewise.
17399 (grub_xnu_heap_malloc): Use relocators.
17400 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17401
29eb90c6
VS
174022009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17405 anything.
17406
31027430
CPE
174072009-12-13 Carles Pina i Estany <carles@pina.cat>
17408
17409 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17410 GRUB_ERR_NONE before calling grub_env_set.
17411
dc0c71d9
RM
174122009-12-12 Robert Millan <rmh@aybabtu.com>
17413
17414 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17415 * genmk.rb (video): New variable.
17416 (CLEANFILES, VIDEOFILES): Add #{video}.
17417 (#{video}): New target rule.
17418 * genvideolist.sh: New file.
17419 * Makefile.in (pkglib_DATA): Add video.lst.
17420 (video.lst): New target rule.
17421 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17422 `video.lst'.
17423 * util/grub.d/30_os-prober.in: Replace `vbe' with
17424 ${GRUB_VIDEO_BACKEND}.
17425
2a4bfcf0
RM
174262009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17427
17428 * THANKS: Add David Miller.
17429
2a3aa4d5
RM
174302009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 libpciaccess support.
17433
17434 * Makefile.in (LIBPCIACCESS): New variable.
17435 (enable_grub_emu_pci): Likewise.
17436 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17437 util/pci.c and commands/lspci.c.
17438 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17439 * configure.ac (grub-emu-pci): New option.
17440 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17441 (grub_pci_device_unmap_range): Likewise.
17442 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17443 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17444 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17445 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17446 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17447 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17448 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17449 * include/grub/pciutils.h: New file.
17450 * util/pci.c: Likewise.
17451
0ad46fd7 174522009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17453
17454 * util/misc.c: Don't include <errno.h> twice.
17455
0ad46fd7 174562009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17457
17458 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17459 name in an error message.
17460 (grub_biosdisk_rw): Likewise.
17461
2e59983c
VS
174622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 Eliminate NTFS 4Gib barrier.
17465
17466 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17467 (read_run_data): Likewise.
17468 (grub_ntfs_read_run_list): Likewise.
17469 (grub_ntfs_read_block): Likewise.
17470 (grub_ntfs_iterate_dir): Likewise.
17471 (read_mft): Likewise.
17472 (read_data): Likewise.
17473 Use COM_LOG_LEN.
17474 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17475 to avoid 64-bit division
17476 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17477 (grub_ntfs_rlst): Use grub_disk_addr_t.
17478
71ee178a
VS
174792009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 Eliminate grub-fstest 4Gib barrier.
17482
17483 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17484 (read_file): Fix error reporting.
17485
2520d4b8
VS
174862009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Eliminate hexdump 4Gib barrier.
17489
17490 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17491 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17492
e1f27065
VS
174932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17496 Fixes amarsh bug.
17497
1a0f7f45
RM
174982009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17499
17500 Remove miscellaneous files in distclean target.
17501
17502 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17503
c631d9fb
CW
175042009-12-09 Colin Watson <cjwatson@ubuntu.com>
17505
17506 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17507 if they're already set. This resolves the conflict between my
17508 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17509 fixing the --grub-probe option again.
17510 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17511 change on 2009-10-06, so that we now once again source
17512 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17513
7c7b6106
RM
175142009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17515
17516 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17517 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17518 `util/devicemap.c'.
17519
e3069ec1
CPE
175202009-12-08 Carles Pina i Estany <carles@pina.cat>
17521
17522 * include/grub/misc.h (grub_printf_): New declaration.
17523 * kern/misc.c (grub_printf_): New definition.
17524 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17525 instead of `grub_printf' and `_'.
17526 * normal/menu_entry.c (store_completion): Likewise.
17527 (run): Likewise.
17528 (grub_menu_entry_run): Likewise.
17529 * normal/menu_text.c (grub_wait_after_message): Likewise.
17530 (notify_booting): Likewise.
17531 (notify_fallback): Likewise.
17532 (notify_execution_failure): Likewise.
17533
d6ceebf1
CW
175342009-12-07 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * configure.ac: Check for vasprintf.
17537 * util/misc.c (asprintf): Move allocation from here ...
17538 (vasprintf): ... to here. New function.
17539 (xasprintf): New function.
17540 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17541 prototypes.
17542 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17543 * util/grub-mkfont.c (write_font): Likewise.
17544 * util/grub-probe.c (probe): Likewise.
17545 * util/hostdisk.c (make_device_name): Likewise.
17546
de6daa8b
DM
175472009-12-06 David S. Miller <davem@sunset.davemloft.net>
17548
17549 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17550 anything even prefixed with 'cdrom' as a cdrom.
17551
0ad46fd7 175522009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17553
17554 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17555 mount points.
17556
98d3dc02
CPE
175572009-12-05 Carles Pina i Estany <carles@pina.cat>
17558
17559 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17560 grub_gettext_msg_list.
17561 (grub_gettext_gettranslation_from_position): Return const char *
17562 and not char *.
a2c1332b 17563 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17564 returns from the list if existing there.
17565 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17566 (grub_gettext_delete_list): Delete the list.
17567 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17568 lang environment variable is changed.
17569 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17570
b283f108
VS
175712009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 Rename kernel.mod to kernel.img.
17574
17575 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17576 (kernel_mod_EXPORTS): Rename to ...
17577 (kernel_img_EXPORTS): ... this.
17578 (kernel_mod_SOURCES): Rename to ...
17579 (kernel_img_SOURCES): ... this.
17580 (kernel_mod_HEADERS): Rename to ...
17581 (kernel_img_HEADERS): ... this. All users updated.
17582 (kernel_mod_CFLAGS): Rename to ...
17583 (kernel_img_CFLAGS): ... this.
17584 (kernel_mod_ASFLAGS): Rename to ...
17585 (kernel_img_ASFLAGS): ... this.
17586 (kernel_mod_LDFLAGS): Rename to ...
17587 (kernel_img_LDFLAGS): ... this.
17588 * conf/x86_64-efi.rmk: Likewise.
17589 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17590 (read_kernel_image): ... this. All users updated.
17591 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17592
69055f8a
CPE
175932009-12-05 Carles Pina i Estany <carles@pina.cat>
17594
17595 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17596 (print_spaces): New function.
17597 (grub_print_ucs4): New function.
17598 (getstringwidth): New function.
17599 (print_message_indented): New function.
17600 (print_message): Gettexttize strings using print_message_indented.
17601 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17602 width.
17603 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17604 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17605 Gettextize.
17606 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17607 string.
17608 (run): Likewise.
17609 (grub_menu_entry_run): Likewise.
17610 * PO/POTFILES: Add normal/menu_entry.c.
17611
f616f51c
VS
176122009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17615
57bbe3be
CPE
176162009-12-05 Carles Pina i Estany <carles@pina.cat>
17617
17618 * util/grub-install.in: Install gettext .mo files.
17619 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17620
013d67a1
CPE
176212009-12-05 Carles Pina i Estany <carles@pina.cat>
17622
17623 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17624 grub_dprintf.
17625
fb954db0
RM
176262009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17627
17628 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17629 non-firmware-dependant one in realmode.S takes precedence.
17630
6b8474f8
RM
176312009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17632
17633 * commands/halt.c: Replace misc arch-specific headers with
17634 `<grub/misc.h>'.
17635 * commands/reboot.c: Likewise.
17636 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17637 `<grub/misc.h>'.
17638 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17639 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17640 (kernel_img_SOURCES): ... to here.
17641
17642 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17643 * include/grub/i386/pc/init.h: Likewise.
17644 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17645 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17646
17647 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17648
17649 * include/grub/i386/halt.h: Remove.
17650 * include/grub/i386/reboot.h: Likewise.
17651
17652 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17653
4b2e6ca2
DM
176542009-12-03 David S. Miller <davem@sunset.davemloft.net>
17655
17656 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17657 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17658 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17659 "progname.h"
17660 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17661 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17662 (usage): Add missing comma in printf.
17663
5239348f
RM
176642009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17665
17666 Use the same reboot approach on i386 coreboot and qemu as we do on
17667 BIOS.
17668
17669 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17670 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17671 * kern/i386/reboot.c: Remove.
17672 * include/grub/i386/reboot.h (grub_reboot): Export function.
17673 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17674 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17675 0xf000:0xfff0 instead of 0xffff:0x0000.
17676 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17677 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17678
ef34cbd4
RM
176792009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17680
17681 Fix $srcdir != $objdir build.
17682
17683 * Makefile.in (po/%.po): Rewrite as ...
17684 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17685
dc9837ea
ST
176862009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17687
17688 Fix GNU/Hurd grub-install crash.
17689 * util/grub-probe.c (probe): Try to access `path' only when it is not
17690 NULL.
17691
2f857f98
VS
176922009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 Correct module naming.
17695
17696 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17697 (GRUB_MOD_INIT(efi_uga)): ... to this
17698 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17699 (GRUB_MOD_FINI(efi_uga)): ... to this
17700 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17701 (GRUB_MOD_INIT(efi_gop)): ... to this
17702 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17703 (GRUB_MOD_FINI(efi_gop)): ... to this
17704
c5448046
RM
177052009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17706
17707 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17708 translatable.
17709 (usage): Translate `arg' strings using gettext().
17710 Thanks to Jordi Mallach for the suggestion.
17711
c85184ad
VS
177122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 GOP support. Based on patch from Bean
17715 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17716
17717 * video/efi_gop.c: New file.
17718 * include/grub/efi/graphics_output.h: Likewise.
17719 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17720 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17721 variables.
17722 * conf/x86_64-efi.rmk: Likewise.
17723
8a4c48d8
VS
177242009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 Rename efi_fb to efi_uga.
17727
17728 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17729 'efi_uga.mod'.
17730 (efi_fb_mod_SOURCES): Rename this ...
17731 (efi_uga_mod_SOURCES): ... to this.
17732 (efi_fb_mod_CFLAGS): Rename this ...
17733 (efi_uga_mod_CFLAGS): ... to this.
17734 (efi_fb_mod_LDFLAGS): Rename this ...
17735 (efi_uga_mod_LDFLAGS): ... to this.
17736 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17737 'efi_uga.mod'.
17738 (efi_fb_mod_SOURCES): Rename this ...
17739 (efi_uga_mod_SOURCES): ... to this.
17740 (efi_fb_mod_CFLAGS): Rename this ...
17741 (efi_uga_mod_CFLAGS): ... to this.
17742 (efi_fb_mod_LDFLAGS): Rename this ...
17743 (efi_uga_mod_LDFLAGS): ... to this.
17744 * video/efi_fb.c: Move this ...
17745 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17746
fb6c1a7b
RM
177472009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17748
17749 * po/README: New file. Explain our PO file workflow.
17750
3bc7896c
RM
177512009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17752
17753 * po/ChangeLog: Remove. Move relevant entries back to ...
17754 * ChangeLog: ... here.
17755 * po/ca.po: Remove (now handled by TLP).
17756 * po/id.po: Likewise.
17757 * po/zh_CN.po: Likewise.
17758 * Makefile.in (LINGUAS): Initialize in a way that supports
17759 empty set.
17760
9ed4841d
RM
177612009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17762
17763 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17764 reliing on po/LINGUAS.
17765 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17766 (po/%.po): ... this.
17767
0ad46fd7 177682009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17769
17770 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17771 (main): Use `program_name' instead of nonexistent `progname'.
17772
e30dd392
FZ
177732009-11-26 Felix Zielcke <fzielcke@z-51.de>
17774
17775 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17776 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17777
7656de4f
RM
177782009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17779
17780 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17781 commit.
17782 * conf/i386-efi.rmk: Likewise.
17783 * conf/i386-ieee1275.rmk: Likewise.
17784 * conf/powerpc-ieee1275.rmk: Likewise.
17785 * conf/sparc64-ieee1275.rmk: Likewise.
17786 * conf/x86_64-efi.rmk: Likewise.
17787
db77c4d4
FZ
177882009-11-26 Felix Zielcke <fzielcke@z-51.de>
17789
17790 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17791
a755bb04
FZ
177922009-11-26 Felix Zielcke <fzielcke@z-51.de>
17793
17794 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17795
8a4c07fd
RM
177962009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17797
17798 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17799 (grub_mkdevicemap_SOURCES): New variable.
17800 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17801 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17802 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17803 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17804 (grub_mkdevicemap_SOURCES): Remove.
17805 * conf/i386-efi.rmk: Likewise.
17806 * conf/i386-ieee1275.rmk: Likewise.
17807 * conf/i386-pc.rmk: Likewise.
17808 * conf/powerpc-ieee1275.rmk: Likewise.
17809 * conf/sparc64-ieee1275.rmk: Likewise.
17810 * conf/x86_64-efi.rmk: Likewise.
17811 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17812 (usage): Fix strings to use `program_name'.
17813 (main): Initialize gettext.
17814 * util/grub-editenv.c: Likewise.
17815 * util/grub-emu.c: Likewise.
17816 * util/grub-fstest.c: Likewise.
17817 * util/grub-mkdevicemap.c: Likewise.
17818 * util/grub-mkfont.c: Likewise.
17819 * util/grub-mkrelpath.c: Likewise.
17820 * util/grub-pe2elf.c: Likewise.
17821 * util/grub-probe.c: Likewise.
17822 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17823 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17824 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17825
17826 * util/misc.c: Include `"progname.h"'.
17827 (progname): Remove variable.
17828 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17829
6f61ed55
FZ
178302009-11-25 Felix Zielcke <fzielcke@z-51.de>
17831
17832 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17833 printf and print a newline after the menuentry header line.
17834 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17835
f022876b
FZ
178362009-11-25 Felix Zielcke <fzielcke@z-51.de>
17837
17838 autoconf >= 2.60 support $(localedir).
17839
17840 * INSTALL: Note that autoconf 2.60 is required.
17841 * configure.ac (AC_PREREQ): Bump to 2.60.
17842 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17843 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17844
6717926e
YB
178452009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17846
17847 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17848 aclocal is run.
17849
08806a54
RM
178502009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17851
17852 * normal/main.c (grub_normal_read_line): Fix off-by-one
17853 buffer overflow.
17854
13b33fba
RM
178552009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17856
17857 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17858 "parser.grub" in grub_command_execute() call.
17859
4a8572e9
CPE
178602009-11-24 Carles Pina i Estany <carles@pina.cat>
17861
17862 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17863 * conf/i386-efi.rmk: Likewise.
17864 * conf/i386-ieee1275.rmk: Likewise.
17865 * conf/i386-pc.rmk: Likewise.
17866 * conf/powerpc-ieee1275.rmk: Likewise.
17867 * conf/sparc64-ieee1275.rmk: Likewise.
17868 * conf/x86_64-efi.rmk: Likewise.
17869 * gettext/gettex.c: Include <grub/i18n.h>.
17870 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17871 here ...
17872 * include/grub/i18n.h: ... to here
17873 * include/grub/i18n.h: ... to here.
17874 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17875 (grub_gettext_dummy): Move above user.
4a8572e9 17876
bee48093
FZ
178772009-11-24 Felix Zielcke <fzielcke@z-51.de>
17878
17879 * util/Makefile.in (install-local): Convert a `for' into a normal
17880 shell expansion.
17881
a031e91c
RM
178822009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17883
17884 * autogen.sh: Add automake call.
17885 * config.guess: Remove.
17886 * config.sub: Likewise.
17887 * install-sh: Likewise.
17888
26bec39d
FZ
178892009-11-24 Felix Zielcke <fzielcke@z-51.de>
17890
17891 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17892
8e2532fd
FZ
178932009-11-24 Felix Zielcke <fzielcke@z-51.de>
17894
17895 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17896 function to a normal shell `for'.
17897
fefa1b7d
FZ
178982009-11-24 Felix Zielcke <fzielcke@z-51.de>
17899
17900 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17901
4501250b
FZ
179022009-11-24 Felix Zielcke <fzielcke@z-51.de>
17903
17904 * util/grub-mkrelpath.c: New file.
17905 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17906 (grub_mkrelpath_SOURCES): New variable.
17907 * include/grub/util/misc.h: New function prototype.
17908 * util/misc.c (make_system_path_relative_to_its_root): New function.
17909
17910 * util/grub-mkconfig_lib.in (bindir): New variable.
17911 (grub_mkrelpath): Likewise.
17912 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17913
17914 * util/probe.c (probe): Make the file path relative to its root.
17915 Change a info message to use the GRUB path. Enable again the
17916 check if we can read the file with GRUB facilities.
17917
17918 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17919 to its root.
17920
11d9778b
FZ
179212009-11-24 Felix Zielcke <fzielcke@z-51.de>
17922
17923 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17924 platform.
17925
4465287d
FZ
179262009-11-24 Felix Zielcke <fzielcke@z-51.de>
17927
17928 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17929 strncmp().
17930
62b47f22
FZ
179312009-11-24 Felix Zielcke <fzielcke@z-51.de>
17932
17933 * util/getroot.c (grub_util_is_dmraid): New function.
17934 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17935 devices as normal ones, not as LVM.
17936
1eafb9b9 179372009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17938
17939 * conf/common.rmk: Add grub-gettext_lib target and updates
17940 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17941 LDFLAGS.
17942 * gettext/gettext.c: New file. (Reads mo files).
17943 * include/grub/file.h (grub_file_pread): New prototype.
17944 * include/grub/i18n.h (_): New prototype.
17945 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17946 prototypes.
17947 * kern/misc.c (grub_gettext_dummy): New function.
17948 * normal/menu_text.c: Include <grub/i18n.h>.
17949 * normal/menu_text.c (print_timeout): Gettexttize string.
17950 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17951 * po/POTFILES: Add `normal/menu_text.c'.
17952 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17953 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17954 gettext module and defines locale_dir and lang in grub.cfg.
17955 * NEWS: Add gettext support.
17956
0fdb2568
RM
179572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17958
17959 * util/hostdisk.c: Include `<grub/i18n.h>'.
17960 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17961 (make_device_name): Rewrite using asprintf.
17962 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17963 (find_system_device): If a device is not found, generate one just
17964 by reusing the OS path name.
17965 (read_device_map): Make it permissible for device.map not to exist.
17966
f515aa62
RM
179672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17968
17969 * script/sh/execute.c: Move from here ...
17970 * script/execute.c: ... to here. Update all users.
17971 * script/sh/function.c: Move from here ...
17972 * script/function.c: ... to here. Update all users.
17973 * script/sh/lexer.c: Move from here ...
17974 * script/lexer.c: ... to here. Update all users.
17975 * script/sh/main.c: Move from here ...
17976 * script/main.c: ... to here. Update all users.
17977 * script/sh/parser.y: Move from here ...
17978 * script/parser.y: ... to here. Update all users.
17979 * script/sh/script.c: Move from here ...
17980 * script/script.c: ... to here. Update all users.
17981
f84b481b
RM
179822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17983
17984 * configure.ac: Detect all `emu' platforms. Define
17985 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17986 --enable-grub-emu logic. Disable include/grub/machine
17987 symlink on `emu' platforms.
17988
17989 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17990 * gensymlist.sh.in: Likewise.
17991
17992 * include/grub/i386/coreboot/machine.h: Remove file.
17993 * include/grub/i386/efi/machine.h: Likewise.
17994 * include/grub/i386/ieee1275/machine.h: Likewise.
17995 * include/grub/i386/pc/machine.h: Likewise.
17996 * include/grub/i386/qemu/machine.h: Likewise.
17997 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17998 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17999 * include/grub/x86_64/efi/machine.h: Likewise.
18000
18001 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
18002 * commands/halt.c: Likewise.
18003 * commands/reboot.c: Likewise.
18004 * include/grub/autoefi.h: Likewise.
18005 * include/grub/i386/at_keyboard.h: Likewise.
18006 * include/grub/i386/kernel.h: Likewise.
18007 * include/grub/i386/loader.h: Likewise.
18008 * include/grub/i386/pc/memory.h: Likewise.
18009 * kern/dl.c: Likewise.
18010 * kern/i386/coreboot/init.c: Likewise.
18011 * loader/i386/bsd.c: Likewise.
18012 * loader/i386/linux.c: Likewise.
18013 * loader/multiboot_loader.c: Likewise.
18014 * term/i386/pc/serial.c: Likewise.
18015 * term/usb_keyboard.c: Likewise.
18016
18017 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
18018 `<grub/machine/machine.h>'
18019 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
18020 * util/misc.c: Remove `<grub/machine/machine.h>' and
18021 `<grub/machine/time.h>'.
18022
18023 * Makefile.in (enable_grub_emu): Remove variable.
18024 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
18025
18026 * conf/any-emu.rmk: New file.
18027 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
18028 (grub_emu_init.c): Move from here ...
18029 * conf/any-emu.rmk: ... to here.
18030
18031 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
18032 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
18033 * conf/any-emu.rmk: ... to here.
18034
4efeab03
RM
180352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18036
18037 * include/grub/parser.h (grub_parser_register): Document need
18038 of `name' parameter.
18039 * normal/main.c (grub_normal_read_line): Simplify prompt string.
18040 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
18041 "sh" to "grub".
18042
ea1dd8bf
RM
180432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18044
18045 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
18046 `$(XGETTEXT)'.
18047 * include/grub/i18n.h (N_): New macro.
18048 * util/mkisofs/mkisofs.h: Likewise.
18049 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
18050 around N_().
18051 (usage): Use gettext() to translate help strings when printing them.
18052
0c140626
RM
180532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18054
18055 Based on patch from Bean
18056 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18057
18058 * video/efi_fb.c: New file.
18059 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
18060 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18061 variables.
18062 * conf/x86_64-efi.rmk: Likewise.
18063
87d58298
RM
180642009-11-22 Robert Millan <rmh.grub@aybabtu.com>
18065
18066 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
18067 * util/i386/pc/grub-setup.c: Likewise.
18068
994cc3a3
ST
180692009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18070
18071 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
18072 <hurd/fs.h>
18073 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
18074 file_get_storage_info to implement grub_guess_root_device.
18075
26a61d6a
FZ
180762009-11-21 Felix Zielcke <fzielcke@z-51.de>
18077
18078 * Makefile.in (target): Use make's builtin $(shell) function
18079 instead of calling directly $(SHELL) to create the locale directories,
18080 inside the $(foreach) function.
18081
74ff1dd5
FZ
180822009-11-21 Felix Zielcke <fzielcke@z-51.de>
18083
18084 * util/grub-mkrescue.in: Print an error and usage if output option
18085 has not been given.
18086
0b787d0e
FZ
180872009-11-21 Felix Zielcke <fzielcke@z-51.de>
18088
18089 Patch from Loïc Minier <loic.minier@ubuntu.com>.
18090 * util/grub.d/30_os-prober.in: Cope with Linux entries where
18091 root and /boot are on different devices.
18092
1164b270
RM
180932009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18094
18095 Fix build for srcdir != objdir.
18096
18097 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
18098 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
18099 $(srcdir).
18100 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
18101 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
18102 reference for input.
18103
13774a2f
RM
181042009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18105
18106 * util/grub-mkrescue.in: Use source directory direcly (without copiing
18107 or hardlinking it). Remove -J option, Joliet is not compatible with
18108 multiple source directories.
18109
efda854e
RM
181102009-11-21 Carles Pina i Estany <carles@pina.cat>
181112009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18112
18113 * util/grub-mkrescue.in: Recognize `--override-directory' option.
18114 (process_input_dir): New function. Process an arbitrary input
18115 directory.
18116 Misc adjustments to support both "override mode" and system-wide mode.
18117
6c09890c
FZ
181182009-11-20 Felix Zielcke <fzielcke@z-51.de>
18119
18120 * configure.ac (UNIFONT_BDF): Rename to ...
18121 (FONT_SOURCE): ... this. Update all users.
18122
a797824f
FZ
181232009-11-20 Felix Zielcke <fzielcke@z-51.de>
18124
18125 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
18126 to the list of unifont files to look for.
18127
cd4f42b0
RM
181282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18129
18130 Patch from Joe Auricchio <jauricchio@gmail.com>
18131 * commands/minicmd.c (grub_mini_cmd_clear): New function.
18132 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
18133 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
18134
393c783d
FZ
181352009-11-19 Felix Zielcke <fzielcke@z-51.de>
18136
18137 * Makefile.in (install-local): Add a missing backslash.
18138
b2f1e327
FZ
181392009-11-19 Felix Zielcke <fzielcke@z-51.de>
18140
18141 * include/grub/x86_64/io.h: New file.
18142
f577f7a0
RM
181432009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18144
18145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
18146 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
18147 Include `"progname.h"'.
18148 (main): Initialize gettext.
18149 * util/i386/pc/grub-setup.c: Gettexttize.
18150 * util/i386/pc/grub-mkimage.c: Likewise.
18151
18152 * Makefile.in (po/*.po): Redefine as ...
18153 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
18154
3bc7896c
RM
18155 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
18156
c37943b6
RM
181572009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18158
18159 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
18160 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
18161 (program_name): Remove.
18162 (main): Initialize gettext support.
6323f705
RM
18163 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
18164 Include `<libintl.h>'.
18165 (_): New macro.
c37943b6
RM
18166
18167 * util/mkisofs/eltorito.c: Gettexttize.
18168 * util/mkisofs/joliet.c: Likewise.
18169 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
18170 * util/mkisofs/multi.c: Likewise.
18171 * util/mkisofs/rock.c: Likewise.
18172 * util/mkisofs/tree.c: Likewise.
18173 * util/mkisofs/write.c: Likewise.
18174
3bc7896c
RM
18175 * po/POTFILES: Update with new files.
18176
5ce77c6e
RM
181772009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18178
18179 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
18180 * util/mkisofs/iso9660.h: Likewise.
18181 * util/mkisofs/joliet.c: Likewise.
18182 * util/mkisofs/mkisofs.c: Likewise.
18183 * util/mkisofs/mkisofs.h: Likewise.
18184 * util/mkisofs/rock.c: Likewise.
18185 * util/mkisofs/tree.c: Likewise.
18186 * util/mkisofs/write.c: Likewise.
18187
18188 * util/mkisofs/eltorito.c (rcsid): Remove.
18189 * util/mkisofs/hash.c: Likewise.
18190 * util/mkisofs/joliet.c: Likewise.
18191 * util/mkisofs/name.c: Likewise.
18192 * util/mkisofs/rock.c: Likewise.
18193 * util/mkisofs/tree.c: Likewise.
18194 * util/mkisofs/write.c: Likewise.
18195
1dabbc77
RM
181962009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
18199 instead of static allocation.
18200 * util/mkisofs/match.h: Likewise.
18201
633877cb
RM
182022009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18203
3bc7896c
RM
18204 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
18205 and `util/grub.d/10_linux.in'.
633877cb
RM
18206 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
18207 translatable Shell files.
18208
af1c0c85
RM
182092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18210
18211 * Makefile.in ($(srcdir)/aclocal.m4): New target.
18212
769ae37b
RM
182132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18214
18215 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 18216 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
18217 * util/grub.d/10_kfreebsd.in (bindir): New variable.
18218 Add gettext initialization.
18219 (kfreebsd_entry): Make menuentry output translatable.
18220
182212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18222
18223 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
18224 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
18225 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
18226 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
18227 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 18228 * po/LINGUAS: New file.
769ae37b
RM
18229
182302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18231
18232 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
18233 other things).
18234 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
18235 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
18236 bindtextdomain() calls for gettext initialization.
18237
182382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18239
18240 * gnulib/progname.c: New file (imported from Gnulib).
18241 * gnulib/progname.h: Likewise.
18242 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18243 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
18244 (usage): Replace `progname' with `program_name'.
18245 (main): Use set_program_name() for program name initialization.
18246
182472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18248
18249 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
18250 from here ...
18251 * Makefile.in (CPPFLAGS): ... to here.
18252
182532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18254
18255 * aclocal.m4: Move from here ...
18256 * acinclude.m4: ... to here.
18257 * autogen.sh: Add call to `aclocal'.
18258 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
18259
182602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18261
18262 * Makefile.in (CLEANFILES): Add `po/*.mo'.
18263 (LINGUAS): New variable.
18264 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
18265 (install-local): Install MO files.
18266 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
18267 * include/grub/i18n.h: New file.
3bc7896c
RM
18268 * po/POTFILES: New file.
18269 * po/ca.po: New file.
769ae37b
RM
18270 * util/grub.d/10_linux.in (bindir): New variable.
18271 Add gettext initialization.
18272 (linux_entry): Make menuentry output translatable.
18273 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
18274 (usage): Make --help output translatable.
18275 (main): Initialize gettext.
18276
02c0a6ad
RM
182772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18278
18279 * import_gcry.py: New file (written by Vladimir with minor
18280 adjustments).
18281 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
18282 ciphers.
18283 * INSTALL: Document that Python is required for bootstrap.
18284
182852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18286
18287 Import ciphers from libgcrypt 1.4.4.
18288
18289 * lib/libgcrypt/cipher/ChangeLog
18290 * lib/libgcrypt/cipher/ac.c
18291 * lib/libgcrypt/cipher/arcfour.c
18292 * lib/libgcrypt/cipher/bithelp.h
18293 * lib/libgcrypt/cipher/blowfish.c
18294 * lib/libgcrypt/cipher/camellia-glue.c
18295 * lib/libgcrypt/cipher/camellia.c
18296 * lib/libgcrypt/cipher/camellia.h
18297 * lib/libgcrypt/cipher/cast5.c
18298 * lib/libgcrypt/cipher/cipher.c
18299 * lib/libgcrypt/cipher/crc.c
18300 * lib/libgcrypt/cipher/des.c
18301 * lib/libgcrypt/cipher/dsa.c
18302 * lib/libgcrypt/cipher/ecc.c
18303 * lib/libgcrypt/cipher/elgamal.c
18304 * lib/libgcrypt/cipher/hash-common.c
18305 * lib/libgcrypt/cipher/hash-common.h
18306 * lib/libgcrypt/cipher/hmac-tests.c
18307 * lib/libgcrypt/cipher/md.c
18308 * lib/libgcrypt/cipher/md4.c
18309 * lib/libgcrypt/cipher/md5.c
18310 * lib/libgcrypt/cipher/primegen.c
18311 * lib/libgcrypt/cipher/pubkey.c
18312 * lib/libgcrypt/cipher/rfc2268.c
18313 * lib/libgcrypt/cipher/rijndael-tables.h
18314 * lib/libgcrypt/cipher/rijndael.c
18315 * lib/libgcrypt/cipher/rmd.h
18316 * lib/libgcrypt/cipher/rmd160.c
18317 * lib/libgcrypt/cipher/rsa.c
18318 * lib/libgcrypt/cipher/seed.c
18319 * lib/libgcrypt/cipher/serpent.c
18320 * lib/libgcrypt/cipher/sha1.c
18321 * lib/libgcrypt/cipher/sha256.c
18322 * lib/libgcrypt/cipher/sha512.c
18323 * lib/libgcrypt/cipher/tiger.c
18324 * lib/libgcrypt/cipher/twofish.c
18325 * lib/libgcrypt/cipher/whirlpool.c
18326
af2f93ac
RM
183272009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18328
18329 Fix build for systems without error().
18330
18331 * gnulib/error.c: New file (imported from Gnulib).
18332 * gnulib/error.h: Likewise.
18333 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18334 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18335 (this variable is now used by error()).
18336
73fb3dd5
FZ
183372009-11-16 Felix Zielcke <fzielcke@z-51.de>
18338
814f5e96
FZ
18339 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18340 instead of relying that char is signed.
73fb3dd5 18341
a691ca33
VS
183422009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18345 blocksize different from specified.
18346 (grub_pxefs_read): Likewise.
18347
2af8f0f4
FZ
183482009-11-16 Felix Zielcke <fzielcke@z-51.de>
18349
18350 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18351
18352 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18353 (grub_ata_readwrite): Likewise. Update 2 format strings.
18354 (grub_atapi_read): Likewise.
18355
18356 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18357 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18358 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18359 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18360 (ata_mod_LDFLAGS): Move from here ...
18361 * conf/i386.rmk: ... to here ...
18362 * conf/x86_64-efi.rmk: ... and here.
18363 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18364 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18365
83bdecaf
RM
183662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18367
18368 Relicense multiboot.h, with RMS' blessing.
18369
18370 * include/multiboot.h: Change to X11 license.
18371
fd6fd3d7
RM
183722009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18373
18374 Support --version in grub-mkisofs.
18375
18376 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18377 (OPTION_VERSION): New macro.
18378 (ld_options): Recognize --version.
18379 (usage): Move `program_name' from here ...
18380 (program_name): ... to here. Add `static' qualifier.
18381 (main): Recognize `OPTION_VERSION'.
18382
16a88c49
FZ
183832009-11-15 Felix Zielcke <fzielcke@z-51.de>
18384
18385 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18386 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18387
a4158476
RM
183882009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18389
18390 Fix help2man generation for mkisofs.
18391
18392 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18393 (usage): Send output to stdout (rather than stderr).
18394
fc2208b0
RM
183952009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18396
18397 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18398 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18399 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18400 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18401 (bin_SCRIPTS): Add `grub-mkfloppy'.
18402 (grub_mkfloppy_SOURCES): New variable.
18403
18404 * util/grub-mkrescue.in: New file.
18405 * util/i386/pc/grub-mkfloppy.in: New file.
18406
18407 * util/i386/coreboot/grub-mkrescue.in: Remove.
18408 * util/i386/pc/grub-mkrescue.in: Remove.
18409
8d0edf4a
RM
184102009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18411
18412 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18413 from here ...
18414 * include/multiboot.h (struct multiboot_header): ... to here. Update
18415 all users.
18416 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18417 from here ...
18418 * include/multiboot.h (struct multiboot_info): ... to here. Update
18419 all users.
18420 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18421 from here ...
18422 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18423 Update all users.
18424 * include/grub/multiboot.h (struct grub_mod_list): Move
18425 from here ...
18426 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18427 Update all users.
18428
a73f5969
RM
184292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18430
18431 * include/multiboot2.h (multiboot_word): Rename from this ...
18432 (multiboot2_word): ... to this. Update all users.
18433 (multiboot_header): Rename from this ...
18434 (multiboot2_header): ... to this. Update all users.
18435 (multiboot_tag_header): Rename from this ...
18436 (multiboot2_tag_header): ... to this. Update all users.
18437 (multiboot_tag_start): Rename from this ...
18438 (multiboot2_tag_start): ... to this. Update all users.
18439 (multiboot_tag_name): Rename from this ...
18440 (multiboot2_tag_name): ... to this. Update all users.
18441 (multiboot_tag_module): Rename from this ...
18442 (multiboot2_tag_module): ... to this. Update all users.
18443 (multiboot_tag_memory): Rename from this ...
18444 (multiboot2_tag_memory): ... to this. Update all users.
18445 (multiboot_tag_unused): Rename from this ...
18446 (multiboot2_tag_unused): ... to this. Update all users.
18447 (multiboot_tag_end): Rename from this ...
18448 (multiboot2_tag_end): ... to this. Update all users.
18449
1c8927f0
RM
184502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18451
18452 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18453 this platform we should support Multiboot1 first.
18454
18455 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18456 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18457 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18458
6e1e0d89
RM
184592009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18460
18461 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18462 of write calls (converting them to fwrite() if they aren't already).
18463 (get_torito_desc): Likewise.
18464 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18465
7f2b34d8
RM
184662009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18467
18468 * util/i386/pc/grub-install.in: Move from here ...
18469 * util/grub-install.in: ... to here. Update all users.
18470
c0ef3311
CW
184712009-11-11 Colin Watson <cjwatson@ubuntu.com>
18472
18473 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18474
e1f240ff
RM
184752009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18476
18477 Support for El Torito without floppy emulation.
18478
18479 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18480 (init_boot_catalog): Improve error handling.
18481 (get_torito_desc): Don't use floppy emulation unless requested by
18482 user. Patch boot information table when requested via
18483 `-boot-info-table'.
18484 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18485 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18486 (use_boot_info_table): New variables.
18487 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18488 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18489 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18490 `--eltorito-emul-floppy'.
18491 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18492 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18493 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18494 (use_boot_info_table, get_731): New prototypes.
18495 * util/mkisofs/write.c (get_731): New function.
18496
af7d4de5
FZ
184972009-11-11 Felix Zielcke <fzielcke@z-51.de>
18498
18499 Fix the generation of the man page.
18500
18501 * util/pc/i386/grub-install.in: Source
18502 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18503
2c55dbc0
RM
185042009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18505
18506 Large file support for grub-mkisofs.
18507
18508 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18509 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18510 (session_start): Upgrade type to `uint64_t'. Update all users.
18511 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18512 (struct directory_entry): Upgrade type of `starting_block' and
18513 `size' to `uint64_t'. Update all users.
18514 (struct deferred): Remove unused structure.
18515 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18516 Update all users.
18517 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18518 file is larger than `UINT32_MAX'.
18519 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18520 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18521 return value.
18522 (struct deferred_write): Upgrade type of `extent' and `size' to
18523 `uint64_t'. Update all users.
18524 (last_extent_written): Upgrade type to `uint64_t'. Update all
18525 users.
18526 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18527 Update all users. Upgrade type of `remain' to `int64_t' and
18528 `use' to `size_t'. Use error() to handle fread() errors.
18529 (write_files): Rely on write_one_file() rather than calling
18530 xfwrite() directly.
18531
6a9cead5
FZ
185322009-11-09 Felix Zielcke <fzielcke@z-51.de>
18533
18534 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18535
4825d790
RM
185362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18537
18538 * util/mkisofs/fnmatch.c: Remove.
18539 * util/mkisofs/getopt1.c: Likewise.
18540 * util/mkisofs/getopt.c: Likewise.
18541 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18542 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18543 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18544 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18545 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18546
18547 * configure.ac: Detect `mingw32msvc' host_os.
18548 Check for lstat(), getuid() and getgid().
18549
18550 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18551 instances of `u_char' with `uint8_t'.
18552
18553 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18554 [!HAVE_GETUID] (getuid): New function (stub).
18555 [!HAVE_GETGID] (getgid): Likewise.
18556 [!HAVE_LSTAT] (lstat): Likewise.
18557 [!S_IROTH] (S_IROTH): New macro (dummy).
18558 [!S_IRGRP] (S_IRGRP): Likewise.
18559
84b860d8
RM
185602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18561
18562 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18563 conditional expression).
18564
66e9b712
RM
185652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18566
18567 Import from Gnulib.
18568
18569 * gnulib/fnmatch.c: New file.
18570 * gnulib/fnmatch.h: Likewise.
18571 * gnulib/fnmatch_loop.c: Likewise.
18572 * gnulib/getopt.c: Likewise.
18573 * gnulib/getopt.h: Likewise.
18574 * gnulib/getopt1.c: Likewise.
18575 * gnulib/getopt_int.h: Likewise.
18576 * gnulib/gettext.h: Likewise.
18577
34f4a5b0
RM
185782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18579
18580 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18581 * normal/handler.c (read_handler_list): Likewise.
18582
ac451143
RM
185832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18584
18585 Misc cleanup.
18586
18587 * kern/command.c (grub_register_command_prio): Use
18588 grub_zalloc() instead of explicitly zeroing data.
18589 * kern/list.c: Include `<grub/mm.h>'.
18590 (grub_named_list_find): Replace `0' with `NULL'.
18591 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18592 (fs_module_list): Change type to `grub_named_list_t'. Update all
18593 users.
18594 * normal/dyncmd.c (read_command_list): Add space between function
18595 call and parenthesis.
18596 * normal/handler.c (read_handler_list): Likewise.
18597
4089b167
RM
185982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18599
18600 * normal/auth.c (punishment_delay): Moved from here ...
18601 (grub_auth_strcmp): ... to here (inside function).
18602
325f5037
RM
186032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18604
18605 * include/grub/list.h (struct grub_named_list): Remove `const'
18606 qualifier from `name'.
18607 (struct grub_prio_list): Likewise.
18608
7aea29a3
RM
186092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18610
18611 * normal/auth.c: Include `<grub/time.h>'.
18612 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18613
3fd6f044
RM
186142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18615
18616 * normal/auth.c (punishment_delay): New variable.
18617 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18618 (grub_auth_check_authentication): Punish failed login attempts with
18619 an incremental (2^N) delay.
18620
a4cd68e4
RM
186212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18622
18623 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18624 path with $(srcdir).
18625
7ad12f43
VS
186262009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18629
c1129f03
RM
186302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 * util/i386/coreboot/grub-mkrescue.in: New file.
18633 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18634 variables.
18635
18636 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18637 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18638 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18639 requirements.
18640 * util/mkisofs/defaults.h: New file.
18641 * util/mkisofs/eltorito.c: Likewise.
18642 * util/mkisofs/exclude.h: Likewise.
18643 * util/mkisofs/fnmatch.c: Likewise.
18644 * util/mkisofs/getopt.c: Likewise.
18645 * util/mkisofs/getopt1.c: Likewise.
18646 * util/mkisofs/hash.c: Likewise.
18647 * util/mkisofs/include/fctldefs.h: Likewise.
18648 * util/mkisofs/include/mconfig.h: Likewise.
18649 * util/mkisofs/include/prototyp.h: Likewise.
18650 * util/mkisofs/include/statdefs.h: Likewise.
18651 * util/mkisofs/iso9660.h: Likewise.
18652 * util/mkisofs/joliet.c: Likewise.
18653 * util/mkisofs/match.c: Likewise.
18654 * util/mkisofs/match.h: Likewise.
18655 * util/mkisofs/mkisofs.c: Likewise.
18656 * util/mkisofs/mkisofs.h: Likewise.
18657 * util/mkisofs/multi.c: Likewise.
18658 * util/mkisofs/name.c: Likewise.
18659 * util/mkisofs/rock.c: Likewise.
18660 * util/mkisofs/tree.c: Likewise.
18661 * util/mkisofs/write.c: Likewise.
18662
ec8bb77d
VS
186632009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18666 being insecure.
18667
3716b12c
RM
186682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18669
18670 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18671 `grub-mkimage' (and use $0 when possible).
18672
b97b7b91
RM
186732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18674
18675 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18676 error message for excessively large memory map.
18677
04114812
RM
186782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18679
18680 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18681 executable bit.
18682
e4eb2373
RM
186832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18684
18685 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18686 message for coreboot users.
18687
c926e1d5 186882009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18689
18690 Fix build with GNU gold.
18691
18692 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18693 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18694 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18695 link addresses.
18696 * aclocal.m4: Likewise.
18697
86e5b1db 186982009-11-04 Felix Zielcke <fzielcke@z-51.de>
18699
18700 * configure.ac (AC_PREREQ): Bump to 2.59d.
18701 * INSTALL: Make it more clear when Autoconf and Ruby are
18702 needed and when to run `./autogen.sh'.
18703
246cd78f 187042009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18705
18706 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18707 OSes.
18708
4f9dfb37 187092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18710
18711 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18712
b82bd5e1 187132009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18714
18715 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18716 giving it to GNU Mach.
18717
ff1a9bca 187182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18719
18720 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18721 GNU partition number to get internal GRUB partition number.
18722
61697d9c 187232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18724
18725 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18726 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18727
a50569e1 187282009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18729
18730 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18731 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18732 case.
18733
5b153867 187342009-11-01 Felix Zielcke <fzielcke@z-51.de>
18735
18736 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18737
d9e2cd70 187382009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18739
18740 Fix build problem.
18741
18742 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18743 `-isystem=$(srcdir)/include'.
18744
805111a4 187452009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18746
18747 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18748 checked (grub-install doesn't currently rely on it).
18749
fa6e945f 187502009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18751
18752 Revert SVN r2660.
18753
18754 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18755 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18756 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18757 * conf/i386-ieee1275.rmk: Likewise.
18758 * conf/i386-pc.rmk: Likewise.
18759 * conf/powerpc-ieee1275.rmk: Likewise.
18760 * conf/sparc64-ieee1275.rmk: Likewise.
18761 * conf/x86_64-efi.rmk: Likewise.
18762
cee15086 187632009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18764
18765 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18766
95b9239e 187672009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18768
18769 * include/grub/misc.h: Stop checking for APPLE_CC.
18770
2ed19dfd 187712009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18772
18773 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18774 doesn't cause an infinite call loop.
18775
fdcdde19 187762009-10-28 Felix Zielcke <fzielcke@z-51.de>
18777
18778 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18779 strings.
18780
cefabfe1 187812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18782
18783 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18784 variable.
18785 * Makefile.in: Likewise.
18786
ed96ab6d 187872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18788
18789 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18790
0579b753 187912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18792
18793 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18794
478df409 187952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18796
18797 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18798
083d1679 187992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18800
18801 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18802 from here ...
18803 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18804
5947ae32 188052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18806
18807 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18808 in $(MAKEINFO) invocation. This makes it clear in output that
18809 errors are being ignored.
18810
94180ff6 188112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18812
18813 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18814 from here ...
18815 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18816 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18817 * conf/i386-ieee1275.rmk: Likewise.
18818 * conf/i386-pc.rmk: Likewise.
18819 * conf/powerpc-ieee1275.rmk: Likewise.
18820 * conf/sparc64-ieee1275.rmk: Likewise.
18821 * conf/x86_64-efi.rmk: Likewise.
18822
9031b03a 188232009-10-26 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * util/grub-editenv.c (main): If only a command is given, use
18826 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18827 (usage): FILENAME is now optional and has a default.
18828
e4f6809b 188292009-10-26 Colin Watson <cjwatson@ubuntu.com>
18830
18831 Improve grub-mkconfig performance when there are several menu
18832 entries on a single filesystem.
18833
18834 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18835 prepare_grub_to_access_device.
18836 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18837 * util/grub.d/30_os-prober.in: Likewise.
18838
67937d4d 188392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18840
18841 * util/grub.d/10_freebsd.in: Remove.
18842 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18843 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18844
ee3756cc 188452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18846
5c35048e 18847 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18848
4dea1c6f 188492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18850
18851 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18852 grub_util_error() call.
18853
042484d7 188542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18855
18856 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18857 `reserved_first_sector' member.
18858 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18859 `reserved_first_sector' to 1.
18860 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18861 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18862 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18863 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18864 filesystems which begin at first sector.
18865 (options): New option --skip-fs-probe.
18866 (main): Handle --skip-fs-probe and pass it to setup().
18867
d64448a7 188682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18871 (memset): Fix function prototype.
18872
508d42ec 188732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
188742009-10-25 Vasily Averin <vvs@parallels.com>
18875
18876 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18877 `dirent.direntlen == 0'.
18878
b240e30c 188792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18880
18881 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18882 `cpio'.
18883 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18884
346e7fbe 188852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18886
18887 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18888 `__trampoline_setup' and `__ucmpdi2'.
18889 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18890 that libgcc provides.
18891
cdb308b0 188922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18893
18894 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18895 * include/grub/sparc64/libgcc.h (memset): Likewise.
18896 * include/grub/misc.h (memset, memcmp): New function prototypes.
18897
fb26abc2 188982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18899
18900 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18901 `cpio'.
18902 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18903
f6693890 189042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18905
18906 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18907 * docs/grub.cfg: Compensate for recent change in multiboot
18908 loader (since 2009-08-14 it won't pass filename to payload).
18909 * util/grub.d/10_hurd.in: Likewise.
18910
0933cdc0 189112009-10-21 Felix Zielcke <fzielcke@z-51.de>
18912
18913 * config.guess: Update to latest version from config git
18914 repository.
18915 * config.sub: Likewise.
18916
3b2fe8c2 189172009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18918
18919 Fix build on sparc64.
18920
18921 * configure.ac: Perform checks for libgcc symbols before
18922 adding `-nostdlib' to LDFLAGS.
18923
46695a62 189242009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 Let user specify OpenBSD root device.
18927
18928 * loader/i386/bsd.c (openbsd_root): New variable.
18929 (openbsd_opts): New option 'root'.
18930 (OPENBSD_ROOT_ARG): New macro.
18931 (grub_openbsd_boot): Use 'openbsd_root'.
18932 (grub_cmd_openbsd): Fill 'openbsd_root'.
18933
d2b6b7fc 189342009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18935
18936 * NEWS: Misc adjustments.
18937
421bd7ac 189382009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18941
f1d29d87 189422009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18943
18944 * configure.ac: Bump version to 1.97.
18945
6f3cd880 189462009-10-16 Colin Watson <cjwatson@ubuntu.com>
18947
18948 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18949 -mno-3dnow on x86 architectures. Some toolchains enable these
18950 features by default, but they rely on registers that aren't enabled
18951 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18952
035f7122 189532009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18954
18955 Make entry text a bit more readable.
18956
18957 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18958
44998e58 189592009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18962
cd2851b3 189632009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18964
18965 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18966 operations.
18967
c6f3b249 189682009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * configure.ac: Add missing dollar.
18971
6b5886ba 189722009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18975
18976 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18977 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18978 exports.
18979 * include/grub/sparc64/libgcc.h: Likewise. Use
18980 preprocessor conditionals.
18981
e9d66f6d 189822009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18983
18984 * conf/common.rmk (grub-dumpbios): Remove rule.
18985 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18986 * util/grub-dumpbios.in: Remove file.
18987
9155bc17 189882009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18989
18990 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18991 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18992
18993 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18994 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18995 users.
18996
18997 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18998 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18999 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
19000 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
19001 users.
19002
bf7f7a18 190032009-10-12 Robert Millan <rmh.grub@aybabtu.com>
19004
19005 * term/tparm.c: Switch to GPLv3.
19006
86564c26 190072009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19008
19009 * include/grub/i386/cpuid.h: Add header protection.
19010
5c936493 190112009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19012
19013 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
19014
19015 * include/grub/i386/cpuid.h: New file.
19016 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
19017 (has_longmode): Rename to ...
19018 (grub_cpuid_has_longmode): ... this. Update all users. Remove
19019 `static' attribute.
19020 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
19021 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
19022 on a CPU that doesn't implement AMD64 instruction set.
19023
186e7cf2 190242009-10-06 Colin Watson <cjwatson@ubuntu.com>
19025
19026 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
19027 that version.texi is rebuilt on version number changes.
19028
83b65c4a 190292009-10-06 Colin Watson <cjwatson@ubuntu.com>
19030
19031 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
19032 Fixes bug #27602.
19033
d244281c 190342009-10-06 Colin Watson <cjwatson@ubuntu.com>
19035
19036 * util/i386/pc/grub-install.in: Source
19037 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
19038 that the --grub-probe option will work.
19039 * util/sparc64/ieee1275/grub-install.in: Likewise.
19040
da25306d 190412009-10-05 Robert Millan <rmh.grub@aybabtu.com>
19042
19043 * configure.ac: Bump version to 1.97~beta4.
19044
e8ee83c0 190452009-10-03 Robert Millan <rmh.grub@aybabtu.com>
19046
19047 Resync grub-mkdevicemap in x86_64-efi.
19048
19049 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
19050 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
19051 `util/devicemap.c'.
19052
50dcabcf 190532009-10-01 Colin Watson <cjwatson@ubuntu.com>
19054
19055 * util/grub-editenv.c (create_envblk_file): Write new block with a
19056 .new suffix and then rename it into place, to ensure atomic
19057 creation.
19058
0e51c3a7 190592009-09-28 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 Do not automatically install headers.
19062
19063 * Makefile.in (include_DATA): Remove. Update all users.
19064
31299a95 190652009-09-26 Robert Millan <rmh.grub@aybabtu.com>
19066
19067 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
19068 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
19069
19070 * util/osdetect.lua: Remove.
19071 * script/lua/lauxlib.c: Likewise.
19072 * script/lua/ldebug.c: Likewise.
19073 * script/lua/grub_main.c: Likewise.
19074 * script/lua/lauxlib.h: Likewise.
19075 * script/lua/ldebug.h: Likewise.
19076 * script/lua/ltablib.c: Likewise.
19077 * script/lua/liolib.c: Likewise.
19078 * script/lua/lstrlib.c: Likewise.
19079 * script/lua/lualib.h: Likewise.
19080 * script/lua/ldo.c: Likewise.
19081 * script/lua/ldump.c: Likewise.
19082 * script/lua/ldo.h: Likewise.
19083 * script/lua/loslib.c: Likewise.
19084 * script/lua/lundump.c: Likewise.
19085 * script/lua/grub_lib.c: Likewise.
19086 * script/lua/ldblib.c: Likewise.
19087 * script/lua/lundump.h: Likewise.
19088 * script/lua/lmem.c: Likewise.
19089 * script/lua/grub_lib.h: Likewise.
19090 * script/lua/lmathlib.c: Likewise.
19091 * script/lua/lstate.c: Likewise.
19092 * script/lua/ltm.c: Likewise.
19093 * script/lua/lvm.c: Likewise.
19094 * script/lua/lmem.h: Likewise.
19095 * script/lua/lstate.h: Likewise.
19096 * script/lua/ltm.h: Likewise.
19097 * script/lua/ltable.c: Likewise.
19098 * script/lua/lvm.h: Likewise.
19099 * script/lua/llex.c: Likewise.
19100 * script/lua/lgc.c: Likewise.
19101 * script/lua/grub_lua.h: Likewise.
19102 * script/lua/loadlib.c: Likewise.
19103 * script/lua/lfunc.c: Likewise.
19104 * script/lua/lopcodes.c: Likewise.
19105 * script/lua/lparser.c: Likewise.
19106 * script/lua/ltable.h: Likewise.
19107 * script/lua/llex.h: Likewise.
19108 * script/lua/lgc.h: Likewise.
19109 * script/lua/lfunc.h: Likewise.
19110 * script/lua/lbaselib.c: Likewise.
19111 * script/lua/lopcodes.h: Likewise.
19112 * script/lua/lparser.h: Likewise.
19113 * script/lua/lzio.c: Likewise.
19114 * script/lua/linit.c: Likewise.
19115 * script/lua/lobject.c: Likewise.
19116 * script/lua/llimits.h: Likewise.
19117 * script/lua/lstring.c: Likewise.
19118 * script/lua/lzio.h: Likewise.
19119 * script/lua/lapi.c: Likewise.
19120 * script/lua/lcode.c: Likewise.
19121 * script/lua/lua.h: Likewise.
19122 * script/lua/lobject.h: Likewise.
19123 * script/lua/lstring.h: Likewise.
19124 * script/lua/lapi.h: Likewise.
19125 * script/lua/lcode.h: Likewise.
19126 * script/lua/luaconf.h: Likewise.
19127
cb8a2c38 191282009-09-26 Colin Watson <cjwatson@ubuntu.com>
19129
19130 * docs/grub.texi (Command-line and menu entry commands): Document
19131 date and echo commands.
19132
6b9b6276 191332009-09-24 Pavel Roskin <proski@gnu.org>
19134
19135 * include/grub/kernel.h (struct grub_module_header): Remove
19136 `grub_module_header_types'. Make `type' unsigned. Make `size'
19137 32-bit on all platforms.
19138 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
19139 8-bit field. Use grub_host_to_target32() for `size'.
19140 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
19141 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
19142 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
19143
4e5a02a7 191442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19145
19146 Fix "lost keypress" bug in at_keyboard.
19147
19148 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
19149 Checks for readyness of input buffer (without flushing it).
19150 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
19151 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
19152
c6dcedf6 191532009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19154
19155 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
19156 size check within GRUB_MACHINE_PCBIOS section.
19157
74c958b1 191582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19159
19160 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
19161 return value.
19162 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
19163 KEYBOARD_ISREADY check.
19164 (grub_at_keyboard_checkkey): Rename to ...
19165 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
19166 Remove gratuitous cast.
19167
ff420223 191682009-09-23 Colin Watson <cjwatson@ubuntu.com>
19169
19170 * configure.ac: Call AC_PROG_MKDIR_P.
19171 * Makefile.in (docs/stamp-vti): Create docs directory. Create
19172 version.texi in $(builddir) rather than $(srcdir).
19173 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
19174 to makeinfo's @include search path.
19175
d96875df 191762009-09-23 Felix Zielcke <fzielcke@z-51.de>
19177
19178 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
19179
9b3f8365 191802009-09-23 Felix Zielcke <fzielcke@z-51.de>
19181
19182 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
19183 for `*.dpkg-new'.
19184
c44c90db 191852009-09-21 Colin Watson <cjwatson@ubuntu.com>
19186
19187 Build info documentation. Some code borrowed from Automake.
19188
19189 * configure.ac: Check for makeinfo.
19190 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
19191 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
19192 docs/version.texi.
19193 (MOSTLYCLEANFILES): Add vti.tmp.
19194 (docs/version.texi, docs/stamp-vti): Update automatically.
19195 (docs/grub.info): Build info documentation. Use --force and ignore
19196 errors for now.
19197 (all-local): Add $(INFOS).
19198 (install-local): Install info files.
19199 (uninstall): Uninstall info files.
19200 * docs/version.texi: Remove from revision control. This file is
19201 automatically generated on build now.
19202 * gendistlist.sh: Add `*.info'.
19203
e0b37bb5 192042009-09-21 Felix Zielcke <fzielcke@z-51.de>
19205
19206 * kern/term.c: Fix indentation.
19207
5a78865b 192082009-09-21 Felix Zielcke <fzielcke@z-51.de>
19209
19210 * util/hostdisk.c: Fix a comment.
19211
dace7e8a 192122009-09-20 Robert Millan <rmh.grub@aybabtu.com>
19213
19214 Fix regression introduced in r2539.
19215
19216 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
19217 to 0xA1.
19218
a83d079b 192192009-09-19 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 19222 os-prober. Under normal operation, it does not print anything to
19223 stderr; if it does, we need to debug it, and throwing away stderr
19224 makes that excessively difficult.
a83d079b 19225
be94a509 192262009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
19229
63f745e8 192302009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19231
19232 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
19233 AC_LANG_PROGRAM from autoconf.
19234 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
19235 prototypes (fixes warning).
19236
19237 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
19238 `--disable-werror' was used.
19239
bbb2a70f 192402009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19241
19242 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
19243 uninitialized `lastaddr'.
19244
77c24f1d 192452009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19246
0f0b8c87 19247 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 19248
07197f23 192492009-09-14 Colin Watson <cjwatson@ubuntu.com>
19250
19251 * commands/test.c (get_fileinfo): Return immediately if
19252 grub_fs_probe fails.
19253
dabf1798 192542009-09-14 José Martínez <xosemp@gmail.com>
19255
19256 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
19257
d52109a7 192582009-09-14 Colin Watson <cjwatson@ubuntu.com>
19259
19260 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
19261 output.
19262
56532179 192632009-09-13 Robert Millan <rmh.grub@aybabtu.com>
19264
19265 * configure.ac: Remove --enable-grub-pe2elf. Only build
19266 grub-pe2elf when needed by the build system itself.
19267 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
19268
8ef070f5 192692009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19270
19271 * configure.ac: Bump version to 1.97~beta3.
19272 * docs/version.texi: Likewise.
19273
61229557 192742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19275
19276 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
19277 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
19278 from here ...
19279 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
19280 (grub_linux_setup_video): ... to here (with some adjustments).
19281
5c9f8d84 192822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19283
19284 Fix memory corruption issue (spotted by Colin Watson).
19285
19286 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
19287 causing returned size to be stored in an incorrect memory location.
19288 Fix use of uninitialized value when storing the returned size.
19289
e8f5d6e9 192902009-09-12 Yves Blusseau <blusseau@zetam.org>
19291
19292 Change clean rules to properly remove files
19293
19294 * genmk.rb: add new clean rules
19295 * Makefile.in (clean): add the new targets
19296 (mostlyclean): likewise
19297
cda2a409 192982009-09-11 Colin Watson <cjwatson@ubuntu.com>
19299
19300 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
19301 to grub_uint64_t.
19302 * fs/ntfs.c (init_file): Understand 64-bit sizes for
19303 non-resident files.
19304
86695375 193052009-09-11 Colin Watson <cjwatson@ubuntu.com>
19306
19307 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19308 part of bug #27349.
19309
8aa1541a 193102009-09-10 Felix Zielcke <fzielcke@z-51.de>
19311
19312 * util/grub-mkconfig.in: Make the created config mode 400 and
19313 print a warning if it fails.
19314
48d9bb0a 193152009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19316
19317 * util/grub.d/40_custom.in: Ask user to type custom entries below
19318 comment, rather than below 'exec tail' line.
19319
3b0521be 193202009-09-10 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19323 visible in grub.cfg.
19324
50051d55 193252009-09-10 Colin Watson <cjwatson@ubuntu.com>
19326
19327 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19328 file.
19329
c0d34387 193302009-09-10 Felix Zielcke <fzielcke@z-51.de>
19331
19332 * docs/grub.cfg: Add an example menu entry for memtest86+.
19333
80a608f3 193342009-09-09 Felix Zielcke <fzielcke@z-51.de>
19335
a2094832 19336 * config.guess: Update to latest version from config git.
80a608f3 19337 * config.sub: Likewise.
19338
99423078 193392009-09-08 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19342 unknown-command case. Fixes bug #27320.
19343
44454e4c 193442009-09-08 Felix Zielcke <fzielcke@z-51.de>
19345
19346 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19347 `help' if the command exists.
19348
e30d87ad 193492009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19350
19351 * INSTALL: Require GCC 4.1.3 or later.
19352
9a86f1ec 193532009-09-06 Yves Blusseau <blusseau@zetam.org>
19354
19355 * Makefile.in (RMKFILES): add i386-qemu.rmk
19356 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19357 $(srcdir)/stamp-h.in
19358
7f26d466 193592009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19360
19361 * util/grub-probe.c (probe): Comment out buggy codepath, which
19362 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19363 should be re-enabled after 1.97.
19364
3a613259 193652009-09-05 Felix Zielcke <fzielcke@z-51.de>
19366
19367 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19368 find searches for.
19369
197f76c7 193702009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19373 unnecessary calls to grub_error.
19374
70ba68ce 193752009-09-04 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * NEWS: Mention `keystatus' and Unicode fonts.
19378
4ff0d7a4 193792009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19380
19381 * configure.ac: Bump version to 1.97~beta2.
19382 * docs/version.texi: Likewise.
19383
77c55a87 193842009-09-03 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19387 containing unwind information in some cases where it previously did
19388 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19389 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19390 discussion.
19391
f79572cd 193922009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19393
19394 Embedding loadenv module into grub-emu
19395
19396 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19397 commands/loadenv.c
19398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19399 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19400 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19402 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19403 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19404
93a81088 194052009-09-03 Magnus Granberg <zorry@ume.nu>
19406
19407 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19408 include -fPIE in the default specs.
19409 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19410 to TARGET_CFLAGS.
19411
160034b2 194122009-09-03 Felix Zielcke <fzielcke@z-51.de>
19413
19414 * INSTALL: Note that GNU Bison 2.3 or later is required.
19415
087c07c4 194162009-09-03 Colin Watson <cjwatson@ubuntu.com>
19417
19418 * kern/i386/pc/startup.S: Fix typo.
19419
cbf978c0 194202009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19423 according to GCS.
19424
194252009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19426
19427 * docs/grub.texi (Naming convention): Describe one-based partition
19428 numbering.
19429 (Device syntax): Likewise.
19430 (File name syntax): Likewise.
19431 (Block list syntax): Likewise.
19432 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19433 menu.lst.
19434 (File name syntax): Likewise.
19435 (Command-line and menu entry commands): Document acpi, blocklist,
19436 crc, export, insmod, keystatus, ls, set, and unset commands.
19437
f3e8cdfd 194382009-09-02 Colin Watson <cjwatson@ubuntu.com>
19439
19440 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19441 to avoid implying that only one of --shift, --ctrl, or --alt may be
19442 used.
19443
c0bc232b 194442009-09-02 Colin Watson <cjwatson@ubuntu.com>
19445
19446 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19447 rather than comparing against S_IFREG, which will almost never work.
19448
aa0f752d 194492009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19452 (write_blocklists): Likewise.
19453
ecb3166a 194542009-09-01 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19457 argument to grub_printf.
19458
c403a125 194592009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19460
19461 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19462 non GNU test.
31aba781 19463
b5e7312c 194642009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * kern/file.c (grub_file_read): Spelling fix
19467
fe00f472 194682009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19471 loading of headers in some cases.
19472
cc55302e 194732009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19474
19475 * configure.ac: Bump version to 1.97~beta1.
19476 * docs/version.texi: Likewise.
19477
5c90cdd2 194782009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19479
19480 * include/grub/i386/xnu.h: Add license header.
19481 include grub/err.h explicitly.
19482
c90edae4 194832009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19486 to `ufs' in the vfs.root.mountfrom kernel parameter.
19487
d8888b5c 194882009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19489
19490 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19491
19492 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19493 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19494
19495 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19496 `ARRAY_SIZE' macro.
19497
6f07b921 194982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * kern/file.c (grub_file_read): Check offset.
19501 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19502 * fs/jfs.c (grub_jfs_read_file): Likewise.
19503 * fs/ntfs.c (grub_ntfs_read): Likewise.
19504 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19505 * fs/minix.c (grub_minix_read_file): Correct offset check.
19506 * fs/ufs.c (grub_ufs_read_file): Likewise.
19507
b4f34077 195082009-08-28 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * term/i386/pc/console.c (bios_data_area): Cast
19511 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19512
e7c69859 195132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19514
19515 1-bit optimised blitters.
19516
19517 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19518 prototype.
19519 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19520 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19521 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19522 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19523 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19524 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19525 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19526 function.
19527 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19528 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19529 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19530 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19531 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19532 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19533 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19534 when possible.
19535 * video/video.c (grub_video_get_blit_format): Return
19536 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19537
a57da43f 195382009-08-28 Colin Watson <cjwatson@ubuntu.com>
19539
19540 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19541 the first argument to grub_printf.
19542
4cbe67e5 195432009-08-28 Colin Watson <cjwatson@ubuntu.com>
195442009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19545
19546 Add `getkeystatus' terminal method. Add a new `keystatus' command
19547 to query it.
19548
19549 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19550 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19551 modifier key bitmasks.
19552 (struct grub_term_input): Add `getkeystatus' member.
19553 (grub_getkeystatus): Add prototype.
19554 * kern/term.c (grub_getkeystatus): New function.
19555
19556 * include/grub/i386/pc/memory.h
19557 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19558 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19559 Data Area layout.
19560 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19561 (grub_console_term_input): Set `getkeystatus' member.
19562 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19563 constants.
19564 (grub_usb_keyboard_getreport): Likewise.
19565 (grub_usb_keyboard_checkkey): Likewise.
19566 (grub_usb_keyboard_getkeystatus): New function.
19567 (grub_usb_keyboard_term): Set `getkeystatus' member.
19568
19569 * commands/keystatus.c: New file.
19570 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19571 (keystatus_mod_SOURCES): New variable.
19572 (keystatus_mod_CFLAGS): Likewise.
19573 (keystatus_mod_LDFLAGS): Likewise.
19574 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19575 commands/keystatus.c.
19576 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19577 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19578 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19580 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19581 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19582
6e2a9085 195832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Split befs.mod and afs.mod into *_be.mod and *.mod
19586
19587 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19588 (grub_fstest_SOURCES): Likewise.
19589 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19590 (afs_be_mod_SOURCES): New variable.
19591 (afs_be_mod_CFLAGS): Likewise.
19592 (afs_be_mod_LDFLAGS): Likewise.
19593 (befs_be_mod_SOURCES): Likewise.
19594 (befs_be_mod_CFLAGS): Likewise.
19595 (befs_be_mod_LDFLAGS): Likewise.
19596 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19598 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19599 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19600 (grub_emu_SOURCES): Likewise.
19601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19602 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19603 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19604 * fs/afs_be.c: New file.
19605 * fs/befs_be.c: New file.
19606 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19607 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19608 (U16): Replaced with ...
19609 (grub_afs_to_cpu16): ...this. All users updated.
19610 (U32): Replaced with ...
19611 (grub_afs_to_cpu32): ...this. All users updated.
19612 (U64): Replaced with ...
19613 (grub_afs_to_cpu64): ...this. All users updated.
19614 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19615 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19616 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19617 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19618 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19619 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19620 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19621 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19622 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19623 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19624 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19625
32a71655 196262009-08-26 Bean <bean123ch@gmail.com>
19627
19628 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19629 64-bit number.
19630 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19631 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19632 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19633
552bf6c5 196342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 NetBSD memory map support.
19637
19638 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19639 (grub_netbsd_btinfo_mmap_header): New structure.
19640 (grub_netbsd_btinfo_mmap_entry): Likewise.
19641 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19642
1ae2078c 196432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 Enable bsd.mod on coreboot.
19646
19647 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19648 (bsd_mod_SOURCES): New variable.
19649 (bsd_mod_CFLAGS): Likewise.
19650 (bsd_mod_LDFLAGS): Likewise.
19651 (bsd_mod_ASFLAGS): Likewise.
19652 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19653 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19654
beefc598 196552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 Cleanup NetBSD root support.
19658
19659 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19660 grub_bsd_get_device.
19661 Fix typo.
19662
3b76e68b 196632009-08-25 Felix Zielcke <fzielcke@z-51.de>
19664
19665 * util/grub.d/00_header.in: Move check for the video backend of
19666 gfxterm from here ...
19667 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19668 a suitable video backend.
19669
aea664ea 196702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 Fix breakage in grub-setup.
19673
19674 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19675 "msdos_partition_map".
19676
ff747d50 196772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 Fix breakage in normal/auth.c.
19680
19681 * normal/auth.c (grub_iswordseparator): New function.
19682
e7e1f93f 196832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 Authentication support.
19686
19687 * commands/password.c: New file.
19688 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19689 (password_mod_SOURCES): New variable.
19690 (password_mod_CFLAGS): Likewise.
19691 (password_mod_LDFLAGS): Likewise.
19692 (normal_mod_SOURCES): Add normal/auth.c.
19693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19694 normal/auth.c.
19695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19696 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19697 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19701 * include/grub/auth.h: New file.
19702 * include/grub/err.h (grub_err_t): New enum value
19703 GRUB_ERR_ACCESS_DENIED.
19704 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19705 'users'.
19706 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19707 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19708 users updated.
19709 * normal/auth.c: New file.
19710 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19711 (grub_cmdline_run): Don't allow to go to command line without
19712 authentication.
19713 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19714 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19715 menuentry without superuser rights.
19716 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19717 user isn't a superuser.
19718
70f1161d 197192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 Save space by inlining misc.c functions.
19722
19723 * kern/misc.c (grub_iswordseparator): Made static.
19724 * kern/misc.c (grub_strcat): Moved from here ...
19725 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19726 * kern/misc.c (grub_strncat): Moved from here ...
19727 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19728 * kern/misc.c (grub_strcasecmp): Moved from here ...
19729 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19730 * kern/misc.c (grub_strncasecmp): Moved from here ...
19731 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19732 * kern/misc.c (grub_isalpha): Moved from here ...
19733 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19734 * kern/misc.c (grub_isdigit): Moved from here ...
19735 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19736 * kern/misc.c (grub_isgraph): Moved from here ...
19737 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19738 * kern/misc.c (grub_tolower): Moved from here ...
19739 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19740
48e40bff 197412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * script/sh/function.c (grub_script_function_find): Cut error message
19744 not to flood terminal.
19745 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19746 limit.
19747 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19748
c385bfc3 197492009-08-24 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19752 `report' grub_uint8_t *.
19753 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19754 Use a 50-millisecond timeout rather than just repeating
19755 grub_usb_keyboard_getreport 50 times.
19756 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19757
2d21e3e8 197582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 Rename *_partition_map to part_*
19761
19762 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19763 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19764 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19765 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19766 All users updated.
19767 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19768 All users updated.
19769 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19770 * util/grub-probe.c (probe_partmap): Don't transform partition name
19771 to get module name.
19772
dd103c4e 197732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19774
19775 Fix OpenBSD and NetBSD support.
19776
19777 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19778 memory address conflict.
19779 (OPENBSD_MMAP_ACPI): New definition.
19780 (OPENBSD_MMAP_NVS): Likewise.
19781 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19782 and OPENBSD_MMAP_NVS.
19783 Add memory map terminator
19784 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19785 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19786
16c84d74 197872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 Let user specify NetBSD root device.
19790
19791 * loader/i386/bsd.c (netbsd_root): New variable.
19792 (netbsd_opts): New option 'root'.
19793 (NETBSD_ROOT_ARG): New macro.
19794 (grub_netbsd_boot): Use 'netbsd_root'.
19795 (grub_bsd_unload): Free 'netbsd_root'.
19796 (grub_cmd_netbsd): Fill 'netbsd_root'.
19797
adb29902 197982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 Support for 64-bit NetBSD.
19801
19802 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19803 point when booting non-FreeBSD.
19804
f5ae9f74 198052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 Support --no-smp and --no-acpi for NetBSD.
19808
19809 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19810 (NETBSD_AB_NOACPI): Likewise.
19811 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19812 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19813
de74f136 198142009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19815
19816 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19817 errors.
19818 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19819 errors. Call grub_error when needed.
19820
e9a925da 198212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19822
19823 * commands/search.c (search_fs): Try searching without autoload first.
19824 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19825 filesystem module explicitly for faster booting.
19826
5174302b 198272009-08-23 Colin Watson <cjwatson@ubuntu.com>
19828
19829 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19830
c8c80635 198312009-08-23 Colin Watson <cjwatson@ubuntu.com>
19832
19833 * util/grub.d/30_os-prober.in: Disable os-prober if
19834 `GRUB_DISABLE_OS_PROBER' was set to true.
19835
71acf5e5 198362009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19837
19838 * partmap/pc.c: Rename to ...
19839 * partmap/msdos.c: ... this. Update all users.
19840 (grub_pc_partition_map): Rename to ...
19841 (grub_msdos_partition_map): ... this. Update all users.
19842
19843 * parttool/pcpart.c: Rename to ...
19844 * parttool/msdospart.c: ... this. Update all users.
19845
19846 * include/grub/pc_partition.h: Rename to ...
19847 * include/grub/msdos_partition.h: ... this. Update all users.
19848 (grub_pc_partition_bsd_entry): Rename to ...
19849 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19850 (grub_pc_partition_disk_label): Rename to ...
19851 (grub_msdos_partition_disk_label): ... this. Update all users.
19852 (grub_pc_partition_entry): Rename to ...
19853 (grub_msdos_partition_entry): ... this. Update all users.
19854 (grub_pc_partition_mbr): Rename to ...
19855 (grub_msdos_partition_mbr): ... this. Update all users.
19856 (grub_pc_partition): Rename to ...
19857 (grub_msdos_partition): ... this. Update all users.
19858 (grub_pc_partition_is_empty): Rename to ...
19859 (grub_msdos_partition_is_empty): ... this. Update all users.
19860 (grub_pc_partition_is_extended): Rename to ...
19861 (grub_msdos_partition_is_extended): ... this. Update all users.
19862 (grub_pc_partition_is_bsd): Rename to ...
19863 (grub_msdos_partition_is_bsd): ... this. Update all users.
19864
19865 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19866 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19867 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19868 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19869 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19870 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19871 (gpt_mod_LDFLAGS): Rename to ...
19872 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19873 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19874 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19875 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19876 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19877 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19878 (part_gpt_mod_LDFLAGS): ... this.
19879 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19880 `pcpart.mod' to `msdospart.mod'.
19881 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19882 to ...
19883 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19884 (msdospart_mod_LDFLAGS): ... this.
19885
c11fded5 198862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19889 (openbsd_opts): Likewise.
19890 (netbsd_opts): Likewise.
19891 (freebsd_flags): Added 0 terminator.
19892 (openbsd_flags): Likewise.
19893 (netbsd_flags): Likewise.
19894 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19895 (grub_cmd_freebsd): Transformed into extended command.
19896 (grub_cmd_openbsd): Likewise.
19897 (grub_cmd_netbsd): Likewise.
19898 (cmd_freebsd): Changed type to grub_extcmd_t.
19899 (cmd_openbsd): Likewise.
19900 (cmd_netbsd): Likewise.
19901 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19902 grub_cmd_openbsd as extended commands.
19903 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19904 cmd_netbsd and cmd_openbsd
19905
11d1c769 199062009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19909
7a9094e5 199102009-08-21 Pavel Roskin <proski@gnu.org>
19911
5496c37e 19912 * Makefile.in (install-local): When checking if a file is in the
19913 build directory, use "test -e" to detect symlinks.
19914
7a9094e5 19915 * Makefile.in (install-local): Remove all files in
19916 $(DESTDIR)$(pkglibdir) before installing new files there.
19917
e53cea11 199182009-08-18 Felix Zielcke <fzielcke@z-51.de>
19919
19920 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19921 grub-mkelfimage.
19922
9aced544 199232009-08-18 Felix Zielcke <fzielcke@z-51.de>
19924
19925 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19926 explicitly specified by the user.
19927
b7da6bab 199282009-08-18 Pavel Roskin <proski@gnu.org>
19929
19930 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19931 grub_uint8_t pointer for data.
19932 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19933 Likewise.
19934 * video/fb/fbutil.c: Remove unnecessary casts.
19935
19f1b335 199362009-08-17 Michal Suchanek <hramrach@centrum.cz>
19937
19938 VBE cleanup.
19939
19940 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19941 (grub_vbe_set_video_mode): Save active mode info
19942 only after setting the mode.
19943 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19944 second argument.
19945
2f467aa9 199462009-08-17 Michal Suchanek <hramrach@centrum.cz>
19947
19948 Rename variables for clarity.
19949
19950 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19951 (active_vbe_mode_info): ... this. All users updated.
19952 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19953 All users updated.
19954 (initial_mode): Rename to ...
19955 (initial_vbe_mode): ... this. All users updated.
19956 (mode_in_use): Rename to ..
19957 (vbe_mode_in_use): ... this. All users updated.
19958 (mode_list): Rename to ..
19959 (vbe_mode_list): ... this. All users updated.
19960 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19961 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19962 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19963 'mode_list_size' to 'vbe_mode_list_size'.
19964 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19965 'best_mode_info' to 'best_vbe_mode_info' and
19966 'best_mode' to 'best_vbe_mode'
19967
6025fcd7 199682009-08-17 Michal Suchanek <hramrach@centrum.cz>
19969
19970 Remove duplicate grub_video_fb_get_video_ptr.
19971
19972 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19973 (grub_video_fb_get_video_ptr): ... this.
19974 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19975 * video/fb/fbutil.c: Add comment about addressing.
19976 (get_data_ptr): Rename to ...
19977 (grub_video_fb_get_video_ptr): ... this. All users updated.
19978 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19979
cc8c6faf 199802009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19981
19982 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19983 grub_dprintf() that was just added.
19984
08aa61f0 199852009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19988 (DEFAULT_VIDEO_MODE): Remove macros.
19989 (grub_linux_boot): Remove assumption that Linux has FB support,
19990 and use "text" as default video mode.
19991
7cef4f75 199922009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19995 grub_dprintf.
19996 * fs/fat.c (grub_fat_read_data): Likewise.
19997
e1f39873 199982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19999
20000 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
20001 payload.
20002 (grub_module): Likewise.
20003
c166d79e 200042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
20007 mbi->cmdline but free playground.
20008
c60cee8e 200092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 Handle group offset on UFS1.
20012
20013 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
20014 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
20015
c0d8b5d4 200162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 Split ufs.mod into ufs1.mod and ufs2.mod.
20019
20020 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
20021 (grub_fstest_SOURCES): Likewise.
20022 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
20023 (ufs_mod_SOURCES): Remove.
20024 (ufs_mod_CFLAGS): Likewise.
20025 (ufs_mod_LDFLAGS): Likewise.
20026 (ufs1_mod_SOURCES): New variable.
20027 (ufs1_mod_CFLAGS): Likewise.
20028 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 20029 (ufs2_mod_SOURCES): New variable.
20030 (ufs2_mod_CFLAGS): Likewise.
20031 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 20032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
20033 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20034 Likewise.
20035 (grub_emu_SOURCES): Likewise.
20036 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20037 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20038 (grub_setup_SOURCES): Likewise.
20039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20040 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
20041 (grub_setup_SOURCES): Likewise.
20042 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20043 Likewise.
20044 * fs/ufs2.c: New file.
20045 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
20046
d3539132 200472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 Framebuffer split.
20050
20051 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
20052 subsystem at the end.
20053 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
20054 (video_fb_mod_SOURCES): New variable.
20055 (video_fb_mod_CFLAGS): Likewise.
20056 (video_fb_mod_LDFLAGS): Likewise.
20057 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
20058 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
20059 * video/i386/pc/vbeblit.c: Moved from here ...
20060 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
20061 * video/i386/pc/vbefill.c: Moved from here ...
20062 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
20063 * video/i386/pc/vbeutil.c: Moved from here ...
20064 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
20065 * include/grub/i386/pc/vbeblit.h: Moved from here ...
20066 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
20067 * include/grub/i386/pc/vbefill.h: Moved from here ...
20068 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
20069 * include/grub/i386/pc/vbeutil.h: Moved from here ...
20070 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
20071 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
20072 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
20073 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
20074 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
20075 (grub_video_adapter): Added 'get_info_and_fini'.
20076 (grub_video_get_info_and_fini): New prototype.
20077 (grub_video_set_mode): make modestring const char *.
20078 * loader/i386/linux.c (grub_linux_setup_video): Use
20079 grub_video_get_info_and_fini.
20080 (grub_linux_boot): Move modesetting just before booting.
20081 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
20082 grub_video_get_info_and_fini.
20083 * video/i386/pc/vbe.c: Moved framebuffer part ...
20084 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
20085 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
20086 grub_video_fbstd_colors and grub_video_fb_set_palette.
20087 (grub_video_vbe_init): Clear 'framebuffer' variable and use
20088 grub_video_fb_init.
20089 (grub_video_vbe_fini): Use grub_video_fb_fini.
20090 (grub_video_vbe_setup): Use framebuffer.render_target instead of
20091 render_target and use grub_video_fb_set_active_render_target and
20092 grub_video_fb_set_palette.
20093 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
20094 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
20095 (grub_video_vbe_adapter): Use framebuffer.
20096 * video/video.c (grub_video_get_info_and_fini): New function.
20097 (grub_video_set_mode): Make modestring const char *.
20098 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
20099 values are already initialised.
20100
d404ee56 201012009-08-14 Pavel Roskin <proski@gnu.org>
20102
20103 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
20104 ABS and APPLE_CC.
20105 * boot/i386/pc/diskboot.S: Likewise.
20106 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
20107 sectors allow compilation on MacOSX.
20108 * conf/i386-pc.rmk: Enable unconditional compilation of
20109 lnxboot.img.
20110
9a10df16 201112009-08-13 Colin Watson <cjwatson@ubuntu.com>
20112
20113 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
20114 * util/grub.d/00_header.in: Enter interruptible sleep if
20115 GRUB_HIDDEN_TIMEOUT is set.
20116
be3c9ca7 201172009-08-13 Yves Blusseau <blusseau@zetam.org>
20118
20119 * include/grub/symbol.h: Add the LOCAL macro.
20120 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
20121 starting with "L_".
20122
1f9e557e 201232009-08-13 Pavel Roskin <proski@gnu.org>
20124
9ca62843 20125 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
20126 any modern compilers we support.
20127
1f9e557e 20128 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
20129 Use local labels starting with "L_" so that Apple assembler
20130 knows they are local.
20131
81623db6 201322009-08-10 Robert Millan <rmh.grub@aybabtu.com>
20133
20134 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
20135 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
20136 (bsd_kernel_types): ... this enum.
20137
20138 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
20139 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
20140 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
20141
20142 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
20143 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
20144 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
20145 messages.
20146
f5d35e7a 201472009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20148
20149 * util/grub-dumpdevtree: Moved from here ...
20150 * util/i386/efi/grub-dumpdevtree: ... to here.
20151 (hexify): New function. Converts a string to its hex version.
20152 Generate hex versions of "efi" and "device-properties" by calling
20153 hexify() on the ASCII strings rather than by hardcoding numbers.
20154
d1e1d527 201552009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20156
20157 * fs/jfs.c: Update copyright year.
20158
1ebbe064 201592009-08-08 Felix Zielcke <fzielcke@z-51.de>
20160
20161 * util/grub.d/00_header.in: Fix a comment.
20162 * util/grub.d/10_linux.in: Likewise.
20163 * util/grub.d/10_windows.in: Likewise.
20164 * util/grub.d/10_hurd.in: Likewise.
20165
a78c8d24 201662009-08-08 Felix Zielcke <fzielcke@z-51.de>
20167
20168 * util/grub-mkconfig.in: Allow the user to specify the used font
20169 with GRUB_FONT.
20170
29a6b9e8 201712009-08-08 Pavel Roskin <proski@gnu.org>
20172
b5f16cc4 20173 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
20174 available, xfs.mod needs it now.
20175
2f5cb827 20176 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
20177 the "g" modifier in sed when the intention is to strip something
20178 once. This fixes comparison of kernels with multiple dashes.
20179
29a6b9e8 20180 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
20181 on it. Add missing space before closing bracket. Fix
20182 misleading formatting.
20183
892a3d98 201842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20185
20186 * docs/grub.texi: Major overhaul. Remove all sections that are
20187 specific to GRUB Legacy, or mostly composed of Legacy-specific
20188 information.
20189
ed94253f 201902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20191
20192 * docs/version.texi: New file. Provides version information for
20193 grub.texi.
20194
126d6628 201952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20196
20197 * docs/grub.texi: Update CVS information to SVN.
20198 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
20199
998b5aa9 202002009-08-07 Felix Zielcke <fzielcke@z-51.de>
20201
20202 * util/grub-mkconfig.in: Remove a wrong `fi'.
20203
818e094a 202042009-08-07 Felix Zielcke <fzielcke@z-51.de>
20205
20206 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
20207 (grub_jfs_uuid): New function.
20208 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
20209
b969c52f 202102009-08-07 Felix Zielcke <fzielcke@z-51.de>
20211
20212 * util/grub-mkconfig_lib.in (font_path): Move the functionality
20213 of it to ...
20214 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
20215 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
20216
7a4894cc 202172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20218
20219 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
20220 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
20221 Update all users.
20222
20223 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
20224 not just "vmlinu[zx]".
20225 Moved from here ...
20226 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
20227 all users.
20228
20229 * util/grub.d/10_linux.in (find_latest): Moved from here ...
20230 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
20231 all users.
20232
4e2171f8 202332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * util/grub.d/10_freebsd.in: Use an absolute device path for
20236 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
20237
6dcfcb32 202382009-08-06 Felix Zielcke <fzielcke@z-51.de>
20239
20240 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
20241 handling of multiple abstraction modules.
20242
f56a8756 202432009-08-04 Robert Millan <rmh.grub@aybabtu.com>
20244
20245 Fix a bug resulting in black screen when loading Linux using a
20246 packed video mode.
20247
20248 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
20249 function.
20250
20251 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
20252 (grub_vbe_bios_getset_dac_palette_width): New function.
20253 (grub_vbe_bios_get_dac_palette_width)
20254 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
20255 grub_vbe_bios_getset_dac_palette_width()).
20256
20257 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
20258 check for return status.
20259 (grub_vbe_get_video_mode_info): When getting information for a packed
20260 mode (<= 8 bpp), obtain DAC palette width using
20261 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
20262 {red,green,blue}_mark_size.
20263
222671b2 202642009-08-04 Felix Zielcke <fzielcke@z-51.de>
20265
ecb1a6d9 20266 * commands/search.c (options): Fix help output to match actual code.
222671b2 20267
f84114f5 202682009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
20271 of homegrown code.
20272
bd288a20 202732009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 20274
20275 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
20276 on XFS or ReiserFS.
20277
8aab5e25 202782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Support Apple partition map with sector size different from 512 bytes.
20281
20282 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
20283 (apple_partition_map_iterate): Respect 'aheader.blocksize'
20284 and 'apart.partmap_size'.
20285
6ad6258a 202862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
202872009-08-01 Robert Millan <rmh.grub@aybabtu.com>
20288
20289 Fix cpuid command.
20290
20291 * commands/i386/cpuid.c (options): New variable.
20292 (grub_cmd_cpuid): Return real error.
20293 (GRUB_MOD_INIT(cpuid)): Declare options.
20294
67459bc6 202952009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
20298 valid.
20299
fbc6ab54 203002009-07-31 Bean <bean123ch@gmail.com>
20301
20302 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
20303 log2_inode.
20304 (grub_fshelp_node): Move inode field to the end.
20305 (grub_xfs_data): Remove inode field.
20306 (grub_xfs_inode_block): Calculate inode size using sblock.
20307 (grub_xfs_inode_offset): Likewise.
20308 (grub_xfs_read_inode): Calculate inode size using sblock.
20309 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20310 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20311 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20312 to match inode size.
20313 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20314 not accessible when data is null.
20315 (grub_xfs_open): Likewise.
20316
f45d6cfc 203172009-07-31 Bean <bean123ch@gmail.com>
20318
20319 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20320 Don't change pv->disk if it's already set.
20321
20322 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20323 (grub_raid_register): ... here.
20324 (grub_raid_rescan): Removed.
20325
20326 * include/grub/raid.h (grub_raid_rescan): Removed.
20327
20328 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20329 (fstest): Replace grub_raid_rescan with module fini function followed
20330 by init function.
20331
20332 * util/grub-probe.c: Add include file <grub/raid.h>.
20333 (probe_raid_level): New function.
20334 (probe): Detect abstraction by walking the disk device, support two
20335 level of abstraction (LVM on RAID) when detecting partition map.
20336
24443b5a 203372009-07-31 Pavel Roskin <proski@gnu.org>
20338
20339 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20340 to grub_zalloc(), it was erroneous.
20341 Reported by Bean <bean123ch@gmail.com>
20342
a275d9e7 203432009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 20346 embedding zone, not only the first one.
a275d9e7 20347
56c5a47f 203482009-07-29 Joe Auricchio <jauricchio@gmail.com>
20349
20350 * term/gfxterm.c (clear_char): New function.
20351 (grub_virtual_screen_setup): Use clear_char.
20352 (scroll_up): Likewise.
20353 (grub_virtual_screen_cls): Likewise.
20354
67bb323a 203552009-07-29 Felix Zielcke <fzielcke@z-51.de>
20356
20357 * util/deviceiter.c (get_acceleraid_disk_name): New static
20358 function.
20359 (grub_util_iterate_devices): Handle Accelraid devices.
20360 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20361
388a7c75 203622009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20363
20364 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20365 separator for the suggested gfxpayload string (';' collides with the
20366 parser and needs escaping).
20367
3bb7abcf 203682009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20371 Clear direction flag before jumping to OS.
20372 (grub_multiboot2_real_boot): Likewise.
20373
2ddd36d7 203742009-07-28 Felix Zielcke <fzielcke@z-51.de>
20375
20376 * util/i386/pc/grub-install: Fix parsing of --disk-module
20377 option.
20378
c521b62b 203792009-07-28 Felix Zielcke <fzielcke@z-51.de>
20380
20381 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20382 when embedding.
20383
880e0a0c 203842009-07-26 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * util/grub-mkconfig.in (package_version): New variable.
20387 Use it do display the version.
20388
2366e356 203892009-07-25 Felix Zielcke <fzielcke@z-51.de>
20390
20391 * kern/file.c (grub_file_open): Revert to previous check with
20392 grub_errno.
20393
7ad8c80e 203942009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20397 from help line. It's out of sync with code.
20398
72b9658b 203992009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20402 entries on failed boot.
20403
77435277 204042009-07-25 Felix Zielcke <fzielcke@z-51.de>
20405
20406 * kern/file.c (grub_file_open): Fix an error check.
20407
fcaa8b21 204082009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20409
35d16c74 20410 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20411 partition map couldn't be identified.
fcaa8b21 20412
48904cd1 204132009-07-23 Pavel Roskin <proski@gnu.org>
20414
ef3c317f 20415 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20416 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20417 case of little endian words becomes just an optimization.
20418 Respect const modifier.
ad8ea1f4 20419 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20420
48904cd1 20421 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20422 to avoid loss of upper bits if align is unsigned and shorter
20423 than addr.
20424
260c9a89 204252009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 UUID support for UFS
20428
20429 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20430 (grub_ufs_uuid): New function.
20431 (grub_ufs_fs): add .uuid
20432
f76ce889 204332009-07-21 Pavel Roskin <proski@gnu.org>
20434
20435 * kern/dl.c (grub_dl_check_header): Make static.
20436
6a6cbcaf 204372009-07-21 Felix Zielcke <fzielcke@z-51.de>
20438
20439 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20440 add drivemap for Vista. It breaks Windows 7.
20441
cffcddb2 204422009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20445 128 bytes
20446
1ef44b80 204472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 Add BFS support
20450
20451 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20452 (grub_fstest_SOURCES): Likewise.
20453 (pkglib_MODULES): Add befs.mod.
20454 (befs_mod_SOURCES): New variable.
20455 (befs_mod_CFLAGS): Likewise.
20456 (befs_mod_LDFLAGS): Likewise.
20457 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20458 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20459 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20460 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20461 (grub_setup_SOURCES): Likewise.
20462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20464 (grub_setup_SOURCES): Likewise.
20465 * fs/befs.c: New file.
20466 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20467 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20468 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20469 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20470 (B_KEY_INDEX_ALIGN): New declaration.
20471 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20472 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20473 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20474 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20475 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20476 (grub_afs_mount) [MODE_BFS]: Likewise.
20477 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20478 (grub_afs_fs): Use GRUB_AFS_FSNAME
20479 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20480 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20481 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20482 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20483
4f253044 204842009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20485
20486 * util/getroot.c (find_root_device): Add support for MacOSX.
20487 * util/hostdisk.c: Likewise.
20488
57a55913 204892009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * font/font.c (find_glyph): Check whether a font is present to avoid
20492 segmentation fault.
75421ca9 20493
204942009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20495
20496 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20497
e98cd0c2 204982009-07-20 Pavel Roskin <proski@gnu.org>
20499
20500 * configure.ac: Trim excessively wordy excuses.
20501
1d2d169a 205022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 Add symlink, mtime and label support to AtheFS.
20505
20506 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20507 (grub_afs_iterate_dir): Handle symlinks.
20508 (grub_afs_open): Use grub_afs_read_symlink.
20509 (grub_afs_dir): Likewise.
20510 Pass mtime.
20511 (grub_afs_label): New function.
20512 (grub_afs_fs): Add grub_afs_label.
20513 (grub_afs_read_symlink): New function.
20514
186f3189 205152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 Fix AtheFS support.
20518
20519 * fs/afs.c: Fix comments style.
20520 (grub_afs_blockrun): Declare as packed.
20521 (grub_afs_datastream): Likewise.
20522 (grub_afs_bnode): Likewise.
20523 (grub_afs_btree): Likewise.
20524 (grub_afs_sblock): Likewise.
20525 Declare `name' as char.
20526 (grub_afs_inode): Declare as packed.
20527 Change void *vnode to grub_uint32_t unused.
20528 (grub_afs_iterate_dir): Check that key_size is positive.
20529 (grub_afs_mount): Don't read superblock twice.
75421ca9 20530 (grub_afs_dir): Don't free node in case of error,
186f3189 20531 grub_fshelp_find_file already handles this.
20532 (grub_afs_open): Likewise.
20533
5680109e 205342009-07-19 Pavel Roskin <proski@gnu.org>
20535
20536 * Makefile.in: Remove LIBLZO and enable_lzo.
20537 * conf/i386-pc.rmk: Remove lzo support.
20538 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20539 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20540 support.
20541 * kern/i386/pc/lzo1x.S: Remove.
20542 * kern/i386/pc/startup.S: Remove lzo support.
20543 * util/i386/pc/grub-mkimage.c: Likewise.
20544
ac70fa32 205452009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20548 * fs/xfs.c (grub_xfs_dir): Likewise.
20549 * fs/afs.c (grub_afs_dir): Likewise.
20550 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20551 (grub_iso9660_open): Likewise.
20552 * fs/jfs.c (grub_jfs_open): Likewise.
20553 * fs/ext2.c (grub_ext2_dir): Likewise.
20554 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20555 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20556
eab58da2 205572009-07-16 Pavel Roskin <proski@gnu.org>
20558
d2838156 20559 * configure.ac: Never add "-c" to CFLAGS.
20560
55c70904 20561 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20562
43e6200c 20563 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20564 grub_cv_cc_efiemu should be used.
20565
ce7a733d 20566 * configure.ac: Typo fixes.
20567
eab58da2 20568 * kern/mm.c (grub_zalloc): New function.
20569 (grub_debug_zalloc): Likewise.
20570 * include/grub/mm.h: Declare grub_zalloc() and
20571 grub_debug_zalloc().
20572 * util/misc.c (grub_zalloc): New function.
20573 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20574 instead of grub_malloc(), remove unneeded initializations.
20575 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20576 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20577 * commands/parttool.c (grub_cmd_parttool): Likewise.
20578 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20579 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20580 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20581 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20582 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20583 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20584 (grub_cmd_efiemu_pnvram): Likewise.
20585 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20586 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20587 (grub_iso9660_iterate_dir): Likewise.
20588 * fs/jfs.c (grub_jfs_opendir): Likewise.
20589 * fs/ntfs.c (list_file): Likewise.
20590 (grub_ntfs_mount): Likewise.
20591 * kern/disk.c (grub_disk_open): Likewise.
20592 * kern/dl.c (grub_dl_load_core): Likewise.
20593 * kern/elf.c (grub_elf_file): Likewise.
20594 * kern/env.c (grub_env_context_open): Likewise.
20595 (grub_env_set): Likewise.
20596 (grub_env_set_data_slot): Likewise.
20597 * kern/file.c (grub_file_open): Likewise.
20598 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20599 * loader/i386/multiboot.c (grub_module): Likewise.
20600 * loader/xnu.c (grub_xnu_create_key): Likewise.
20601 (grub_xnu_create_value): Likewise.
20602 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20603 (read_config_file): Likewise.
20604 * normal/menu_entry.c (make_screen): Likewise.
20605 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20606 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20607 * script/sh/script.c (grub_script_parse): Likewise.
20608 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20609 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20610 * video/readers/png.c (grub_png_output_byte): Likewise.
20611 (grub_video_reader_png): Likewise.
20612
830afef7 206132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20614
20615 Enable all targets that can be built by default
20616
830afef7 20617 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20618 grub-mkfont and grub-fstest if they can be built
20619
ee293aee 206202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 Fix hang and segmentation fault in grub-emu-usb
20623
20624 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20625 * util/usb.c (grub_libusb_devices): likewise
20626 (grub_libusb_init): rename to ...
20627 (GRUB_MOD_INIT (libusb)):...this
20628 (grub_libusb_fini): rename to ..
20629 (GRUB_MOD_FINI (libusb)):...this
20630 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20631 * include/grub/disk.h (grub_raid_init): removed, it's useless
20632 (grub_raid_fini): likewise
20633 (grub_lvm_init): likewise
20634 (grub_lvm_fini): likewise
20635 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20636 by grub_init_all
20637
94414221 206382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 Fix libusb
20641
20642 * Makefile.in (LIBUSB): new macro
20643 * genmk.rb (Utility/print_tail): new method
20644 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20645 (top level): call util.print_tail at the end.
20646
59ade63d 206472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 Make FreeBSD accept zpool.cache
20650
20651 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20652 type is /boot/zfs/zpool.cache
20653
a58da8c7 206542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 Fix 64-bit efiemu
20657
20658 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20659 correct wrong typedef
20660 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20661
20591577 206622009-07-15 Pavel Roskin <proski@gnu.org>
20663
560ca572 20664 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20665 * kern/disk.c (struct grub_disk_cache): Likewise.
20666
e8e8e4fd 20667 * commands/probe.c (options): Typo fix.
20668
fde24e10 20669 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20670 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20671 accordingly.
20672 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20673
379c54c1 20674 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20675 the end of "Error" to make the message more readable.
20676
7bd8f5bf 20677 * boot/i386/pc/boot.S (kernel_segment): Remove.
20678 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20679 for destination.
20680
40b132c5 20681 * boot/i386/pc/boot.S (boot_version): Remove.
20682 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20683 Remove.
20684
20591577 20685 * include/grub/i386/pc/boot.h: Sort all offsets.
20686 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20687 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20688 * boot/i386/pc/boot.S: Assert location of every offset listed in
20689 include/grub/i386/pc/boot.h.
20690
2df32b2c 206912009-07-13 Pavel Roskin <proski@gnu.org>
20692
44b5d879 20693 * include/grub/i386/coreboot/machine.h: Rename
20694 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20695 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20696 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20697
17dc3751 20698 * kern/dl.c: Force native word size to suppress warnings when
20699 compiling grub-emu.
20700
2df32b2c 20701 * kern/device.c (grub_device_iterate): Change struct part_ent to
20702 hold the name, not a pointer to it. Use one grub_malloc() per
20703 partition, not two. Free partition_name if grub_malloc() fails.
20704 Set ents to NULL only before grub_partition_iterate() is called.
20705
75c59f59 207062009-07-11 Bean <bean123ch@gmail.com>
20707
20708 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20709 childname.
20710
0ae1bf88 207112009-07-10 Bean <bean123ch@gmail.com>
207122009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20713
20714 * kern/ieee1275/openfw.c (grub_children_iterate)
20715 (grub_devalias_iterate): Fix size evaluation for property or path
20716 strings, which was broken since r2132.
20717
8279cade 207182009-07-07 Pavel Roskin <proski@gnu.org>
20719
7d8a52d3 20720 * commands/search.c (search_file): Merge into ...
20721 (search_fs): ... this. Accept search type as argument.
20722 (grub_cmd_search): Pass search type to search_fs().
20723
25f9a05a 20724 * include/grub/util/console.h: New file.
20725 * util/console.c: Use it instead of grub/machine/console.h.
20726 * util/grub-emu.c: Likewise.
20727
8279cade 20728 * lib/arg.c (find_long_option): Remove.
20729 (find_long): Add `len' argument, make `s' const char *.
20730 (grub_arg_parse): Parse long options in place, not in a
20731 temporary buffer.
20732
4a11b60f 207332009-07-06 Pavel Roskin <proski@gnu.org>
20734
99f68041 20735 * commands/search.c (search_fs): Fix potential NULL pointer
20736 dereference.
20737
4a11b60f 20738 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20739 function pointer.
20740
e110f4de 207412009-07-06 Daniel Mierswa <impulze@impulze.org>
20742
20743 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20744 comparison.
20745
46eeb6a2 207462009-07-05 Pavel Roskin <proski@gnu.org>
20747
bab74958 20748 * include/grub/i386/linux.h (struct linux_kernel_params):
20749 Restore padding3, it's still needed.
20750
46eeb6a2 20751 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20752 FreeBSD.
20753 * util/osdetect.lua: Likewise.
20754
b4a1dc79 207552009-07-05 Bean <bean123ch@gmail.com>
20756
20757 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20758
20759 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20760 (grub_lua_getenv): Likewise.
20761 (grub_lua_setenv): Likewise.
20762 (save_errno): New function.
20763 (push_result): Likewise.
20764 (grub_lua_enum_device): Likewise.
20765 (grub_lua_enum_file): Likewise.
20766 (grub_lua_file_open): Likewise.
20767 (grub_lua_file_close): Likewise.
20768 (grub_lua_file_seek): Likewise.
20769 (grub_lua_file_read): Likewise.
20770 (grub_lua_file_getline): Likewise.
20771 (grub_lua_file_getsize): Likewise.
20772 (grub_lua_file_getpos): Likewise.
20773 (grub_lua_file_eof): Likewise.
20774 (grub_lua_file_exist): Likewise.
20775 (grub_lua_add_menu): Likewise.
20776
20777 * script/lua/grub_lua.h (isupper): New inline function.
20778 (islower): Likewise.
20779 (ispunct): Likewise.
20780 (isxdigit): Likewise.
20781 (strcspn): Change to normal function.
20782 (strpbkr): New function declaration.
20783 (memchr): Likewise.
20784
20785 * script/lua/grub_main.c (scan_str): New function.
20786 (strcspn): Likewise.
20787 (strpbrk): Likewise.
20788 (memchr): Likewise.
20789
20790 * script/lua/linit.c (lualibs): Enable the string library.
20791
20792 * util/osdetect.lua: New file.
20793
2da92295 207942009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20797 `capabilities' member.
20798
b2582ec9 207992009-07-02 Pavel Roskin <proski@gnu.org>
20800
20801 * genparttoollist.sh: Add missing newline at the end.
20802
32622956 208032009-07-01 Pavel Roskin <proski@gnu.org>
20804
87a7339e 20805 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20806
d23af54e 20807 * util/hostdisk.c (open_device): Remove `const' from
20808 `sysctl_size', as sysctlbyname() can change it (in this case it
20809 doesn't actually happen).
20810
c94b18a9 20811 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20812 using signed long int constants.
20813
c6cd3ef0 20814 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20815 constant to avoid a warning on FreeBSD.
20816
0df63420 20817 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20818 where it's needed.
20819
999577f1 20820 * Makefile.in: Install include/grub/machine symlink.
20821
6f41557f 20822 * Makefile.in: When installing symlinks, use "cp -fR", which
20823 works on FreeBSD and MacOSX.
20824 From Yves Blusseau <cl7m42e02@sneakemail.com>
20825
c8d22988 20826 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20827 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20828
1b96e952 20829 * util/misc.c: Move grub_reboot() and grub_halt() ...
20830 * util/grub-emu.c: ... here. Make main_env static.
20831 * include/grub/util/misc.h: Remove main_env.
20832
2ef0084d 20833 * kern/mm.c: Use correct format to print size_t.
20834
32622956 20835 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20836 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20837 * kern/powerpc/dl.c: Likewise.
20838 * kern/sparc64/dl.c: Likewise.
20839 * kern/x86_64/dl.c: Likewise.
20840
3f7f0cd0 208412009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20842
20843 Fix grub-emu build on sparc64-ieee1275.
20844
75421ca9 20845 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20847
211d06b5 208482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20849
20850 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20851 (grub_reboot, grub_halt): New functions.
20852
20853 * util/i386/pc/misc.c: Delete. Update all users.
20854 * util/sparc64/ieee1275/misc.c: Likewise.
20855 * util/powerpc/ieee1275/misc.c: Likewise.
20856
aaf53e3c 208572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20858
20859 * conf/i386.rmk (setjmp_mod_SOURCES)
20860 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20861 * conf/common.rmk (setjmp_mod_SOURCES)
20862 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20863 to use $(target_cpu).
20864 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20865 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20866 * conf/powerpc-ieee1275.rmk: Likewise.
20867 * conf/sparc64-ieee1275.rmk: Likewise.
20868
20869 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20870 $(target_cpu) for kern/$(target_cpu)/dl.c.
20871 * conf/i386-efi.rmk: Likewise.
20872 * conf/i386-ieee1275.rmk: Likewise.
20873 * conf/x86_64-efi.rmk: Likewise.
20874 * conf/i386-coreboot.rmk: Likewise.
20875 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20876 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20877 kern/$(target_cpu)/cache.S.
20878 * conf/sparc64-ieee1275.rmk: Likewise.
20879
a337130b 208802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20881
20882 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20883 type to `grub_uint8_t', and adjust `padding9' accordingly.
20884
c6fe4d53 208852009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20886
b09db61d 20887 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20888
c6fe4d53 20889 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20890 assembly in final jump, using register constraints.
20891
b09db61d 20892 (grub_linux_boot): For text mode, initialize `have_vga' using
20893 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20894
20895 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20896 right before the final jump.
20897
20898 Set `video_mode' to 0x3.
20899
20900 Document initialization of `video_page', `video_mode' and
20901 `video_ega_bx'.
20902
28333ad0 209032009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20904
20905 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20906 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20907 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20908
02164e1b 209092009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20910
20911 Fix build on Debian / sparc.
20912
20913 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20914
18b6c557 209152009-06-28 Pavel Roskin <proski@gnu.org>
20916
85f2aab6 20917 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20918 fix a warning.
20919
18b6c557 20920 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20921
ad760f81 209222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20923
20924 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20925 `err'.
20926
87a4623b 209272009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20928
20929 Revert r2338.
20930
20931 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20932 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20933 grub_errno / grub_errmsg appropriately.
87a4623b 20934 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20935
8231fb77 209362009-06-27 Pavel Roskin <proski@gnu.org>
209372009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20938
20939 * include/grub/dl.h: Include grub/elf.h.
20940 (struct grub_dl): Add symtab field.
20941 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20942 GRUB_MODULES_MACHINE_READONLY.
20943 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20944 of the header for read-only modules.
20945 (grub_dl_unload): Free mod->symtab for read-only modules.
20946 * kern/i386/dl.c: Use mod->symtab.
20947 * kern/powerpc/dl.c: Likewise.
20948 * kern/sparc64/dl.c: Likewise.
20949 * kern/x86_64/dl.c: Likewise.
20950
20951 * conf/i386-qemu.rmk: New file.
20952 * kern/i386/qemu/startup.S: Likewise.
20953 * kern/i386/qemu/mmap.c: Likewise.
20954 * boot/i386/qemu/boot.S: Likewise.
20955 * include/grub/i386/qemu/time.h: Likewise.
20956 * include/grub/i386/qemu/serial.h: Likewise.
20957 * include/grub/i386/qemu/kernel.h: Likewise.
20958 * include/grub/i386/qemu/console.h: Likewise.
20959 * include/grub/i386/qemu/boot.h: Likewise.
20960 * include/grub/i386/qemu/init.h: Likewise.
20961 * include/grub/i386/qemu/machine.h: Likewise.
20962 * include/grub/i386/qemu/loader.h: Likewise.
20963 * include/grub/i386/qemu/memory.h: Likewise.
20964
20965 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20966 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20967 [qemu] (pkglib_IMAGES): Add `boot.img'.
20968 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20969 [qemu] (boot_img_FORMAT): New variables.
20970 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20971 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20972 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20973 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20974 [qemu] (kernel_img_FORMAT): New variables.
20975
20976 * configure.ac: Recognise `i386-qemu'.
20977
20978 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20979 (for no compression).
20980 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20981 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20982 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20983 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20984 ifdefs).
20985
97fe384e 209862009-06-27 Pavel Roskin <proski@gnu.org>
20987
20988 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20989 read.
20990 * efiemu/prepare32.c: Likewise.
20991 * efiemu/prepare64.c: Likewise.
20992
c402ab17 209932009-06-26 Pavel Roskin <proski@gnu.org>
20994
20995 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20996 * include/grub/elf.h: Define symbols without "32" or "64" based
20997 on GRUB_TARGET_WORDSIZE.
20998 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20999 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
21000 ELF definitions.
21001 * efiemu/loadcore64.c: Likewise.
21002 * loader/i386/bsd32.c: Likewise.
21003 * loader/i386/bsd64.c: Likewise.
21004 * kern/dl.c: Remove own ELF definitions.
21005 * util/i386/efi/grub-mkimage.c: Likewise.
21006
9bbdfd4d 210072009-06-23 Robert Millan <rmh.grub@aybabtu.com>
21008
21009 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
21010 segment 0x0 unconditionally, because the reference generated by
21011 GAS is an absolute address.
21012
a42ce6e9 210132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21014
21015 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
21016 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
21017
c952cf92 210182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21019
21020 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
21021 indexes. Check for -f explicitly.
cc3752ad 21022 (search_file): Improve error message.
21023 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 21024
132a0a59 210252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21026
21027 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
21028 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
21029
387a140c 210302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21031
21032 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
21033 * conf/i386-ieee1275.rmk: Likewise.
21034 * conf/i386-coreboot.rmk: Likewise.
21035
21036 * kern/i386/pc/startup.S (grub_stop): Remove function.
21037 * kern/i386/ieee1275/startup.S: Likewise.
21038 * kern/i386/coreboot/startup.S: Likewise.
21039 * kern/i386/misc.S (grub_stop): New function.
21040
41da9665 210412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21042
21043 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
21044 * kern/i386/realmode.S (real_to_prot): ... to here.
21045
bf337234 210462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21047
21048 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
21049 with `kernel.img'.
21050 (kernel_elf_SOURCES): Rename to ...
21051 (kernel_img_SOURCES): ... this.
21052 (kernel_elf_HEADERS): Rename to ...
21053 (kernel_img_HEADERS): ... this. Update all users.
21054 (kernel_elf_ASFLAGS): Rename to ...
21055 (kernel_img_ASFLAGS): ... this.
21056 (kernel_elf_CFLAGS): Rename to ...
21057 (kernel_img_CFLAGS): ... this.
21058 (kernel_elf_LDFLAGS): Rename to ...
21059 (kernel_img_LDFLAGS): ... this.
21060 * conf/i386-coreboot.rmk: Likewise.
21061 * conf/powerpc-ieee1275.rmk: Likewise.
21062
21063 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
21064 with "kernel.img".
21065
f52196ff 210662009-06-21 Pavel Roskin <proski@gnu.org>
21067
c3cee413 21068 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
21069 to match nested functions.
21070 * loader/sparc64/ieee1275/linux.c: Likewise.
21071
f52196ff 21072 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
21073
58750afc 210742009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21075
21076 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
21077 all i386 platforms.
21078
15355c7d 210792009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 Fix asm file handling on ELF, and remove workarounds.
21082
21083 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 21084 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 21085 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
21086 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
21087
3f3ec72b 210882009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 Load BSD ELF modules
21091
21092 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
21093 and loader/i386/bsd64.c
21094 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
21095 (FREEBSD_MODTYPE_ELF_MODULE): New definition
21096 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
21097 (grub_freebsd_load_elfmodule32): New declaration
21098 (grub_freebsd_load_elfmoduleobj64): Likewise
21099 (grub_freebsd_load_elf_meta32): Likewise
21100 (grub_freebsd_load_elf_meta64): Likewise
21101 (grub_freebsd_add_meta): Likewise
21102 (grub_freebsd_add_meta_module): Likewise
21103 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
21104 (grub_freebsd_add_meta_module): Likewise and move module-specific
21105 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
21106 (grub_cmd_freebsd): Add elf-kernel specific parts
21107 based on grub_freebsd_add_meta_module
21108 (grub_cmd_freebsd_module): Add type parsing moved from
21109 grub_freebsd_add_meta_module
21110 (grub_cmd_freebsd_module_elf): New function
21111 (cmd_freebsd_module_elf): New variable
21112 (GRUB_MOD_INIT): Register freebsd_module_elf
21113 * loader/i386/bsd32.c: New file
21114 * loader/i386/bsd64.c: Likewise
21115 * loader/i386/bsdXX.c: Likewise
21116 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
21117 (grub_elf64_load): Likewise
21118 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
21119 All users updated
21120 (grub_elf64_load_hook_t): Likewise
21121
0db15301 211222009-06-21 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
21125 variable.
21126 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
21127 don't write a menu entry for recovery mode.
21128
546796c1 211292009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21130
21131 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
21132 after it's no longer needed.
21133
cd7310d5 211342009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21135
21136 * include/grub/i386/loader.h (grub_linux_prot_size)
21137 (grub_linux_tmp_addr, grub_linux_real_addr)
21138 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
21139 GRUB_MACHINE_PCBIOS.
21140 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
21141 common grub_util_info() call to ...
21142 (generate_image): ... here.
21143 Fix use of uninitialized memory, comparison of signed with
21144 unsigned integers and memory leak.
21145 Remove bogus module address message.
21146
ab32d3b5 211472009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
21150 grub_raid_register
21151 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
21152
024ef597 211532009-06-19 Pavel Roskin <proski@gnu.org>
21154
21155 * configure.ac: Remove stray AC_MSG_CHECKING.
21156
3ac72b51 211572009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 21160
e14cd814 211612009-06-18 Pavel Roskin <proski@gnu.org>
21162
21163 * conf/common.rmk: Add fs_file.mod.
21164 * disk/fs_file.c: New file.
21165 * include/grub/disk.h (enum grub_disk_dev_id): Add
21166 GRUB_DISK_DEVICE_FILE_ID.
21167
26586d98 211682009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 Fix build with Apple's toolchain. Part 2
21171
21172 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
21173 a fake start
21174
26de2bcd 211752009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 Fix build with Apple's toolchain. Part 1
21178
21179 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
21180 for long calls
21181 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 21182 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 21183 Apple's toolchain
21184
09b3490b 211852009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Fix warnings
21188
21189 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
21190 (decomp_block): initialize ch
21191 use grub_memcpy instead of memcpy
21192
c22a006a 211932009-06-17 Pavel Roskin <proski@gnu.org>
21194
d3638678 21195 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
21196 version, use declarations needed to use vga_text as the startup
21197 console.
21198
c22a006a 21199 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
21200 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
21201 the kernel.
21202 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
21203 and grub_at_keyboard_fini(), it's done on module load and
21204 unload.
21205
05b129e0 212062009-06-17 Felix Zielcke <fzielcke@z-51.de>
21207
21208 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
21209 file can't be found.
21210 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21211
cf24ed9e 212122009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 Fix newline handling
21215
21216 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 21217 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 21218 (grub_script_yylex): don't segfault on unterminated script
21219 newline terminates command and variable
21220
74aa8e4b 212212009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 avoid double grub_adjust_range call. Bug reported by David Simner
21224
21225 * kern/disk.c (grub_disk_write): change to raw disk access before
21226 calling disk_read
21227
1bd265f3 212282009-06-17 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
21231 spaces, for the benefit of help2man.
21232 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21233
a2d08c06 212342009-06-16 Pavel Roskin <proski@gnu.org>
21235
21236 * kern/i386/halt.c: Include grub/machine/init.h.
21237 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
21238
b97bcb19 212392009-06-16 Felix Zielcke <fzielcke@z-51.de>
21240
21241 * util/grub.d/30_os-prober.in: Use ${root} in the generated
21242 drivemap menuentry.
21243
0644f96c 212442009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
21245
21246 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
21247 `echo' command.
21248
3ef17a2e 212492009-06-16 Pavel Roskin <proski@gnu.org>
21250
21251 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
21252 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
21253 save %dx, we only need %dl and we never change it.
21254 * boot/i386/pc/cdboot.S: Don't set the root drive.
21255 * boot/i386/pc/pxeboot.S: Likewise.
21256 * include/grub/i386/pc/boot.h: Remove
21257 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
21258 GRUB_BOOT_MACHINE_DRIVE_CHECK.
21259 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
21260 * kern/i386/pc/init.c (make_install_device): Remove references
21261 to grub_root_drive.
21262 * kern/i386/pc/startup.S: Likewise.
21263 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
21264
693fe637 212652009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21266
21267 xnu_uuid command
21268
21269 * commands/xnu_uuid.c: new file
21270 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
21271 (xnu_uuid_mod_SOURCES): new variable
21272 (xnu_uuid_mod_CFLAGS): likewise
21273 (xnu_uuid_mod_LDFLAGS): likewise
21274 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21275 * conf/i386-ieee1275.rmk: likewise
21276 * conf/i386-pc.rmk: likewise
21277 * conf/powerpc-ieee1275.rmk: likewise
21278 * conf/sparc64-ieee1275.rmk: likewise
21279 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
21280
c9da87d0 212812009-06-16 Pavel Roskin <proski@gnu.org>
21282
21283 * configure.ac: Avoid '==' in test command, it's not portable.
21284
9c6f4596 212852009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 Probe command
21288
21289 * commands/probe.c: new file
21290 * conf/common.rmk (pkglib_MODULES): add probe.mod
21291 (probe_mod_SOURCES): new variable
21292 (probe_mod_CFLAGS): likewise
21293 (probe_mod_LDFLAGS): likewise
21294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21295 * conf/i386-ieee1275.rmk: likewise
21296 * conf/i386-pc.rmk: likewise
21297 * conf/powerpc-ieee1275.rmk: likewise
21298 * conf/sparc64-ieee1275.rmk: likewise
21299
70b7f9fd 213002009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 Fix handling of string like \"hello\" and "a
21303 b"
21304
21305 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
21306 (grub_script_yylex): fix parsing of quoting, escaping and newline
21307
71c79a6b 213082009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21309
dd74360c 21310 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 21311 handling
dd74360c 21312
0644f96c 213132009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 21314
21315 * util/grub-mkconfig.in: Fix parsing of --output option.
21316
e40893c3 213172009-06-12 Pavel Roskin <proski@gnu.org>
21318
21319 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21320 genmk.rb don't need to be generated or installed.
21321
3a1acfe2 213222009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 * commands/i386/pc/drivemap_int13h.S: add more comments
21325
3a4575d4 213262009-06-11 Pavel Roskin <proski@gnu.org>
21327
0658e928 21328 * Makefile.in (uninstall): Uninstall manuals.
21329
ca0388f0 21330 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21331 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21332 and update-grub_lib in two places.
21333 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21334
e3b27c39 21335 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21336 a compiler warning.
21337
3a4575d4 21338 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21339 `entry_lo' to fix variable shadowing.
21340
af1f4f55 213412009-06-11 Christian Franke <franke@computer.org>
21342
21343 * kern/misc.c (__enable_execute_stack): Add missing return type
21344 to prevent gcc warning.
21345
5225e649 213462009-06-11 Felix Zielcke <fzielcke@z-51.de>
21347
21348 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21349
7d83bd47 213502009-06-11 Pavel Roskin <proski@gnu.org>
21351
c1cb63ba 21352 * Makefile.in: Don't rely on any scripts being executable.
21353 Always use $(SHELL) to run shell scripts.
21354
7d83bd47 21355 * configure.ac: Always define ___main if using -nostdlib. This
21356 fixes tests on Cygwin.
21357
948f48e7 213582009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21359
21360 UDF fix
21361
7d83bd47 21362 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 21363 is in bytes and not in blocks
7d83bd47 21364
8ada9bc1 213652009-06-11 Pavel Roskin <proski@gnu.org>
21366
21367 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21368 warning.
21369
25ad2323 213702009-06-11 Felix Zielcke <fzielcke@z-51.de>
21371
21372 * util/grub.d/30_os-prober.in: Fix a comment. Source
21373 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21374 to set the root device. Place drivemap command in the generated
21375 chain entry.
21376
e65acb0c 213772009-06-11 Pavel Roskin <proski@gnu.org>
21378
21379 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21380 have long been resolved.
21381
f285fe2d 213822009-06-11 Colin Watson <cjwatson@ubuntu.com>
21383
bd47b0b5 21384 * util/grub.d/10_linux.in: Capitalise "Linux".
21385
f285fe2d 21386 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21387
a0c62e4e 213882009-06-11 Pavel Roskin <proski@gnu.org>
21389
b6783cb2 21390 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21391 fix a gcc warning and ensure that the function won't ever exit.
21392
dde032e8 21393 * kern/i386/ieee1275/init.c: Add missing prototype for
21394 grub_stop_floppy().
21395
22cd079d 21396 * loader/ieee1275/multiboot2.c [__i386__]: Include
21397 grub/cpu/multiboot.h.
21398
a0c62e4e 21399 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21400 casts to short - they are not portable and cause warnings. Fix
21401 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21402
63963d17 214032009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 Drivemap fixes
21406
21407 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21408 new function
21409 (grub_get_root_biosnumber_saved): new variable
21410 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21411 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 21412 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 21413 %dx after the call if necessary
21414 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21415 (boot_mod_SOURCES): remove
21416 (boot_mod_CFLAGS): remove
21417 (boot_mod_LDFLAGS): remove
21418 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21419 (boot_mod_SOURCES): new variable
21420 (boot_mod_CFLAGS): likewise
21421 (boot_mod_LDFLAGS): likewise
21422 * conf/i386-efi.rmk: likewise
21423 * conf/i386-ieee1275.rmk: likewise
21424 * conf/i386-pc.rmk: likewise
21425 * conf/powerpc-ieee1275.rmk: likewise
21426 * conf/sparc64-ieee1275.rmk: likewise
21427 * conf/x86_64-efi.rmk: likewise
21428 * include/grub/i386/pc/biosnum.h: new file
21429 * lib/i386/pc/biosnum.c: likewise
21430 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21431 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21432 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21433
33abf7ae 214342009-06-10 Pavel Roskin <proski@gnu.org>
21435
5ac35b35 21436 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21437 Use separate variables. Read only the file size at the end, but
21438 not the checksum that we don't use.
21439
5c5215d5 21440 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21441 Adjust all callers.
21442
27d5fef7 21443 * kern/ieee1275/openfw.c: Remove libc includes.
21444 * kern/ieee1275/cmain.c: Likewise.
21445 * include/grub/ieee1275/ieee1275.h: Likewise.
21446
33abf7ae 21447 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21448 compiler warnings.
21449
19d50c2b 214502009-06-10 Felix Zielcke <fzielcke@z-51.de>
21451
21452 * Makefile.in: Remove all trailing whitespace.
21453 * conf/i386-pc.rmk: Likewise.
21454 * conf/powerpc-ieee1275.rmk: Likewise.
21455 * conf/sparc64-ieee1275.rmk: Likewise.
21456 * docs/grub.texi: Likewise.
21457 * docs/texinfo.tex: Likewise.
21458 * disk/fs_uuid.c: Likewise.
21459 * disk/lvm.c: Likewise.
21460 * disk/scsi.c: Likewise.
21461 * disk/ata.c: Likewise.
21462 * disk/ieee1275/ofdisk.c: Likewise.
21463 * disk/i386/pc/biosdisk.c: Likewise.
21464 * disk/host.c: Likewise.
21465 * disk/raid.c: Likewise.
21466 * disk/efi/efidisk.c: Likewise.
21467 * disk/usbms.c: Likewise.
21468 * disk/memdisk.c: Likewise.
21469 * disk/loopback.c: Likewise.
21470 * kern/powerpc/dl.c: Likewise.
21471 * kern/device.c: Likewise.
21472 * kern/dl.c: Likewise.
21473 * kern/sparc64/dl.c: Likewise.
21474 * kern/ieee1275/ieee1275.c: Likewise.
21475 * kern/term.c: Likewise.
21476 * kern/fs.c: Likewise.
21477 * kern/i386/dl.c: Likewise.
21478 * kern/i386/pc/startup.S: Likewise.
21479 * kern/i386/pc/init.c: Likewise.
21480 * kern/i386/pc/mmap.c: Likewise.
21481 * kern/i386/pc/lzo1x.S: Likewise.
21482 * kern/i386/ieee1275/init.c: Likewise.
21483 * kern/i386/realmode.S: Likewise.
21484 * kern/i386/tsc.c: Likewise.
21485 * kern/partition.c: Likewise.
21486 * kern/corecmd.c: Likewise.
21487 * kern/file.c: Likewise.
21488 * kern/efi/efi.c: Likewise.
21489 * kern/efi/init.c: Likewise.
21490 * kern/efi/mm.c: Likewise.
21491 * kern/main.c: Likewise.
21492 * kern/err.c: Likewise.
21493 * kern/env.c: Likewise.
21494 * kern/disk.c: Likewise.
21495 * kern/generic/millisleep.c: Likewise.
21496 * kern/generic/rtc_get_time_ms.c: Likewise.
21497 * kern/misc.c: Likewise.
21498 * kern/parser.c: Likewise.
21499 * genmk.rb: Likewise.
21500 * configure.ac: Likewise.
21501 * boot/i386/pc/diskboot.S: Likewise.
21502 * boot/i386/pc/pxeboot.S: Likewise.
21503 * boot/i386/pc/boot.S: Likewise.
21504 * boot/i386/pc/lnxboot.S: Likewise.
21505 * boot/i386/pc/cdboot.S: Likewise.
21506 * parttool/pcpart.c: Likewise.
21507 * video/readers/tga.c: Likewise.
21508 * video/video.c: Likewise.
21509 * video/bitmap.c: Likewise.
21510 * lib/envblk.c: Likewise.
21511 * lib/i386/setjmp.S: Likewise.
21512 * fs/xfs.c: Likewise.
21513 * fs/afs.c: Likewise.
21514 * fs/fat.c: Likewise.
21515 * fs/ntfs.c: Likewise.
21516 * fs/udf.c: Likewise.
21517 * fs/affs.c: Likewise.
21518 * fs/iso9660.c: Likewise.
21519 * fs/hfs.c: Likewise.
21520 * fs/fshelp.c: Likewise.
21521 * fs/ext2.c: Likewise.
21522 * fs/jfs.c: Likewise.
21523 * fs/reiserfs.c: Likewise.
21524 * fs/hfsplus.c: Likewise.
21525 * fs/minix.c: Likewise.
21526 * fs/cpio.c: Likewise.
21527 * fs/sfs.c: Likewise.
21528 * fs/ufs.c: Likewise.
21529 * efiemu/prepare.c: Likewise.
21530 * efiemu/loadcore_common.c: Likewise.
21531 * efiemu/runtime/efiemu.sh: Likewise.
21532 * efiemu/runtime/efiemu.S: Likewise.
21533 * efiemu/runtime/efiemu.c: Likewise.
21534 * efiemu/pnvram.c: Likewise.
21535 * efiemu/main.c: Likewise.
21536 * efiemu/i386/pc/cfgtables.c: Likewise.
21537 * efiemu/i386/loadcore64.c: Likewise.
21538 * efiemu/i386/loadcore32.c: Likewise.
21539 * efiemu/loadcore.c: Likewise.
21540 * efiemu/symbols.c: Likewise.
21541 * efiemu/mm.c: Likewise.
21542 * include/grub/autoefi.h: Likewise.
21543 * include/grub/datetime.h: Likewise.
21544 * include/grub/term.h: Likewise.
21545 * include/grub/hfs.h: Likewise.
21546 * include/grub/lvm.h: Likewise.
21547 * include/grub/i386/tsc.h: Likewise.
21548 * include/grub/i386/linux.h: Likewise.
21549 * include/grub/i386/xnu.h: Likewise.
21550 * include/grub/i386/efiemu.h: Likewise.
21551 * include/grub/i386/pc/biosdisk.h: Likewise.
21552 * include/grub/i386/pc/memory.h: Likewise.
21553 * include/grub/i386/pc/vbe.h: Likewise.
21554 * include/grub/parttool.h: Likewise.
21555 * include/grub/video.h: Likewise.
21556 * include/grub/memory.h: Likewise.
21557 * include/grub/fs.h: Likewise.
21558 * include/grub/partition.h: Likewise.
21559 * include/grub/xnu.h: Likewise.
21560 * include/grub/efi/api.h: Likewise.
21561 * include/grub/efi/pe32.h: Likewise.
21562 * include/grub/efi/memory.h: Likewise.
21563 * include/grub/multiboot.h: Likewise.
21564 * include/grub/usbdesc.h: Likewise.
21565 * include/grub/multiboot2.h: Likewise.
21566 * include/grub/acpi.h: Likewise.
21567 * include/grub/efiemu/efiemu.h: Likewise.
21568 * include/grub/disk.h: Likewise.
21569 * include/grub/ieee1275/ieee1275.h: Likewise.
21570 * include/grub/net.h: Likewise.
21571 * include/grub/machoload.h: Likewise.
21572 * include/grub/macho.h: Likewise.
21573 * include/multiboot.h: Likewise.
21574 * genmoddep.awk: Likewise.
21575 * normal/main.c: Likewise.
21576 * normal/menu_entry.c: Likewise.
21577 * normal/menu_viewer.c: Likewise.
21578 * normal/completion.c: Likewise.
21579 * normal/cmdline.c: Likewise.
21580 * normal/misc.c: Likewise.
21581 * normal/datetime.c: Likewise.
21582 * bus/usb/usbtrans.c: Likewise.
21583 * bus/usb/ohci.c: Likewise.
21584 * bus/usb/uhci.c: Likewise.
21585 * bus/usb/usb.c: Likewise.
21586 * mmap/efi/mmap.c: Likewise.
21587 * mmap/i386/pc/mmap_helper.S: Likewise.
21588 * mmap/i386/pc/mmap.c: Likewise.
21589 * mmap/i386/mmap.c: Likewise.
21590 * mmap/i386/uppermem.c: Likewise.
21591 * mmap/mmap.c: Likewise.
21592 * commands/acpi.c: Likewise.
21593 * commands/echo.c: Likewise.
21594 * commands/blocklist.c: Likewise.
21595 * commands/loadenv.c: Likewise.
21596 * commands/usbtest.c: Likewise.
21597 * commands/boot.c: Likewise.
21598 * commands/parttool.c: Likewise.
21599 * commands/search.c: Likewise.
21600 * commands/cat.c: Likewise.
21601 * commands/i386/pc/play.c: Likewise.
21602 * commands/i386/pc/drivemap.c: Likewise.
21603 * commands/i386/pc/vbeinfo.c: Likewise.
21604 * commands/i386/pc/acpi.c: Likewise.
21605 * commands/i386/pc/vbetest.c: Likewise.
21606 * commands/ls.c: Likewise.
21607 * commands/cmp.c: Likewise.
21608 * commands/test.c: Likewise.
21609 * commands/efi/acpi.c: Likewise.
21610 * commands/gptsync.c: Likewise.
21611 * commands/help.c: Likewise.
21612 * partmap/amiga.c: Likewise.
21613 * partmap/apple.c: Likewise.
21614 * partmap/acorn.c: Likewise.
21615 * partmap/pc.c: Likewise.
21616 * partmap/sun.c: Likewise.
21617 * partmap/gpt.c: Likewise.
21618 * script/sh/lexer.c: Likewise.
21619 * script/sh/function.c: Likewise.
21620 * font/font.c: Likewise.
21621 * font/font_cmd.c: Likewise.
21622 * loader/powerpc/ieee1275/linux.c: Likewise.
21623 * loader/efi/chainloader.c: Likewise.
21624 * loader/multiboot_loader.c: Likewise.
21625 * loader/macho.c: Likewise.
21626 * loader/i386/multiboot.c: Likewise.
21627 * loader/i386/linux.c: Likewise.
21628 * loader/i386/pc/linux.c: Likewise.
21629 * loader/i386/pc/multiboot2.c: Likewise.
21630 * loader/i386/pc/chainloader.c: Likewise.
21631 * loader/i386/pc/xnu.c: Likewise.
21632 * loader/i386/bsd_trampoline.S: Likewise.
21633 * loader/i386/efi/linux.c: Likewise.
21634 * loader/i386/multiboot_elfxx.c: Likewise.
21635 * loader/i386/bsd_helper.S: Likewise.
21636 * loader/i386/bsd.c: Likewise.
21637 * loader/i386/linux_trampoline.S: Likewise.
21638 * loader/i386/xnu_helper.S: Likewise.
21639 * loader/i386/xnu.c: Likewise.
21640 * loader/i386/bsd_pagetable.c: Likewise.
21641 * loader/i386/multiboot_helper.S: Likewise.
21642 * loader/xnu.c: Likewise.
21643 * loader/xnu_resume.c: Likewise.
21644 * io/gzio.c: Likewise.
21645 * term/efi/console.c: Likewise.
21646 * term/terminfo.c: Likewise.
21647 * term/ieee1275/ofconsole.c: Likewise.
21648 * term/i386/pc/serial.c: Likewise.
21649 * term/i386/pc/vesafb.c: Likewise.
21650 * term/i386/pc/vga.c: Likewise.
21651 * term/usb_keyboard.c: Likewise.
21652 * term/gfxterm.c: Likewise.
21653 * aclocal.m4: Likewise.
21654 * util/lvm.c: Likewise.
21655 * util/grub.d/30_os-prober.in: Likewise.
21656 * util/grub.d/10_hurd.in: Likewise.
21657 * util/console.c: Likewise.
21658 * util/grub-macho2img.c: Likewise.
21659 * util/grub-probe.c: Likewise.
21660 * util/hostfs.c: Likewise.
21661 * util/i386/pc/grub-mkimage.c: Likewise.
21662 * util/i386/pc/grub-setup.c: Likewise.
21663 * util/i386/efi/grub-mkimage.c: Likewise.
21664 * util/grub-mkconfig.in: Likewise.
21665 * util/raid.c: Likewise.
21666 * util/resolve.c: Likewise.
21667 * util/grub-mkdevicemap.c: Likewise.
21668 * util/grub-emu.c: Likewise.
21669 * util/getroot.c: Likewise.
21670 * util/hostdisk.c: Likewise.
21671 * util/usb.c: Likewise.
21672 * util/grub-editenv.c: Likewise.
21673 * util/misc.c: Likewise.
21674
d2d49665 216752009-06-10 Felix Zielcke <fzielcke@z-51.de>
21676
21677 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21678 `genparttoollist.sh'.
21679 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21680 Add `*.sh' to the list find searches for and change `mdate.sh'
21681 to `mdate-sh'.
21682
fe052e37 216832009-06-10 Pavel Roskin <proski@gnu.org>
21684
2763ac18 21685 * include/grub/multiboot2.h: Provide compatibility defines for
21686 multiboot2.h.
21687 * include/multiboot2.h: Include stdint.h only if needed, using
21688 angle brackets.
21689 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21690 grub/multiboot2.h.
21691 * loader/ieee1275/multiboot2.c: Likewise.
21692 * loader/multiboot2.c: Likewise.
21693 * loader/multiboot_loader.c: Likewise.
21694
437e6adc 21695 * configure.ac: Use -nostdlib when probing for the target. It
21696 should not be required to have libc for the target.
21697
06a6836c 21698 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21699 they fail without libc headers for the target.
21700 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21701 exports.
21702 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21703 preprocessor conditionals.
21704
fe052e37 21705 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21706 build system doesn't need to be aware of the tar.c internals.
21707
afd22553 217082009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21709
afd22553 21710 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21711
6b787c4f 217122009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21713
21714 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21715 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21716
217172009-06-09 Felix Zielcke <fzielcke@z-51.de>
21718
21719 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21720 aren't available if ata.mod gets used.
6b787c4f 21721
473d1e45 217222009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21723
473d1e45 21724 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21725 initialising controller.
473d1e45 21726 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21727
255a27d4 217282009-06-08 Felix Zielcke <fzielcke@z-51.de>
21729
21730 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21731 to choose between ata and biosdisk module on i386-pc.
21732
473d1e45 217332009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21734
d55842d8 21735 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21736 Subclass and Programming Interface fields in terms of the 3 byte
21737 Class Code register.
21738 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21739
fa5db0b1 21740 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21741 interface is OHCI. Add grub_dprintf for symmetry with
21742 bus/usb/uhci.c.
21743 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21744 interface is UHCI. Add interf variable for programming
21745 interface. Print interface with class/subclass.
21746
c0947beb 21747 * bus/usb/ohci.c: Set interf with correct field.
21748
69da8877 21749 * bus/usb/uhci.c: Remove unneeded doubled lines.
21750 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21751 Remove whitespace inside comment.
21752
9e172e30 217532009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21754
21755 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21756 as fallback an equivalent option without depth.
21757
de65ee2b 217582009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 Not fail if unable to retrieve C/H/S on LBA disks
21761
473d1e45 21762 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21763 if unable to retrieve C/H/S on LBA disks
21764
b57ea2c9 217652009-06-08 Pavel Roskin <proski@gnu.org>
21766
21767 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21768 about aliasing.
21769
af361263 217702009-06-08 Felix Zielcke <fzielcke@z-51.de>
21771
21772 * Makefile.in (uninstall): Remove all $lib_DATA files.
21773
4c9ec6b3 217742009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 Bugfix: install on partitionless device
21777
21778 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21779 is a whole disk
21780
e76fc924 217812009-06-08 Felix Zielcke <fzielcke@z-51.de>
21782
21783 * Makefile.in (uninstall): Remove all $include_DATA files.
21784
ba5a0d05 217852009-06-08 Felix Zielcke <fzielcke@z-51.de>
21786
21787 * commands/true.c: New file. Implement the true and false commands.
21788 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21789 (true_mod_SOURCES): New variable.
21790 (true_mod_CFLAGS): Likewise.
21791 (true_mod_LDFLAGS): Likewise.
21792
c8048e32 217932009-06-05 Colin D Bennett <colin@gibibit.com>
21794
21795 Optimized font character lookup using binary search instead of linear
21796 search. Fonts now are required to have the character index ordered by
21797 code point.
21798
21799 * font/font.c (load_font_index): Verify that fonts have ordered
21800 character indices.
21801 (find_glyph): Use binary search instead of linear search to find a
21802 character in a font.
21803
408305be 218042009-06-05 Michael Scherer <misc@mandriva.org>
21805
21806 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21807 uses case sensitive btree.
21808 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21809 only for case insensitive filesystems.
21810
8ee1e0d9 218112009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21814 * conf/common.rmk (search_mod_CFLAGS): likewise
21815
a9966eb1 218162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21817
473d1e45 21818 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21819 compensate a compiler bug
21820
9e7100fb 218212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21822
473d1e45 21823 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21824 instead of '\b'
473d1e45 21825
ede21d71 218262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21827
21828 Definitions for creating asm symbols with Apple's CC
21829
21830 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21831 [APPLE_CC] (VARIABLE): likewise
21832
9dbf7653 218332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 Disable lnxboot.img when compiled
21836 with Apple's CC
21837
21838 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21839 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21840 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21841 [! APPLE_CC] (CODE_LENG): skip
21842 [! APPLE_CC] (setup_sects): likewise
21843 [! APPLE_CC]: skip filling
473d1e45 21844
e93cdc3d 218452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 Address in trampolines based on 32-bit registers when compiled
21848 with Apple's CC
21849
473d1e45 21850 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21851 for addresses
21852 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21853
6c688477 218542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21857
21858 * kern/misc.c [APPLE_CC] (memcpy): new function
21859 [APPLE_CC] (memmove): likewise
21860 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21861 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21862 (memset): likewise
21863 (abort): likewise
21864 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21865 APPLE_CC are defined
21866 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21867 (grub_assert_fail): make prototype conditional
21868
e37ffc5c 218692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21872
473d1e45 21873 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21874 grub-macho2img
e37ffc5c 21875 (CLEANFILES): add grub-macho2img
21876 (grub_macho2img_SOURCES): new variable
21877 * kern/i386/pc/startup.S (bss_start): new variable
21878 (bss_end): likewise
21879 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21880 * util/grub-macho2img.c: new file
21881
cf00df31 218822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 Use objconv when compiling with Apple's CC
21885
21886 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21887 (efiemu64.o): likewise
21888 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21889 when compiling with Apple's CC
21890 (efiemu64_s.o): likewise
21891 * configure.ac: check for objconv when compiling with Apple's CC
21892 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21893
d119a20c 218942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 Define segment as well as section when compiling with
21897 Apple's CC
21898
21899 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21900 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21901 (efiemu_convert_pointer): likewise
21902 (efiemu_set_virtual_address_map): likewise
21903 (efiemu_convert_pointer): likewise
21904 (efiemu_getcrc32): likewise
21905 (init_crc32_table): likewise
21906 (reflect): likewise
21907 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21908 (GRUB_MOD_DEP): likewise
473d1e45 21909
c8600122 219102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Allow a compilation without -mcmodel=large
21913
21914 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21915 when compiled without -mcmodel=large
473d1e45 21916 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21917 without -mcmodel=large
473d1e45 21918 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21919 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21920
e8df1d4e 219212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21922
21923 Remove nested functions in efiemu core
21924
21925 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21926
cc6c3ac1 219272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21930
21931 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21932 temporary storage
473d1e45 21933 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21934 using Apple's CC
cc6c3ac1 21935 (grub_cpu_is_tsc_supported): likewise
21936 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21937
3e325901 219382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 Absolute addressing through constant with Apple's cc
21941
21942 * kern/i386/pc/startup.S: Define necessary constants
21943 and address through it when using ABS with Apple's CC
21944 * boot/i386/pc/diskboot.S: likewise
21945 * boot/i386/pc/boot.S: likewise
21946 * boot/i386/pc/lnxboot.S: likewise
21947 * boot/i386/pc/cdboot.S: likewise
21948 * mmap/i386/pc/mmap_helper.S: likewise
21949 * commands/i386/pc/drivemap_int13h.S: likewise
21950
2b167a72 219512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 Check if compiler is apple cc
21954
21955 * Makefile.in (ASFLAGS): new variable
21956 (TARGET_ASFLAGS): likewise
21957 (TARGET_MODULE_FORMAT): likewise
21958 (TARGET_APPLE_CC): likewise
21959 (OBJCONV): likewise
21960 (TARGET_IMG_CFLAGS): likewise
21961 (TARGET_CPPFLAGS): add includedir
21962 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21963 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21964 Check for linker script only if compiler isn't Apple's CC
21965 (TARGET_MODULE_FORMAT): set
21966 (TARGET_APPLE_CC): likewise
21967 (TARGET_ASFLAGS): likewise
21968 (ASFLAGS): likewise
21969 Check for objcopy only if compiler isn't Apple's CC
21970 Check for BSS symbol only if compiler isn't Apple's CC
21971 * genmk.rb: adapt nm options if we use Apple's utils
21972 * aclocal.m4 (grub_apple_cc): new test
21973 (grub_apple_target_cc): likewise
473d1e45 21974
fb14123e 219752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21976
21977 Simplify sed expressions and improve awk
21978
21979 * Makefile.in (install-local): simplify sed expression
21980 * gencmdlist.sh: likewise
21981 * genmoddep.awk: avoid adding module as a dependency of itself
21982
5b889789 219832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 Add missing start symbols
21986
21987 * boot/i386/pc/boot.S: add start
fb14123e 21988 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21989
fd2bf2e3 219902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21993
21994 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21995 (relocate_addresses): consider both r_addend and value at offset
21996 (make_mods_section): zerofill modinfo and header
21997 (convert_elf): write prefix here
473d1e45 21998
5389763d 219992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 Use .asciz instead of .string
22002
22003 * i386/pc/diskboot.S: use .asciz instead of .string
22004 * i386/pc/boot.S: likewise
22005 * include/grub/dl.h (GRUB_MOD_DEP): likewise
22006 (GRUB_MOD_NAME): likewise
473d1e45 22007
3eb5ed4e 220082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 gfxpayload support
22011
22012 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
22013 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
22014 (grub_video_setup): remove
22015 (grub_video_set_mode): new prototype
22016 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
22017 (vid_mode): remove
22018 (linux_vesafb_res): compile only on PCBIOS
22019 (grub_linux_boot): support gfxpayload
22020 * loader/i386/pc/xnu.c (video_hook): new function
22021 (grub_xnu_set_video): support gfxpayload
22022 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
22023 (DEFAULT_VIDEO_HEIGHT): likewise
22024 (DEFAULT_VIDEO_FLAGS): likewise
22025 (DEFAULT_VIDEO_MODE): new definition
22026 (video_hook): new function
22027 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 22028 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 22029 loading xnu
22030 * video/video.c (grub_video_setup): removed
473d1e45 22031 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 22032 grub_video_setup
22033
4b0e1143 220342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 Avoid calling biosdisk in drivemap
22037
22038 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
22039 (revparse_biosdisk): likewise
22040 (list_mappings): derive name from id directly
22041 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 22042
fda6cb98 220432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 Script fixes
22046
22047 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
22048 (grub_lexer_param): add tokenonhold
22049 (grub_script_create_cmdline): remove cmdline. All callers updated
22050 (grub_script_function_create): make functionname
22051 grub_script_arg. All callers updated
22052 (grub_script_execute_argument_to_string): new prototype
22053 * kern/parser.c (state_transitions): reorder
22054 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 22055 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 22056 make global
22057 (grub_script_execute_cmdline): use new format
22058 * script/sh/function.c (grub_script_function_create): make functionname
22059 grub_script_arg. All callers updated
473d1e45 22060 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 22061 (grub_script_yylex): remove
22062 (grub_script_yylex2): renamed to ...
22063 (grub_script_yylex): ...renamed
22064 parse the expressions like a${b}c
22065 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
22066 (GRUB_PARSER_TOKEN_VAR): remove
22067 (GRUB_PARSER_TOKEN_NAME): likewise
22068 ("if"): declare as typeless
22069 ("while"): likewise
22070 ("function"): likewise
22071 ("else"): likewise
22072 ("then"): likewise
22073 ("fi"): likewise
22074 (text): remove
22075 (argument): likewise
22076 (script): accept empty scripts and make exit on error
22077 (arguments): use GRUB_PARSER_TOKEN_ARG
22078 (function): likewise
22079 (command): move error handling to script
22080 (menuentry): move grub_script_lexer_ref before
473d1e45 22081 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 22082 argument. All callers updated
22083
f4448a07 220842009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22085
22086 Prevent GRUB from probing floppies during boot.
22087
22088 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
22089 * commands/search.c (options): Add --no-floppy.
22090 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
22091 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
22092 --no-floppy when searching for UUIDs.
22093
2bf5885a 220942009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22095
22096 Simplify the code duplication in commands/search.c.
22097
22098 * commands/search.c (search_label, search_fs_uuid): Merge into ...
22099 (search_fs): ... this. Update all users.
22100
f6fd460a 221012009-06-03 Felix Zielcke <fzielcke@z-51.de>
22102
22103 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
22104
cbb3c83e 221052009-05-28 Pavel Roskin <proski@gnu.org>
22106
57788cfd 22107 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
22108 Remove the original symlink explicitly.
22109
cbb3c83e 22110 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
22111 just one slash. That's how grub_fshelp_find_file() does it.
22112
cd0d5e30 221132009-05-26 Pavel Roskin <proski@gnu.org>
22114
f0f8bbe2 22115 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
22116 to `str'.
22117
cd0d5e30 22118 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
22119 possibly unused.
22120
8c2cab51 221212009-05-25 Christian Franke <franke@computer.org>
22122
22123 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
22124 register.
22125 (grub_atapi_identify): Add wait after drive select.
22126 (grub_ata_identify): Do more strict status register check before
22127 calling grub_atapi_identify (). Suppress error message if status
22128 register is 0x00 after command failure. Add status register
22129 check after PIO read to avoid bogus identify due to stuck DRQ.
22130 Thanks to Pavel Roskin for testing.
22131 (grub_device_initialize): Remove unsafe status register check.
22132 Thanks to 'phcoder' for problem report and patch.
22133 Prevent sign extension in debug message.
22134
230c0ad6 221352009-05-23 Colin D Bennett <colin@gibibit.com>
22136
22137 Cleaned up `include/grub/normal.h'. Grouped prototypes by
22138 definition file, and functions defined in `normal/menu.c' have had
22139 their prototypes moved to `include/grub/menu.h' for consistency.
22140
22141 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
22142 from normal.h.
22143 (grub_menu_get_entry): Likewise.
22144 (grub_menu_get_timeout): Likewise.
22145 (grub_menu_set_timeout): Likewise.
22146 (grub_menu_execute_entry): Likewise.
22147 (grub_menu_execute_with_fallback): Likewise.
22148 (grub_menu_entry_run): Likewise.
22149
22150 * include/grub/normal.h: Re-ordered and grouped function
22151 prototypes by file that the function is defined in.
22152 (grub_menu_execute_callback): Removed; moved to menu.h.
22153 (grub_menu_get_entry): Likewise.
22154 (grub_menu_get_timeout): Likewise.
22155 (grub_menu_set_timeout): Likewise.
22156 (grub_menu_execute_entry): Likewise.
22157 (grub_menu_execute_with_fallback): Likewise.
22158 (grub_menu_entry_run): Likewise.
22159 (grub_menu_addentry): Renamed from this ...
22160 (grub_normal_add_menu_entry): ... to this.
22161
22162 * normal/main.c (grub_menu_addentry): Renamed from this ...
22163 (grub_normal_add_menu_entry): ... to this.
22164
22165 * script/sh/execute.c (grub_script_execute_menuentry): Update
22166 reference to renamed grub_menu_addentry function.
22167
861f03a5 221682009-05-23 Felix Zielcke <fzielcke@z-51.de>
22169
22170 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
22171
96b1619a 221722009-05-22 Pavel Roskin <proski@gnu.org>
22173
bf6a5fb2 22174 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
22175 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
22176 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
22177 compiling for the i386 targets, but not for the utilities.
22178
96b1619a 22179 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
22180 to grub_uint8_t.
22181 (grub_root_drive): Likewise.
22182 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
22183 remove alignment.
22184 (grub_root_drive): Change size to byte.
22185 (grub_start_addr): Remove.
22186 (grub_end_addr): Likewise.
22187 (grub_apm_bios_info): Likewise.
22188
b729776b 221892009-05-21 Felix Zielcke <fzielcke@z-51.de>
22190
22191 * normal/i386: Remove.
22192 * normal/powerpc: Likewise.
22193 * normal/sparc64: Likewise.
22194 * normal/x86_64: Likewise.
22195
0a15ce80 221962009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 22199 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 22200 * loader/i386/xnu_helper.S: Likewise
d6da58e6 22201
33db9015 222022009-05-18 Colin D Bennett <colin@gibibit.com>
22203
d6da58e6 22204 Display error messages when parsing a Lua statement fails.
22205 Previously, executing a syntactically invalid statement like
22206 ")foo" or "bar;" would silently fail.
33db9015 22207
22208 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 22209 (grub_lua_parse_line): Improved reporting of Lua parser and
22210 execution errors.
33db9015 22211
46422c89 222122009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 Remove -Werror which causes build to fail on some systems
22215
22216 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
22217 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
22218 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 22219
22f53a96 222202009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 trampoline for linux on 64-bit platform
22223
18f547ad 22224 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
22225 loader/i386/efi/linux_trampoline.S
22226 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 22227 declaration
d6da58e6 22228 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
22229 here
22f53a96 22230 * loader/i386/linux_trampoline.S: moved here
d6da58e6 22231 * loader/i386/efi/linux.c (allocate_pages): reserve space for
22232 trampoline
22f53a96 22233 (jumpvector): removed
22234 (grub_linux_trampoline_start): new declaration
22235 (grub_linux_trampoline_end): likewise
22236 (grub_linux_boot): use trampoline when on 64-bit platform
22237 * loader/i386/linux.c: likewise
22238
cb5a0f40 222392009-05-16 Pavel Roskin <proski@gnu.org>
22240
22241 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
22242 const to avoid a warning.
22243 (grub_lua_setenv): Likewise.
22244 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
22245 lmsg to fix a warning.
22246
334f2c28 222472009-05-16 Felix Zielcke <fzielcke@z-51.de>
22248
22249 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 22250 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22251 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
22252 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22253 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22254 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22255 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22256 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 22257
59e5d3ec 222582009-05-16 Felix Zielcke <fzielcke@z-51.de>
22259
22260 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
22261
9d87a1ba 222622009-05-16 Bean <bean123ch@gmail.com>
22263
22264 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
22265 (lua_mod_SOURCES): New variable.
22266 (lua_mod_CFLAGS): Likewise.
22267 (lua_mod_LDFLAGS): Likewise.
22268
22269 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
22270 (setjmp_mod_SOURCES): New variable.
22271 (setjmp_mod_CFLAGS): Likewise.
22272 (setjmp_LDFLAGS): Likewise.
22273
22274 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
22275 (setjmp_mod_SOURCES): New variable.
22276 (setjmp_mod_CFLAGS): Likewise.
22277 (setjmp_LDFLAGS): Likewise.
22278
22279 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22280 (setjmp_mod_SOURCES): New variable.
22281 (setjmp_mod_CFLAGS): Likewise.
22282 (setjmp_LDFLAGS): Likewise.
22283
22284 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22285 (setjmp_mod_SOURCES): New variable.
22286 (setjmp_mod_CFLAGS): Likewise.
22287 (setjmp_LDFLAGS): Likewise.
22288
22289 * normal/i386/setjmp.S: Moved from here ...
22290 * lib/i386/setjmp.S: ... Moved here
22291 * normal/x86_64/setjmp.S: Moved from here ...
22292 * lib/x86_64/setjmp.S: ... Moved here
22293 * normal/powerpc/setjmp.S: Moved from here ...
22294 * lib/powerpc/setjmp.S: ... Moved here
22295 * normal/sparc64/setjmp.S: Moved from here ...
22296 * lib/sparc64/setjmp.S: ... Moved here
22297
22298 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
22299 returns_twice in mingw.
22300
22301 * script/lua/grub_lib.c: New file.
22302 * script/lua/grub_lib.h: Likewise.
22303 * script/lua/grub_lua.h: Likewise.
22304 * script/lua/grub_main.c: Likewise.
22305 * script/lua/lapi.c: Likewise.
22306 * script/lua/lapi.h: Likewise.
22307 * script/lua/lauxlib.c: Likewise.
22308 * script/lua/lauxlib.h: Likewise.
22309 * script/lua/lbaselib.c: Likewise.
22310 * script/lua/lcode.c: Likewise.
22311 * script/lua/lcode.h: Likewise.
22312 * script/lua/ldblib.c: Likewise.
22313 * script/lua/ldebug.c: Likewise.
22314 * script/lua/ldebug.h: Likewise.
22315 * script/lua/ldo.c: Likewise.
22316 * script/lua/ldo.h: Likewise.
22317 * script/lua/ldump.c: Likewise.
22318 * script/lua/lfunc.c: Likewise.
22319 * script/lua/lfunc.h: Likewise.
22320 * script/lua/lgc.c: Likewise.
22321 * script/lua/lgc.h: Likewise.
22322 * script/lua/linit.c: Likewise.
22323 * script/lua/liolib.c: Likewise.
22324 * script/lua/llex.c: Likewise.
22325 * script/lua/llex.h: Likewise.
22326 * script/lua/llimits.h: Likewise.
22327 * script/lua/lmathlib.c: Likewise.
22328 * script/lua/lmem.c: Likewise.
22329 * script/lua/lmem.h: Likewise.
22330 * script/lua/loadlib.c: Likewise.
22331 * script/lua/lobject.c: Likewise.
22332 * script/lua/lobject.h: Likewise.
22333 * script/lua/lopcodes.c: Likewise.
22334 * script/lua/lopcodes.h: Likewise.
22335 * script/lua/loslib.c: Likewise.
22336 * script/lua/lparser.c: Likewise.
22337 * script/lua/lparser.h: Likewise.
22338 * script/lua/lstate.c: Likewise.
22339 * script/lua/lstate.h: Likewise.
22340 * script/lua/lstring.c: Likewise.
22341 * script/lua/lstring.h: Likewise.
22342 * script/lua/lstrlib.c: Likewise.
22343 * script/lua/ltable.c: Likewise.
22344 * script/lua/ltable.h: Likewise.
22345 * script/lua/ltablib.c: Likewise.
22346 * script/lua/ltm.c: Likewise.
22347 * script/lua/ltm.h: Likewise.
22348 * script/lua/lua.h: Likewise.
22349 * script/lua/luaconf.h: Likewise.
22350 * script/lua/lualib.h: Likewise.
22351 * script/lua/lundump.c: Likewise.
22352 * script/lua/lundump.h: Likewise.
22353 * script/lua/lvm.c: Likewise.
22354 * script/lua/lvm.h: Likewise.
22355 * script/lua/lzio.c: Likewise.
22356 * script/lua/lzio.h: Likewise.
22357
5e898c9d 223582009-05-16 Bean <bean123ch@gmail.com>
22359
22360 * include/grub/kernel.h (grub_module_header_types): Add type
22361 OBJ_TYPE_CONFIG.
22362
22363 * kern/main.c (grub_load_config): New function.
22364 (grub_main): Call grub_load_config to read boot config.
22365
22366 * grub-mkimage (generate_image): New parameter config_path.
22367 (options): New option --config.
22368 (main): Parse --config option, and pass it to generate_image.
22369
cf353a47 223702009-05-14 Christian Franke <franke@computer.org>
22371
22372 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22373 This fixes build on Cygwin.
22374
3834887f 223752009-05-14 Pavel Roskin <proski@gnu.org>
22376
22377 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22378 jump. This saves two bytes, so the typical case of 2 swapped
22379 drives would fit 32 bytes.
22380
8090fc01 223812009-05-13 Pavel Roskin <proski@gnu.org>
22382
ac963883 22383 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22384 grub_uint32_t to avoid a warning.
22385
8090fc01 22386 * loader/i386/linux.c (allocate_pages): When assigning
22387 real_mode_mem, cast through grub_size_t to fix a warning. The
22388 code already makes sure that the value would fit a pointer.
22389 (grub_linux_setup_video): Cast render_target->data to
22390 grub_size_t to fix a warning.
22391
18f547ad 223922009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 22393
22394 * commands/i386/pc/drivemap.c: New file - implement drivemap
22395 command.
22396 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22397 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22398
6f6a8b28 223992009-05-13 Pavel Roskin <proski@gnu.org>
22400
22401 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22402 embedding_area_exists.
22403
15fbf4c4 224042009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22405
22406 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22407 it easier to understand / work with.
59978c8a 22408 Improve warning messages for cases where there's no embedding area,
22409 or when it is too small (or core.img too large).
15fbf4c4 22410
238e871f 224112009-05-13 Pavel Roskin <proski@gnu.org>
22412
0ab3a9a4 22413 * loader/i386/pc/multiboot2.c: Add necessary includes for
22414 grub_multiboot2_real_boot().
22415
a2c8c5f8 22416 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22417 PX record is always little-endian. We only need the lower 2
22418 bytes of the mode.
22419
faec96af 22420 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22421 facilitate code reuse.
22422 (grub_cpio_mount): Use "struct head", not a char buffer. This
22423 fixes a warning reported by gcc 4.4.
22424
238e871f 22425 * kernel/disk.c (grub_disk_read): Use void pointer for the
22426 buffer.
22427 (grub_disk_write): Use const void pointer for the buffer.
22428 Adjust all callers. Remove unnecessary casts.
22429
901d2f0c 224302009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22431
22432 * util/i386/pc/grub-install.in: Update copyright year.
22433
18f547ad 224342009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22435
22436 gptsync
22437
22438 * commands/gptsync.c: new file
22439 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22440 (gptsync_mod_SOURCES): new variable
22441 (gptsync_mod_CFLAGS): likewise
22442 (gptsync_mod_LDFLAGS): likewise
18f547ad 22443 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22444 new definition
22445 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22446 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22447 * conf/i386-ieee1275.rmk: likewise
22448 * conf/i386-pc.rmk: likewise
22449 * conf/powerpc-ieee1275.rmk: likewise
22450
b4ba690a 224512009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 Fixed grub-emu
22454
22455 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22456 (grub_dl_ref): likewise
22457
317e1a44 224582009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22459
22460 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22461 split in two functions (one for msdos and one for gpt).
22462
041b8094 224632009-05-08 Pavel Roskin <proski@gnu.org>
22464
752473c2 22465 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22466 not modified.
22467
041b8094 22468 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22469 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22470 Initialize them with -1. Add sanity check for bad1. Eliminate
22471 nerr variable.
22472
172800ce 224732009-05-08 David S. Miller <davem@davemloft.net>
22474
22475 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22476
29aa5e81 224772009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22478
22479 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22480 existence.
29aa5e81 22481
96613b62 224822009-05-05 Felix Zielcke <fzielcke@z-51.de>
22483
22484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22485 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22486
eef73c8a 224872009-05-05 David S. Miller <davem@davemloft.net>
22488
22489 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22490
119494b5 224912009-05-05 Pavel Roskin <proski@gnu.org>
22492
22493 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22494 of grub_dl_ref() and grub_dl_unref().
22495 * commands/parttool.c: Remove preprocessor conditionals around
22496 grub_dl_ref() and grub_dl_unref().
22497 * fs/affs.c: Likewise.
22498 * fs/afs.c: Likewise.
22499 * fs/cpio.c: Likewise.
22500 * fs/ext2.c: Likewise.
22501 * fs/fat.c: Likewise.
22502 * fs/hfs.c: Likewise.
22503 * fs/hfsplus.c: Likewise.
22504 * fs/iso9660.c: Likewise.
22505 * fs/jfs.c: Likewise.
22506 * fs/minix.c: Likewise.
22507 * fs/ntfs.c: Likewise.
22508 * fs/reiserfs.c: Likewise.
22509 * fs/sfs.c: Likewise.
22510 * fs/udf.c: Likewise.
22511 * fs/ufs.c: Likewise.
22512 * fs/xfs.c: Likewise.
22513 * include/grub/dl.h: Likewise.
22514 * loader/xnu.c: Likewise.
22515
de5fd76e 225162009-05-04 Pavel Roskin <proski@gnu.org>
22517
22518 * commands/acpi.c: Remove unused variable my_mod.
22519 * partmap/amiga.c: Likewise.
22520 * partmap/apple.c: Likewise.
22521 * partmap/gpt.c: Likewise.
22522 * partmap/pc.c: Likewise.
22523 * partmap/sun.c: Likewise.
22524 * term/gfxterm.c: Likewise.
22525 * term/i386/pc/vesafb.c: Likewise.
22526 * term/i386/pc/vga.c: Likewise.
22527
983598ad 225282009-05-04 David S. Miller <davem@davemloft.net>
22529
22530 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22531 pointer args to grub_ieee1275_get_property().
22532
8aadec43 22533 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22534
9554b15e 22535 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22536 devices, and do not traverse down under controller nodes.
22537
67e23c90 22538 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22539 (grub_ofdisk_open): Use it to un-escape "," characters.
22540 * kern/disk.c (find_part_sep): New.
22541 (grub_disk_open): Use it to find the first non-escaped ','
22542 character in the disk name.
22543 * util/ieee1275/devicemap.c (escape_of_path): New.
22544 (grub_util_emit_devicemap_entry): Use it.
22545 * util/sparc64/ieee1275/grub-install.in: Update script to
22546 strip partition specifiers properly by not triggering on
22547 '\' escaped ',' characters.
22548
74bfdd2f 225492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22550
22551 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22552 to 0x300.
22553 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22554 resolutions.
22555 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22556 on documentation from Wikipedia).
22557
4241d2b1 225582009-05-04 Pavel Roskin <proski@gnu.org>
22559
22560 * disk/ata.c: Spelling fixes.
22561 * disk/raid.c: Likewise.
22562 * disk/usbms.c: Likewise.
22563 * disk/dmraid_nvidia.c: Likewise.
22564 * kern/ieee1275/openfw.c: Likewise.
22565 * kern/ieee1275/init.c: Likewise.
22566 * kern/ieee1275/cmain.c: Likewise.
22567 * boot/i386/pc/cdboot.S: Likewise.
22568 * video/readers/png.c: Likewise.
22569 * video/i386/pc/vbe.c: Likewise.
22570 * fs/udf.c: Likewise.
22571 * fs/hfs.c: Likewise.
22572 * fs/reiserfs.c: Likewise.
22573 * efiemu/runtime/efiemu.c: Likewise.
22574 * efiemu/main.c: Likewise.
22575 * efiemu/mm.c: Likewise.
22576 * include/grub/elf.h: Likewise.
22577 * include/grub/xnu.h: Likewise.
22578 * include/grub/usbdesc.h: Likewise.
22579 * include/grub/usb.h: Likewise.
22580 * include/grub/script_sh.h: Likewise.
22581 * include/grub/lib/LzmaEnc.h: Likewise.
22582 * include/grub/efiemu/efiemu.h: Likewise.
22583 * include/grub/command.h: Likewise.
22584 * normal/menu.c: Likewise.
22585 * normal/main.c: Likewise.
22586 * normal/datetime.c: Likewise.
22587 * bus/usb/uhci.c: Likewise.
22588 * mmap/i386/uppermem.c: Likewise.
22589 * mmap/mmap.c: Likewise.
22590 * commands/acpi.c: Likewise.
22591 * commands/test.c: Likewise.
22592 * partmap/apple.c: Likewise.
22593 * font/font.c: Likewise.
22594 * loader/sparc64/ieee1275/linux.c: Likewise.
22595 * loader/macho.c: Likewise.
22596 * loader/i386/bsd_trampoline.S: Likewise.
22597 * loader/i386/bsd.c: Likewise.
22598 * loader/xnu.c: Likewise.
22599 * term/i386/pc/vesafb.c: Likewise.
22600 * term/usb_keyboard.c: Likewise.
22601 * util/resolve.c: Likewise.
22602 * util/getroot.c: Likewise.
22603
0cfc0083 226042009-05-04 Felix Zielcke <fzielcke@z-51.de>
22605
22606 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22607
7c1d00cd 226082009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22609
22610 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22611 build error.
22612
b01f0548 226132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22614
22615 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22616 parameter only available on BIOS.
22617
ecc3eb22 226182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22619
22620 Removed wrong semicolon in declaration
22621
22622 * grub/misc.h (grub_dprintf): remove semicolon
22623
112972a9 226242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22625
22626 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22627 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22628 is done by grub_cmd_linux() now).
22629 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22630 restore video to text mode.
22631 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22632 indicates lack of "vga=" parameter. "vga=0" is mapped to
22633 `GRUB_LINUX_VID_MODE_NORMAL'.
22634
afd5c115 226352009-05-04 Felix Zielcke <fzielcke@z-51.de>
22636
22637 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22638 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22639 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22640 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22641 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22642 `grub_script.tab.c'.
22643
22644 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22645 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22648 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22649
faa517ce 22650 * Makefile.in: Remove duplicated 2008 in Copyright line.
22651
ae0c0bdc 226522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22653
473d1e45 22654 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22655 unconditionally.
22656 * include/grub/util/misc.h (grub_util_warn): New declaration.
22657
22658 * util/i386/pc/grub-install.in: Understand --force and pass it down
22659 to grub-setup.
22660
22661 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22662 down to setup().
22663 (setup): Improve error messages and add warnings when requested to
22664 install in odd layouts. Refuse to install using blocklists unless
22665 --force was set.
22666
18f547ad 226672009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22668
22669 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22670
6d260daa 226712009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22672
22673 Updated copyright year
22674
22675 * fs/hfsplus.c: updated copyright year
18f547ad 22676
69f853f8 226772009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 HFS+ UUID
22680
18f547ad 22681 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22682 in the space previously used by unused3
22683 (grub_hfsplus_uuid): new function
22684 (grub_hfsplus_fs): added uuid field
22685
4c402e73 226862009-05-03 Pavel Roskin <proski@gnu.org>
22687
22688 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22689 suppress warnings. It's no longer needed.
22690 * disk/host.c: Likewise.
22691 * disk/ata_pthru.c: Likewise.
22692 * disk/loopback.c: Likewise.
22693 * hook/datehook.c: Likewise.
22694 * parttool/pcpart.c: Likewise.
22695 * fs/i386/pc/pxe.c: Likewise.
22696 * fs/ntfscomp.c: Likewise.
22697 * efiemu/main.c: Likewise.
22698 * mmap/mmap.c: Likewise.
22699 * commands/crc.c: Likewise.
22700 * commands/hexdump.c: Likewise.
22701 * commands/hdparm.c: Likewise.
22702 * commands/acpi.c: Likewise.
22703 * commands/echo.c: Likewise.
22704 * commands/minicmd.c: Likewise.
22705 * commands/blocklist.c: Likewise.
22706 * commands/memrw.c: Likewise.
22707 * commands/loadenv.c: Likewise.
22708 * commands/usbtest.c: Likewise.
22709 * commands/lsmmap.c: Likewise.
22710 * commands/boot.c: Likewise.
22711 * commands/parttool.c: Likewise.
22712 * commands/configfile.c: Likewise.
22713 * commands/search.c: Likewise.
22714 * commands/ieee1275/suspend.c: Likewise.
22715 * commands/cat.c: Likewise.
22716 * commands/i386/pc/pxecmd.c: Likewise.
22717 * commands/i386/pc/play.c: Likewise.
22718 * commands/i386/pc/halt.c: Likewise.
22719 * commands/i386/pc/vbeinfo.c: Likewise.
22720 * commands/i386/pc/vbetest.c: Likewise.
22721 * commands/lspci.c: Likewise.
22722 * commands/date.c: Likewise.
22723 * commands/handler.c: Likewise.
22724 * commands/ls.c: Likewise.
22725 * commands/test.c: Likewise.
22726 * commands/cmp.c: Likewise.
22727 * commands/efi/loadbios.c: Likewise.
22728 * commands/efi/fixvideo.c: Likewise.
22729 * commands/halt.c: Likewise.
22730 * commands/help.c: Likewise.
22731 * commands/reboot.c: Likewise.
22732 * hello/hello.c: Likewise.
22733 * script/sh/main.c: Likewise.
22734 * loader/xnu.c: Likewise.
22735 * term/terminfo.c: Likewise.
22736 * term/i386/pc/serial.c: Likewise.
22737 * term/usb_keyboard.c: Likewise.
22738
515b5079 227392009-05-03 David S. Miller <davem@davemloft.net>
22740
22741 * normal/menu.c: Include grub/parser.h
22742
dfc31a22 227432009-05-03 Pavel Roskin <proski@gnu.org>
22744
2fee74f1 22745 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22746 not char*.
22747 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22748 Suggested by Javier Martín <lordhabbit@gmail.com>
22749
dfc31a22 22750 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22751 efiemu??.o doesn't exist.
22752 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22753 copying.
22754
18f547ad 227552009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22756
22757 FreeBSD 64-bit support
22758
18f547ad 22759 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22760 and loader/i386/bsd_trampoline.S
22761 (bsd_mod_ASFLAGS): new variable
22762 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22763 (FREEBSD_MODTYPE_KERNEL64): likewise
22764 (grub_bsd64_trampoline_start): likewise
22765 (grub_bsd64_trampoline_end): likewise
22766 (grub_bsd64_trampoline_selfjump): likewise
22767 (grub_bsd64_trampoline_gdt): likewise
22768 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22769 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22770 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22771 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22772 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22773 of "attrib" member
22774 * loader/i386/bsd_pagetable.c: new file
22775 * loader/i386/bsd_trampoline.S: likewise
22776 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22777 (ALIGN_VAR): likewise
22778 (entry_hi): new variable
22779 (kern_end_mdofs): likewise
22780 (is_64bit): likewise
22781 (grub_freebsd_add_meta): use ALIGN_VAR
22782 (grub_e820_mmap): new declaration
22783 (grub_freebsd_add_mmap): new function
22784 (grub_freebsd_add_meta_module): support 64 bit kernels
22785 (grub_freebsd_list_modules): use ALIGN_VAR
22786 (gdt_descriptor): new declaration
22787 (grub_freebsd_boot): support 64 bit kernels
22788 (grub_bsd_elf64_hook): new function
22789 (grub_bsd_load_elf): support elf64
22790
038c5720 227912009-05-03 Bean <bean123ch@gmail.com>
22792
22793 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22794 after we get the result of if statement.
22795
fc45fb58 227962009-05-03 Bean <bean123ch@gmail.com>
22797
22798 * Makefile.in (enable_efiemu): New variable.
22799
22800 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22801 set.
22802 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22803 path.
22804 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22805 path, add -mno-red-zone option.
22806 (efiemu64_s.o): Likewise.
22807 (efiemu64.o): Use macro $^ for source file.
22808
22809 * configure.ac (--enable-efiemu): New option.
22810
bbee0f2b 228112009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 xnu support
22814
22815 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22816 (pkglib_MODULES): add xnu.mod
22817 (xnu_mod_SOURCES): new variable
22818 (xnu_mod_CFLAGS): likewise
22819 (xnu_mod_LDFLAGS): likewise
22820 (xnu_mod_ASFLAGS): likewise
22821 * conf/i386-pc.rmk: likewise
22822 * conf/x86_64-efi.rmk: likewise
7dd4a573 22823 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22824 new declaration
22825 * include/grub/i386/macho.h: new file
22826 * include/grub/i386/xnu.h: likewise
22827 * include/grub/macho.h: likewise
22828 * include/grub/machoload.h: likewise
22829 * include/grub/x86_64/macho.h: likewise
22830 * include/grub/x86_64/xnu.h: likewise
22831 * include/grub/xnu.h: likewise
22832 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22833 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22834 * loader/i386/efi/xnu.c: new file
22835 * loader/i386/pc/xnu.c: likewise
22836 * loader/i386/xnu.c: likewise
22837 * loader/i386/xnu_helper.S: likewise
22838 * loader/macho.c: likewise
22839 * loader/xnu.c: likewise
22840 * loader/xnu_resume.c: likewise
22841 * util/grub-dumpdevtree: likewise
22842 * include/grub/i386/pit.h: include grub/err.h
22843 (grub_pit_wait): export
22844 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22845
5caf964d 228462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22847
22848 Efiemu
7dd4a573 22849
5caf964d 22850 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22851 _linux_efi, linux_efi.
22852 new files in grub-emu
5caf964d 22853 new targets efiemu32.o and efiemu64.o
22854 * loader/linux_normal_efiemu.c: likewise
22855 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22856 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22857 files to copy
22858 * include/grub/autoefi.h: new file
7dd4a573 22859 * include/grub/i386/efiemu.h: likewise
5caf964d 22860 * include/grub/i386/pc/efiemu.h: likewise
22861 * include/grub/efi/api.h: add LL suffix when necessary
22862 new definitions relating to tables
22863 * include/grub/efiemu/efiemu.h: new file
22864 * include/grub/efiemu/runtime.h: likewise
22865 * efiemu/prepare.c: likewise
22866 * efiemu/loadcore_common.c: likewise
22867 * efiemu/loadcore64.c: likewise
22868 * efiemu/runtime/efiemu.sh: likewise
22869 * efiemu/runtime/efiemu.S: likewise
22870 * efiemu/runtime/efiemu.c: likewise
22871 * efiemu/runtime/config.h: likewise
22872 * efiemu/prepare32.c: likewise
22873 * efiemu/main.c: likewise
22874 * efiemu/modules/pnvram.c: likewise
22875 * efiemu/modules/i386: likewise
22876 * efiemu/modules/i386/pc: likewise
22877 * efiemu/modules/acpi.c: likewise
22878 * efiemu/i386/pc/cfgtables.c: likewise
22879 * efiemu/i386/loadcore64.c: likewise
22880 * efiemu/i386/loadcore32.c: likewise
22881 * efiemu/prepare64.c: likewise
22882 * efiemu/loadcore.c: likewise
22883 * efiemu/symbols.c: likewise
22884 * efiemu/mm.c: likewise
22885 * efiemu/loadcore32.c: likewise
7dd4a573 22886
228872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22888
22889 ACPI spoofing
22890
22891 * commands/acpi.c: new file
22892 * commands/i386/pc/acpi.c: likewise
22893 * commands/efi/acpi.c: likewise
22894 * include/grub/acpi.h: likewise
22895 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22896 (acpi_mod_SOURCES): new variable
22897 (acpi_mod_CFLAGS): likewise
22898 (acpi_mod_LDFLAGS): likewise
22899 * conf/i386-efi.rmk: likewise
22900 * conf/x86_64-efi.rmk: likewise
22901
7dd4a573 229022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22903
22904 Missing part from mmap patch
22905
22906 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22907 (grub_mmap_unregister)
22908 (grub_mmap_free_and_unregister): use grub_mmap_register
22909
7dd4a573 229102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22911
22912 Mmap services
22913
22914 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22915 * loader/i386/linux.c (find_mmap_size): likewise
22916 (allocate_pages): likewise
22917 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22918 (grub_fill_multiboot_mmap): likewise
22919 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22920 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22921 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22922 (OPENBSD_MMAP_RESERVED): likewise
22923 * include/grub/i386/pc/memory.h: include grub/memory.h
22924 (grub_lower_mem): removed
22925 (grub_upper_mem): likewise
22926 (GRUB_MACHINE_MEMORY_ACPI): new definition
22927 (GRUB_MACHINE_MEMORY_NVS): likewise
22928 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22929 (GRUB_MACHINE_MEMORY_HOLE): likewise
22930 (grub_machine_mmap_register): likewise
22931 (grub_machine_mmap_unregister): likewise
22932 (grub_machine_get_upper): likewise
22933 (grub_machine_get_lower): likewise
22934 (grub_machine_get_post64): likewise
22935 * include/grub/i386/efi/memory.h: new file
22936 * include/grub/x86_64/efi/memory.h: likewise
22937 * include/grub/efi/memory.h: likewise
22938 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22939 (mmap_mod_SOURCES): new variable
22940 (mmap_mod_LDFLAGS): likewise
22941 (mmap_mod_ASFLAGS): likewise
22942 * conf/i386-coreboot.rmk: likewise
22943 * conf/i386-ieee1275.rmk: likewise
22944 * conf/i386-efi.rmk: likewise
22945 * conf/x86_64-efi.rmk: likewise
22946 * include/grub/types.h (UINT_TO_PTR): new macro
22947 (PTR_TO_UINT32): likewise
22948 (PTR_TO_UINT64): likewise
22949 * include/grub/memory.h: new file
22950 * mmap/i386/pc/mmap.c: likewise
22951 * mmap/i386/pc/mmap_helper.S: likewise
22952 * mmap/i386/uppermem.c: likewise
22953 * mmap/mmap.c: likewise
22954 * mmap/efi/mmap.c: likewise
7dd4a573 22955 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22956 grub_upper_mem
22957 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22958 (grub_upper_mem): likewise
22959 (grub_machine_init): don't use grub_upper_mem,
22960 make grub_lower_mem local
22961 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22962 grub_mmap_iterate and grub_mmap_get_upper
22963 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22964
d558e6b5 229652009-05-02 Bean <bean123ch@gmail.com>
22966
22967 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22968 script/sh/parser.y.
22969 (pkglib_MODULES): Add normal.mod and sh.mod.
22970 (normal_SOURCES): New variable.
22971 (normal_mod_CFLAGS): Likewise.
22972 (normal_mod_LDFLAGS): Likewise.
22973 (sh_mod_SOURCES): Likewise.
22974 (sh_mod_CFLAGS): Likewise.
22975 (sh_mod_LDFLAGS): Likewise.
22976
22977 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22978 script/sh/lexer.c_DEPENDENCIES.
22979 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22980 kern/rescue_reader.c and kern/rescue_parser.c.
22981 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22982 (grub_emu_SOURCES): Change source files.
22983 (pkglib_MODULES): Remove normal.mod.
22984 (normal_SOURCES): Removed.
22985 (normal_mod_CFLAGS): Likewise.
22986 (normal_mod_LDFLAGS): Likewise.
22987 * conf/i386-coreboot.rmk: Likewise.
22988 * conf/i386-efi.rmk: Likewise.
22989 * conf/i386-ieee1276.rmk: Likewise.
22990 * conf/powerpc-ieee1275.rmk: Likewise.
22991 * conf/sparc64-ieee1275.rmk: Likewise.
22992 * conf/x86_64-efi.rmk: Likewise.
22993
22994 * include/grub/command.h (grub_command_execute): New inline function.
22995
22996 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22997
22998 * include/grub/normal.h: Remove <grub/setjmp.h>.
22999 (grub_fs_module_list): Moved to normal/autofs.c.
23000 (grub_exit_env): Removed.
23001 (grub_command_execute): Likewise.
23002 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
23003 parameter script.
23004 (read_command_list): New function declaration.
23005 (read_fs_list): Likewise.
23006
23007 * include/parser.h: Include <grub/reader.h>.
23008 (grub_parser_split_cmdline): Change type of getline parameter.
23009 (grub_parser): New structure.
23010 (grub_parser_class): New variable.
23011 (grub_parser_execute): New function declaration.
23012 (grub_register_rescue_parser): Likewise.
23013 (grub_parser_register): New inline function.
23014 (grub_parser_unregister): Likewise.
23015 (grub_parser_get_current): Likewise.
23016 (grub_parser_set_current): Likewise.
23017
23018 * include/grub/reader.h: New file.
23019 * kern/reader.c: Likewise.
23020 * kern/rescue_parser.c: Likewise.
23021 * kern/rescue_reader.c: Likewise.
23022 * normal/autofs.c: Likewise.
23023 * normal/dyncmd.c: Likewise.
23024
23025 * include/grub/rescue.h: Removed.
23026 * normal/command.h: Likewise.
23027
23028 * include/grub/script.h: Moved to ...
23029 * include/grub/script_sh.h: ... Moved here.
23030 * normal/execute.c: Moved to ...
23031 * script/sh/execute.c: ... Moved here.
23032 * normal/function.c: Moved to ...
23033 * script/sh/function.c: ... Moved here.
23034 * normal/lexer.c: Moved to ...
23035 * script/sh/lexer.c: ... Moved here.
23036 * normal/parser.y: Moved to ...
23037 * script/sh/parser.y: ... Moved here.
23038 * normal/script.c: Moved to ...
23039 * script/sh/script.c: ... Moved here.
23040
23041 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
23042 <grub/reader.h>.
23043 (grub_exit_env): Removed.
23044 (fs_module_list): Moved to normal/autofs.c.
23045 (grub_file_getline): Don't handle comment here.
23046 (free_menu): Skip removed field entry->commands.
23047 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
23048 script parameter.
23049 (read_config_file): Removed nested parameter, change getline function.
23050 (grub_enter_normal_mode): Removed.
23051 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
23052 (read_command_list): Likewise.
23053 (autoload_fs_module): Moved to normal/autofs.c.
23054 (read_fs_list): Likewise.
23055 (reader_nested): New variable.
23056 (grub_normal_execute): Run parser.sh to switch to sh parser.
23057 (grub_cmd_rescue): Removed.
23058 (cmd_normal): Removed.
23059 (grub_cmd_normal): Unregister itself at the beginning. Don't register
23060 rescue command.
23061 (grub_cmdline_run): New function.
23062 (grub_normal_reader_init): Likewise.
23063 (grub_normal_read_line): Likewise.
23064 (grub_env_write_pager): Likewise.
23065 (cmdline): New variable.
23066 (grub_normal_reader): Likewise.
23067 (GRUB_MOD_INIT): Register normal reader and set as current, register
23068 pager hook, register normal command with grub_register_command_prio,
23069 so that it won't show up in command.lst.
23070 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
23071 grub_fs_autoload_hook.
23072
23073 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
23074 (grub_menu_execute_entry): Replace grub_script_execute with
23075 grub_parser_execute, change parameter to grub_command_execute.
23076
23077 * normal/menu_text.c: Remove <grub/script.h>.
23078
23079 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
23080 and <grub/parser.h>.
23081 (run): Change editor_getline to use new parser interface. Change
23082 parameter to grub_command_execute.
23083
23084 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
23085 <grub/reader.h> and <grub/parser.h>.
23086 (grub_load_normal_mode): Execute normal command.
23087 (grub_main): Call grub_register_core_commands,
23088 grub_register_rescue_parser and grub_register_rescue_reader, use
23089 grub_reader_loop to enter input loop.
23090
7dd4a573 23091 * kern/parser.c (grub_parser_split_cmdline): Change type of
23092 getline parameter.
d558e6b5 23093 (grub_parser_class): New variable.
23094 (grub_parser_execute): New function.
23095
23096 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
23097 * loader/multiboot2.c: Likewise.
23098 * loader/sparc64/ieee1275/linux.c: Likewise.
23099
23100 * util/grub-emu.c (read_command_list): New dummy function.
23101
18db813d 231022009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23103
23104 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
23105 count to 16 for CCISS and IDA.
23106
6c67de15 231072009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23108
23109 * normal/menu_text.c (grub_wait_after_message): Print a newline
23110 after waiting for user input.
23111
23112 * loader/i386/linux.c: Include `<grub/normal.h>'.
23113 (grub_cmd_linux): Improve the error message about `ask' mode, by
23114 waiting for user input so it's not missed (we can do this, since
23115 user requested interaction).
23116
d9dc87b0 231172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23118
23119 Added missing lst to grub-mkrescue
23120
23121 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
23122 and ${input_dir}/parttool.lst
23123
ac8a2baa 231242009-04-30 David S. Miller <davem@davemloft.net>
23125
ad22a610 23126 * util/hostdisk.c (device_is_wholedisk): New function.
23127 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
23128 zero only if device_is_wholedisk() returns true.
23129
6966215d 23130 * util/hostdisk.c (convert_system_partition_to_system_disk):
23131 Handle virtual disk devices named /dev/vdiskX as found on sparc
23132 and powerpc.
23133
ac8a2baa 23134 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
23135 lettered partition specifier is found, convert to numbered.
23136
979b4fb4 231372009-04-29 David S. Miller <davem@davemloft.net>
23138
e2bf39b2 23139 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
23140 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23141
3c64e104 23142 * normal/command.c: Add missing newline at end of file.
23143
979b4fb4 23144 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
23145 warnings.
23146 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
23147 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
23148 grub_ofdisk_read): Likewise, and deal similarly with the fact that
23149 ihandles have a 32-bit type but need to be stored in a "void *".
23150
136d9f82 231512009-04-28 Pavel Roskin <proski@gnu.org>
23152
9459c306 23153 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
23154 not disk. Adjust all dependencies.
2e08a26a 23155 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 23156 grub_disk_close().
23157
136d9f82 23158 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
23159 parent's partition, don't copy it by reference, as it gets freed
23160 on close.
23161
7dd4a573 231622009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 23163
23164 Preboot hooks support
23165
23166 * commands/boot.c (struct grub_preboot_t): new declaration
23167 (preboots_head): new variable
23168 (preboots_tail): likewise
23169 (grub_loader_register_preboot_hook): new function
23170 (grub_loader_unregister_preboot_hook): likewise
23171 (grub_loader_set): launch preboot hooks
23172 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
23173 (grub_loader_register_preboot_hook): new declaration
23174 (grub_loader_unregister_preboot_hook): likewise
23175
5af922b5 231762009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 Warning fix
23179
7dd4a573 23180 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 23181 calling grub_dprintf
23182
a5562c30 231832009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 Bug and warning fixes
23186
7dd4a573 23187 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 23188 declaration
23189 * commands/test.c (test_parse): fixed bug with file tests and corrected
23190 declaration of find_file
23191
4006f85c 231922009-04-26 Pavel Roskin <proski@gnu.org>
23193
23194 * Makefile.in: Don't install empty manual pages if help2man is
23195 missing. Use help2man option for output, not shell redirection.
23196
5c77c3de 231972009-04-26 David S. Miller <davem@davemloft.net>
23198
23199 * util/grub-mkdevicemap.c (make_device_map): Add missing
23200 NESTED_FUNC_ATTR to process_device().
23201
033b10a8 232022009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23203
23204 Test command
23205
23206 * commands/test.c: rewritten to use bash-like test
23207
e4343593 232082009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23209
23210 Parttool autoloading and improvements
23211
7dd4a573 23212 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 23213 (parttool.lst): new target
23214 * genmk.rb: generate parttool-*
23215 (CLEANFILES): add #{parttool}
23216 (PARTTOOLFILES): new variable
23217 * genparttoollist.sh: new file
7dd4a573 23218 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 23219 (grub_pcpart_type): likewise
23220 * commands/parttool.c (helpmsg): new variable
23221 (grub_cmd_parttool): output help if not enough arguments are supplied
23222 autoload modules
23223 (GRUB_MOD_INIT(parttool)): use helpmsg
23224
0d312500 232252009-04-24 David S. Miller <davem@davemloft.net>
23226
7dd4a573 23227 Avoiding opening same device multiple times in device iterator.
0d312500 23228
23229 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 23230 and use it to build a list of partitions in iterate_disk() and
0d312500 23231 iterate_partition().
23232
ac20caff 23233 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
23234 on disk->data.
23235
0dcf7495 23236 * disk/ieee1275/nand.c (grub_nand_iterate): Return
23237 grub_devalias_iterate() result instead of unconditional 0.
23238 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
23239 Also, capture hook return value, either directly or via
23240 grub_children_iterate(), and propagate to caller.
23241 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
23242 grub_children_iterate): Return value is now 'int' instead of
23243 'grub_err_t'.
23244 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
23245 like a proper iterator, stopping when hooks return non-zero.
23246 (grub_devalias_iterate): Likewise.
23247
c8c08833 232482009-04-23 David S. Miller <davem@davemloft.net>
23249
23250 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
23251
f01005a8 232522009-04-22 David S. Miller <davem@davemloft.net>
23253
23254 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
23255 is larger than address_cells, use that value for address_cells too.
23256
4e8269da 23257 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
23258 IEEE1275_MAX_PATH_LEN): Define.
23259 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
23260 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
23261 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
23262 'devtype'. Explicitly NULL terminate devalias expansion.
23263
a1447506 23264 * util/sparc64/ieee1275/misc.c: New file.
23265 * util/sparc64/ieee1275/grub-setup.c: New file.
23266 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
23267 * util/sparc64/ieee1275/grub-mkimage.c: New file.
23268 * util/sparc64/ieee1275/grub-install.in: New file.
23269 * util/ieee1275/ofpath.c: New file.
23270 * util/ieee1275/devicemap.c: New file.
23271 * util/devicemap.c: New file.
23272 * util/deviceiter.c: New file.
23273 * kern/sparc64/ieee1275/init.c: New file.
23274 * include/grub/util/ofpath.h: New file.
23275 * include/grub/util/deviceiter.h: New file.
23276 * util/grub-mkdevicemap.c: Include deviceiter.h.
23277 Implement using grub_util_emit_devicemap_entry and
23278 grub_util_iterate_devices.
23279 * conf/i386-corebook.rmk: Build util/deviceiter.c and
23280 util/devicemap.c into grub-mkdevicemap
23281 * conf/i386-efi.rmk: Likewise.
23282 * conf/i386-ieee1275.rmk: Likewise.
23283 * conf/i386-pc.rmk: Likewise.
23284 * conf/powerpc-ieee1275.rmk: Likewise.
23285 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
23286 images and installation utilities. Build kernel as image
23287 instead of as elf binary. Use common rules as much as possible.
23288
7dd4a573 232892009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 23290
23291 Correct GPT definition
23292
7dd4a573 23293 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 23294 of "attrib" member
23295
c6c5219f 232962009-04-19 Felix Zielcke <fzielcke@z-51.de>
23297
23298 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
23299
0552ff9f 233002009-04-19 David S. Miller <davem@davemloft.net>
23301
23302 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
23303 (grub_rescue_cmd_linux): Rename to...
23304 (grub_cmd_linux): and fix prototype.
23305 (grub_rescue_cmd_initrd): Rename to...
23306 (grub_cmd_initrd): and fix prototype.
23307 (cmd_linux, cmd_initrd): New.
23308 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23309 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23310
d1a282fc 233112009-04-17 Pavel Roskin <proski@gnu.org>
23312
07c5039f 23313 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23314 format.
23315 (grub_ohci_transfer): Likewise.
23316
b012002d 23317 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23318
1bc09c35 23319 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23320 return without a value. Fix inconsistent indentation.
23321
e0ff9126 23322 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23323 match struct grub_fs.
23324
d1a282fc 23325 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23326 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23327 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23328 * commands/lspci.c (grub_lspci_iter): Likewise.
23329
a96df3f2 233302009-04-16 Bean <bean123ch@gmail.com>
23331
23332 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23333 value.
23334
41bb0fe9 233352009-04-15 Pavel Roskin <proski@gnu.org>
23336
23337 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23338 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23339 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23340 definitions.
23341
596c6970 233422009-04-15 Felix Zielcke <fzielcke@z-51.de>
23343
23344 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 23345 that no multiple data or metadata areas are supported and `Unknown
596c6970 23346 metadata header'.
23347
7dd4a573 233482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 23349
23350 Move loader out of the kernel
23351
23352 * kern/loader.c: moved to ...
23353 * commands/boot.c: ... moved here
23354 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23355 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23356 * include/grub/kernel.h (grub_machine_fini): export
23357 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23358 (grub_loader_set): likewise
23359 (grub_loader_unset): likewise
23360 (grub_loader_boot): likewise
23361 * conf/common.rmk: new module boot.mod
23362 (pkglib_MODULES): add boot.mod
23363 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23364 (grub_emu_SOURCES): likewise
23365 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23366 (grub_emu_SOURCES): likewise
23367 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23368 (grub_emu_SOURCES): likewise
23369 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23370 (grub_emu_SOURCES): likewise
23371 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23372 (grub_emu_SOURCES): likewise
7dd4a573 23373 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23374 (grub_emu_SOURCES): likewise
0d5d5653 23375 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 23376 (grub_emu_SOURCES): likewise
0d5d5653 23377
7dd4a573 233782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 23379
23380 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 23381
5999d619 23382 * kern/misc.c (grub_itoa): Removed function
23383 (grub_ltoa): likewise
23384 (grub_vsprintf): use grub_lltoa
23385
7dd4a573 233862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 23387
23388 Restore grub-emu
23389
23390 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23391 * conf/i386-coreboot.rmk: likewise
23392 * conf/i386-ieee1275.rmk: likewise
23393 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23394
20318222 233952009-04-15 Felix Zielcke <fzielcke@z-51.de>
23396
23397 * INSTALL: Add that `./autogen.sh' needs to be run before
23398 `./configure.'.
23399
d05f0df3 234002009-04-14 Bean <bean123ch@gmail.com>
23401
23402 * Makefile.in (pkglib_DATA): Add handler.lst.
23403 (handler.lst): New rule.
23404
23405 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23406 * conf/i386-coreboot.rmk: Likewise.
23407 * conf/i386-ieee1275.rmk: Likewise.
23408 * conf/i386-efi.rmk: Likewise.
23409 * conf/x86_64-efi.rmk: Likewise.
23410 * conf/powerpc-ieee1275.rmk: Likewise.
23411 * conf/sparc64-ieee1275.rmk: Likewise.
23412
23413 * genhandlerlist.sh: New file.
23414
23415 * genmk.rb: Add rules to generate handler.lst.
23416
23417 * include/grub/normal.h (grub_file_getline): New function definition.
23418 (read_handler_list): Likewise.
23419 (free_handler_list): Likewise.
23420
23421 * include/grub/term.h (grub_term_register_input): Add name parameter
23422 for auto generation of handler.lst.
23423 (grub_term_register_output): Likewise.
23424
23425 * normal/handler.c: New file.
23426
23427 * normal/main.c (get_line): Renamed to grub_file_getline.
23428 (read_config_file): Use the newly renamed grub_file_getline.
23429 (read_command_list): Likewise.
23430 (read_fs_list): Likewise.
23431 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23432 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23433
23434 * term/efi/console.c (grub_console_init): Add name parameter for auto
23435 generation of handler.lst.
23436 * term/gfxterm.c: Likewise.
23437 * term/i386/pc/at_keyboard.c: Likewise.
23438 * term/i386/pc/console.c: Likewise.
23439 * term/i386/pc/serial.c: Likewise.
23440 * term/i386/pc/vesafb.c: Likewise.
23441 * term/i386/pc/vga.c: Likewise.
23442 * term/i386/pc/vga_text.c: Likewise.
23443 * term/ieee1275/ofconsole.c: Likewise.
23444 * term/usb_keyboard.c: Likewise.
23445
33c846be 234462009-04-14 Bean <bean123ch@gmail.com>
23447
23448 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23449 properly with null character.
23450
4484e01e 234512009-04-14 Felix Zielcke <fzielcke@z-51.de>
23452
23453 * configure: Remove.
23454 * config.h.in: Likewise.
f93d668e 23455 * stamp-h.in: Likewise.
4484e01e 23456 * DISTLIST: Likewise.
23457 * conf/common.mk: Likewise.
23458 * conf/i386-coreboot.mk: Likewise.
23459 * conf/i386-efi.mk: Likewise.
23460 * conf/i386-ieee1275.mk: Likewise.
23461 * conf/i386.mk: Likewise.
23462 * conf/i386-pc.mk: Likewise.
23463 * conf/powerpc-ieee1275.mk: Likewise.
23464 * conf/sparc64-ieee1275.mk: Likewise.
23465 * conf/x86_64-efi.mk: Likewise.
23466
23467 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23468 develop on GRUB.
23469
7dd4a573 234702009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23471 David S. Miller <davem@davemloft.net>
23472
23473 * util/hostdisk.c (make_device_name): Fix buffer length
23474 calculations.
23475
e25b5a8c 234762009-04-14 Felix Zielcke <fzielcke@z-51.de>
23477
23478 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23479 <sys/param.h> and <sys/sysctl.h>.
23480 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23481 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23482 opening the device and reset them afterwards.
23483
1f1f580c 234842009-04-13 Pavel Roskin <proski@gnu.org>
23485
23486 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23487 Reported by John Stanley <jpsinthemix@verizon.net>
23488
7ebc2d6b 234892009-04-13 Robert Millan <rmh@aybabtu.com>
23490
23491 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23492 that name for menuentries when appropriate.
7ebc2d6b 23493
d8ba3667 234942009-04-13 Felix Zielcke <fzielcke@z-51.de>
23495
23496 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23497
cba416eb 234982009-04-13 Robert Millan <rmh@aybabtu.com>
23499
23500 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23501 to Linux, simply abort telling the user it's no longer supported.
23502
a547a745 235032009-04-13 Felix Zielcke <fzielcke@z-51.de>
23504
23505 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23506 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23507 `freebsd_loadenv' only when devices.hints exist.
23508
232a769c 235092009-04-13 Pavel Roskin <proski@gnu.org>
23510
23511 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23512
c3012039 235132009-04-13 Felix Zielcke <fzielcke@z-51.de>
23514
23515 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23516 partition number.
23517 (grub_drive): Likewise.
23518
234022fe 235192009-04-13 David S. Miller <davem@davemloft.net>
23520
23521 * kern/sparc64/ieee1275/ieee1275.c: New file.
23522 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23523 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23524 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23525 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23526 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23527 grub_ieee1275_alloc_physmem): Declare new exported functions.
23528
d8e1836c 23529 * include/grub/sparc64/ieee1275/loader.h: New file.
23530 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23531 * include/grub/sparc64/kernel.h: Likewise.
23532 * loader/sparc64/ieee1275/linux.c: Likewise.
23533
96bd81ec 23534 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23535 (grub_fstest_SOURCES): Likewise.
23536
6a4737e5 23537 * util/hostdisk.c (make_device_name): Do not make any assumptions
23538 about the length of drive names.
23539
1d7a72fd 23540 * kern/dl.c (grub_dl_load_file): Close file immediately when
23541 we are done using it.
23542
56bc2471 235432009-04-12 David S. Miller <davem@davemloft.net>
23544
23545 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23546 values. Noticed by Pavel Roskin.
23547
df38d0bb 23548 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23549 target compiler.
7dd4a573 23550
e382e93a 23551 * genmk.rb: Add more flexible image type specification, also
23552 pass --strip-unneeded to objcopy.
23553 * conf/i386-pc.rmk: Use *_FORMAT.
23554 * conf/i386-pc.mk: Rebuilt.
23555
f5dbbca9 23556 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23557 (OFDISK_HASH_SZ): Define.
23558 (ofdisk_hash): New hash table.
23559 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23560 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23561 instead of device phandle which is not unique.
23562
91c88b12 23563 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23564 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23565 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23566 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23567 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23568 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23569 GRUB_KERNEL_MACHINE_DATA_END): Define.
23570 (grub_kernel_image_size, grub_total_module_size): Declare.
23571
5b5d4aa5 235722009-04-12 Pavel Roskin <proski@gnu.org>
23573
7dd4a573 23574 * configure.ac: Change the logic when we check for target tools.
23575 Do it when the target is specified and it's different from the
23576 specified value of the host.
5b5d4aa5 23577
c91e1793 235782009-04-11 Felix Zielcke <fzielcke@z-51.de>
23579
23580 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23581 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23582 GNU/kFreeBSD. Check if a device is a character device. Use
23583 DIOCGMEDIASIZE to get the size.
23584 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23585 support for GNU/kFreeBSD.
23586 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23587 is a character device instead of a block device. Add support for
23588 FreeBSD device names.
23589
23590 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23591 is a character device instead of a block device.
23592
23593 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23594 is a character device instead of a block device.
23595
b1ac8644 235962009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23597
23598 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23599 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23600 FreeBSD. Check if a device is a character device. Use
23601 DIOCGMEDIASIZE to get the size.
23602 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23603 support for FreeBSD.
23604 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23605 is a character device instead of a block device. Add support for
23606 FreeBSD device names.
23607
23608 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23609 a character device instead of a block device.
23610 (grub_util_check_char_device): New function.
23611
23612 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23613 a character device instead of a block device.
23614
23615 * include/grub/util/getroot.h (grub_util_check_char_device): New
23616 prototype.
23617
a3f7515a 236182009-04-11 David S. Miller <davem@davemloft.net>
23619
23620 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23621 static libgcc.
23622 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23623 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23624 function, if present.
23625 (__bswapdi2): Likewise.
23626
0d44993d 23627 * include/grub/sparc64/ieee1275/boot.h: New file.
23628 * boot/sparc64/ieee1275/boot.S: Likewise.
23629 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23630
ed3d2bc2 23631 * kern/misc.c (grub_ltoa): New function.
23632 (grub_vsprintf): Use it to format 'long' integers.
23633
d3bfb59c 236342009-04-10 David S. Miller <davem@davemloft.net>
23635
23636 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23637 slots are of type grub_ieee1275_cell_t.
23638 (grub_nand_read): Likewise.
23639 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23640 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23641 macros are used to compare values in arg/ret block of the call.
23642 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23643 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23644 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23645 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23646 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23647 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23648 grub_ieee1275_close, grub_ieee1275_set_property,
23649 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23650 grub_ieee1275_cell_t.
23651 * kern/ieee1275/openfw.c (grub_map): Likewise.
23652 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23653 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23654
450e2238 23655 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23656 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23657 (grub_devalias_iterate): Likewise.
23658
7dd4a573 236592009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23660
23661 UFS improvements
23662
23663 * fs/ufs.c (INODE_NBLOCKS): new definition
23664 (struct grub_ufs_dirent): added fields for non-BSD dirents
23665 (grub_ufs_get_file_block): fixed double indirect handling
23666 (grub_ufs_lookup_symlink): use more robust way to determine whether
23667 symlink is inline
23668 (grub_ufs_find_file): support for non-BSD dirents
23669 (grub_ufs_dir): support for non-BSD dirents
23670
e7e6862a 236712009-04-10 Bean <bean123ch@gnail.com>
23672
23673 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23674 attribute, otherwise the size would be wrong for i386 platform.
23675
23676 * include/grub/pci.h (grub_pci_read_word): New inline function.
23677 (grub_pci_read_byte): Likewise.
23678 (grub_pci_write): Likewise.
23679 (grub_pci_write_word): Likewise.
23680 (grub_pci_write_byte): Likewise.
23681
23682 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23683
23684 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23685 (find_framebuf): Scan pci to locate the frame buffer address.
23686
23687 * commands/efi/fixvideo.c: New file.
23688
23689 * commands/efi/loadbios.c: Likewise.
23690
23691 * commands/memrw.c: Likewise.
23692
23693 * util/grub-dumpbios.in: Likewise.
23694
23695 * conf/common.rmk (grub-dumpbios): New utility.
23696 (pkglib_MODULES): New module memrw.mod.
23697 (memrw_mod_SOURCE): New macro.
23698 (memrw_mod_CFLAGS): Likewise.
23699 (memrw_mod_LDFLAGS): Likewise.
23700
7dd4a573 23701 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23702 fixvideo.mod.
23703 (loadbios_mod_SOURCE): New macro.
23704 (loadbios_mod_CFLAGS): Likewise.
23705 (loadbios_mod_LDFLAGS): Likewise.
23706 (fixvideo_mod_SOURCE): Likewise.
23707 (fixvideo_mod_CFLAGS): Likewise.
23708 (fixvideo_mod_LDFLAGS): Likewise.
23709
7dd4a573 23710 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23711 fixvideo.mod.
23712 (loadbios_mod_SOURCE): New macro.
23713 (loadbios_mod_CFLAGS): Likewise.
23714 (loadbios_mod_LDFLAGS): Likewise.
23715 (fixvideo_mod_SOURCE): Likewise.
23716 (fixvideo_mod_CFLAGS): Likewise.
23717 (fixvideo_mod_LDFLAGS): Likewise.
23718
af63ada2 237192009-04-08 Felix Zielcke <fzielcke@z-51.de>
23720
23721 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23722
c2cdde70 237232009-04-07 David S. Miller <davem@davemloft.net>
23724
23725 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23726 support for R_SPARC_OLO10 relocations. Fix compile warning for
23727 R_SPARC_WDISP30 case.
ea3f72cf 23728 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23729
761319cf 237302009-04-06 Pavel Roskin <proski@gnu.org>
23731
1007d1f5 23732 * include/grub/misc.h (ARRAY_SIZE): New macro.
23733 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23734 New macro.
23735 * loader/i386/linux.c (allocate_pages): Use free_pages().
23736 (grub_linux_unload): Don't use free_pages().
23737 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23738 wrong index. Treat all other modes as text modes.
23739 (grub_cmd_linux): Initialize vid_mode unconditionally to
23740 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23741
761319cf 23742 * commands/help.c (print_command_help): Use cmd->prio, not
23743 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23744
ea761d40 237452009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23746
ea761d40 23747 Parttool
23748
23749 * parttool/pcpart.c: new file
23750 * commands/parttool.c: likewise
23751 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23752 (parttool_mod_SOURCES): new variable
23753 (parttool_mod_CFLAGS): likewise
23754 (parttool_mod_LDFLAGS): likewise
23755 (pcpart_mod_SOURCES): likewise
23756 (pcpart_mod_CFLAGS): likewise
23757 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23758 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23759 and parttool/pcpart.c
23760 * conf/i386-efi.rmk: likewise
23761 * conf/i386-ieee1275.rmk: likewise
23762 * conf/i386-pc.rmk: likewise
23763 * conf/powerpc-ieee1275.rmk: likewise
23764 * conf/sparc64-ieee1275.rmk: likewise
23765 * conf/x86_64-ieee1275.rmk: likewise
23766
05aaebfb 237672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 Support for mtime and further expandability of dir command
23770
23771 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23772 * include/grub/datetime.h: ... moved here and added
05aaebfb 23773 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23774 * include/grub/fs.h: new syntax for dir and mtime functions in
23775 struct grub_fs
05aaebfb 23776 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23777 and GRUB_FSHELP_FLAGS_MASK
23778 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23779 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23780 (grub_ext2_mtime): new function
23781 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23782 (grub_hfsplus_mtime): new function
23783 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23784 (GRUB_UFS_ATTR_FILE): likewise
23785 (GRUB_UFS_ATTR_LNK): likewise
23786 (struct grub_ufs_sblock): new fields mtime
23787 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23788 all users updated
23789 (grub_ufs_dir): mtime support
23790 (grub_ufs_mtime): new function
23791 * fs/affs.c (grub_affs_dir): use new dir syntax
23792 * fs/afs.c (grub_afs_dir): likewise
23793 * fs/cpio.c (grub_cpio_dir): likewise
23794 * fs/fat.c (grub_fat_find_dir): likewise
23795 * fs/hfs.c (grub_hfs_dir): likewise
23796 * fs/iso9660.c (grub_iso9660_dir): likewise
23797 * fs/jfs.c (grub_jfs_dir): likewise
23798 * fs/minix.c (grub_minix_dir): likewise
23799 * fs/ntfs.c (grub_ntfs_dir): likewise
23800 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23801 * fs/sfs.c (grub_sfs_dir): likewise
23802 * fs/xfs.c (grub_xfs_dir): likewise
23803 * util/hostfs.c (grub_hostfs_dir): likewise
23804 * lib/datetime.c: moved to ...
23805 * normal/datetime.c: ... moved here
23806 (grub_unixtime2datetime): new function
23807 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23808 * normal/completion.c (iterate_dir): use new dir syntax
23809 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23810 last modification time of a volume
7dd4a573 23811 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23812 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23813 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23814 (normal_mod_SOURCES): likewise
23815 (datetime_mod_SOURCES): Removed lib/datetime.c
23816 * conf/i386-efi.rmk: likewise
7dd4a573 23817 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23818 * conf/i386-pc.rmk: likewise
23819 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23820 * conf/sparc64-ieee1275.rmk: likewise
23821 * conf/x86_64-efi.rmk: likewise
05aaebfb 23822
8a7e1a14 238232009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23826
23827 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23828 on grub_fat_find_dir
23829 (grub_fat_find_dir): use grub_fat_iterate_dir
23830 (grub_fat_label): likewise
23831
04186a9c 238322009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23833
7dd4a573 23834 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23835 and command.h
23836 remove extraneous kernel_elf_HEADERS
23837
da4c0bb6 238382009-04-04 Bean <bean123ch@gnail.com>
23839
23840 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23841
23842 * util/misc.c: Likewise.
23843
54ad9555 238442009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23845
23846 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23847 instead of grub_printf.
23848
7a6bf9f2 238492009-04-03 Robert Millan <rmh@aybabtu.com>
23850
23851 * loader/i386/linux.c (grub_linux_setup_video): Fill
23852 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23853 values from `mode info' structure instead of hardcoded
23854 values.
23855
3fcc2083 238562009-04-01 Pavel Roskin <proski@gnu.org>
23857
23858 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23859 unused now.
23860 * genmk.rb: Likewise.
23861 * configure.ac: Likewise.
23862
5ec9740b 238632009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23864
23865 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23866 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23867
5270cec8 238682009-04-01 David S. Miller <davem@davemloft.net>
23869
23870 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23871 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23872 (grub_setjmp): Mark with 'returns_twice' attribute.
23873 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23874 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23875 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23876
9c3dd854 238772009-04-01 Robert Millan <rmh@aybabtu.com>
23878
23879 Reapply fix from 2008-07-28 which was accidentally reverted; also
23880 perform the same fix to a similar check in same function.
23881
23882 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23883 with the same number are found, just use issue a warning with
23884 grub_dprintf(), as this error has been reported to be non-fatal.
23885
0d818b7e 238862009-03-31 Pavel Roskin <proski@gnu.org>
23887
23888 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23889 for cross-compilation.
23890
95646d92 238912009-03-30 Robert Millan <rmh@aybabtu.com>
23892
23893 Fix i386-ieee1275 build.
23894
23895 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23896 Remove declaration.
23897
6a003ed1 238982009-03-30 Pavel Roskin <proski@gnu.org>
23899
23900 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23901 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23902 zero-terminated, rely only on the strlen value. Fix comparison
23903 of strings differing in length.
23904
92f33540 239052009-03-30 Robert Millan <rmh@aybabtu.com>
23906
23907 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23908 checking for abi version. Improve error messages on BIOS to notify
23909 user about `linux16' command.
23910
a8c48fd5 239112009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23912
f968172e 23913 Leak fixes
a8c48fd5 23914
f968172e 23915 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23916 in case of collision
23917 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23918
9c323f09 239192009-03-29 Robert Millan <rmh@aybabtu.com>
23920
23921 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23922 set `vid_mode' accordingly.
23923 (grub_linux_boot): Process `vid_mode' and set video mode.
23924
ae68f423 239252009-03-29 Robert Millan <rmh@aybabtu.com>
23926
23927 * util/grub.d/10_linux.in (linux_entry): New function.
23928 Factorize generation of Linux boot entries.
23929
5709cfc4 239302009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23931
23932 Make the format of Environment Block plain text. The boot loader
23933 part is not tested well yet.
7dd4a573 23934
5709cfc4 23935 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23936 (buffer): Removed.
23937 (envblk): Likewise.
23938 (usage): Remove "info" and "clear". Add "unset". Update the
23939 description of "set", as this does not delete variables any
23940 longer.
23941 (create_envblk_file): Complete rewrite.
23942 (open_envblk_file): Likewise.
23943 (cmd_info): Removed.
23944 (cmd_list): Likewise.
23945 (cmd_set): Likewise.
23946 (cmd_clear): Likewise.
23947 (list_variables): New function.
23948 (write_envblk): Likewise.
23949 (set_variables): Likewise.
23950 (unset_variables): Likewise.
23951 (main): Complete rewrite.
23952
23953 * commands/loadenv.c (buffer): Removed.
23954 (envblk): Likewise.
23955 (open_envblk_file): New function.
23956 (read_envblk_file): Complete rewrite.
23957 (grub_cmd_load_env): Likewise.
23958 (grub_cmd_list_env): Likewise.
23959 (struct blocklist): New struct.
23960 (free_blocklists): New function.
23961 (check_blocklists): Likewise.
23962 (write_blocklists): Likewise.
23963 (grub_cmd_save_env): Complete rewrite.
23964
23965 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23966 a plain text signature.
23967 (GRUB_ENVBLK_MAXLEN): Removed.
23968 (struct grub_envblk): Complete rewrite.
23969 (grub_envblk_find): Removed.
23970 (grub_envblk_insert): Likewise.
23971 (grub_envblk_open): New prototype.
23972 (grub_envblk_set): Likewise.
23973 (grub_envblk_delete): Put const to VALUE.
23974 (grub_envblk_iterate): Put const to NAME and VALUE.
23975 (grub_envblk_close): New prototype.
23976 (grub_envblk_buffer): New inline function.
23977 (grub_envblk_size): Likewise.
23978
23979 * lib/envblk.c: Include grub/mm.h.
23980 (grub_env_find): Removed.
23981 (grub_envblk_open): New function.
23982 (grub_envblk_close): Likewise.
23983 (escaped_value_len): Likewise.
23984 (find_next_line): Likewise.
23985 (grub_envblk_insert): Removed.
23986 (grub_envblk_set): New function.
23987 (grub_envblk_delete): Complete rewrite.
23988 (grub_envblk_iterate): Likewise.
23989
a9368fd3 239902009-03-28 Robert Millan <rmh@aybabtu.com>
23991
23992 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23993 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23994 variables. Use 16-bit loader.
23995 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23996 loader.
23997 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23998 (grub_linux16_boot): ... this. Update all users.
23999 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
24000 (grub_linux_boot): ... this. Update all users.
24001
24002 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
24003 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
24004 commands to `linux16' and `initrd16'.
24005 (GRUB_MOD_FINI(linux)): Rename to ...
24006 (GRUB_MOD_FINI(linux16)): ... this.
24007
e4dd5a7e 240082009-03-24 Pavel Roskin <proski@gnu.org>
24009
24010 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
24011 not just for compilation.
24012
c04d6e05 240132009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
24014
24015 Move multiboot helper out of kernel
24016
24017 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
24018 `loader/i386/multiboot_helper.S'.
24019 * conf/i386-coreboot.rmk: Likewise
24020 * conf/i386-ieee1275.rmk: Likewise
24021
24022 * kern/i386/loader.S: Move multiboot helpers from here...
24023 * loader/i386/multiboot_helper.S: ...moved here
24024 * include/grub/i386/loader.h: Move declarations of multiboot
24025 helpers from here...
24026 * include/grub/i386/multiboot.h: ...moved here
24027 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
24028
42a5b3fc 240292009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24030
24031 * kern/env.c (grub_env_context_open): Added an argument to specify
24032 whether a new context inherits exported variables from current
24033 one. This is useful when making a sandbox to interpret a config
24034 file.
24035 All callers updated.
24036
24037 * include/grub/env.h (grub_env_context_open): Updated the prototype.
24038
b28bbc4e 240392009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24040
24041 * kern/env.c (grub_env_context_close): Fix memory leaks.
24042
f04f02e4 240432009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24044
24045 * normal/main.c (grub_normal_execute): Added an argument
24046 BATCH to specify if an interactive interface should be provided
24047 after reading a config file.
24048 All callers updated.
24049 (read_command_list): Prevent being executed twice.
24050 (read_fs_list): Likewise.
24051
42a5b3fc 24052 * include/grub/normal.h (grub_normal_execute): Updated the
24053 prototype.
f04f02e4 24054
41473ac2 240552009-03-22 Pavel Roskin <proski@gno.org>
24056
fbc00b0c 24057 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
24058 _start.
24059 * kern/i386/pc/startup.S: Likewise.
24060 * kern/i386/efi/startup.S: Likewise.
24061 * kern/i386/ieee1275/startup.S: Likewise.
24062 * kern/i386/coreboot/startup.S: Likewise.
24063 * kern/x86_64/efi/startup.S: Likewise.
24064
41473ac2 24065 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
24066 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
24067 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
24068
2274cc8f 240692009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
24070
24071 Bugfixes in multiboot for bugs uncovered by solaris kernel.
24072
24073 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
24074 limit detection.
24075 Use vaddr of correct segment for entry_point.
24076
b1b797cb 240772009-03-21 Bean <bean123ch@gmail.com>
24078
24079 * commands/blocklist.c: Add include file <grub/command.h>, remove
24080 <grub/normal.h> and <grub/arg.h>.
24081 (grub_cmd_blocklist): Use the new command interface.
24082 (GRUB_MOD_INIT): Likewise.
24083 (GRUB_MOD_FINI): Likewise.
24084 * commands/boot.c: Likewise.
24085 * commands/cat.c: Likewise.
24086 * commands/cmp.c: Likewise.
24087 * commands/configfile.c: Likewise.
24088 * commands/crc.c: Likewise.
24089 * commands/echo.c: Likewise.
24090 * commands/halt.c: Likewise.
24091 * commands/handler.c: Likewise.
24092 * commands/hdparm.c: Likewise.
24093 * commands/help.c: Likewise.
24094 * commands/hexdump.c: Likewise.
24095 * commands/loadenv.c: Likewise.
24096 * commands/ls.c: Likewise.
24097 * commands/lsmmap.c: Likewise.
24098 * commands/lspci.c: Likewise.
24099 * commands/loadenv.c: Likewise.
24100 * commands/read.c: Likewise.
24101 * commands/reboot.c: Likewise.
24102 * commands/search.c: Likewise.
24103 * commands/sleep.c: Likewise.
24104 * commands/test.c: Likewise.
24105 * commands/usbtest.c: Likewise.
24106 * commands/videotest.c: Likewise.
24107 * commands/i386/cpuid.c: Likewise.
24108 * commands/i386/pc/halt.c: Likewise.
24109 * commands/i386/pc/play.c: Likewise.
24110 * commands/i386/pc/pxecmd.c: Likewise.
24111 * commands/i386/pc/vbeinfo.c: Likewise.
24112 * commands/i386/pc/vbetest.c: Likewise.
24113 * commands/ieee1275/suspend.c: Likewise.
24114 * disk/loopback.c: Likewise.
24115 * font/font_cmd.c: Likewise.
24116 * hello/hello.c: Likewise.
24117 * loader/efi/appleloader.c: Likewise.
24118 * loader/efi/chainloader.c: Likewise.
24119 * loader/i386/bsd.c: Likewise.
24120 * loader/i386/efi/linux.c: Likewise.
24121 * loader/i386/ieee1275/linux.c: Likewise.
24122 * loader/i386/linux.c: Likewise.
24123 * loader/i386/pc/chainloader.c: Likewise.
24124 * loader/i386/pc/linux.c: Likewise.
24125 * loader/powerpc/ieee1275/linux.c: Likewise.
24126 * loader/multiboot_loader.c: Likewise.
24127 * term/gfxterm.c: Likewise.
24128 * term/i386/pc/serial.c: Likewise.
24129 * term/terminfo.c: Likewise.
24130
24131 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
24132 * term/i386/pc/vga.c: Likewise.
24133 * video/readers/jpeg.c: Likewise.
24134 * video/readers/png.c: Likewise.
24135 * video/readers/tga.c: Likewise.
24136
24137 * util/grub-fstest (cmd_loopback): Removed.
24138 (cmd_blocklist): Likewise.
24139 (cmd_ls): Likewise.
24140 (grub_register_command): Likewise.
24141 (grub_unregister_command): Likewise.
24142 (execute_command): Use grub_command_find to locate command and execute
24143 it.
24144
24145 * include/grub/efi/chainloader.h: Removed.
24146 * loader/efi/chainloader_normal.c: Likewise.
24147 * loader/i386/bsd_normal.c: Likewise.
24148 * loader/i386/pc/chainloader_normal.c: Likewise.
24149 * loader/i386/pc/multiboot_normal.c: Likewise.
24150 * loader/linux_normal.c: Likewise.
24151 * loader/multiboot_loader_normal.c: Likewise.
24152 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24153
24154 * gencmdlist.sh: Scan new registration command grub_register_extcmd
24155 and grub_register_command_p1.
24156
24157 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
24158 kern/command.c, lib/arg.c and commands/extcmd.c.
24159 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
24160 (minicmd_mod_SOURCES): New variable.
24161 (minicmd_mod_CFLAGS): Likewise.
24162 (minicmd_mod_LDFLAGS): Likewise.
24163 (extcmd_mod_SOURCES): Likewise.
24164 (extcmd_mod_CFLAGS): Likewise.
24165 (extcmd_mod_LDFLAGS): Likewise.
24166 (boot_mod_SOURCES): Removed.
24167 (boot_mod_CFLAGS): Likewise.
24168 (boot_mod_LDFLAGS): Likewise.
24169
24170 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
24171 kern/corecmd.c.
24172 (kernel_img_HEADERS): Add command.h.
24173 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
24174 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
24175 and lib/arg.c.
24176 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
24177 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
24178 remove the corresponding normal mode command.
24179 (normal_mod_SOURCES): Remove normal/arg.c.
24180 * conf/i386-coreboot.rmk: Likewise.
24181 * conf/i386-efi.rmk: Likewise.
24182 * conf/i386-ieee1275.rmk: Likewise.
24183 * conf/powerpc-ieee1275.rmk: Likewise.
24184 * conf/x86_64-efi.rmk: Likewise.
24185
24186 * include/grub/arg.h: Move from here ...
24187 * include/grub/lib/arg.h: ... to here.
24188
24189 * normal/arg.c: Move from here ...
24190 * lib/arg.c: ... to here.
24191
24192 * commands/extcmd.c: New file.
24193 * commands/minicmd.c: Likewise.
24194 * include/grub/command.h: Likewise.
24195 * include/grub/extcmd.h: Likewise.
24196 * kern/command.c: Likewise.
24197 * kern/corecmd.c: Likewise.
24198
24199 * kern/list.c (grub_list_iterate): Return int instead of void.
24200 (grub_list_insert): New function.
24201 (grub_prio_list_insert): Likewise.
24202
24203 * kern/rescue.c (grub_rescue_command): Removed.
24204 (grub_rescue_command_list): Likewise.
24205 (grub_rescue_register_command): Likewise.
24206 (grub_rescue_unregister_command): Likewise.
24207 (grub_rescue_cmd_boot): Move to minicmd.c
24208 (grub_rescue_cmd_help): Likewise.
24209 (grub_rescue_cmd_info): Likewise.
24210 (grub_rescue_cmd_boot): Likewise.
24211 (grub_rescue_cmd_testload): Likewise.
24212 (grub_rescue_cmd_dump): Likewise.
24213 (grub_rescue_cmd_rmmod): Likewise.
24214 (grub_rescue_cmd_lsmod): Likewise.
24215 (grub_rescue_cmd_exit): Likewise.
24216 (grub_rescue_print_devices): Moved to corecmd.c.
24217 (grub_rescue_print_files): Likewise.
24218 (grub_rescue_cmd_ls): Likewise.
24219 (grub_rescue_cmd_insmod): Likewise.
24220 (grub_rescue_cmd_set): Likewise.
24221 (grub_rescue_cmd_unset): Likewise.
7d074e3c 24222 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 24223 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 24224 commands, remove grub_rescue_register_command calls.
b1b797cb 24225
7d074e3c 24226 * normal/command.c (grub_register_command): Removed.
b1b797cb 24227 (grub_unregister_command): Likewise.
24228 (grub_command_find): Likewise.
24229 (grub_iterate_commands): Likewise.
24230 (rescue_command): Likewise.
24231 (export_command): Moved to corecmd.c.
24232 (set_command): Removed.
24233 (unset_command): Likewise.
24234 (insmod_command): Likewise.
24235 (rmmod_command): Likewise.
24236 (lsmod_command): Likewise.
24237 (grub_command_init): Likewise.
24238
24239 * normal/completion.c (iterate_command): Use cmd->prio to check for
24240 active command.
24241 (complete_arguments): Use grub_extcmd_t structure to find options.
24242 (grub_normal_do_completion): Change function grub_iterate_commands to
24243 grub_command_iterate.
24244
24245 * normal/execute.c (grub_script_execute_cmd): No need to parse
24246 argument here.
24247
24248 * normal/main.c (grub_dyncmd_dispatcher): New function.
24249 (read_command_list): Register unload commands as dyncmd.
24250 (grub_cmd_normal): Use new command interface, register rescue,
24251 unregister normal at entry, register normal, unregister rescue at exit.
24252
24253 * include/grub/list.h (grub_list_test_t): New type.
24254 (grub_list_iterate): Return int instead of void.
24255 (grub_list_insert): New function.
24256 (GRUB_AS_NAMED_LIST_P): New macro.
24257 (GRUB_AS_PRIO_LIST): Likewise.
24258 (GRUB_AS_PRIO_LIST_P): Likewise.
24259 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
24260 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
24261 (grub_prio_list): New structure.
24262 (grub_prio_list_insert): New function.
24263 (grub_prio_list_remove): New inline function.
24264
24265 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
24266 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
24267 (GRUB_COMMAND_FLAG_MENU): Likewise.
24268 (GRUB_COMMAND_FLAG_BOTH): Likewise.
24269 (GRUB_COMMAND_FLAG_TITLE): Likewise.
24270 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
24271 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
24272 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
24273 (grub_command): Likewise.
24274 (grub_register_command): Likewise.
24275 (grub_command_find): Likewise.
24276 (grub_iterate_commands): Likewise.
24277 (grub_command_init): Likewise.
24278 (grub_arg_parse): Likewise.
24279 (grub_arg_show_help): Likewise.
24280
24281 * include/grub/rescue.h (grub_rescue_register_command): Removed.
24282 (grub_rescue_unregister_command): Likewise.
24283
24284 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
24285 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
24286 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
24287
24288 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
24289 grub_rescue_cmd_initrd.
24290 * include/grub/i386/loader.h: Likewise.
24291 * include/grub/x86_64/loader.h: Likewise.
24292
24293 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
24294
1f4147aa 242952009-03-21 Bean <bean123ch@gmail.com>
24296
24297 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
24298 instead of stat in mingw environment.
24299
24300 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
24301
24302 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
24303
24304 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
24305 AC_CONFIG_LINKS.
24306
2156d5ba 243072009-03-21 Bean <bean123ch@gmail.com>
24308
24309 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24310 out of range error.
24311
177b82ca 243122009-03-18 Michel Dänzer <michel@daenzer.net>
24313
24314 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24315 checking inode flags for EXT4_EXTENTS_FLAG.
24316
14aad807 243172009-03-18 Robert Millan <rmh@aybabtu.com>
24318
24319 * loader/i386/linux.c: Include `<grub/video.h>' and
24320 `<grub/i386/pc/vbe.h>'..
24321 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24322 (grub_linux32_boot): Attempt to configure video settings with
24323 grub_linux_setup_video().
24324 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24325 to avoid grub_console_fini() which would step out of graphical mode
24326 unconditionally.
24327
8cf83a27 243282009-03-14 Robert Millan <rmh@aybabtu.com>
24329
24330 Fix build on powerpc.
24331 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24332
40164e75 243332009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24334
24335 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24336 background image command.
24337
c58bc32a 243382009-03-12 Colin D Bennett <colin@gibibit.com>
24339
24340 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24341 (grub_gfxterm_putchar): Extract pairs of identical calls to
24342 draw_cursor out of conditional blocks.
24343
5415144a 243442009-03-11 Pavel Roskin <proski@gnu.org>
24345
24346 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24347 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24348
6394042e 243492009-03-11 Robert Millan <rmh@aybabtu.com>
24350
24351 * loader/i386/multiboot_elfxx.c
24352 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24353
b7b50e5f 243542009-03-11 Felix Zielcke <fzielcke@z-51.de>
24355
24356 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24357 `kern/handler.c'.
24358
1ca7fc96 243592009-03-11 Robert Millan <rmh@aybabtu.com>
24360
24361 * loader/i386/multiboot.c (code_size): New variable.
24362 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 24363 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 24364 4-byte alignment to MBI and others by increasing
7d074e3c 24365 `boot_loader_name_length' appropriately.
1ca7fc96 24366
24367 * loader/i386/multiboot_elfxx.c
24368 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24369
a83ea1d2 243702009-03-09 Felix Zielcke <fzielcke@z-51.de>
24371
24372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24373 `fs/ext2.c'.
24374
aa9f3bff 243752009-03-08 Robert Millan <rmh@aybabtu.com>
24376
24377 Make loader/i386/linux.c usable on i386-pc again.
24378
24379 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24380 memory to heap.
24381 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24382 `#error' stanza.
24383
d8b3b60e 243842009-03-07 Bean <bean123ch@gmail.com>
24385
24386 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24387 allocation.
24388
b362c9e9 243892009-03-06 Robert Millan <rmh@aybabtu.com>
24390
24391 Fix display issue on terminals with screen size other than 80x25
24392 (e.g. gfxterm with resolution higher than 640x480).
24393
24394 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 24395 position relative to the center of the terminal instead of relying
b362c9e9 24396 on a hardcoded offset.
24397
9304eef1 243982009-03-04 Robert Millan <rmh@aybabtu.com>
24399
24400 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24401 installed.
24402
24403 * Makefile.in (host_kernel): New variable.
24404 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24405 scripts instead of just the windows one.
24406 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24407
eabc95fb 244082009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 24409
24410 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24411 `kern/handler.c'.
24412 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24413 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24416 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24418
ceb1223c 244192009-03-04 Felix Zielcke <fzielcke@z-51.de>
24420
24421 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24422 or if there's no space for the disk label and print the partition number on a
24423 invalid magic.
24424
4910684a 244252009-03-04 Felix Zielcke <fzielcke@z-51.de>
24426
24427 * util/misc.c: Include <time.h>.
24428 (grub_millisleep): New function.
24429
7e9ca17a 244302009-03-04 Bean <bean123ch@gmail.com>
24431
24432 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24433 another option -mno-red-zone.
24434
24435 * commands/handler.c: Change module description.
24436
24437 * kern/handler.c: Add missing space at the end of description line.
24438
24439 * kern/list.c: Likewise.
24440
f501677c 244412009-03-03 Robert Millan <rmh@aybabtu.com>
24442
24443 Move more components to the relocation area, and fix mbi pointer
24444 handling to use the destination rather than the origin (thanks to
24445 Vladimir Serbinenko for spotting).
24446
24447 * loader/i386/multiboot.c (mbi_dest): New variable.
24448 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24449 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24450 relocation area.
24451
9902d047 244522009-03-01 Bean <bean123ch@gmail.com>
24453
50fb7002 24454 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24455 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24456 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24457 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24458
24459 * loader/i386/efi/linux.c (acpi_guid): New variable.
24460 (acpi_guid): Likewise.
24461 (EBDA_SEG_ADDR): New constant.
24462 (LOW_MEM_ADDR): Likewise.
24463 (FAKE_EBDA_SEG): Likewise.
24464 (fake_bios_data): New function.
24465 (grub_linux_boot): Call fake_bios_data.
24466
71b9f361 244672009-03-01 Bean <bean123ch@gmail.com>
24468
24469 * commands/terminal.c: Removed.
24470
24471 * commands/handler.c: New file.
24472
24473 * include/grub/list.h: Likewise.
24474
24475 * include/grub/handler.h: Likewise.
24476
24477 * kern/list.c: Likewise.
24478
24479 * kern/handler.c: Likewise.
24480
24481 * kern/term.h: Include header file <grub/handler.h>.
24482 (grub_term_input): Move next field to the beginning.
24483 (grub_term_output): Likewise.
24484 (grub_term_input_class): New variable.
24485 (grub_term_output_class): Likewise.
24486 (grub_term_register_input): Changed to inline function.
24487 (grub_term_register_output): Likewise.
24488 (grub_term_unregister_input): Likewise.
24489 (grub_term_unregister_output): Likewise.
24490 (grub_term_set_current_input): Likewise.
24491 (grub_term_set_current_output): Likewise.
24492 (grub_term_get_current_input): Likewise.
24493 (grub_term_get_current_output): Likewise.
24494 (grub_term_iterate_input): Removed.
24495 (grub_term_iterate_output): Likewise.
24496
24497 * kern/term.c (grub_term_list_input): Removed.
24498 (grub_term_list_output): Likewise.
24499 (grub_term_input_class): New variable.
24500 (grub_term_output_class): Likewise.
50fb7002 24501 (grub_cur_term_input): Change variable as macro.
71b9f361 24502 (grub_cur_term_output): Likewise.
24503 (grub_term_register_input): Removed.
24504 (grub_term_register_output): Likewise.
24505 (grub_term_unregister_input): Likewise.
24506 (grub_term_unregister_output): Likewise.
24507 (grub_term_set_current_input): Likewise.
24508 (grub_term_set_current_output): Likewise.
24509 (grub_term_iterate_input): Likewise.
24510 (grub_term_iterate_output): Likewise.
24511 (grub_term_get_current_input): Likewise.
24512 (grub_term_get_current_output): Likewise.
24513
24514 * util/grub-editenv.c: Include header file <grub/handler.h>.
24515 (grub_term_get_current_input): Removed.
24516 (grub_term_get_current_output): Likewise.
24517 (grub_term_input_class): New variable.
50fb7002 24518 (grub_term_output_class): Likewise.
71b9f361 24519
24520 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24521 (grub_term_get_current_output): Likewise.
24522 (grub_term_input_class): New variable.
50fb7002 24523 (grub_term_output_class): Likewise.
71b9f361 24524
24525 * util/grub-probe.c (grub_term_get_current_input): Removed.
24526 (grub_term_get_current_output): Likewise.
24527 (grub_term_input_class): New variable.
50fb7002 24528 (grub_term_output_class): Likewise.
71b9f361 24529
24530 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24531 (grub_term_get_current_output): Likewise.
24532 (grub_term_input_class): New variable.
50fb7002 24533 (grub_term_output_class): Likewise.
71b9f361 24534
24535 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24536 (terminal_mod_SOURCES): Likewise.
24537 (terminal_mod_CFLAGS): Likewise.
24538 (terminal_mod_LDFLAGS): Likewise.
24539
24540 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24541 handler.c.
24542 (kernel_img_SOURCES): Add list.c and handler.c.
24543 (kernel_img_HEADERS): Add list.h and handler.h.
24544
24545 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24546 handler.c.
24547 (kernel_mod_SOURCES): Add list.c and handler.c.
24548 (kernel_mod_HEADERS): Add list.h and handler.h.
24549
24550 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24551 handler.c.
24552 (kernel_elf_SOURCES): Add list.c and handler.c.
24553 (kernel_elf_HEADERS): Add list.h and handler.h.
24554
24555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24556 handler.c.
24557 (kernel_elf_SOURCES): Add list.c and handler.c.
24558 (kernel_elf_HEADERS): Add list.h and handler.h.
24559
24560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24561 handler.c.
24562 (kernel_mod_SOURCES): Add list.c and handler.c.
24563 (kernel_mod_HEADERS): Add list.h and handler.h.
24564
24565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24566 handler.c.
24567 (kernel_elf_SOURCES): Add list.c and handler.c.
24568 (kernel_elf_HEADERS): Add list.h and handler.h.
24569
8a31787f 245702009-02-27 Robert Millan <rmh@aybabtu.com>
24571
24572 Factorize elf32 / elf64 code in Multiboot loader. This will
24573 prevent it from getting out of sync again.
24574
24575 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24576 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24577 grub_multiboot_load_elf64): Move from here ...
24578 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24579 grub_multiboot_load_elf): ... to here (new file).
24580
51cd3dfc 245812009-02-27 Robert Millan <rmh@aybabtu.com>
24582
24583 * util/grub.d/10_linux.in: Rename "single-user mode" to
24584 "recovery mode".
24585
6e8c9c3a 245862009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 Don't leak in SCSI code.
24589 * disk/scsi.c (grub_scsi_close): free `scsi'.
24590
4b6bf4f9 245912009-02-27 Robert Millan <rmh@aybabtu.com>
24592
24593 * loader/i386/pc/multiboot.c: Move from here ...
24594 * loader/i386/multiboot.c: ... to here. Update all users.
24595
b9413424 245962009-02-27 Robert Millan <rmh@aybabtu.com>
24597
24598 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24599 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24600
50fb7002 246012009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24602
24603 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24604 b-tree.
24605
8cc50345 246062009-02-27 Robert Millan <rmh@aybabtu.com>
24607
24608 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24609 `0x' qualifier as 0 when base is specified as parameter).
24610
6e09b8b7 246112009-02-24 Bean <bean123ch@gmail.com>
24612
24613 * configure.ac: Check for -mcmodel=large in x86_64 target.
24614
24615 * include/grub/efi/api.h (efi_call_10): New macro.
24616 (efi_wrap_10): New function.
24617
24618 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24619 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24620 (GRUB_PE32_REL_BASED_LOW): Likewise.
24621 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24622 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24623 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24624 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24625 (GRUB_PE32_REL_BASED_REL): Likewise.
24626 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24627 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24628 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24629
24630 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24631 issue.
24632
24633 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24634 (efi_wrap_10): New function.
24635
24636 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24637
24638 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24639 MB/MBP model (NV chipset).
24640 (devdata_devs): Add devpath_5 to the list.
24641
24642 * load/i386/efi/linux.c (video_base): Remove variable.
24643 (RGB_MASK): New macro.
24644 (RGB_MAGIC): Likewise.
24645 (LINE_MIN): Likewise.
24646 (LINE_MAX): Likewise.
24647 (FBTEST_STEP): Likewise.
24648 (FBTEST_COUNT): Likewise.
24649 (fb_list): New variable.
24650 (grub_find_video_card): Remove function.
24651 (find_framebuf): New function.
24652 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24653 line length.
24654
24655 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24656 problem for x86_64.
24657
74b21bee 246582009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24659
24660 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24661
24662 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24663 coding tool name.
24664
a455f472 246652009-02-22 Robert Millan <rmh@aybabtu.com>
24666
24667 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24668 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24669 in our relocation, instead of using it directly from heap. Also
24670 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24671
6374daf3 246722009-02-21 Robert Millan <rmh@aybabtu.com>
24673
24674 Implement USB keyboard support (based on patch by Marco Gerards)
24675
24676 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24677 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24678 (usb_keyboard_mod_LDFLAGS): New variables.
24679
24680 * term/usb_keyboard.c: New file.
24681
8fa4ea70 246822009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 Corrected wrong declaration
24685
24686 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24687
353976ac 246882009-02-14 Christian Franke <franke@computer.org>
24689
24690 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24691 (grub_lspci_iter): Print class code and programming interface byte.
24692
6aa1169b 246932009-02-14 Christian Franke <franke@computer.org>
24694
24695 * gendistlist.sh: Ignore `.svn' directories.
24696
265372ca 246972009-02-14 Felix Zielcke <fzielcke@z-51.de>
24698
24699 * fs/fat.c: Add 2009 to Copyright line.
24700
9ff516f3 247012009-02-14 Christian Franke <franke@computer.org>
24702
24703 * commands/hdparm.c: New file. Provides `hdparm' command
24704 which sends ATA commands via grub_disk_ata_pass_through ().
24705
24706 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24707
24708 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24709 and <grub/cpu/io.h> to include/grub/ata.h.
24710 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24711 (GRUB_CDROM_SECTOR_SIZE): Remove.
24712 (GRUB_ATA_*): Move to include/grub/ata.h.
24713 (GRUB_ATAPI_*): Likewise.
24714 (enum grub_ata_commands): Likewise.
24715 (enum grub_ata_timeout_milliseconds): Likewise.
24716 (struct grub_ata_device): Likewise.
24717 (grub_ata_regset): Likewise.
24718 (grub_ata_regget): Likewise.
24719 (grub_ata_regset2): Likewise.
24720 (grub_ata_regget2): Likewise.
24721 (grub_ata_check_ready): Likewise.
24722 (grub_ata_wait_not_busy): Remove static, exported in
24723 include/grub/ata.h.
24724 (grub_ata_wait_drq): Likewise.
24725 (grub_ata_pio_read): Likewise.
24726
24727 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24728 function for hdparm.mod.
24729
24730 * include/grub/ata.h: New file, contains declarations from
24731 disk/ata.c.
24732 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24733
24734 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24735 (grub_disk_ata_pass_through): New exported variable.
24736
24737 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24738
772e23da 247392009-02-13 Colin D Bennett <colin@gibibit.com>
24740
24741 Support multiple fallback entries, and provide an API to support
24742 executing default+fallback menu entries. Renamed the `terminal' menu
24743 viewer to `text'.
24744
24745 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24746 variable declaration.
24747 (grub_menu_execute_callback): New structure declaration.
24748 (grub_menu_execute_callback_t): New typedef.
24749 (grub_menu_execute_with_fallback): New function declaration.
24750 (grub_menu_get_entry): Likewise.
24751 (grub_menu_get_timeout): Likewise.
24752 (grub_menu_set_timeout): Likewise.
24753
24754 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24755
24756 * normal/menu.c (grub_wait_after_message): Moved to
24757 `normal/menu_text.c'.
24758 (draw_border): Likewise.
24759 (print_message): Likewise.
24760 (print_entry): Likewise.
24761 (print_entries): Likewise.
24762 (grub_menu_init_page): Likewise.
24763 (get_entry_number): Likewise.
24764 (print_timeout): Likewise.
24765 (run_menu): Likewise.
24766 (grub_menu_execute_entry): Likewise.
24767 (show_text_menu): Likewise.
24768 (get_and_remove_first_entry_number): New function.
24769 (grub_menu_execute_with_fallback): Likewise.
24770 (get_entry): Renamed to ...
24771 (grub_menu_get_entry): .. this and made it global.
24772 (get_timeout): Renamed to ...
24773 (grub_menu_get_timeout): ... this and made it global.
24774 (set_timeout): Renamed to ...
24775 (grub_menu_set_timeout): ... this and made it global.
24776 (grub_normal_terminal_menu_viewer): Renamed to ...
24777 (grub_normal_text_menu_viewer): ... this.
24778
24779 * normal/menu_text.c: New file. Extracted text-menu-specific code
24780 from normal/menu.c.
24781
24782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24783 (normal_mod_SOURCES): Likewise.
24784
24785 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24786 (normal_mod_SOURCES): Likewise.
24787
24788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24789 (normal_mod_SOURCES): Likewise.
24790
24791 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24792 (normal_mod_SOURCES): Likewise.
24793
24794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24795 (normal_mod_SOURCES): Likewise.
24796
24797 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24798 (normal_mod_SOURCES): Likewise.
24799
24800 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24801 (normal_mod_SOURCES): Likewise.
24802
16ac430e 248032009-02-11 Robert Millan <rmh@aybabtu.com>
24804
24805 * util/grub.d/00_header.in: Update old reference to `font' command.
24806
06ff20fc 248072009-02-10 Felix Zielcke <fzielcke@z-51.de>
24808
24809 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24810
24811 Based on patch from Javier Martín.
24812
96da9407 248132009-02-09 Felix Zielcke <fzielcke@z-51.de>
24814
24815 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24816 to avoid false positives with FAT.
96da9407 24817 (grub_fstest_SOURCES): Likewise.
24818 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24819 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24822 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24824
6dca6fe4 248252009-02-09 Felix Zielcke <fzielcke@z-51.de>
24826
06ff20fc 24827 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24828 bpb.version_specific.fat12_or_fat16.fstype and
24829 bpb.version_specific.fat32.fstype.
24830
2550c62f 248312009-02-08 Robert Millan <rmh@aybabtu.com>
24832
be110b30 24833 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24834
56978920 248352009-02-08 Robert Millan <rmh@aybabtu.com>
24836
24837 * Makefile.in (host_os, host_cpu): New variables.
24838 (target_os): Remove. Update all users.
24839
d64399b5 248402009-02-08 Marco Gerards <marco@gnu.org>
24841
24842 * Makefile.in (enable_grub_emu_usb): New variable.
24843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24844 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24845 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24846 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24847 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24848 `usbtest.mod' and `usbms.mod'.
24849 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24850 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24851 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24852 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24853 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24854 variables.
24855
24856 * disk/usbms.c: New file.
24857
24858 * include/grub/usb.h: Likewise.
24859
24860 * include/grub/usbtrans.h: Likewise.
24861
24862 * include/grub/usbdesc.h: Likewise.
24863
24864 * bus/usb/usbtrans.c: Likewise.
24865
24866 * bus/usb/ohci.c: Likewise.
24867
24868 * bus/usb/uhci.c: Likewise.
24869
24870 * bus/usb/usbhub.c: Likewise.
24871
24872 * bus/usb/usb.c: Likewise.
24873
24874 * commands/usbtest.c: Likewise.
24875
24876 * util/usb.c: Likewise.
50fb7002 24877
d64399b5 24878 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24879
24880 * configure.ac: Test for libusb presence.
50fb7002 24881
d64399b5 24882 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24883
2b40d6bb 248842009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24885
24886 * kern/mm.c: Add more comments.
24887
73a4ce81 248882009-02-08 Robert Millan <rmh@aybabtu.com>
24889
24890 Patch from Javier Martín.
24891 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24892 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24893
f821ce59 248942009-02-08 Robert Millan <rmh@aybabtu.com>
24895
24896 * fs/cpio.c: Split tar functionality to ...
24897 * fs/tar.c: ... here (new file). Update all users.
24898
aebfc4b0 248992009-02-07 Robert Millan <rmh@aybabtu.com>
24900
24901 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24902 backward-incompatible features.
24903
24904 Based on patch from Javier Martín, with some adjustments.
24905
50fb7002 249062009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24907
24908 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24909
0bb5115e 249102009-02-07 Robert Millan <rmh@aybabtu.com>
24911
24912 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24913 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24914 after the RAID stuff.
24915
38a0f8e7 249162009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24917
50fb7002 24918 Fixes problem when running vbetest command as reported by
38a0f8e7 24919 Vladimir Serbinenko <phcoder@gmail.com>.
24920
24921 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24922
3143cc1c 249232009-02-04 Felix Zielcke <fzielcke@z-51.de>
24924
24925 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24926 /dev/md/NpN style mdraid devices.
24927
9cba6fce 249282009-02-03 Felix Zielcke <fzielcke@z-51.de>
24929
24930 * util/unifont2pff.rb: Remove.
24931
e507a2c1 249322009-02-03 Felix Zielcke <fzielcke@z-51.de>
24933
24934 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24935 `#'.
24936
d2c2b4cd 249372009-02-03 Felix Zielcke <fzielcke@z-51.de>
24938
24939 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24940 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24941 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24942 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24944 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24946
b4315fb0 249472009-02-02 Christian Franke <franke@computer.org>
24948
24949 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24950
de3aa260 249512009-02-01 Felix Zielcke <fzielcke@z-51.de>
24952
7c3ff286 24953 * INSTALL: Note that we now require at least autoconf 2.59 and
24954 that LZO is optional.
de3aa260 24955
825a182b 249562009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24957
24958 Base on patch on bug #24154 created by Tomas Tintera
24959 <trosos@seznam.cz>.
24960
24961 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24962
a69ef770 249632009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24964
7c3ff286 24965 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24966 <bero@arklinux.org>.
24967
24968 * normal/parser.y (script_init): Add missing semicolon.
24969
6fa42fa6 249702009-01-31 Colin D Bennett <colin@gibibit.com>
24971
7c3ff286 24972 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24973 (free_menu_entry_classes): Added.
24974 (grub_normal_menu_addentry): Added class property handling.
24975 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24976 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24977
24978 * normal/menu_viewer.c: New file.
24979
24980 * normal/menu.c (run_menu_entry): Renamed to ...
24981 (grub_menu_execute_entry): ... this and made it as global.
24982 (grub_menu_run): Renamed to ...
24983 (show_text_menu): ... this and made it local.
24984 (show_text_menu): Adapt to new function names.
24985 (grub_normal_terminal_menu_viewer): New global variable.
24986
24987 * include/grub/menu.h: New file.
24988
24989 * include/grub/menu_viewer.h: New file.
24990
24991 * include/grub/normal.h: Added include to grub/menu.h.
24992 (grub_menu_entry): Moved to include/grub/menu.h.
24993 (grub_menu_entry_t): Likewise.
24994 (grub_menu): Likewise.
24995 (grub_menu_t): Likewise.
24996 (grub_normal_terminal_menu_viewer): Added.
24997 (grub_menu_execute_entry): Likewise.
24998 (grub_menu_run): Removed.
24999
25000 * DISTLIST: Added include/grub/menu.h.
25001 Added include/grub/menu_viewer.h.
25002 Added normal/menu_viewer.c.
25003
250042009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
25005
25006 * normal/execute.c (grub_script_execute_menuentry): Changed to use
25007 arglist for menutitle arguments.
25008
25009 * normal/main.c (grub_normal_menu_addentry): Likewise.
25010
25011 * normal/parser.y (menuentry): Likewise.
25012
25013 * normal/script.c (grub_script_create_cmdmenu): Likewise.
25014
25015 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
25016 (grub_script_create_cmdmenu): Likewise.
25017
25018 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
25019
25020 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
25021 changes.
25022
25023 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
25024
25025 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
25026
25027 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
25028
25029 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25030
25031 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25032
25033 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25034
56192c23 250352009-01-30 Christian Franke <franke@computer.org>
25036
25037 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
25038 in option help text.
25039
d72521b3 250402009-01-27 Pavel Roskin <proski@gnu.org>
25041
25042 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
25043
994b5e84 250442009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25045
25046 * commands/lsmmap.c: Add include to grub/machine/memory.h.
25047
25048 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
25049
25050 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
25051 unregister function.
25052
6a7eab2c 250532009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25054
25055 * disk/scsi.c (grub_scsi_read): Fix sign problem.
25056
25057 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
25058
25059 * util/grub-mkfont.c (usage): Fix typo.
25060
25061 * util/elf/grub-mkimage.c (load_modules): Fix warning.
25062
1806b56e 250632009-01-26 Daniel Mierswa <impulze@impulze.org>
25064
3fb18f09 25065 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
25066
336e1fb9 25067 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
25068
1806b56e 25069 * kern/misc.c (grub_strcasecmp): New function.
25070 (grub_strcasecmp): Use grub_size_t instead of int for length.
25071 Fix return value.
25072 * include/grub/misc.h: Update function prototypes.
25073
580b2a0f 250742009-01-26 Robert Millan <rmh@aybabtu.com>
25075
25076 * configure.ac: Fix cross-compilation check.
ef257b36 25077
d31c24f1 250782009-01-22 Christian Franke <franke@computer.org>
25079
25080 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
25081 (precision) digit string. Allow `.format2' without `format1' (width).
25082 Limit input chars for `%s' output to `format2' if specified. This is
25083 compatible with standard printf ().
25084
3138b44c 250852009-01-22 Christian Franke <franke@computer.org>
25086
25087 * disk/ata.c (grub_ata_wait_status): Replace by ...
25088 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
25089 other status bits may be invalid while BSY is asserted.
25090 (grub_ata_check_ready): New function.
25091 (grub_ata_cmd): Removed.
25092 (grub_ata_wait_drq): New function.
25093 (grub_ata_strncpy): Remove inline.
25094 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
25095 and error check now done by grub_ata_wait_drq ().
25096 (grub_ata_pio_write): Likewise.
25097 (grub_atapi_identify): Set DEV before check for !BSY. Use
25098 grub_ata_wait_drq () to wait for data.
25099 (grub_ata_device_initialize): Add status register check to
25100 detect missing SATA slave devices. Add debug messages.
25101 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
25102 (grub_atapi_packet): Set DEV before check for !BSY. Replace
25103 transfer loop by grub_ata_pio_write ().
25104 (grub_ata_identify): Set DEV before check for !BSY. Use
25105 grub_ata_wait_drq () to wait for data.
ef257b36 25106 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 25107 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
25108 read/write in one loop. Fix invalid command on write. Fix incomplete
25109 command on (size % batch) == 0. Add missing error check after write of
25110 last block. Add debug messages.
25111 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
25112
59a64ef6 251132009-01-19 Christian Franke <franke@computer.org>
25114
25115 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
25116 (GRUB_ATAPI_IREASON_*): Likewise.
25117 (grub_ata_pio_write): Fix timeout error return.
25118 (grub_atapi_identify): Add grub_ata_wait () after cmd.
25119 (grub_atapi_wait_drq): New function.
25120 (grub_atapi_packet): New parameter `size'.
25121 Use grub_atapi_wait_drq () and direct write instead of
25122 grub_ata_pio_write ().
25123 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
25124 reads the number of bytes requested by the device for each DRQ
25125 assertion.
25126 (grub_atapi_write): Remove old implementation, return not
25127 implemented instead.
25128
1cfe20b3 251292009-01-19 Christian Franke <franke@computer.org>
25130
25131 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
25132 of 512 to calculate data size.
25133 (grub_scsi_read12): Likewise.
25134 (grub_scsi_write10): Likewise.
25135 (grub_scsi_write12): Likewise.
25136 (grub_scsi_read): Adjust size according to blocksize.
25137 Add checks for invalid blocksize and unaligned transfer.
25138
bee5fe5d 251392009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
25140
25141 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
25142
ef257b36 25143 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 25144 width glyphs.
25145
3e643f8c 251462009-01-19 Robert Millan <rmh@aybabtu.com>
25147
25148 * config.guess: Update to latest version from config git.
25149 * config.sub: Likewise.
25150
4fa80998 251512009-01-17 Felix Zielcke <fzielcke@z-51.de>
25152
25153 * Makefile.in: Change font compilation to use new grub-mkfont instead
25154 of java version.
25155
25156 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
25157 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25158 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25159 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25160 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25161 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25162 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25163 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25164 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25165
7086085b 251662009-01-16 Christian Franke <franke@computer.org>
25167
25168 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
25169 (enum grub_ata_timeout_milliseconds): New enum.
25170 (grub_ata_wait_status): Add parameter milliseconds.
25171 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
25172 recovery from timed-out commands.
25173 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
25174 return grub_errno instead of REG_ERROR.
25175 (grub_ata_pio_write): Add parameter milliseconds.
25176 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
25177 Pass milliseconds to grub_ata_wait_status () and
25178 grub_ata_pio_read ().
25179 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
25180 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
25181 grub_ata_wait_status (). Fix IDENTIFY timeout check.
25182 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
25183 It is not suitable for device detection, because DEV bit is ignored,
25184 the command may run too long, and not all devices set the signature
25185 properly.
25186 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
25187 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
25188 Fix device selection, DEV bit must be set first to address the registers
25189 of the correct device.
25190 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
25191 grub_ata_pio_read/write ().
25192 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
25193 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
25194
4a412913 251952009-01-13 Carles Pina i Estany <carles@pina.cat>
25196
25197 * util/grub-editenv.c (main): Use fseeko(), not fseek().
25198
7795c55e 251992009-01-13 Bean <bean123ch@gmail.com>
d913988c 25200
25201 * util/grub-mkfont.c (write_font): forget to remove some debug code.
25202
7795c55e 252032009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 25204
25205 * Makefile.in: (enable_grub_mkfont): New variable.
25206 (freetype_cflags): Likewise.
25207 (freetype_libs): Likewise.
25208
25209 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
25210 (grub_mkfont_SOURCES): New variable.
25211 (grub_mkfont_CFLAGS): Likewise.
25212 (grub_mkfont_LDFLAGS): Likewise.
25213
25214 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
25215 library if `--enable-grub-mkfont' is requested.
25216 (enable_grub_mkfont): New variable.
25217 (freetype_cflags): Likewise.
25218 (freetype_libs): Likewise.
25219
25220 * util/grub-mkfont.c: New file.
25221
093af1fe 252222009-01-12 Christian Franke <franke@computer.org>
25223
25224 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
25225 mode check. Fix setting of compat_use[].
25226
f36cc108 252272009-01-10 Robert Millan <rmh@aybabtu.com>
25228
25229 Update a few copyright years which we forgot to do in 2008 (only for
25230 files whose changes made in 2008 were copyright-significant)
25231
25232 * Makefile.in: Add 2008 to Copyright line.
25233 * disk/ieee1275/ofdisk.c: Likewise.
25234 * disk/efi/efidisk.c: Likewise.
25235 * kern/dl.c: Likewise.
25236 * kern/sparc64/ieee1275/init.c: Likewise.
25237 * kern/mm.c: Likewise.
25238 * kern/efi/mm.c: Likewise.
25239 * boot/i386/pc/boot.S: Likewise.
25240 * genfslist.sh: Likewise.
25241 * fs/iso9660.c: Likewise.
25242 * fs/hfs.c: Likewise.
25243 * fs/jfs.c: Likewise.
25244 * fs/minix.c: Likewise.
25245 * fs/ufs.c: Likewise.
25246 * gensymlist.sh.in: Likewise.
25247 * genkernsyms.sh.in: Likewise.
25248 * include/grub/misc.h: Likewise.
25249 * include/grub/types.h: Likewise.
25250 * include/grub/symbol.h: Likewise.
25251 * include/grub/elf.h: Likewise.
25252 * include/grub/kernel.h: Likewise.
25253 * include/grub/disk.h: Likewise.
25254 * include/grub/dl.h: Likewise.
25255 * include/grub/i386/linux.h: Likewise.
25256 * include/grub/i386/pc/biosdisk.h: Likewise.
25257 * include/grub/efi/api.h: Likewise.
25258 * include/grub/efi/pe32.h: Likewise.
25259 * include/grub/util/misc.h: Likewise.
25260 * normal/execute.c: Likewise.
25261 * normal/arg.c: Likewise.
25262 * normal/completion.c: Likewise.
25263 * normal/lexer.c: Likewise.
25264 * normal/parser.y: Likewise.
25265 * normal/misc.c: Likewise.
25266 * commands/i386/pc/vbeinfo.c: Likewise.
25267 * commands/hexdump.c: Likewise.
25268 * commands/terminal.c: Likewise.
25269 * commands/ls.c: Likewise.
25270 * commands/help.c: Likewise.
25271 * partmap/pc.c: Likewise.
25272 * loader/efi/chainloader.c: Likewise.
25273 * loader/multiboot_loader.c: Likewise.
25274 * loader/i386/pc/multiboot2.c: Likewise.
25275 * term/efi/console.c: Likewise.
25276 * term/i386/pc/serial.c: Likewise.
25277 * util/lvm.c: Likewise.
25278 * util/console.c: Likewise.
25279 * util/i386/efi/grub-mkimage.c: Likewise.
25280 * util/raid.c: Likewise.
25281
7f02114b 252822009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
25283
25284 * commands/videotest.c: Removed include to grub/machine/memory.h.
25285
25286 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
25287 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
25288 (video_mod_SOURCES): Removed.
25289 (video_mod_CFLAGS): Likewise.
25290 (video_mod_LDFLAGS): Likewise.
25291 (gfxterm_mod_SOURCES): Likewise.
25292 (gfxterm_mod_CFLAGS): Likewise.
25293 (gfxterm_mod_LDFLAGS): Likewise.
25294 (videotest_mod_SOURCES): Likewise.
25295 (videotest_mod_CFLAGS): Likewise.
25296 (videotest_mod_LDFLAGS): Likewise.
25297 (bitmap_mod_SOURCES): Likewise.
25298 (bitmap_mod_CFLAGS): Likewise.
25299 (bitmap_mod_LDFLAGS): Likewise.
25300 (tga_mod_SOURCES): Likewise.
25301 (tga_mod_CFLAGS): Likewise.
25302 (tga_mod_LDFLAGS): Likewise.
25303 (jpeg_mod_SOURCES): Likewise.
25304 (jpeg_mod_CFLAGS): Likewise.
25305 (jpeg_mod_LDFLAGS): Likewise.
25306 (png_mod_SOURCES): Likewise.
25307 (png_mod_CFLAGS): Likewise.
25308 (png_mod_LDFLAGS): Likewise.
25309
25310 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25311 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25312 (video_mod_SOURCES): Added.
25313 (video_mod_CFLAGS): Likewise.
25314 (video_mod_LDFLAGS): Likewise.
25315 (videotest_mod_SOURCES): Likewise.
25316 (videotest_mod_CFLAGS): Likewise.
25317 (videotest_mod_LDFLAGS): Likewise.
25318 (bitmap_mod_SOURCES): Likewise.
25319 (bitmap_mod_CFLAGS): Likewise.
25320 (bitmap_mod_LDFLAGS): Likewise.
25321 (tga_mod_SOURCES): Likewise.
25322 (tga_mod_CFLAGS): Likewise.
25323 (tga_mod_LDFLAGS): Likewise.
25324 (jpeg_mod_SOURCES): Likewise.
25325 (jpeg_mod_CFLAGS): Likewise.
25326 (jpeg_mod_LDFLAGS): Likewise.
25327 (png_mod_SOURCES): Likewise.
25328 (png_mod_CFLAGS): Likewise.
25329 (png_mod_LDFLAGS): Likewise.
25330 (gfxterm_mod_SOURCES): Likewise.
25331 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 25332 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 25333
25334 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25335 grub/machine/console.h.
25336
644fff97 253372009-01-04 Jerone Young <jerone@gmail.com>
25338
25339 Make on screen instructions clearer
25340
25341 Based on patch created by Jidanni <jidanni@jidanni.org>
25342
25343 * normal/menu.c: print clearer instructions on the screen
25344
1e901a75 253452009-01-02 Colin D Bennett <colin@gibibit.com>
25346
25347 New font engine.
34c44600 25348
1e901a75 25349 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25350 build system and fixed gfxterm.c to work with different sized fonts.
25351
25352 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 25353
1e901a75 25354 * configure: Re-generated.
34c44600 25355
1e901a75 25356 * DISTLIST: Removed font/manager.c.
25357 Added font/font.c.
25358 Added font/font_cmd.c.
34c44600 25359
1e901a75 25360 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25361 compilation.
34c44600 25362
1e901a75 25363 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 25364
25365 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 25366
25367 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 25368
1e901a75 25369 * normal/menu.c: Likewise.
34c44600 25370
1e901a75 25371 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25372 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 25373
1e901a75 25374 * include/grub/font.h: Replaced with new file.
34c44600 25375
1e901a75 25376 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25377 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25378 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25379 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25380 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 25381 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 25382 fg_red, fg_green, fg_blue, fg_alpha.
25383 (grub_video_adapter): Removed blit_glyph.
34c44600 25384 (grub_video_blit_glyph): Removed.
25385
1e901a75 25386 * font/manager.c: Removed file.
34c44600 25387
25388 * font/font.c: New file.
25389
1e901a75 25390 * font/font_cmd.c: Likewise.
34c44600 25391
1e901a75 25392 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 25393
1e901a75 25394 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25395 (grub_video_vbe_map_rgba): Likewise.
25396 (grub_video_vbe_unmap_color_int): Likewise.
25397 (grub_video_vbe_blit_glyph): Removed.
25398 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 25399
1e901a75 25400 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25401 (get_pixel): Likewise.
34c44600 25402 (set_pixel): Likewise.
25403
1e901a75 25404 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 25405
1e901a75 25406 * term/gfxterm.c: Adapted to new font engine.
34c44600 25407
1e901a75 25408 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 25409
1e901a75 25410 * term/i386/pc/vga.c: Likewise.
34c44600 25411
1e901a75 25412 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 25413
1e901a75 25414 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25415
1e901a75 25416 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25417
1e901a75 25418 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25419
1e901a75 25420 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25421
1e901a75 25422 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25423
1e901a75 25424 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25425
1e901a75 25426 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25427
1e901a75 25428 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25429
25430 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25431
1e901a75 25432 * util/grub-mkconfig_lib.in: Changed font extension.
25433
278922e8 254342008-12-28 Felix Zielcke <fzielcke@z-51.de>
25435
25436 * util/getroot.c (grub_util_get_grub_dev): Add support for
25437 /dev/md/dNNpNN style partitionable mdraid devices.
25438
3ced05cf 254392008-12-12 Alex Smith <alex@alex-smith.me.uk>
25440
25441 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25442 at a time limit of the PXE TFTP API correctly.
25443 (grub_pxefs_close): Likewise.
25444
7fd0ee30 254452008-11-29 Robert Millan <rmh@aybabtu.com>
25446
34c44600 25447 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25448 grub_ata_device_initialize() calls.
25449
34c44600 254502008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25451
25452 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25453 iteration failed.
25454 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25455
89313780 254562008-11-28 Robert Millan <rmh@aybabtu.com>
25457
25458 Fix build on powerpc-ieee1275. Based on patch created by
25459 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25460 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25461 `kern/ieee1275/mmap.c'.
25462 * include/grub/powerpc/ieee1275/memory.h: New file.
25463
15257703 25464 Provide grub-install on coreboot.
25465 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25466 (grub_install_SOURCES): New variable.
25467 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25468 usable on coreboot.
25469
9fc5388a 254702008-11-25 Felix Zielcke <fzielcke@z-51.de>
25471
25472 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25473 to `grub_term_input_t'.
25474 (grub_term_get_current_output): Change return type to
25475 `grub_term_output_t'.
25476
bc3a2f31 254772008-11-22 Robert Millan <rmh@aybabtu.com>
25478
34c44600 25479 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25480 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25481 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25482 grub_vga_text_cls().
25483
80fc88f2 25484 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25485 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25486
cbf36fd3 25487 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25488 to 0x200000 (avoids trouble with some OFW implementations, and matches
25489 with the one in Yaboot).
25490 Reported by Manoel Abranches
25491
73e8e268 254922008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25493
25494 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25495 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25496
73e8e268 25497 * util/grub-mkconfig_lib.in (grub_warn): New function.
25498 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25499 warnings, to obtain consistent formatting.
25500 * util/grub.d/00_header.in: Likewise.
25501 * util/update-grub_lib.in: Likewise.
25502
e94045a1 25503 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25504 Move comment text to `#error' stanza.
e94045a1 25505
79d29fd7 25506 Harmonize ieee1275's grub_available_iterate() with the generic
25507 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25508 build problem on i386-ieee1275):
25509 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25510 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25511 parameter `type'. Update all users of this function.
25512 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25513 `kern/ieee1275/mmap.c'.
25514 * kern/ieee1275/init.c
25515 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25516 with ...
25517 (grub_machine_mmap_iterate): ... this.
25518 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25519 return type to `grub_err_t'. Update all implementations of this
25520 function prototype.
25521 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25522 Likewise.
25523
60d6b16e 25524 Add `lsmmap' command (lists firmware-provided memory map):
25525 * commands/lsmmap.c: New file.
25526 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25527 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25528 variables.
25529 * conf/powerpc-ieee1275.rmk: Likewise.
25530 * conf/i386-coreboot.rmk: Likewise.
25531 * conf/i386-ieee1275.rmk: Likewise.
25532
ebaaf49b 255332008-11-19 Robert Millan <rmh@aybabtu.com>
25534
25535 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25536 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25537 constraints to initrd allocation (based on code from
25538 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25539 for Linux to find it.
ebaaf49b 25540
dfab719f 255412008-11-14 Robert Millan <rmh@aybabtu.com>
25542
25543 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25544 order to cope with duplicate slashes.
25545
10fc3eb9 255462008-11-14 Robert Millan <rmh@aybabtu.com>
25547
25548 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25549 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25550 don't want to mess with lower memory, because it is used in the Linux
25551 loader.
25552
25553 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25554 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25555 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25556 is in our heap (probably as a result of it being corrupted during
2f2a3442 25557 decompression). Add #error instance with comment to explain why this
25558 loader isn't currently usable on PC/BIOS.
10fc3eb9 25559
e2e07847 255602008-11-14 Robert Millan <rmh@aybabtu.com>
25561
25562 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25563 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25564
fe8e8d69 255652008-11-12 Robert Millan <rmh@aybabtu.com>
25566
25567 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25568
25569 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25570 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25571 from here ...
25572 * include/grub/i386/pc/memory.h: ... to here.
25573
976b07d0 255742008-11-12 Robert Millan <rmh@aybabtu.com>
25575
25576 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25577 split).
25578
25579 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25580 (grub_console_cur_color, grub_console_real_putchar)
25581 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25582 (grub_console_setcolorstate, grub_console_setcolor)
25583 (grub_console_getcolor): Move from here ...
25584 * include/grub/i386/vga_common.h: ... to here (new file).
25585
25586 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25587 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25588 `<grub/i386/io.h>'.
25589 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25590 `<grub/i386/vga_common.h>'.
25591
76679cd3 255922008-11-12 Robert Millan <rmh@aybabtu.com>
25593
25594 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25595 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25596 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25597 variables.
25598 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25599 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25600
25601 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25602 grub_console_init() with call to grub_vga_text_init().
25603 (grub_machine_fini): Replace call to
25604 grub_console_fini() with call to grub_vga_text_fini() and
25605 grub_at_keyboard_fini().
25606
25607 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25608 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25609 (grub_console_setcolorstate, grub_console_setcolor)
25610 (grub_console_getcolor): New function prototypes.
25611
25612 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25613 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25614 (grub_vga_text_setcursor): Static-ize.
25615 (grub_vga_text_term): New structure.
25616 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25617
25618 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25619 (grub_console_cur_color, grub_console_standard_color)
25620 (grub_console_normal_color, grub_console_highlight_color)
25621 (map_char, grub_console_putchar, grub_console_getcharwidth)
25622 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25623 (grub_console_getcolor): Move from here ...
25624 * term/i386/vga_common.c: ... to here (same function names).
25625
95b841d3 256262008-11-12 Robert Millan <rmh@aybabtu.com>
25627
25628 Use newly-added Multiboot support in coreboot.
25629
25630 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25631 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25632
25633 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25634 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25635 (codestart): Store the MBI in `startup_multiboot_info' when we're
25636 being loaded using Multiboot.
25637
25638 * kern/i386/coreboot/init.c (grub_machine_init): Move
25639 grub_at_keyboard_init() call to beginning of function (useful for
25640 debugging). Call grub_machine_mmap_init() before attempting to use
25641 grub_machine_mmap_iterate().
25642 (grub_lower_mem, grub_upper_mem): Move from here ...
25643 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25644 here (new file).
25645
25646 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25647 function prototype.
25648
761ca975 256492008-11-12 Robert Millan <rmh@aybabtu.com>
25650
25651 Fix a regression introduced by the at_keyboard.mod split. Because
25652 some terminals are default on some platforms and non-default on
25653 others, the first terminal being registered determines which is
25654 going to be default.
25655
25656 * kern/term.c (grub_term_register_input): If this is the first
25657 terminal being registered, set it as the current one.
25658 (grub_term_register_output): Likewise.
25659
25660 * term/efi/console.c (grub_console_init): Do not call
25661 grub_term_set_current_output() or grub_term_set_current_input().
25662 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25663 * term/i386/pc/console.c (grub_console_init): Likewise.
25664 (grub_console_fini): Do not call grub_term_set_current_input()
25665 (but leave grub_term_set_current_output() to restore text mode).
25666
6c529df7 256672008-11-10 Robert Millan <rmh@aybabtu.com>
25668
25669 * util/grub.d/00_header.in: Add backward compatibility check for
25670 versions of terminal.mod that don't understand `terminal_input' or
25671 `terminal_output'.
25672
132e4113 256732008-11-09 Robert Millan <rmh@aybabtu.com>
25674
25675 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25676 `terminal_input' / `terminal_output', not `terminal'.
25677
ac293d50 256782008-11-08 Robert Millan <rmh@aybabtu.com>
25679
25680 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25681 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25682
0025933a 256832008-11-08 Robert Millan <rmh@aybabtu.com>
25684
25685 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25686 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25687 members. Update all users.
25688 * util/console.c (grub_ncurses_term): Split in ...
25689 (grub_ncurses_term_input): ... this, and ...
25690 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25691 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25692
37c86336 256932008-11-08 Robert Millan <rmh@aybabtu.com>
25694
25695 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25696 (PKGDATA): Add $(pkgdata_SRCDIR).
25697 (pkglib_BUILDDIR): New variable.
25698 (pkgdata_SRCDIR): New variable.
25699 (build_env.mk): New target.
25700 (include_DATA): New variable.
25701 (install-local): Install $(include_DATA) files in $(includedir).
25702
b6c15a2d 257032008-11-07 Pavel Roskin <proski@gnu.org>
25704
d99d46f1 25705 * gendistlist.sh: Use C locale for sorting to ensure consistent
25706 output on all systems.
25707
b6c15a2d 25708 * util/grub.d/00_header.in: Remove incorrect space before
25709 "serial".
25710
c32ee8c9 257112008-11-07 Robert Millan <rmh@aybabtu.com>
25712
25713 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25714 per specification.
25715 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25716 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25717 (based on find_multi_boot1_header).
25718 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25719 using find_multi_boot2_header(), and abort if neither Multiboot or
25720 Multiboot headers were found.
25721
651c29b7 257222008-11-07 Robert Millan <rmh@aybabtu.com>
25723
25724 Modularize at_keyboard.mod:
25725
25726 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25727 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25728 (at_keyboard_mod_LDFLAGS): New variables.
25729
25730 Actual terminal split:
25731
25732 * include/grub/term.h (struct grub_term): Split in ...
25733 (struct grub_term_input): ... this, and ...
25734 (struct grub_term_output): ... this. Update all users.
25735 (grub_term_set_current): Split in ...
25736 (grub_term_set_current_input): ... this, and ...
25737 (grub_term_set_current_output): ... this.
25738 (grub_term_get_current): Split in ...
25739 (grub_term_get_current_input): ... this, and ...
25740 (grub_term_get_current_output): ... this.
25741 (grub_term_register): Split in ...
25742 (grub_term_register_input): ... this, and ...
25743 (grub_term_register_output): ... this.
25744 (grub_term_unregister): Split in ...
25745 (grub_term_unregister_input): ... this, and ...
25746 (grub_term_unregister_output): ... this.
25747 (grub_term_iterate): Split in ...
25748 (grub_term_iterate_input): ... this, and ...
25749 (grub_term_iterate_output): ... this.
25750
25751 * kern/term.c (grub_term_list): Split in ...
25752 (grub_term_list_input): ... this, and ...
25753 (grub_term_list_output): ... this. Update all users.
25754 (grub_cur_term): Split in ...
25755 (grub_cur_term_input): ... this, and ...
25756 (grub_cur_term_output): ... this. Update all users.
25757 (grub_term_set_current): Split in ...
25758 (grub_term_set_current_input): ... this, and ...
25759 (grub_term_set_current_output): ... this.
25760 (grub_term_get_current): Split in ...
25761 (grub_term_get_current_input): ... this, and ...
25762 (grub_term_get_current_output): ... this.
25763 (grub_term_register): Split in ...
25764 (grub_term_register_input): ... this, and ...
25765 (grub_term_register_output): ... this.
25766 (grub_term_unregister): Split in ...
25767 (grub_term_unregister_input): ... this, and ...
25768 (grub_term_unregister_output): ... this.
25769 (grub_term_iterate): Split in ...
25770 (grub_term_iterate_input): ... this, and ...
25771 (grub_term_iterate_output): ... this.
25772
25773 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25774 a check for input and one for output (and only attempt to get keys
25775 from user when input works).
25776
25777 * util/grub-probe.c (grub_term_get_current): Split in ...
25778 (grub_term_get_current_input): ... this, and ...
25779 (grub_term_get_current_output): ... this.
25780 * util/grub-fstest.c: Likewise.
25781 * util/i386/pc/grub-setup.c: Likewise.
25782 * util/grub-editenv.c: Likewise.
25783
25784 Portability adjustments:
25785
25786 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25787 `term/i386/pc/at_keyboard.c'.
25788 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25789 grub_keyboard_controller_init() (now handled by terminal .init).
25790 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25791 grub_at_keyboard_init().
25792 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25793 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25794 at_keyboard.mod via input terminal interface).
25795 * include/grub/i386/coreboot/console.h: Convert into a stub for
25796 `<grub/i386/pc/console.h>'.
25797
25798 Migrate full terminals to new API:
25799
25800 * term/efi/console.c (grub_console_term): Split into ...
25801 (grub_console_term_input): ... this, and ...
25802 (grub_console_term_output): ... this. Update all users.
25803 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25804 (grub_ofconsole_init): Split into ...
25805 (grub_ofconsole_init_input): ... this, and ...
25806 (grub_ofconsole_init_output): ... this.
25807 (grub_ofconsole_term): Split into ...
25808 (grub_ofconsole_term_input): ... this, and ...
25809 (grub_ofconsole_term_output): ... this. Update all users.
25810 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25811 (grub_serial_term_input): ... this, and ...
25812 (grub_serial_term_output): ... this. Update all users.
25813 * term/i386/pc/console.c (grub_console_term): Split into ...
25814 (grub_console_term_input): ... this, and ...
25815 (grub_console_term_output): ... this. Update all users.
25816 (grub_console_term_input): Only enable it on PC/BIOS platform.
25817 (grub_console_init): Remove grub_keyboard_controller_init() call.
25818
25819 Migrate input terminals to new API:
25820
25821 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25822 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25823 i386-specific anyway).
25824 (grub_console_checkkey): Rename to ...
25825 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25826 users.
25827 (grub_keyboard_controller_orig): New variable.
25828 (grub_console_getkey): Rename to ...
25829 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25830 users.
25831 (grub_keyboard_controller_init): Static-ize. Save original
25832 controller value so that it can be restored ...
25833 (grub_keyboard_controller_fini): ... here (new function).
25834 (grub_at_keyboard_term): New structure.
25835 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25836 functions.
25837
25838 Migrate output terminals to new API:
25839
25840 * term/i386/pc/vga.c (grub_vga_term): Change type to
25841 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25842 members. Update all users.
25843 * term/gfxterm.c (grub_video_term): Change type to
25844 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25845 members. Update all users.
25846 * include/grub/i386/pc/console.h (grub_console_checkkey)
25847 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25848 etc).
25849
25850 Migrate `terminal' command and userland tools to new API:
25851
25852 * commands/terminal.c (grub_cmd_terminal): Split into ...
25853 (grub_cmd_terminal_input): ... this, and ...
25854 (grub_cmd_terminal_output): ... this.
25855 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25856 `terminal_input' and `terminal_output'.
25857 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25858 `terminal_input' / `terminal_output' API.
25859 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25860 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25861 provided ${GRUB_TERMINAL}, convert it).
25862
96e5d876 258632008-11-04 Robert Millan <rmh@aybabtu.com>
25864
25865 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25866 for FreeBSD.
25867 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25868
556f3775 258692008-11-03 Bean <bean123ch@gmail.com>
25870
25871 * kern/elf.c (grub_elf32_load): Revert to previous code.
25872 (grub_elf64_load): Likewise.
25873
25874 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25875
926b9823 258762008-11-01 Robert Millan <rmh@aybabtu.com>
25877
25878 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25879 (TARGET_CPPFLAGS): Likewise.
25880 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25881
1432e958 258822008-11-01 Carles Pina i Estany <carles@pina.cat>
25883
25884 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25885
dba3f844 258862008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25887
25888 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25889 addition of objects until the code is not going to be able to fail.
25890
dba3f844 258912008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25892
25893 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25894 (add a missing NULL check, and correct them by moving the pointer
25895 operations after the actual check).
25896
7ab28c21 258972008-10-29 Robert Millan <rmh@aybabtu.com>
25898
25899 * util/i386/pc/grub-install.in: Handle empty string as output from
25900 make_system_path_relative_to_its_root().
25901
1b7748eb 259022008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25903
25904 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25905 circular metadata worst case scenario. If the metadata is circular
25906 then copy the wrap in place.
25907 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25908 project lib/format_text/layout.h
25909 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25910
c9618ab2 259112008-10-03 Felix Zielcke <fzielcke@z-51.de>
25912
7a36edca 25913 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25914
bf981c62 259152008-10-03 Felix Zielcke <fzielcke@z-51.de>
25916
25917 * util/update-grub_lib.in: Mention filename in warning message.
25918
6d994591 259192008-09-29 Felix Zielcke <fzielcke@z-51.de>
25920
25921 * NEWS: Update for rename of update-grub to grub-mkconfig.
25922
18ade780 259232008-09-29 Felix Zielcke <fzielcke@z-51.de>
25924
25925 * util/update-grub_lib.in: Copy to ...
25926 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25927 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25928 * util/update-grub.in: Rename to ...
25929 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25930 option. Add `--output' option to allow users to specify the generated
25931 configuration file. Default to stdout.
25932 (update_grub_dir): Rename to ...
25933 (grub_mkconfig_dir): ... this.
25934 (grub_cfg): Default to an empty string.
25935 * conf/common.rmk (update-grub): Rename to ...
25936 (grub-mkconfig): ... this.
25937 (update-grub_lib): Copy to ...
25938 (grub-mkconfig_lib): ... this.
25939 (update-grub_SCRIPTS): Copy to ...
25940 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25941 (update-grub_DATA): Rename to ...
25942 (grub-mkconfig_DATA): ... this.
25943
556ce6ac 259442008-09-28 Robert Millan <rmh@aybabtu.com>
25945
25946 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25947 to `modified'. Add the real `created' field.
25948 (grub_iso9660_uuid): Use `modified' rather than `created' for
25949 constructing the UUID.
25950
259512008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25952
25953 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25954 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25955
92274e85 259562008-09-28 Bean <bean123ch@gmail.com>
25957
25958 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25959 Thanks to Christian Franke for finding this bug.
25960
add6f17a 259612008-09-25 Robert Millan <rmh@aybabtu.com>
25962
25963 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25964 instances of grub_util_get_disk_name() (see previous commit).
25965
d2a367b8 259662008-09-25 Robert Millan <rmh@aybabtu.com>
25967
25968 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25969 `util/i386/get_disk_name.c'.
25970 * conf/i386-efi.rmk: Likewise.
25971 * conf/x86_64-efi.rmk: Likewise.
25972 * conf/i386-coreboot.rmk: Likewise.
25973 * conf/i386-ieee1275.rmk: Likewise.
25974 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25975 `util/ieee1275/get_disk_name.c'.
25976 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25977 * util/ieee1275/get_disk_name.c: Remove file.
25978 * util/i386/get_disk_name.c: Remove file.
25979 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25980 "hd%d" for device.map entries, rather than using
25981 grub_util_get_disk_name().
25982
81a06771 259832008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25984
25985 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25986 warning.
25987 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25988
5a004279 259892008-09-24 Carles Pina i Estany <carles@pina.cat>
25990
25991 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25992 Changed to 0x5100.
25993 (GRUB_TERM_PPAGE): Changed to 0x4900.
25994
397093d3 259952008-09-24 Robert Millan <rmh@aybabtu.com>
25996
25997 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25998 macros (they were i386-pc specific).
25999 * include/grub/sparc64/ieee1275/console.h: Likewise.
26000 * include/grub/efi/console.h: Likewise.
26001
a91b6c7c 260022008-09-22 Bean <bean123ch@gmail.com>
26003
26004 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
26005 resident and in attribute list.
26006
26007 * include/grub/ntfs.h (BMP_LEN): Removed.
26008
c40fd116 260092008-09-22 Bean <bean123ch@gmail.com>
26010
81a06771 26011 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 26012 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
26013
26014 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
26015 error occurs, as grub_disk_open will call grub_disk_close, which will
26016 call p->close (scsi).
26017
81a06771 260182008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 26019
26020 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
26021 (AC_PREREQ): Bumped to 2.59.
26022 (AC_TRY_COMPILE): Replace obsolete macro with ...
26023 (AC_COMPILE_IFELSE): ... this.
26024 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
26025 (AC_LINK_IFELSE): ... this.
26026
5dc43410 260272008-09-21 Felix Zielcke <fzielcke@z-51.de>
26028
26029 * autogen.sh: Add a call to `gendistlist.sh'.
26030
9035dce4 260312008-09-19 Christian Franke <franke@computer.org>
26032
26033 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
26034 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
26035 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
26036 Export __enable_execute_stack() to modules.
26037 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
26038 New function.
26039
7fd75377 260402008-09-09 Felix Zielcke <fzielcke@z-51.de>
26041
040030b3 26042 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
26043 Sort the list.
26044
260452008-09-09 Felix Zielcke <fzielcke@z-51.de>
26046
26047 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 26048 #include <grub/util/hostdisk.h>.
26049
89d5ffcf 260502008-09-08 Robert Millan <rmh@aybabtu.com>
26051
26052 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
26053 segments when their filesz is zero (grub_file_read() interprets
81a06771 26054 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 26055 Use `lowest_segment' rather than 0 for calculating the current
26056 segment load address.
26057
40da438f 260582008-09-08 Robert Millan <rmh@aybabtu.com>
26059
26060 * util/hostdisk.c (open_device): Replace a grub_util_info() call
26061 with grub_dprintf("hostdisk", ...), as it was so verbose that it
26062 clobbered useful information.
26063
ddbf5556 260642008-09-08 Robert Millan <rmh@aybabtu.com>
26065
26066 * include/grub/util/biosdisk.h: Move to ...
26067 * include/grub/util/hostdisk.h: ... here. Update all users.
26068 * util/biosdisk.c: Move to ...
26069 * util/hostdisk.c: ... here. Update all users.
26070
783d0f48 260712008-09-07 Robert Millan <rmh@aybabtu.com>
26072
26073 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
26074 variables.
26075 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
26076 and length can be stored directly in the `mbi->mmap_addr' and
26077 `mbi->mmap_length' struct fields.
26078
548e2ea5 260792008-09-07 Robert Millan <rmh@aybabtu.com>
26080
26081 * conf/i386.rmk: New file. Provides declaration for building
26082 `cpuid.mod'.
26083 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
26084 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
26085 variables.
26086 Include `conf/i386.mk'.
26087 * conf/i386-efi.rmk: Likewise.
26088 * conf/x86_64-efi.rmk: Likewise.
26089 * conf/i386-coreboot.rmk: Likewise.
26090 * conf/i386-ieee1275.rmk: Likewise.
26091
0ea85a37 260922008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
26093
26094 Based on patch created by Colin D Bennett <colin@gibibit.com>.
26095 Adds optimization support for BGR based modes.
26096
26097 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
26098 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26099 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26100 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26101 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26102 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26103 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26105 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26106 (grub_video_i386_vbeblit_index_index): Likewise.
26107 (grub_video_i386_vbeblit_replace_directN): Added.
26108 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26109 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26110 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26111 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26112 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26113 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 26114 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 26115 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26116 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26117 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26118 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26119 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26120 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26121
26122 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
26123 (grub_video_i386_vbefill_R8G8B8): Likewise.
26124 (grub_video_i386_vbefill_index): Likewise.
26125 (grub_video_i386_vbefill_direct32): Added.
26126 (grub_video_i386_vbefill_direct24): Likewise.
26127 (grub_video_i386_vbefill_direct16): Likewise.
26128 (grub_video_i386_vbefill_direct8): Likewise.
26129
81a06771 26130 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 26131 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
26132 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
26133 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
26134 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
26135 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 26136
0ea85a37 26137 * video/video.c (grub_video_get_blit_format): Updated to use new
26138 blit formats. Added handling for 16 bit color modes.
81a06771 26139
26140 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 26141 fillers.
26142 (common_blitter): Updated to use new blitters.
26143
26144 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
26145 Removed.
26146 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26148 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26149 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26150 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26151 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26152 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26153 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26154 (grub_video_i386_vbeblit_index_index): Likewise.
26155 (grub_video_i386_vbeblit_replace_directN): Added.
26156 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26157 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26158 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26159 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26160 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26161 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
26162 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
26163 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26164 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26165 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26166 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26167 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26168 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 26169
0ea85a37 26170 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
26171 (grub_video_i386_vbefill_R8G8B8): Likewise.
26172 (grub_video_i386_vbefill_index): Likewise.
26173 (grub_video_i386_vbefill_direct32): Added.
26174 (grub_video_i386_vbefill_direct24): Likewise.
26175 (grub_video_i386_vbefill_direct16): Likewise.
26176 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 26177
0ea85a37 26178 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
26179 types.
81a06771 26180
0ea85a37 26181 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
26182 types.
81a06771 26183
0ea85a37 26184 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
26185 blitter types.
81a06771 26186
0ea85a37 26187 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
26188 types.
26189
e8a83df6 261902008-09-06 Felix Zielcke <fzielcke@z-51.de>
26191
26192 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
26193 RAID level 1.
26194
6bcd8ee5 261952008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 26196
6bcd8ee5 26197 * fs/iso9660.c (grub_iso9660_date): New structure.
26198 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
26199 (grub_iso9660_uuid): New function.
c375ae58 26200
59261157 262012008-09-05 Bean <bean123ch@gmail.com>
26202
26203 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
26204
26205 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
26206 insensitive bit for names in Win32 and Win32 & DOS namespace.
26207
26208 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
26209
26210 * include/grub/types.h (LONG_MAX): Likewise.
26211
58b6645a 262122008-09-04 Felix Zielcke <fzielcke@z-51.de>
26213
4ee55921 26214 * util/getroot.c: Include <config.h>.
26215 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
26216 add support for /dev/md/N devices and handle LVM double dash escaping.
26217
262182008-09-04 Felix Zielcke <fzielcke@z-51.de>
26219
26220 * config.guess: Update to latest version from config git.
26221 * config.sub: Likewise.
58b6645a 26222
9124f65d 262232008-09-03 Robert Millan <rmh@aybabtu.com>
26224
26225 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
26226 `disk->total_sectors'.
26227
81a06771 262282008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 26229
26230 * include/grub/normal.h: Fixed incorrect comment for
26231 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
26232
81a06771 262332008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 26234
26235 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
26236 values with defines.
26237
26238 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
26239 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
26240 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
26241 (GRUB_VBE_MODEATTR_COLOR): Likewise.
26242 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
26243 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
26244 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
26245 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
26246 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
26247 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
26248 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
26249 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
26250 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
26251 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
26252 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
26253 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
26254 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
26255 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
26256 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
26257
93d5cbf8 262582008-08-31 Robert Millan <rmh@aybabtu.com>
26259
26260 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
26261 declaration.
26262 (grub_multiboot): Fix a few warnings.
26263
21751d50 262642008-08-31 Robert Millan <rmh@aybabtu.com>
26265
26266 * loader/i386/pc/multiboot.c: Update comment not to say that
26267 boot_device support is unimplemented.
26268
e27a75c5 262692008-08-31 Robert Millan <rmh@aybabtu.com>
26270
26271 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
26272 or memory map support are unimplemented.
26273
81a06771 262742008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 26275
26276 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
26277
81a06771 262782008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 26279
26280 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
26281 total video memory in 'vbeinfo' output; show color format details for
26282 each video mode.
26283
7c5d8d95 262842008-08-30 Pavel Roskin <proski@gnu.org>
26285
26286 * util/genmoddep.c: Remove for real this time.
26287 * DISTLIST: Remove util/genmoddep.c.
26288
4cebd25a 262892008-08-30 Robert Millan <rmh@aybabtu.com>
26290
26291 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
26292 as required by Multiboot spec (it was already 4-byte aligned, but
26293 only by chance).
26294
b497a269 262952008-08-29 Pavel Roskin <proski@gnu.org>
26296
e3925185 26297 * kern/powerpc/ieee1275/crt0.S: Rename to ...
26298 * kern/powerpc/ieee1275/startup.S: ... this.
26299 * conf/powerpc-ieee1275.rmk: Adjust for the above.
26300 * DISTLIST: Likewise.
26301
b497a269 26302 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
26303 grub/cpu/kernel.h. Add start label for consistency with other
26304 platforms. Add grub_prefix immediately after start. Add jump
26305 to the code after grub_prefix.
26306 * include/grub/powerpc/kernel.h: Provide valid values for
26307 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26308
6e5a42fe 263092008-08-29 Bean <bean123ch@gmail.com>
26310
26311 * configure.ac: Change host_os to cygwin for mingw.
26312 (asprintf): New check for function.
26313
26314 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26315 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26316
26317 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 26318 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 26319 sync, sleep and grub_util_get_disk_size for mingw.
26320
26321 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26322 to get size in mingw.
26323 (open_device): Use flag O_BINARY if it's defined.
26324 (find_root_device): Add dummy code for mingw.
26325
26326 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26327 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26328 (get_scsi_disk_name): Return 0 for mingw.
26329
26330 * util/hostfs.c: #include <grub/util/misc.h>.
26331 (grub_hostfs_open): Use "rb" flag to open file, use
26332 grub_util_get_disk_size to get disk size for mingw.
26333
26334 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26335 (asprintf): New function if HAVE_ASPRINTF is not set.
26336 (sync): New function for mingw.
26337 (sleep): Likewise.
26338 (grub_util_get_disk_size): Likewise.
26339
ab3f2673 263402008-08-28 Pavel Roskin <proski@gnu.org>
26341
26342 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26343 kern/time.c.
26344
1c282483 263452008-08-28 Robert Millan <rmh@aybabtu.com>
26346
26347 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26348
678e849c 263492008-08-28 Robert Millan <rmh@aybabtu.com>
26350
26351 Change find_grub_drive() syntax so it doesn't prevent it from
26352 detecting NULL names as errors.
26353
26354 * util/biosdisk.c (find_grub_drive): Move free slot search code
26355 from here ...
26356 (find_free_slot): ... to here.
26357 (read_device_map): Use find_free_slot() to search for free slots.
26358
965c75ca 263592008-08-27 Marco Gerards <marco@gnu.org>
26360
26361 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26362 (scsi_mod_SOURCES): New variable.
26363 (scsi_mod_CFLAGS): Likewise
26364 (scsi_mod_LDFLAGS): Likewise.
26365
26366 * disk/scsi.c: New file.
26367
26368 * include/grub/scsi.h: Likewise.
26369
26370 * include/grub/scsicmd.h: Likewise.
26371
26372 * disk/ata.c: Include <grub/scsi.h>.
26373 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26374 instead.
26375 (grub_ata_iterate): Skip ATAPI devices.
26376 (grub_ata_open): Only handle ATAPI devices.
26377 (struct grub_atapi_read): Removed.
26378 (grub_atapi_readsector): Likewise.
26379 (grub_ata_read): No longer handle ATAPI devices.
26380 (grub_ata_write): Likewise.
26381 (grub_atapi_iterate): New function.
26382 (grub_atapi_read): Likewise.
26383 (grub_atapi_write): Likewise.
26384 (grub_atapi_open): Likewise.
26385 (grub_atapi_close): Likewise.
26386 (grub_atapi_dev): New variable.
26387 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26388 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26389
26390 * include/grub/disk.h (enum grub_disk_dev_id): Add
26391 `GRUB_DISK_DEVICE_SCSI_ID'.
26392
c07ae501 263932008-08-26 Robert Millan <rmh@aybabtu.com>
26394
26395 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26396 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26397 descriptive.
26398
5ed20adc 263992008-08-23 Bean <bean123ch@gmail.com>
26400
26401 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26402 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26403 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26404 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26405 dm_nv.mod.
26406 (raid5rec_mod_SOURCES): New macro.
26407 (raid5rec_mod_CFLAGS): Likewise.
26408 (raid5rec_mod_LDFLAGS): Likewise.
26409 (raid6rec_mod_SOURCES): Likewise.
26410 (raid6rec_mod_CFLAGS): Likewise.
26411 (raid6rec_mod_LDFLAGS): Likewise.
26412 (mdraid_mod_SOURCES): Likewise.
26413 (mdraid_mod_CFLAGS): Likewise.
26414 (mdraid_mod_LDFLAGS): Likewise.
26415 (dm_nv_mod_SOURCES): Likewise.
26416 (dm_nv_mod_CFLAGS): Likewise.
26417 (dm_nv_mod_LDFLAGS): Likewise.
26418
26419 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26420 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26421 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26422
26423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26424 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26425
26426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26427
26428 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26429
26430 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26431
26432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26433
26434 * disk/raid5_recover.c: New file.
26435
26436 * disk/raid6_recover.c: Likewise.
26437
26438 * disk/mdraid_linux.c: Likewise.
26439
26440 * disk/dmraid_nvidia.c: Likewise.
26441
26442 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26443 ULONG_MAX.
26444
26445 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26446 calculate the size of raid device.
26447 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26448 different layout of raid5.
26449 (grub_raid_scan_device): Remove code specific to mdraid.
26450 (grub_raid_list): New variable.
26451 (free_array): New function.
26452 (grub_raid_register): Likewise.
26453 (grub_raid_unregister): Likewise.
26454 (grub_raid_rescan): Likewise.
26455 (GRUB_MOD_INIT): Don't iterate device here.
26456 (GRUB_MOD_FINI): Use free_array to release resource.
26457
26458 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26459 (grub_raid5_recover_func_t): New function variable type.
26460 (grub_raid6_recover_func_t): Likewise.
26461 (grub_raid5_recover_func): New variable.
26462 (grub_raid6_recover_func): Likewise.
26463 (grub_raid_register): New function.
26464 (grub_raid_unregister): Likewise.
26465 (grub_raid_rescan): Likewise.
26466 (grub_raid_block_xor): Likewise.
26467
26468 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26469 (CMD_CRC): New macro.
26470 (part): Removed.
26471 (read_file): Handle device as well as file.
26472 (cmd_crc): New function.
26473 (fstest): Handle multiple disks.
26474 (options): Remove part, raw and long, add root and diskcount.
26475 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26476 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26477 add handling for the new options, support multiple disks.
26478
26479 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26480
29c18915 264812008-08-23 Bean <bean123ch@gmail.com>
26482
26483 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26484
26485 * genfslist.sh: Ignore kernel.mod.
26486
26487 * genpartmaplist.sh: Likewise.
26488
8415f261 264892008-08-23 Robert Millan <rmh@aybabtu.com>
26490
26491 * util/getroot.c (find_root_device): Skip anything that starts with
26492 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26493
d5a7dc5b 264942008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26495
d5a7dc5b 26496 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26497 * util/grub.d/00_header.in: Allow the administrator to change default
26498 gfxmode via ${GRUB_GFXMODE}.
26499
380cfbb4 265002008-08-21 Felix Zielcke <fzielcke@z-51.de>
26501
26502 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26503
c9baafe7 265042008-08-21 Robert Millan <rmh@aybabtu.com>
26505
26506 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26507 loader.
26508 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26509 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26510
e290bef2 265112008-08-20 Carles Pina i Estany <carles@pina.cat>
26512
26513 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26514 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26515
f9dbfc96 265162008-08-19 Robert Millan <rmh@aybabtu.com>
26517
26518 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26519 (struct grub_virtual_screen): Remove `cursor_color'.
26520 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26521 initialization.
26522 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26523
dd6bd6ab 265242008-08-18 Robert Millan <rmh@aybabtu.com>
26525
26526 Unify (identical) linux_normal.c files.
26527 * loader/i386/efi/linux_normal.c: Move from here ...
26528 * loader/linux_normal.c: ... to here. Update all users.
26529 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26530 * loader/i386/ieee1275/linux_normal.c: Likewise.
26531
7f42f83e 265322008-08-18 Robert Millan <rmh@aybabtu.com>
26533
26534 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26535 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26536 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26537 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26538 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26539 New macros.
26540 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26541 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26542 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26543 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26544 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26545 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26546 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26547 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26548 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26549 portably using grub_getxy().
26550 Replace `-EFI' with `-bzImage' in boot message.
26551
38487ddb 265522008-08-17 Robert Millan <rmh@aybabtu.com>
26553
26554 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26555
deceb3ec 265562008-08-17 Robert Millan <rmh@aybabtu.com>
26557
26558 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26559
26560 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26561 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26562 (grub_machine_mmap_iterate): New function declaration.
26563 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26564 structure.
26565 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26566 macros.
26567
26568 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26569 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26570 Move e820 parsing from here ...
26571 * kern/i386/pc/mmap.c: New file.
26572 (grub_machine_mmap_iterate): ... to here.
26573
26574 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26575 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26576 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26577 (grub_available_iterate): Redeclare to return `void', and redeclare
26578 its hook to use grub_uint64_t as addr and size parameters, and rename
26579 to ...
26580 (grub_machine_mmap_iterate): ... this. Update all users.
26581
26582 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26583 to make it more readable. Rename to ...
26584 (grub_machine_mmap_iterate): ... this.
26585
26586 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26587 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26588 (grub_multiboot): Allocate an extra region after the payload, and fill
26589 it with a Multiboot memory map. Adjust a.out loader to calculate size
26590 with the extra space.
26591 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26592 with the extra space.
26593
f8aa0f43 265942008-08-17 Carles Pina i Estany <carles@pina.cat>
26595
9807deb9 26596 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26597
605f5bb6 265982008-08-17 Felix Zielcke <fzielcke@z-51.de>
26599
26600 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26601 mdate-sh to the list `find' searches for.
26602 * DISTLIST: Regenerated.
26603
210db6c6 266042008-08-16 Felix Zielcke <fzielcke@z-51.de>
26605
26606 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26607 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26608 genmoddep.awk, gensymlist.sh.in.
26609 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26610 * DISTLIST: Regenerated.
48cdbfd4 26611 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26612
1082b929 266132008-08-16 Robert Millan <rmh@aybabtu.com>
26614
26615 * disk/raid.c (grub_raid_init): Handle/report errors set by
26616 grub_device_iterate().
26617 * disk/lvm.c (grub_lvm_init): Likewise.
26618
42ce5170 266192008-08-15 Bean <bean123ch@gmail.com>
26620
26621 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26622 and datehook.mod.
26623 (datetime_mod_SOURCES): New macro.
26624 (datetime_mod_CFLAGS): Likewise.
26625 (datetime_mod_LDFLAGS): Likewise.
26626 (date_mod_SOURCES): Likewise.
26627 (date_mod_CFLAGS): Likewise.
26628 (date_mod_LDFLAGS): Likewise.
26629 (datehook_mod_SOURCES): Likewise.
26630 (datehook_mod_CFLAGS): Likewise.
26631 (datehook_mod_LDFLAGS): Likewise.
26632
26633 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26634 and datehook.mod.
26635 (datetime_mod_SOURCES): New macro.
26636 (datetime_mod_CFLAGS): Likewise.
26637 (datetime_mod_LDFLAGS): Likewise.
26638 (date_mod_SOURCES): Likewise.
26639 (date_mod_CFLAGS): Likewise.
26640 (date_mod_LDFLAGS): Likewise.
26641 (datehook_mod_SOURCES): Likewise.
26642 (datehook_mod_CFLAGS): Likewise.
26643 (datehook_mod_LDFLAGS): Likewise.
26644
26645 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26646 and datehook.mod.
26647 (datetime_mod_SOURCES): New macro.
26648 (datetime_mod_CFLAGS): Likewise.
26649 (datetime_mod_LDFLAGS): Likewise.
26650 (date_mod_SOURCES): Likewise.
26651 (date_mod_CFLAGS): Likewise.
26652 (date_mod_LDFLAGS): Likewise.
26653 (datehook_mod_SOURCES): Likewise.
26654 (datehook_mod_CFLAGS): Likewise.
26655 (datehook_mod_LDFLAGS): Likewise.
26656
26657 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26658 and datehook.mod.
26659 (datetime_mod_SOURCES): New macro.
26660 (datetime_mod_CFLAGS): Likewise.
26661 (datetime_mod_LDFLAGS): Likewise.
26662 (date_mod_SOURCES): Likewise.
26663 (date_mod_CFLAGS): Likewise.
26664 (date_mod_LDFLAGS): Likewise.
26665 (datehook_mod_SOURCES): Likewise.
26666 (datehook_mod_CFLAGS): Likewise.
26667 (datehook_mod_LDFLAGS): Likewise.
26668
26669 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26670 and datehook.mod.
26671 (datetime_mod_SOURCES): New macro.
26672 (datetime_mod_CFLAGS): Likewise.
26673 (datetime_mod_LDFLAGS): Likewise.
26674 (date_mod_SOURCES): Likewise.
26675 (date_mod_CFLAGS): Likewise.
26676 (date_mod_LDFLAGS): Likewise.
26677 (datehook_mod_SOURCES): Likewise.
26678 (datehook_mod_CFLAGS): Likewise.
26679 (datehook_mod_LDFLAGS): Likewise.
26680
26681 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26682
26683 * commands/date.c: New file.
26684
26685 * hook/datehook.c: Likewise.
26686
26687 * include/grub/lib/datetime.h: Likewise.
26688
26689 * include/grub/i386/cmos.h: Likewise.
26690
26691 * lib/datetime.c: Likewise.
26692
26693 * lib/i386/datetime.c: Likewise.
26694
26695 * lib/efi/datetime.c: Likewise.
26696
0e9242da 266972008-08-14 Robert Millan <rmh@aybabtu.com>
26698
26699 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26700 (grub_mkelfimage_SOURCES): New variable.
26701 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26702
26703 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26704 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26705 * conf/powerpc-ieee1275.rmk: Likewise.
26706 * conf/i386-ieee1275.rmk: Likewise.
26707
26708 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26709 * kern/i386/coreboot/init.c: Likewise.
26710
26711 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26712 with `<grub/cpu/kernel.h>'.
26713 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26714 to ...
26715 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26716 * kern/i386/coreboot/startup.S: Likewise.
26717
26718 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26719 (GRUB_MOD_GAP): Remove.
26720 * include/grub/powerpc/kernel.h: New file.
26721 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26722 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26723 * include/grub/i386/kernel.h: New file.
26724 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26725 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26726 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26727
26728 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26729 `grub-mkelfimage'.
26730 Use --directory when invoking grub_mkimage.
26731
26732 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26733 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26734 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26735 and GRUB_KERNEL_CPU_PREFIX.
26736
b86408f8 267372008-08-14 Felix Zielcke <fzielcke@z-51.de>
26738
d5e619ca 26739 * include/grub/err.h (grub_err_printf): New function prototype.
26740 * util/misc.c (grub_err_printf): New function.
26741 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26742 grub_printf.
26743 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26744
7161f0e0 267452008-08-13 Robert Millan <rmh@aybabtu.com>
26746
26747 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26748
a1967522 267492008-08-13 Robert Millan <rmh@aybabtu.com>
26750
26751 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26752 boot entry.
26753
371458b5 267542008-08-12 Robert Millan <rmh@aybabtu.com>
26755
26756 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26757 of the relocation code from here ...
26758 (grub_multiboot): ... to here.
26759 (forward_relocator, backward_relocator): Move from here ...
26760 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26761 (grub_multiboot_backward_relocator): ... to here.
26762 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26763 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26764 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26765 (grub_multiboot_forward_relocator_end)
26766 (grub_multiboot_backward_relocator)
26767 (grub_multiboot_backward_relocator_end): New variables.
26768
05f9452b 267692008-08-12 Bean <bean123ch@gmail.com>
26770
26771 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26772
20024ab0 267732008-08-11 Robert Millan <rmh@aybabtu.com>
26774
26775 * kern/i386/linuxbios/startup.S: Move from here ...
26776 * kern/i386/coreboot/startup.S: ... to here.
26777
26778 * kern/i386/linuxbios/init.c: Move from here ...
26779 * kern/i386/coreboot/init.c: ... to here.
26780
26781 * kern/i386/linuxbios/table.c: Move from here ...
26782 * kern/i386/coreboot/mmap.c: ... to here.
26783
26784 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26785
e352e9cd 267862008-08-11 Robert Millan <rmh@aybabtu.com>
26787
26788 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26789 errors. Leave it to the upper layer to handle them.
26790
2d05bc6a 267912008-08-09 Christian Franke <franke@computer.org>
26792
26793 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26794 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26795 Install `grub.d/10_windows' only on Cygwin.
26796 * configure.ac: Add subst of `target_os'.
26797 Check `target_os' also before setting TARGET_OBJ2ELF.
26798 Add `--enable-grub-pe2elf'.
26799
042bd419 268002008-08-08 Robert Millan <rmh@aybabtu.com>
26801
26802 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26803 (grub_last_time): Change type to grub_uint64_t.
26804 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26805 (grub_disk_close): Likewise.
26806
26807 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26808 (run_menu): Migrate code from to using grub_get_time_ms().
26809
26810 * util/misc.c (grub_get_time_ms): New function.
26811
7f280db5 268122008-08-08 Marco Gerards <marco@gnu.org>
26813
26814 * disk/ata.c (grub_ata_regget): Change return type to
26815 `grub_uint8_t'.
26816 (grub_ata_regget2): Likewise.
26817 (grub_ata_wait_status): New function.
26818 (grub_ata_wait_busy): Removed function, updated all users to use
26819 `grub_ata_wait_status'.
26820 (grub_ata_wait_drq): Likewise.
26821 (grub_ata_cmd): New function.
26822 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26823 error handling.
26824 (grub_ata_pio_write): Add error handling.
26825 (grub_atapi_identify): Likewise.
26826 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26827 handling.
26828 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26829 handling. Actually use the detected registers. Reorder the
26830 detection logic such that it is easier to read.
26831 (grub_ata_pciinit): Do not assign the same ID to each controller.
26832 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26833 handling.
26834 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26835
26836 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26837
1fbc5e66 268382008-08-08 Marco Gerards <marco@gnu.org>
26839
26840 * NEWS: Update.
26841
819ce6c0 268422008-08-07 Bean <bean123ch@gmail.com>
26843
26844 * include/grub/x86_64/pci.h: New file.
26845
5c41d44d 268462008-08-07 Christian Franke <franke@computer.org>
26847
26848 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26849 (TIMER2_GATE): Likewise.
26850 (grub_pit_wait): Add enable/disable of the timer2 gate
26851 bit of port 0x61. This fixes a possible infinite loop.
26852
5ebc275d 268532008-08-07 Bean <bean123ch@gmail.com>
26854
26855 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26856 kern/i386/tsc.c and kern/i386/pit.c.
26857
26858 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26859 x86_64 platform.
26860
26861 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26862 <grub/i386/tsc.h>.
26863
26864 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26865
e383b3d0 268662008-08-07 Bean <bean123ch@gmail.com>
26867
26868 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26869
26870 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26871
26872 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26873 multiple inclusion. Add #include <grub/types.h>.
26874
1cbb58ac 268752008-08-06 Christian Franke <franke@computer.org>
26876
26877 * conf/common.rmk: Build and install `10_windows'.
26878 * util/grub.d/10_windows.in: New script.
26879
337f5a1e 268802008-08-06 Pavel Roskin <proski@gnu.org>
26881
26882 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26883
057bc4ac 268842008-08-06 Robert Millan <rmh@aybabtu.com>
26885
26886 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26887 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26888
2b99f123 268892008-08-06 Bean <bean123ch@gmail.com>
26890
26891 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26892 (grub_pxefs_fs_int): Remove dummy definition.
26893 (grub_pxefs_open): Use data->block_size to store the current block
26894 size setting.
26895 (grub_pxefs_read): Use block size stored in data->block_size. As the
26896 value of grub_pxe_blksize can be changed after the file is opened.
26897
9f0234cb 268982008-08-06 Bean <bean123ch@gmail.com>
26899
26900 * fs/i386/pc/pxe.c (curr_file): new variable.
26901 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26902 require the dummy internal file system anymore.
26903 (grub_pxefs_read): Removed.
26904 (grub_pxefs_close): Likewise.
26905 (grub_pxefs_fs_int): Likewise.
26906 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26907 connection when we switch file.
26908 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26909
a55d42e0 269102008-08-06 Robert Millan <rmh@aybabtu.com>
26911
26912 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26913 `halt.mod'.
26914 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26915 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26916
26917 * kern/i386/halt.c: New file.
26918 * kern/i386/reboot.c: Likewise.
26919 * include/grub/i386/reboot.h: Likewise.
26920 * include/grub/i386/halt.h: Likewise.
26921
26922 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26923 Include `<grub/cpu/halt.h>'.
26924 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26925 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26926
26927 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26928 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26929 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26930 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26931 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26932 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26933 from here ...
26934 * include/grub/i386/at_keyboard.h: ... to here.
26935
24371d26 269362008-08-05 Robert Millan <rmh@aybabtu.com>
26937
26938 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26939 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26940 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26941 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26942 `kern/generic/millisleep.c'.
26943
26944 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26945 instead of grub_get_rtc().
26946 (grub_tsc_init): Initialize `tsc_boot_time'.
26947
26948 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26949 (grub_machine_init): Use grub_tsc_init() rather than
26950 installing an RTC-based handler via grub_install_get_time_ms().
26951
26952 * kern/i386/pit.c: New file.
26953 * include/grub/i386/pit.h: Likewise.
26954
9e7007b3 269552008-08-05 Bean <bean123ch@gmail.com>
26956
26957 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26958
26959 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26960 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26961 (pxe_mod_SOURCES): New macro.
26962 (pxe_mod_CFLAGS): Likewise.
26963 (pxe_mod_LDFLAGS): Likewise.
26964 (pxecmd_mod_SOURCES): Likewise.
26965 (pxecmd_mod_CFLAGS): Likewise.
26966 (pxecmd_mod_LDFLAGS): Likewise.
26967
26968 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26969 (grub_pxe_call): Likewise.
26970
26971 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26972
26973 * commands/i386/pc/pxecmd.c: New file.
26974
9f0234cb 26975 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26976
26977 * include/grub/i386/pc/pxe.h: Likewise.
26978
6977d49f 269792008-08-05 Bean <bean123ch@gmail.com>
26980
26981 * util/console.c (grub_console_cur_color): New variable.
26982 (grub_console_standard_color): Likewise.
26983 (grub_console_normal_color): Likewise.
26984 (grub_console_highlight_color): Likewise.
26985 (color_map): Likewise.
26986 (use_color): Likewise.
26987 (NUM_COLORS): New macro.
26988 (grub_ncurses_setcolorstate): Handle color properly.
26989 (grub_ncurses_setcolor): Don't change color here, just remember the
26990 settings, color will be set in grub_ncurses_setcolorstate.
26991 (grub_ncurses_getcolor): New function.
26992 (grub_ncurses_init): Initialize color pairs.
26993 (grub_ncurses_term): New member grub_ncurses_getcolor.
26994
9c2ff3ee 269952008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26996
9c2ff3ee 26997 High resolution timer support. Implemented for x86 CPUs using TSC.
26998 Extracted generic grub_millisleep() so it's linked in only as needed.
26999 This requires a Pentium compatible CPU; if the RDTSC instruction is
27000 not supported, then it falls back on the generic grub_get_time_ms()
27001 implementation that uses the machine's RTC.
27002
27003 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
27004 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27005 `kern/generic/millisleep.c'.
27006
27007 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
27008 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
27009
27010 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
27011 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
27012
27013 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27014
27015 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27016 `kern/generic/millisleep.c'.
27017
27018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27019
27020 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
27021
27022 * kern/generic/rtc_get_time_ms.c: New file.
27023
27024 * kern/generic/millisleep.c: New file.
337f5a1e 27025
9c2ff3ee 27026 * kern/misc.c: Don't include
27027 <kern/time.h> anymore.
27028 (grub_millisleep_generic): Removed.
27029
27030 * commands/sleep.c (grub_interruptible_millisleep): Uses
27031 grub_get_time_ms() instead of grub_get_rtc().
27032
27033 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
27034 function.
27035 (grub_cpu_is_cpuid_supported): New inline function.
27036 (grub_cpu_is_tsc_supported): New inline function.
27037 (grub_tsc_init): New function prototype.
27038 (grub_tsc_get_time_ms): New function prototype.
27039
27040 * kern/i386/tsc.c (grub_get_time_ms): New file.
27041
27042 * include/grub/time.h: Include <grub/types.h.
27043 (grub_millisleep_generic): Removed.
27044 (grub_get_time_ms): New prototype.
27045 (grub_install_get_time_ms): New prototype.
27046 (grub_rtc_get_time_ms): New prototype.
27047
27048 * kern/time.c (grub_get_time_ms): New function.
27049 (grub_install_get_time_ms): New function.
27050
27051 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
27052 <grub/time.h> anymore.
27053 (grub_millisleep): Removed.
27054 (grub_machine_init): Call grub_tsc_init.
27055
27056 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
27057 get_time_ms() implementation.
27058
27059 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
27060 (ieee1275_get_time_ms): New function.
27061 (grub_machine_init): Install get_time_ms() implementation.
27062
27063 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
27064 (grub_machine_init): Call grub_tsc_init().
27065 (grub_millisleep): Removed.
bf06a93f 27066
9c2ff3ee 27067 * kern/ieee1275/init.c (grub_millisleep): Removed.
27068 (grub_machine_init): Install ieee1275_get_time_ms()
27069 implementation.
27070 (ieee1275_get_time_ms): New function.
27071 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
27072 real work.
27073
9ec92aaf 270742008-08-05 Marco Gerards <marco@gnu.org>
27075
27076 * disk/ata.c: Include <grub/pci.h>.
27077 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
27078 (grub_ata_initialize): Rewritten.
27079 (grub_ata_device_initialize): New function.
27080
8d23f507 270812008-08-04 Pavel Roskin <proski@gnu.org>
27082
27083 * kern/main.c: Include grub/mm.h.
27084
5e15ee3d 270852008-08-04 Robert Millan <rmh@aybabtu.com>
27086
27087 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
27088 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
27089 corruption problem).
27090
a9053f8f 270912008-08-04 Robert Millan <rmh@aybabtu.com>
27092
27093 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
27094 warnings introduced in my last commit.
27095
dd19c7d7 270962008-08-03 Robert Millan <rmh@aybabtu.com>
27097
27098 Make PCI available on all i386 architectures.
27099
27100 * include/grub/i386/pc/pci.h: Move from here ...
27101 * include/grub/i386/pci.h: ... to here.
27102
27103 * include/grub/i386/pc/pci.h: Remove.
27104 * include/grub/i386/efi/pci.h: Remove.
27105 * include/grub/x86_64/efi/pci.h: Remove.
27106
27107 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
27108 `<grub/cpu/pci.h>'.
27109
27110 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
27111 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
27112 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
27113
27114 * conf/i386-ieee1275.rmk: Likewise.
27115
e14a6184 271162008-08-03 Robert Millan <rmh@aybabtu.com>
27117
27118 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
27119 (grub_console_setcursor): Make it possible to set cursor off.
27120
52768e37 271212008-08-03 Robert Millan <rmh@aybabtu.com>
27122
27123 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
27124 of modules instead of assuming which platform provides what.
27125 * util/update-grub.in: Likewise.
27126
2d52f57f 271272008-08-03 Robert Millan <rmh@aybabtu.com>
27128
27129 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
27130 instead of `grub_install_dos_part' to determine whether a drive needs
27131 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 27132 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 27133
2a5cd121 271342008-08-02 Robert Millan <rmh@aybabtu.com>
27135
27136 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
27137
93808428 271382008-08-02 Robert Millan <rmh@aybabtu.com>
27139
27140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
27141 of informational grub_dprintf() calls.
27142
3bd0a12a 271432008-08-02 Robert Millan <rmh@aybabtu.com>
27144
27145 * disk/memdisk.c (memdisk_size): Don't initialize.
27146 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
27147
27148 * include/grub/i386/pc/kernel.h
27149 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
27150 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
27151 (grub_memdisk_image_size, grub_arch_memdisk_addr)
27152 (grub_arch_memdisk_size): Remove.
27153
27154 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
27155 field (was only used to transfer a constant). Add `type' field to
27156 support multiple module types.
27157 (grub_module_iterate): New function.
27158
27159 * kern/device.c (grub_device_open): Do not hide error messages
27160 when grub_disk_open() fails. Use grub_print_error() instead.
27161
27162 * kern/i386/pc/init.c (grub_arch_modules_addr)
27163 (grub_arch_memdisk_size): Remove functions.
27164 (grub_arch_modules_addr): Return the module address in high memory
27165 (now that it isn't copied anymore).
27166
27167 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
27168 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
27169 decompression routine (grub_total_module_size already includes that
27170 now). Don't copy modules back to low memory.
27171
27172 * kern/main.c: Include `<grub/mm.h>'.
27173 (grub_load_modules): Split out (and use) ...
27174 (grub_module_iterate): ... this function, which iterates through
27175 module objects and runs a hook.
27176 Comment out grub_mm_init_region() call, as it would cause non-ELF
27177 modules to be overwritten.
27178
27179 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
27180 the memdisk image in its own region, make it part of the module list.
27181 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
27182 (main): Parse --memdisk|-m option, and pass user-provided path as
27183 parameter to generate_image().
27184 (add_segments): Pass `memdisk_path' down to load_modules().
27185 (load_modules): Embed memdisk image in module section when requested.
27186 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
27187 `header.type' instead of `header.offset'.
27188
27189 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
27190 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
27191 (memdisk_mod_LDFLAGS): New variables.
27192 * conf/i386-coreboot.rmk: Likewise.
27193 * conf/i386-ieee1275.rmk: Likewise.
27194
a927cc73 271952008-08-02 Robert Millan <rmh@aybabtu.com>
27196
27197 * loader/i386/pc/multiboot.c (playground, forward_relocator)
27198 (backward_relocator): New variables. Used to allocate and relocate
27199 the payload, respectively.
27200 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 27201 address, install the appropriate relocator code in each bound of
a927cc73 27202 the payload, and set the entry point such that
27203 grub_multiboot_real_boot() will jump to one of them.
27204
27205 * kern/i386/loader.S (grub_multiboot_payload_size)
27206 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27207 (grub_multiboot_payload_entry_offset): New variables.
27208 (grub_multiboot_real_boot): Set cpu context to what the relocator
27209 expects, and jump to the relocator instead of the payload.
27210
27211 * include/grub/i386/loader.h (grub_multiboot_payload_size)
27212 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27213 (grub_multiboot_payload_entry_offset): Export.
27214
b15d8a0c 272152008-08-01 Bean <bean123ch@gmail.com>
27216
27217 * normal/menu_entry.c (editor_getline): Don't return the original
27218 string as result, as it will be released by lexer once it has done
27219 using it.
27220
cdfb3d22 272212008-08-01 Robert Millan <rmh@aybabtu.com>
27222
27223 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
27224 within menuentries, not before them.
27225 util/grub.d/10_hurd.in: Likewise.
27226
9175e93d 272272008-08-01 Bean <bean123ch@gmail.com>
27228
27229 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
27230 (bufio_mod_SOURCES): New macro.
27231 (bufio_mod_CFLAGS): Likewise.
27232 (bufio_mod_LDFLAGS): Likewise.
27233
27234 * include/grub/bufio.h: New file.
27235
27236 * io/bufio.c: Likewise.
27237
27238 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
27239 (grub_video_reader_png): Use grub_buffile_open to open file.
27240
27241 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
27242 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
27243
27244 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
27245 (grub_video_reader_tga): Use grub_buffile_open to open file.
27246
27247 * font/manager.c: Include <grub/bufio.h>.
27248 (add_font): Use grub_buffile_open to open file.
27249
3d8383e7 272502008-07-31 Robert Millan <rmh@aybabtu.com>
27251
27252 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
27253 ELF segments, use a macro for arbitrarily accessing any of them instead
27254 of preparing a pointer that allows access to one at a time.
27255 (grub_multiboot_load_elf64): Likewise.
27256
16e641b6 272572008-07-31 Bean <bean123ch@gmail.com>
27258
27259 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
27260 GRUB_KERNEL_MACHINE_DATA_END.
27261
59198b72 272622008-07-30 Robert Millan <rmh@aybabtu.com>
27263
27264 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
27265 Increase from 0x50 to 0x60.
27266 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
27267 use UUIDs to identify the root drive for them. If that's not
27268 possible, abort.
27269 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
27270 check, for cross-disk installs.
27271
ae88bca3 272722008-07-30 Robert Millan <rmh@aybabtu.com>
27273
27274 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
27275 is non-empty, use it to set the `prefix' environment variable instead
27276 of the usual approach.
27277 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
27278 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
27279 environment variable instead of dummy make_install_device().
27280
27281 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
27282 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 27283 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 27284
27285 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
27286 New variable reference.
27287 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
27288 New macro. Defines offset of `grub_prefix' within startup.S (relative
27289 to `start').
27290 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
27291 section within startup.S (relative to `start').
27292 * include/grub/i386/coreboot/kernel.h: Likewise.
27293
27294 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
27295 Overwrite grub_prefix with its contents, at the beginning of the
27296 first segment.
27297 (main): Understand -p|--prefix.
27298
14f41dd1 272992008-07-30 Robert Millan <rmh@aybabtu.com>
27300
27301 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
27302
4ca049a3 273032008-07-30 Robert Millan <rmh@aybabtu.com>
27304
27305 * term/i386/pc/vga_text.c (grub_console_cls): Use
27306 grub_console_gotoxy() to go back to beginning of the screen.
27307 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27308
2921d337 273092008-07-29 Christian Franke <franke@computer.org>
27310
27311 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27312 Add conversion of emulated mount points on Cygwin.
27313
b609876d 273142008-07-29 Christian Franke <franke@computer.org>
27315
27316 * util/update-grub.in: Add a check for admin
27317 group on Cygwin.
27318 Remove old `grub.cfg.new' before creation.
27319 Add `-f' to `mv' to handle the different filesystem
27320 semantics of Windows.
27321
e93e4679 273222008-07-29 Bean <bean123ch@gmail.com>
27323
27324 * normal/main.c (get_line): Fix buffer overflow bug.
27325
41694fd0 273262008-07-28 Robert Millan <rmh@aybabtu.com>
27327
27328 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27329 (struct grub_apple_header): New struct. Describes the layout of
27330 the partmap header.
27331 (apple_partition_map_iterate): Check the header magic as well as the
27332 partition magic (which was already being checked).
27333
cfd0b4e6 273342008-07-28 Pavel Roskin <proski@gnu.org>
27335
27336 * genmk.rb: Add a warning to the beginning of the output that
27337 it's a generated file and should not be edited.
27338
93cce016 273392008-07-28 Robert Millan <rmh@aybabtu.com>
27340
27341 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27342 with the same number are found, just use issue a warning with
27343 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 27344
cd1df915 273452008-07-27 Robert Millan <rmh@aybabtu.com>
27346
27347 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27348 information.
27349
b70a8427 273502008-07-27 Bean <bean123ch@gmail.com>
27351
27352 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27353 (grub_fat_find_dir): Ignore case when comparing filename.
27354
8f5e379f 273552008-07-27 Bean <bean123ch@gmail.com>
27356
27357 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27358 smallino, as it's more descriptive, and i8count can be confused with
27359 the other field count.
27360 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27361 inode type.
27362
a85cd5a0 273632008-07-27 Bean <bean123ch@gmail.com>
27364
27365 * commands/crc.c: New file.
27366
27367 * lib/crc.c: Likewise.
27368
27369 * include/grub/lib/crc.h: Likewise.
27370
27371 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27372
27373 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27374 (hexdump): Move this function to ...
27375
27376 * lib/hexdump.c: ... here.
27377
27378 * include/grub/hexdump.h: Renamed to ...
27379
27380 * include/grub/lib/hexdump.h: ... this.
27381
27382 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27383
27384 * util/grub-editenv.c: Likewise.
27385
27386 * include/envblk.h: Renamed to ...
27387
27388 * include/lib/envblk.h: ... this.
27389
27390 * util/envblk.c: Renamed to ...
27391
27392 * lib/envblk.c: ... this.
27393
27394 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27395 lib/hexdump.c.
27396 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27397 (pkglib_MODULES): Add crc.mod.
27398 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27399 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27400 (crc_mod_SOURCES): New macro.
27401 (crc_mod_CFLAGS): Likewise.
27402 (crc_mod_LDFLAGS): Likewise.
27403
27404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27405
27406 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27407
27408 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27409
27410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27411
27412 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27413
c298def0 274142008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27415
27416 * commands/help.c: Include <grub/term.h>.
27417 (TERM_WIDTH): Removed. Updated all users.
27418
cc349fb3 274192008-07-27 Pavel Roskin <proski@gnu.org>
27420
27421 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27422 spurious warnings about a comment within a comment.
27423
9051607e 274242008-07-25 Robert Millan <rmh@aybabtu.com>
27425
27426 * util/getroot.c (find_root_device): Skip devices that match
27427 /dev/dm-[0-9]. This lets the real device be found for any type of
27428 abstraction (LVM, EVMS, RAID..).
27429 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27430 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27431 device is found first, find_root_device() will now skip it.
27432
01453bfc 274332008-07-24 Pavel Roskin <proski@gnu.org>
27434
27435 * include/grub/types.h: Use __builtin_bswap32() and
27436 __builtin_bswap64() with gcc 4.3 and newer.
27437
6af9849f 274382008-07-24 Christian Franke <franke@computer.org>
27439
3a0fa256 27440 * util/i386/pc/grub-install.in: If `--debug' is specified,
27441 pass `--verbose' to grub-setup.
27442 Abort script if make_system_path_relative_to_its_root() fails.
27443
7810e747 274442008-07-24 Bean <bean123ch@gmail.com>
27445
27446 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27447 variable `target_platform' should be `platform'.
27448
42290e17 274492008-07-24 Bean <bean123ch@gmail.com>
27450
51cc5193 27451 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27452 (grub_png_init_fixed_block): New function.
27453 (grub_png_decode_image_data): Handle fixed huffman code compression.
27454
2a8a80e4 274552008-07-24 Bean <bean123ch@gmail.com>
27456
27457 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27458 (grub_pe2elf_SOURCES): New macro.
27459 (CLEANFILES): Add grub-pe2elf.
27460
27461 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27462 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27463 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27464 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27465 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27466 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27467 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27468 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27469 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27470 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27471 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27472 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27473 (GRUB_PE32_DT_FUNCTION): Likewise.
27474 (GRUB_PE32_REL_I386_DIR32): Likewise.
27475 (GRUB_PE32_REL_I386_REL32): Likewise.
27476 (grub_pe32_symbol): New structure.
27477 (grub_pe32_reloc): Likewise.
27478
27479 * util/grub-pe2elf.c: New file.
27480
27481 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27482 start symbol in non pc platform.
27483
27484 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27485
27486 The following patches are from Christian Franke.
27487
27488 * include/grub/dl.h: Remove .previous, gas supports this only
27489 for ELF format.
27490
27491 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27492 Remove .type, gas supports this only for ELF format.
27493
27494 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27495 nullbytes in symbol table. This fixes an infinite loop if table is
27496 zero filled.
27497
27498 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27499 TARGET_IMG_LDFLAGS and EXEEXT.
27500
27501 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27502 TARGET_IMG_LDFLAGS_AC.
27503 (grub_CHECK_STACK_ARG_PROBE): New function.
27504
27505 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27506
27507 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27508
27509 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27510 to set TARGET_IMG_LD* accordingly.
27511 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27512 Add call to grub_CHECK_STACK_ARG_PROBE.
27513 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27514
27515 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27516
27517 * genmk.rb: Add EXEEXT to CLEANFILES.
27518
12ccdb75 275192008-07-23 Robert Millan <rmh@aybabtu.com>
27520
27521 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27522 define the codes for arrows and lines used for the menu).
27523 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27524 as well.
27525
27526 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27527 fonts, because the latter are too slow.
27528
18eeaf04 275292008-07-21 Bean <bean123ch@gmail.com>
27530
27531 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27532 a20. Run keyboard test last, as it will cause macbook to halt.
27533
b095e2ad 275342008-07-18 Pavel Roskin <proski@gnu.org>
27535
27536 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27537 load foreign architecture modules correctly anyway. Keep
27538 support for loading host architecture modules, whether we
27539 compile them or not.
27540
737feb35 275412008-07-17 Pavel Roskin <proski@gnu.org>
27542
3f4ce737 27543 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27544 change target_cpu. The compiler default can mismatch target_cpu
27545 in any case.
27546
4ad2d049 27547 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27548 * kern/efi/efi.c: Likewise.
27549
f6130a12 27550 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27551 target compiler is functional.
27552 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27553 are set up.
27554
58393a2d 27555 * configure.ac: Default to efi platform for x86_64-apple. Allow
27556 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27557 adjustments from the rest, only do them if target is not
27558 explicitly given. Merge other adjustments with the final sanity
27559 check. Remove an extraneous check for supported CPU. Be
27560 specific which CPU and which platform is not supported.
27561
737feb35 27562 * configure.ac: Default to pc platform for x86_64.
27563
546f966a 275642008-07-17 Robert Millan <rmh@aybabtu.com>
27565
27566 Partial LinuxBIOS -> Coreboot rename.
27567
27568 * conf/i386-linuxbios.rmk: Renamed to ...
27569 * conf/i386-coreboot.rmk: ... this.
27570 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27571 * configure.ac: Accept "coreboot" as input platform (but maintain
27572 compatibility with "linuxbios").
27573 * include/grub/i386/linuxbios: Renamed to ...
27574 * include/grub/i386/coreboot: ... this.
27575
20011694 275762008-07-17 Bean <bean123ch@gmail.com>
27577
27578 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27579 (appleldr_mod_SOURCE): New variable.
20011694 27580 (appleldr_mod_CFLAGS): Likewise.
27581 (appleldr_mod_LDFLAGS): Likewise.
27582 (pci_mod_SOURCES): Likewise.
27583 (pci_mod_CFLAGS): Likewise.
27584 (pci_mod_LDFLAGS): Likewise.
27585 (lspci_mod_SOURCES): Likewise.
27586 (lspci_mod_CFLAGS): Likewise.
27587 (lspci_mod_LDFLAGS): Likewise.
27588
27589 * conf/x86_64-efi.rmk: New file.
27590
27591 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27592 macro.
27593 (grub_efidisk_write): Likewise.
27594
27595 * include/efi/api.h (efi_call_0): New macro.
27596 (efi_call_1): Likewise.
27597 (efi_call_2): Likewise.
27598 (efi_call_3): Likewise.
27599 (efi_call_4): Likewise.
27600 (efi_call_5): Likewise.
27601 (efi_call_6): Likewise.
27602
27603 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27604 grub_rescue_cmd_chainloader.
27605
27606 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27607 (grub_pe32_optional_header): Change some fields based on i386 or
27608 x86_64 platform.
27609 (GRUB_PE32_PE32_MAGIC): Likewise.
27610
27611 * include/grub/efi/uga_draw.h: New file.
27612
27613 * include/grub/elf.h (STN_ABS): New constant.
27614 (R_X86_64_NONE): Relocation constant for x86_64.
27615 (R_X86_64_64): Likewise.
27616 (R_X86_64_PC32): Likewise.
27617 (R_X86_64_GOT32): Likewise.
27618 (R_X86_64_PLT32): Likewise.
27619 (R_X86_64_COPY): Likewise.
27620 (R_X86_64_GLOB_DAT): Likewise.
27621 (R_X86_64_JUMP_SLOT): Likewise.
27622 (R_X86_64_RELATIVE): Likewise.
27623 (R_X86_64_GOTPCREL): Likewise.
27624 (R_X86_64_32): Likewise.
27625 (R_X86_64_32S): Likewise.
27626 (R_X86_64_16): Likewise.
27627 (R_X86_64_PC16): Likewise.
27628 (R_X86_64_8): Likewise.
27629 (R_X86_64_PC8): Likewise.
27630
27631 * include/grub/i386/efi/pci.h: New file.
27632
27633 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27634 Change it value based on platform.
27635 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27636 (GRUB_E820_RAM): Likewise.
27637 (GRUB_E820_RESERVED): Likewise.
27638 (GRUB_E820_ACPI): Likewise.
27639 (GRUB_E820_NVS): Likewise.
27640 (GRUB_E820_EXEC_CODE): Likewise.
27641 (GRUB_E820_MAX_ENTRY): Likewise.
27642 (grub_e820_mmap): New structure.
27643 (linux_kernel_header): Change the efi field according to different
27644 kernel version, also field from linux_kernel_header.
27645
27646 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27647
27648 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27649 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27650 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27651 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27652 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27653 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27654 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27655 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27656 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27657 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27658
27659 * include/grub/x86_64/efi/kernel.h: New file.
27660
27661 * include/grub/x86_64/efi/loader.h: Likewise.
27662
27663 * include/grub/x86_64/efi/machine.h: Likewise.
27664
27665 * include/grub/x86_64/efi/pci.h: Likewise.
27666
27667 * include/grub/x86_64/efi/time.h: Likewise.
27668
27669 * include/grub/x86_64/linux.h: Likewise.
27670
27671 * include/grub/x86_64/setjmp.h: Likewise.
27672
27673 * include/grub/x86_64/time.h: Likewise.
27674
27675 * include/grub/x86_64/types.h: Likewise.
27676
27677 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27678 GRUB_TARGET_SIZEOF_VOID_P.
27679
27680 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27681 (grub_efi_locate_handle): Likewise.
27682 (grub_efi_open_protocol): Likewise.
27683 (grub_efi_set_text_mode): Likewise.
27684 (grub_efi_stall): Likewise.
27685 (grub_exit): Likewise.
27686 (grub_reboot): Likewise.
27687 (grub_halt): Likewise.
27688 (grub_efi_exit_boot_services): Likewise.
27689 (grub_get_rtc): Likewise.
27690
27691 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27692 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27693 (grub_efi_allocate_pages): Wrap efi calls.
27694 (grub_efi_free_pages): Wrap efi calls.
27695 (grub_efi_get_memory_map): Wrap efi calls.
27696
27697 * kern/x86_64/dl.c: New file.
27698
27699 * kern/x86_64/efi/callwrap.S: Likewise.
27700
27701 * kern/x86_64/efi/startup.S: Likewise.
27702
27703 * loader/efi/appleloader.c: Likewise.
27704
27705 * loader/efi/chainloader.c (cmdline): New variable.
27706 (grub_chainloader_unload): Wrap efi calls.
27707 (grub_chainloader_boot): Likewise.
27708 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27709 command line.
27710
27711 * loader/efi/chainloader_normal.c (chainloader_command):
27712 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27713 command line.
27714
27715 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27716 method.
27717 (grub_e820_add_region): New function.
27718 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27719 booting.
27720 (grub_find_video_card): New function.
27721 (grub_linux_setup_video): New function.
27722 (grub_rescue_cmd_linux): Probe for video information.
27723
27724 * normal/x86_64/setjmp.S: New file.
27725
27726 * term/efi/console.c (map_char): New function.
27727 (grub_console_putchar): Map unicode char.
27728 (grub_console_checkkey): Wrap efi calls.
27729 (grub_console_getkey): Likewise.
27730 (grub_console_getwh): Likewise.
27731 (grub_console_gotoxy): Likewise.
27732 (grub_console_cls): Likewise.
27733 (grub_console_setcolorstate): Likewise.
27734 (grub_console_setcursor): Likewise.
27735
27736 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27737
59652a20 277382008-07-16 Pavel Roskin <proski@gnu.org>
27739
ef294055 27740 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27741 format strings.
27742
59652a20 27743 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27744 pointer, not an integer. This fixes a warning and prevents
27745 precision loss on 64-bit systems.
27746 (relocate_addresses): Remove unneeded cast.
27747
afc3b5d7 277482008-07-15 Pavel Roskin <proski@gnu.org>
27749
506b2b3e 27750 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27751
62ead89c 27752 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27753
c4cd51d7 27754 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27755 Fix comparison between signed and unsigned.
27756
0d3d8f28 27757 * include/grub/i386/ieee1275/console.h: Declare
27758 grub_console_init() and grub_console_fini().
27759
8804b286 27760 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27761 It's empty and unused.
27762
ee01cf35 27763 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27764 beginning to avoid warnings with some compilers.
27765
afc3b5d7 27766 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27767 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27768
e4e8eaa5 277692008-07-14 Pavel Roskin <proski@gnu.org>
27770
407aceb4 27771 * kern/env.c (grub_register_variable_hook): Don't copy empty
27772 string, it leaks memory. Pass "" to grub_env_set(), it should
27773 handle constant strings.
27774
e4e8eaa5 27775 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27776 * commands/cmp.c (grub_cmd_cmp): Likewise.
27777 * kern/dl.c (grub_dl_flush_cache): Likewise.
27778 (grub_dl_load_core): Likewise.
27779 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27780 (grub_elf64_load_phdrs): Likewise.
27781
d4e2dad3 277822008-07-13 Pavel Roskin <proski@gnu.org>
27783
27784 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27785 between signed and unsigned.
27786 (LzmaEnc_Finish): Fix warning about an unused parameter.
27787
aa24b516 277882008-07-13 Bean <bean123ch@gmail.com>
27789
27790 * Makefile.in (enable_lzo): New rule.
27791
27792 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27793
27794 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27795
27796 * boot/i386/pc/lnxboot.S: #include <config.h>.
27797
27798 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27799 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27800
27801 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27802 compression algorithm according to configure macro.
27803
27804 * kern/i386/pc/startup.S (codestart): Likewise.
27805
27806 * kern/i386/pc/lzma_decode.S: New file.
27807
27808 * include/grub/lib/LzFind.h: Likewise.
27809
27810 * include/grub/lib/LzHash.h: Likewise.
27811
27812 * include/grub/lib/LzmaDec.h: Likewise.
27813
27814 * include/grub/lib/LzmaEnc.h: Likewise.
27815
27816 * include/grub/lib/LzmaTypes.h: Likewise.
27817
27818 * lib/LzFind.c: Likewise.
27819
27820 * lib/LzmaDec.c: Likewise.
27821
27822 * lib/LzmaEnc.c: Likewise.
27823
4ae821ac 278242008-07-13 Bean <bean123ch@gmail.com>
27825
27826 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27827 (grub_ext4_extent_header): New structure.
27828 (grub_ext4_extent): Likewise.
27829 (grub_ext4_extent_idx): Likewise.
27830 (grub_ext4_find_leaf): New function.
27831 (grub_ext2_read_block): Handle extents.
27832
9a745147 278332008-07-12 Robert Millan <rmh@aybabtu.com>
27834
27835 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27836
d49a4cf6 278372008-07-11 Robert Millan <rmh@aybabtu.com>
27838
27839 * util/grub.d/40_custom.in: New file. Example on how to add custom
27840 entries to /etc/grub.d.
27841 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27842 40_custom (implicitly, by merging all the grub.d rules).
27843
947414b4 278442008-07-11 Pavel Roskin <proski@gnu.org>
27845
0059cf6f 27846 * commands/read.c (grub_getline): Fix invalid memory access.
27847 Don't add newline to the variable value.
27848
947414b4 27849 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27850 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27851 (serial_hw_get_port): Check validity of the port number.
27852 (grub_cmd_serial): Check return value of serial_hw_get_port().
27853
62a02d00 278542008-07-07 Pavel Roskin <proski@gnu.org>
27855
27856 * boot/i386/pc/diskboot.S (notification_string): Replace
27857 "Loading kernel" with just "loading". This is shorter, less
27858 confusing and saves a few bytes for possible future changes.
27859
3e5581b0 278602008-07-05 Pavel Roskin <proski@gnu.org>
27861
ea387a48 27862 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27863 size for ATAPI devices, they are undefined. Output sector
27864 number in decimal form.
27865
3e5581b0 27866 * disk/ata.c: Use named constants for status bits.
27867
fdecb8fd 278682008-07-04 Pavel Roskin <proski@gnu.org>
27869
bcd35b90 27870 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27871 grub_addr_t before casting it to the void pointer to fix a
27872 warning. Non-addressable regions are discarded earlier.
27873 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27874 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27875 (check_signature): Don't shadow table_header.
27876 (grub_linuxbios_table_iterate): Cast numeric constants to
27877 grub_linuxbios_table_header_t.
27878 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27879 grub_stop().
27880
af58ab3d 27881 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27882 prevent warnings.
27883
1759aa57 27884 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27885 pointer, which can cause warnings. Support 64-bit addresses.
27886
fdecb8fd 27887 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27888 of sizeof(long). This fixes PowerPC image generation on x86_64.
27889
8516d2a8 278902008-07-04 Robert Millan <rmh@aybabtu.com>
27891
27892 This fixes a performance issue when pc & gpt partmap iterators
27893 didn't abort iteration even after our hook found what it was
fe987087 27894 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27895
27896 Some callers relied on previous buggy behaviour, since they would
34c44600 27897 raise an error when their own hooks caused early abortion of its
8516d2a8 27898 iteration.
27899
27900 * kern/device.c (grub_device_open): Improve error message.
27901 * disk/lvm.c (grub_lvm_open): Likewise.
27902 * disk/raid.c (grub_raid_open): Likewise.
27903
27904 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27905 when hook requests it, independently of grub_errno.
27906 (pc_partition_map_probe): Do not fail when find_func() caused
27907 early abortion of pc_partition_map_iterate().
27908
27909 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27910 when hook requests it, independently of grub_errno.
27911 (gpt_partition_map_probe): Do not fail when find_func() caused
27912 early abortion of gpt_partition_map_iterate().
27913
27914 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27915 when hook requests it, independently of grub_errno. Do not fail when
27916 part_map_iterate_hook() caused early abortion of p->iterate().
27917
27918 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27919 when grub_partition_iterate() returned with non-zero.
27920
277d0de9 279212008-07-03 Pavel Roskin <proski@gnu.org>
27922
27923 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27924 like we do in grub_ata_pio_read().
27925 (grub_ata_readwrite): Always write individual sectors. Fix the
27926 sector count for the remainder.
27927 (grub_ata_write): Enable writing to ATA devices. Correctly
27928 report error for ATAPI devices.
27929
d4c9b428 279302008-07-02 Pavel Roskin <proski@gnu.org>
27931
e43fc690 27932 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27933 warning.
27934
f707af42 27935 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27936 for every read sector, we already increment it for the whole
27937 batch. This fixes reading more than 256 sectors at once.
27938
11e16b15 27939 * util/grub-editenv.c (cmd_info): Cast argument to long
27940 explicitly. ptrdiff_t reduces to int on i386.
27941
cbabfdd4 27942 * util/grub-editenv.c (main): Be specific which parameter is
27943 missing.
27944
b8fbce0a 27945 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27946 (memdisk): Make memdisk_orig_addr a pointer.
27947
c9c8e606 27948 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27949 for file offsets, use grub_off_t instead. Fix printf format
27950 warnings.
27951
ca62e598 27952 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27953 there. Real unexpected warnings should not drown in the noise
27954 about known problems.
27955
ce8d1766 27956 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27957 grub_disk_addr_t for memory addresses.
27958
00c7a56a 27959 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27960 explicitly to fix a warning.
27961
08d3ef09 27962 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27963
cb71ba20 27964 * Makefile.in (MODULE_LDFLAGS): New variable.
27965 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27966 the linker accepts --build-id=none.
27967 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27968 MODULE_LDFLAGS.
27969 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27970
d4c9b428 27971 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27972 those in Linux XFS code. Provide a way to access 64-bit parent
27973 inode.
27974 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27975 the end of struct grub_xfs_dir_header.
27976
d4156eee 279772008-07-02 Bean <bean123ch@gmail.com>
27978
27979 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27980 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27981 and GRUB_IEEE1275_FLAG_NO_ANSI.
27982
27983 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27984 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27985 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27986
27987 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27988 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27989
27990 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27991 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27992
27993 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27994 esc sequence on non ANSI terminal.
27995 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27996
27997 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27998 beginning of file.
27999
2270f77b 280002008-07-02 Bean <bean123ch@gmail.com>
28001
28002 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
28003 (grub_editenv_SOURCES): New variable.
28004 (pkglib_MODULES): Add loadenv.mod.
28005 (loadenv_mod_SOURCES): New variable.
28006 (loadenv_mod_CFLAGS): Likewise.
28007 (loadenv_mod_LDFLAGS): Likewise.
28008
28009 * include/grub/envblk.h: New file.
28010
28011 * util/envblk.c: New file.
28012
28013 * util/grub-editenv.c: New file.
28014
28015 * commands/loadenv.c: New file.
28016
0e9e51ec 280172008-07-01 Pavel Roskin <proski@gnu.org>
28018
d89b7634 28019 * include/multiboot2.h (struct multiboot_tag_module): Use char,
28020 not unsigned char. This fixes warnings and is consistent with
28021 other tags.
28022
bf1835b1 28023 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
28024
8222a04b 28025 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
28026
6a42d99d 28027 * term/tparm.c (analyze): Always set *popcount.
28028
10b159d1 28029 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
28030 cast to fix a warning.
28031
b8789f6c 28032 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
28033 cast to suppress a warning.
28034
29d7e38a 28035 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
28036 grub_fshelp_read_file() expects.
28037
f341f669 28038 * fs/fat.c: Fix UUID calculation on big-endian systems. We
28039 write uuid as a 32-bit value in CPU byte order, so declare and
28040 use it as such.
28041
0e9e51ec 28042 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
28043 long if the format specifier expects it.
28044 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
28045 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28046 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
28047 long to fix a warning.
28048 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
28049 grub_dprintf() arguments to fix warnings.
28050
3aefa857 280512008-06-30 Pavel Roskin <proski@gnu.org>
28052
56c7668b 28053 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
28054 install_bsd_part immediately before core.img is embedded or
28055 modified on disk. This fixes core.img verification if core.img
28056 cannot be embedded.
28057
3aefa857 28058 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
28059 core_path to calculate the blocklist.
28060 Patch from Javier Martín <lordhabbit@gmail.com>
28061
5444088d 280622008-06-29 Robert Millan <rmh@aybabtu.com>
28063
28064 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
28065 block to disk block.
28066 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
28067 Patch from Niels Böhm <bitbucket@arcor.de>
28068
674835c8 280692008-06-29 Robert Millan <rmh@aybabtu.com>
28070
28071 * util/update-grub_lib.in (font_path): Search for fonts in
28072 /boot/grub first, which is more likely to be readable (we aren't
28073 deciding where fonts live, just looking for them).
28074
f527dbc8 280752008-06-26 Pavel Roskin <proski@gnu.org>
28076
6c2d8df6 28077 * util/biosdisk.c (read_device_map): Don't leave dead map
28078 entries for devices failing stat() check.
28079
f527dbc8 28080 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
28081 core_path_dev for the core.img path on the target device.
28082
aebe3d13 280832008-06-26 Robert Millan <rmh@aybabtu.com>
28084
28085 * disk/fs_uuid.c: New file.
28086 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
28087 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
28088 (fs_uuid_mod_LDFLAGS): New variables.
28089 * include/grub/disk.h (grub_disk_dev_id): Add
28090 `GRUB_DISK_DEVICE_UUID_ID'.
28091 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
28092 implement iterate().
28093
37aaf354 280942008-06-26 Robert Millan <rmh@aybabtu.com>
28095
28096 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
28097 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
28098 Linux image includes no initrd.
28099
25ff262a 281002008-06-21 Javier Martín <lordhabbit@gmail.com>
28101
28102 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
28103 call to resolve the core image location that effectively appended the
28104 name twice.
28105
76a2bd44 281062008-06-21 Robert Millan <rmh@aybabtu.com>
28107
28108 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
28109 call from here ...
28110
28111 * util/grub.d/10_hurd.in: ... to here ...
28112 * util/grub.d/10_linux.in: ... and here.
28113
650e1c79 281142008-06-19 Robert Millan <rmh@aybabtu.com>
28115
fe987087 28116 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 28117 after it has been set by grub_machine_set_prefix().
28118
6ce63911 281192008-06-19 Robert Millan <rmh@aybabtu.com>
28120
28121 * commands/search.c (search_label, search_fs_uuid, search_file): Print
28122 search result when not saving to variable, not the other way around.
28123 When saving to variable, abort iteration as soon as a match is found.
28124
73940cec 281252008-06-19 Robert Millan <rmh@aybabtu.com>
28126
28127 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
28128 check for partition that provides /boot/grub. Its logic is flawed,
28129 as it prevents prepare_grub_to_access_device() from being called
28130 multiple times.
28131
3c62a39d 281322008-06-19 Robert Millan <rmh@aybabtu.com>
28133
28134 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
28135 "insmod" command directly when abstraction modules are needed,
fe987087 28136 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 28137 since it had already been processed).
28138
47395a42 281392008-06-19 Pavel Roskin <proski@gnu.org>
28140
28141 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
28142 changed. This is needed in case GRUB_LIBDIR changes.
28143 * conf/i386-ieee1275.rmk: Likewise.
28144 * conf/i386-linuxbios.rmk: Likewise.
28145 * conf/i386-pc.rmk: Likewise.
28146 * conf/powerpc-ieee1275.rmk: Likewise.
28147
a145ac2d 281482008-06-18 Pavel Roskin <proski@gnu.org>
28149
28150 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
28151 kernel_elf_symlist.c to symlist.c for consistency with other
28152 architectures. Update all users.
28153 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28154
7847c51e 281552008-06-18 Robert Millan <rmh@aybabtu.com>
28156
28157 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
28158 it in prefix.
28159
28160 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
28161 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
28162 a RAID device, run setup() for all members independently on whether
28163 LVM abstraction is being used.
28164 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
28165 If grub-mkimage has set `*install_dos_part == -2', don't override this
28166 value.
28167 Perform *install_dos_part adjustments independently on whether
28168 we're embedding or not.
28169 Clarify error message when image is too big for embedding.
28170 Remove duplicate *install_dos_part stanza.
28171
b23e5644 281722008-06-17 Robert Millan <rmh@aybabtu.com>
28173
28174 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
28175 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
28176 variables.
28177 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
28178 values in grub_ofconsole_normal_color and
28179 grub_ofconsole_highlight_color (they're not directly related to
28180 background and foreground).
28181 (grub_ofconsole_setcolorstate): Extract background and foreground
28182 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
28183
0aac2f79 281842008-06-17 Robert Millan <rmh@aybabtu.com>
28185
28186 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
28187 /boot/grub for the check in last commit, not /boot (they could be
28188 different partitions).
28189
3cca7ef3 281902008-06-16 Robert Millan <rmh@aybabtu.com>
28191
28192 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
28193 asked to setup access for the same partition that provides /boot,
28194 don't bother using UUIDs since our root already has the value we
28195 want.
28196
347396d8 281972008-06-16 Robert Millan <rmh@aybabtu.com>
28198
28199 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
28200 I2O devices.
28201 Patch from Sven Mueller <sven@debian.org>.
28202
991477f8 282032008-06-16 Robert Millan <rmh@aybabtu.com>
28204
28205 * util/update-grub.in: Check for $EUID instead of $UID.
28206 Reported by Vincent Zweije.
28207
d31a32a1 282082008-06-16 Bean <bean123ch@gmail.com>
28209
fe987087 28210 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 28211 (grub_ext2_read_block): Likewise.
28212 (grub_ext2_read_inode): Likewise.
28213 (grub_ext2_mount): Likewise.
28214 (grub_ext2_close): Likewise.
28215 (grub_ext3_get_journal): Removed.
28216
fe987087 28217 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 28218 (grub_reiserfs_read_symlink): Likewise.
28219 (grub_reiserfs_mount): Likewise.
28220 (grub_reiserfs_open): Likewise.
28221 (grub_reiserfs_read): Likewise.
28222 (grub_reiserfs_close): Likewise.
28223 (grub_reiserfs_get_journal): Removed.
28224
28225 * fs/fshelp.c (grub_fshelp_read): Removed.
28226 (grub_fshelp_map_block): Likewise.
28227
28228 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
28229 (grub_fshelp_journal): Likewise.
28230 (grub_fshelp_read): Likewise.
28231 (grub_fshelp_map_block): Likewise.
28232
3540a760 282332008-06-16 Pavel Roskin <proski@gnu.org>
28234
28235 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
28236 floating point anymore.
28237 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
28238
95614c84 282392008-06-15 Pavel Roskin <proski@gnu.org>
28240
28241 * commands/ls.c (grub_ls_list_files): Use integer calculations
28242 for human readable format, avoid floating point use.
28243 * kern/misc.c (grub_ftoa): Remove.
28244 (grub_vsprintf): Remove floating point support.
28245
50465dd6 282462008-06-15 Robert Millan <rmh@aybabtu.com>
28247
fe6b695a 28248 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 28249 devices.
28250 Reported by Max Vozeler.
28251
a9207284 282522008-06-15 Robert Millan <rmh@aybabtu.com>
28253
28254 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
28255 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
28256 skipped later.
28257 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
28258 the beginning of the prefix.
28259
28260 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
28261 It is assumed that if we have a memdisk, grub-mkimage has set
28262 grub_prefix to include the "(memdisk)" drive in it.
28263
a7cbd45a 282642008-06-15 Robert Millan <rmh@aybabtu.com>
28265
28266 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
28267 Initialize keyboard controller after registering the terminal, so that
28268 grub_printf() can be called from grub_keyboard_controller_init().
28269
21cf716a 282702008-06-15 Robert Millan <rmh@aybabtu.com>
28271
28272 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
28273 extent-btree which is written as big endian on disk.
28274 Reported by Alain Greppin <al@chilibi.org>.
28275
23a64d8e 282762008-06-14 Robert Millan <rmh@aybabtu.com>
28277
28278 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
28279 * util/i386/pc/grub-install.in (modules): Likewise.
28280
d687651c 282812008-06-13 Pavel Roskin <proski@gnu.org>
28282
28283 * commands/ls.c (grub_ls_list_files): Fix format warnings.
28284
dfe9ddd4 282852008-06-13 Bean <bean123ch@gmail.com>
28286
28287 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
28288
28289 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
28290
28291 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
28292 to indicate sparse block.
28293
16ae7781 282942008-06-12 Pavel Roskin <proski@gnu.org>
28295
e6d1a308 28296 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
28297 number, grub_fshelp_read() does it for us.
28298
16ae7781 28299 * fs/fshelp.c (grub_fshelp_read): New function. Implement
28300 linear disk read with journal translation.
28301 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
28302 * include/grub/fshelp.h: Declare grub_fshelp_read().
28303
40fd3a2b 283042008-06-09 Pavel Roskin <proski@gnu.org>
28305
28306 * fs/minix.c (grub_minix_mount): Handle error reading
28307 superblock.
28308
f5679726 283092008-06-08 Robert Millan <rmh@aybabtu.com>
28310
28311 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28312 don't append the RAID prefix afterwards.
28313 Reported by Clint Adams.
28314
ce525529 283152008-06-08 Robert Millan <rmh@aybabtu.com>
28316
28317 Based on description from Pavel:
28318 * kern/disk.c (grub_disk_check_range): Rename to ...
28319 (grub_disk_adjust_range): ... this. Add a comment explaining the
28320 tasks performed by this function.
28321
ad4936a0 283222008-06-08 Robert Millan <rmh@aybabtu.com>
28323
28324 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28325 `num_serial' (for consistency with other variables).
28326 (struct grub_ntfs_data): Add `uuid' member.
28327 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28328 (grub_ntfs_uuid): New function.
28329 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28330
dc20b0f9 283312008-06-07 Pavel Roskin <proski@gnu.org>
28332
28333 * util/biosdisk.c (open_device): Revert last change to the
28334 function, it broke installation. The sector needs to be
28335 different dependent on which device is opened.
28336
c5e3cfba 283372008-06-06 Robert Millan <rmh@aybabtu.com>
28338
28339 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28340 rest of GRUB, and breakage doesn't happen if its value were modified.
28341
28342 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28343 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28344 a constant (same value).
28345 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28346 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28347
26a1f8c4 283482008-06-06 Robert Millan <rmh@aybabtu.com>
28349
28350 * util/biosdisk.c (open_device): Do not modify sector offset when
28351 accessing a partition. kern/disk.c already handles this for us.
28352
25d6b327 283532008-06-06 Robert Millan <rmh@aybabtu.com>
28354
28355 * util/grub-emu.c (grub_machine_init): Move code in this function from
28356 here ...
28357 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28358 segfault in case grub_printf() is called).
28359
28360 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28361 grub_probe. Update all users not to explicitly add it again.
28362 (grub_device): New variable; contains corresponding device for grubdir.
28363 (fs_module, partmap_module, devabstraction_module): Pass
28364 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28365 every time.
28366
9ece62fb 283672008-06-05 Robert Millan <rmh@aybabtu.com>
28368
28369 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28370 is found, print it (same layout as with labels).
28371
1ad36d37 283722008-06-04 Robert Millan <rmh@aybabtu.com>
28373
28374 * util/biosdisk.c (get_drive): Rename to ...
28375 (find_grub_drive): ... this. Update all users.
28376
28377 (get_os_disk): Rename to ...
28378 (convert_system_partition_to_system_disk): ... this. Update all users.
28379
28380 (find_drive): Rename to ...
28381 (find_system_device): ... this. Update all users.
28382
e6a30859 283832008-06-04 Robert Millan <rmh@aybabtu.com>
28384
28385 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28386 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28387 (make_device_map): Likewise.
28388
00c108a4 283892008-06-01 Robert Millan <rmh@aybabtu.com>
28390
28391 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28392 before dereferencing it.
28393
28394 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28395 union with fat12/fat16-specific ones. Add some new fields, including
28396 `num_serial' for both versions.
28397 (struct grub_fat_data): Add `uuid' member.
28398 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28399 names. Initialize `data->uuid' using `num_serial'.
28400 (grub_fat_uuid): New function.
28401 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28402
28403 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28404 (grub_reiserfs_uuid): New function.
28405 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28406 member.
28407
28408 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28409 (grub_xfs_uuid): New function.
28410 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28411
1385c5bb 284122008-06-01 Robert Millan <rmh@aybabtu.com>
28413
28414 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28415 code that is backward compatible with pre-uuid search command.
28416
c682dfd7 284172008-05-31 Robert Millan <rmh@aybabtu.com>
28418
28419 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28420 floppies after everything else, to ensure floppy drive isn't accessed
28421 unnecessarily (patch from Bean).
28422
b7db5d47 284232008-05-31 Robert Millan <rmh@aybabtu.com>
28424
28425 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28426 not print device names when we were asked to set a variable.
28427
6e037aa9 284282008-05-31 Robert Millan <rmh@aybabtu.com>
28429
28430 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28431 using "cursor-on" and "cursor-off" commands (understood at least by
28432 the Open Firmware flavour on OLPC).
28433
41305bc8 284342008-05-31 Michael Gorven <michael@gorven.za.net>
28435
28436 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28437 on and off sequences.
28438
69ba137e 284392008-05-31 Robert Millan <rmh@aybabtu.com>
28440
28441 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28442 * util/update-grub.in: Likewise.
28443
520ae21b 284442008-05-30 Pavel Roskin <proski@gnu.org>
28445
28446 * util/biosdisk.c (linux_find_partition): Simplify logic and
28447 make the code more universal. Keep special processing for
28448 devfs, but use a simple rule for all other devices. If the
28449 device ends with a number, append 'p' and the partition number.
28450 Otherwise, append only the partition number.
28451
5786569b 284522008-05-30 Robert Millan <rmh@aybabtu.com>
28453
28454 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28455 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28456 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28457 the `root' parameter to Linux.
28458
51500452 284592008-05-30 Robert Millan <rmh@aybabtu.com>
28460
28461 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28462 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28463 --fs_uuid with --fs-uuid.
28464 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28465 all filesystems support them).
28466
811d3878 284672008-05-30 Robert Millan <rmh@aybabtu.com>
28468
28469 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28470 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28471
cab63c95 284722008-05-30 Robert Millan <rmh@aybabtu.com>
28473
28474 * util/grub.d/00_header.in: Remove obsolete comment referencing
28475 convert_system_path_to_grub_path().
28476 * util/update-grub.in: Likewise.
28477 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28478 (convert_system_path_to_grub_path): Add a warning message explaining
28479 that this function is deprecated. Rely on is_path_readable_by_grub()
28480 for the readability checks.
28481 (font_path): Use is_path_readable_by_grub() for the readability
28482 check rather than convert_system_path_to_grub_path().
28483
972e2f7a 284842008-05-30 Robert Millan <rmh@aybabtu.com>
28485
28486 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28487 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28488 converting it first.
28489 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28490 grub.cfg for access to font file, and afterwards call it again to set
28491 the root device.
28492
62191274 284932008-05-30 Robert Millan <rmh@aybabtu.com>
28494
28495 * commands/search.c (options): Add --fs_uuid option.
28496 (search_fs_uuid): New function.
28497 (grub_cmd_search): Fix --set argument passing.
28498 Use search_fs_uuid() when requested via --fs_uuid.
28499 (grub_search_init): Update help message.
28500 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28501 and redeclare it as an array of 16-bit words.
28502 (grub_ext2_uuid): New function.
28503 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28504 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28505 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28506 (GRUB_DEVICE_BOOT_UUID): New variables.
28507 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28508 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28509 whenever possible.
28510 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28511 just assume `root' variable has the right value.
28512 * util/grub.d/10_linux.in: Likewise.
28513 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28514 via PRINT_FS_UUID.
28515 (main): Recognise `-t fs_uuid' argument.
28516
01b73ec8 285172008-05-30 Robert Millan <rmh@aybabtu.com>
28518
28519 * util/biosdisk.c (map): Redefine structure to hold information
28520 about GRUB drive name.
fe6b695a 28521 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28522 drive names.
28523 (call_hook): Remove.
28524 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28525 member. Assume drive has partitions.
28526 (grub_util_biosdisk_open): Access device names via `.device' struct
28527 member.
28528 (open_device): Likewise.
28529 (find_drive): Likewise.
28530 (read_device_map): Adjust map[] usage to match the new struct
28531 definition. Don't check for duplicates (still possible, but not cheap
28532 anymore).
28533 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28534 (make_device_name): Remove assumption of BIOS-like drive names.
28535
22f16596 285362008-05-30 Pavel Roskin <proski@gnu.org>
28537
28538 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28539 compiling execute.c doesn't need grub_script.tab.h anymore.
28540 (normal/command.c_DEPENDENCIES): Likewise.
28541 (normal/function.c_DEPENDENCIES): Likewise.
28542 * conf/i386-ieee1275.rmk: Likewise.
28543 * conf/i386-linuxbios.rmk: Likewise.
28544 * conf/i386-pc.rmk: Likewise.
28545 * conf/powerpc-ieee1275.rmk: Likewise.
28546 * conf/sparc64-ieee1275.rmk: Likewise.
28547
528ad8f2 285482008-05-29 Pavel Roskin <proski@gnu.org>
28549
d1dff95d 28550 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28551 when scanning metadata for volume group name.
28552
528ad8f2 28553 * include/grub/script.h: Don't include grub_script.tab.h. It's
28554 a generated file, which may only be included from the files with
28555 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28556 use union YYSTYPE, as the later allows forward declaration.
28557 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28558
47248e08 285592008-05-29 Robert Millan <rmh@aybabtu.com>
28560
28561 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28562 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28563 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28564 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28565 scan codes.
28566
ee632529 285672008-05-29 Robert Millan <rmh@aybabtu.com>
28568
28569 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28570 control key combinations.
28571
eee96e08 285722008-05-29 Robert Millan <rmh@aybabtu.com>
28573
28574 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28575 * util/ieee1275/grub-install.in: ... to here.
28576 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28577 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28578 (grub_install_SOURCES): Likewise.
28579
da9a6a94 285802008-05-29 Robert Millan <rmh@aybabtu.com>
28581
28582 * fs/affs.c: Update copyright year.
28583 * fs/ext2.c: Likewise.
28584 * fs/fshelp.c: Likewise.
28585 * fs/hfsplus.c: Likewise.
28586 * fs/ntfs.c: Likewise.
28587 * fs/xfs.c: Likewise.
28588 * include/grub/fshelp.h: Likewise.
28589 * util/grub-mkdevicemap.c: Likewise.
28590
12e65f3a 285912008-05-28 Robert Millan <rmh@aybabtu.com>
28592
28593 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28594 might need to be fatfs to support some firmware implementations
28595 (e.g. OFW or EFI).
28596
23023641 285972008-05-28 Robert Millan <rmh@aybabtu.com>
28598
28599 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28600 devices.
28601 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28602 (make_device_map): Likewise.
28603
887d2619 286042008-05-20 Bean <bean123ch@gmail.com>
28605
28606 * fs/fshelp.c (grub_fshelp_map_block): New function.
28607 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28608 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28609
28610 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28611 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28612 (grub_fshelp_journal): New structure.
28613 (grub_fshelp_map_block): New function prototype.
28614 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28615 (grub_fshelp_map_block): Likewise.
28616
28617 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28618 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28619 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28620 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28621 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28622 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28623 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28624 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28625 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28626 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28627 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28628 (grub_ext2_sblock): New members for journal support.
28629 (grub_ext3_journal_header): New structure.
28630 (grub_ext3_journal_revoke_header): Likewise.
28631 (grub_ext3_journal_block_tag): Likewise.
28632 (grub_ext3_journal_sblock): Likewise.
28633 (grub_fshelp_node): New members logfile and journal.
28634 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28635 grub_fshelp_map_block to get real block number.
28636 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28637 number.
28638 (grub_ext2_read_inode): Likewise.
28639 (grub_ext3_get_journal): New function.
28640 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28641 (grub_ext2_close): Release memory used by journal.
28642
28643 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28644 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28645 (grub_reiserfs_transaction_header): Renamed to
28646 grub_reiserfs_description_block, replace field data with real_blocks.
28647 (grub_reiserfs_commit_block): New structure.
28648 (grub_reiserfs_data): New member journal.
28649 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28650 number.
28651 (grub_reiserfs_read_symlink): Likewise.
28652 (grub_reiserfs_iterate_dir): Likewise.
28653 (grub_reiserfs_open): Likewise.
28654 (grub_reiserfs_read): Likewise.
28655 (grub_reiserfs_get_journal): New function.
28656 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28657 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28658 using grub_reiserfs_get_journal.
28659 (grub_reiserfs_close): Release memory used by journal.
28660
28661 * fs/affs.c (grub_affs_read_block): Change block type to
28662 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28663
28664 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28665
28666 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28667
28668 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28669
28670 * fs/udf.c (grub_udf_read_block): Change block type to
28671 grub_disk_addr_t. Use type cast to avoid warning.
28672
28673 * fs/xfs.c (grub_xfs_read_block): Likewise.
28674
b7c6bed5 286752008-05-16 Christian Franke <franke@computer.org>
28676
28677 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28678 to ensure that break with ESC will always work.
28679 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28680 Remove ESC from keyboard queue.
28681
eedf167f 286822008-05-16 Christian Franke <franke@computer.org>
28683
28684 * util/biosdisk.c: [__CYGWIN__] Add includes.
28685 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28686 (get_os_disk): Move variable declarations to OS specific
28687 parts to avoid warning.
28688 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28689 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28690 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28691 Cygwin.
28692 * util/getroot.c: [__CYGWIN__] Add includes.
28693 (strip_extra_slashes): Fix "/" case.
28694 [__CYGWIN__] (get_win32_path): New function.
28695 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28696 [__CYGWIN__] (find_root_device): Disable.
28697 [__CYGWIN__] (get_bootsec_serial): New function.
28698 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28699 [__linux__] (grub_guess_root_device): Add early returns to simplify
28700 structure.
28701 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28702 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28703 check for Linux only.
28704
a079699e 287052008-05-15 Bean <bean123ch@gmail.com>
28706
28707 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28708 keyboard hang problem in apple's intel mac.
28709
1cf4059a 287102008-05-09 Robert Millan <rmh@aybabtu.com>
28711
28712 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28713 devices.
28714 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28715 (make_device_map): Likewise.
28716 Reported by Aurelien Jarno <aurel32@debian.org>
28717
ed759390 287182008-05-07 Ian Campbell <ijc@hellion.org.uk>
28719
28720 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28721 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28722 (make_device_map): Output entries for xvd type disks.
28723
b56c4eaa 287242008-05-07 Robert Millan <rmh@aybabtu.com>
28725
28726 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28727 devices.
28728 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28729 (make_device_map): Likewise.
28730 Reported by Roland Dreier <rdreier@cisco.com>
28731
7f8866ed 287322008-05-07 Robert Millan <rmh@aybabtu.com>
28733
28734 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28735 grub_strstr() call. Correct a few mistakes in failure path handling.
28736
b0346e0f 287372008-05-06 Robert Millan <rmh@aybabtu.com>
28738
28739 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28740 Do not print a trailing slash (therefore, the root directory is an
28741 empty string).
28742 (convert_system_path_to_grub_path): Do not remove trailing slash
28743 from make_system_path_relative_to_its_root() output.
28744
28745 * util/i386/pc/grub-install.in: Add trailing slash to output from
28746 make_system_path_relative_to_its_root().
28747
6cf12cbd 287482008-05-06 Robert Millan <rmh@aybabtu.com>
28749
28750 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28751 ensures that output lines aren't intermangled with those sent to
28752 stderr (via grub_util_info()).
28753 * util/grub-probe.c (grub_refresh): Likewise.
28754 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28755
0fbb3117 287562008-05-05 Christian Franke <franke@computer.org>
28757
28758 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28759 Add Cygwin device names.
28760 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28761 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28762 (check_device): Return error instead of success on empty name.
28763 (make_device_map): Move label inside linux specific code to
28764 prevent compiler warning.
28765
8124cdb7 287662008-04-30 Robert Millan <rmh@aybabtu.com>
28767
28768 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28769 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28770 first boot option.
28771 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28772
094c01d0 287732008-04-29 Robert Millan <rmh@aybabtu.com>
28774
28775 * docs/grub.cfg: New file (example GRUB configuration).
28776
f4b1fc02 287772008-04-26 Robert Millan <rmh@aybabtu.com>
28778
329ce2a5 28779 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28780 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28781 and `disk/ieee1275/nand.c'.
f4b1fc02 28782
25f16ec1 287832008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28784
25f16ec1 28785 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28786 i386-linuxbios.
28787
28788 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28789 change the buffer size to 4096 for cdrom device.
28790
28791 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28792 and nand.mod.
28793 (_linux_mod_SOURCES): New variable.
28794 (_linux_mod_CFLAGS): Likewise.
28795 (_linux_mod_LDFLAGS): Likewise.
28796 (linux_mod_SOURCES): Likewise.
28797 (linux_mod_CFLAGS): Likewise.
28798 (linux_mod_LDFLAGS): Likewise.
28799 (nand_mod_SOURCES): Likewise.
28800 (nand_mod_CFLAGS): Likewise.
28801 (nand_mod_LDFLAGS): Likewise.
28802
28803 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28804 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28805 type property. (nand device in olpc don't have this property)
28806
28807 * include/grub/disk.h (grub_disk_dev_id): New macro
28808 GRUB_DISK_DEVICE_NAND_ID.
28809
28810 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28811 function prototype.
28812 (grub_rescue_cmd_initrd): Likewise.
28813
28814 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28815 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28816 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28817
25f16ec1 28818 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28819 GRUB_MACHINE_IEEE1275 is defined.
28820
28821 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28822 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28823
28824 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28825 on nested function heap_init.
28826 (grub_upper_mem): New variable for i386-ieee1275.
28827 (grub_get_extended_memory): New function for i386-ieee1275.
28828 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28829
28830 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28831 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28832 property.
f19dbdb7 28833
25f16ec1 28834 * loader/i386/ieee1275/linux.c: New file.
28835
28836 * loader/i386/ieee1275/linux_normal.c: New file.
28837
28838 * disk/ieee1275/nand.c: New file.
28839
e89d61e9 288402008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28841
28842 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28843 value.
28844 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28845
602566f6 288462008-04-18 Robert Millan <rmh@aybabtu.com>
28847
28848 Restructures early code path on ieee1275 to unify grub_main() as
28849 the first C function that is executed in every platform.
28850
28851 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28852 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28853 cmain().
28854 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28855 * kern/ieee1275/cmain.c (cmain): Rename to ...
28856 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28857 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28858 at the beginning.
28859
57490c2b 288602008-04-18 Robert Millan <rmh@aybabtu.com>
28861
28862 * util/update-grub.in: Fix syntax error when setting
28863 `GRUB_PRELOAD_MODULES'.
28864 Reported by Stephane Chazelas <stephane@artesyncp.com>
28865
1977517d 288662008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28867
28868 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28869 section into account, newer toolchains generate unique build ids
28870 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28871 we want build ids to be preserved
1977517d 28872 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28873 far from other sections don't cause the raw binary images grow
28874 size
28875
bfb1f1a2 288762008-04-15 Robert Millan <rmh@aybabtu.com>
28877
28878 * disk/lvm.c: Update copyright year.
28879 * kern/misc.c: Likewise.
28880
01979850 288812008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28882
28883 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28884 there is no memory left for physical volume name.
01979850 28885
0a1150e2 288862008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28887
28888 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28889 volume name mapping to support bigger than 9 character names properly.
28890
82ead3fe 288912008-04-13 Robert Millan <rmh@aybabtu.com>
28892
28893 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28894 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28895
e54a72f5 288962008-04-13 Christian Franke <franke@computer.org>
28897
28898 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28899 to create a floppy emulation boot CD when non emulation mode
28900 does not work.
28901 Enable Joliet CD filesystem extension.
28902
9fe86034 289032008-04-13 Robert Millan <rmh@aybabtu.com>
28904
28905 * kern/misc.c (grub_strncat): Fix off-by-one error.
28906 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28907
28908 * kern/env.c (grub_env_context_close): Clear current context, not
28909 previous one.
28910 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28911
28912 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28913
7ceeee39 289142008-04-13 Robert Millan <rmh@aybabtu.com>
28915
28916 Improve robustness when handling LVM.
28917
28918 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28919 (and leave `*p' unmodified).
7ceeee39 28920 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28921 through it.
28922 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28923 iterating through it.
28924 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28925 through it.
fe6b695a 28926 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28927 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28928 Don't assume `vg->pvs != NULL' when iterating through it.
28929
58cd3d85 289302008-04-13 Robert Millan <rmh@aybabtu.com>
28931
28932 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28933 * genmk.rb (partmap): New variable.
28934 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28935 (#{partmap}): New target rule.
28936 * genpartmaplist.sh: New file.
28937 * Makefile.in (pkglib_DATA): Add partmap.lst.
28938 (partmap.lst): New target rule.
28939 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28940 modules (including all partition maps), instead of preloading them.
28941
78b51059 289422007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28943
28944 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28945 `linux-boot-prober' (if installed) to detect other operating
28946 systems which are installed on the computer and add them to
28947 the boot menu.
28948 * conf/common.rmk: Build and install 30_os-prober.
28949
a91627b4 289502008-04-12 Robert Millan <rmh@aybabtu.com>
28951
28952 * kern/powerpc/ieee1275/init.c: Move from here ...
28953 * kern/ieee1275/init.c: ... to here. Update all users.
28954
28955 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28956 * kern/ieee1275/cmain.c: ... to here. Update all users.
28957
28958 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28959 * kern/ieee1275/openfw.c: ... to here. Update all users.
28960
28961 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28962 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28963
322562ea 289642008-04-10 Pavel Roskin <proski@gnu.org>
28965
28966 * configure.ac: Always use "_cv_" in cache variables for
28967 compatibility with Autoconf 2.62.
28968
a02a73c5 289692008-04-07 Robert Millan <rmh@aybabtu.com>
28970
28971 Revert grub/machine/init.h addition by Pavel (since it breaks on
28972 i386-ieee1275 and others):
28973 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28974 * util/powerpc/ieee1275/misc.c: Likewise.
28975
25c024b1 289762008-04-07 Robert Millan <rmh@aybabtu.com>
28977
28978 * util/grub-probe.c (probe): Improve error message.
28979
3cbd2f98 289802008-04-07 Robert Millan <rmh@aybabtu.com>
28981
28982 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28983 (this prevents the presence of a bogus entry from ruining the whole
28984 thing).
28985
87a297bf 289862008-04-06 Pavel Roskin <proski@gnu.org>
28987
36747a62 28988 * util/biosdisk.c: Include grub/util/biosdisk.h.
28989 * util/grub-fstest.c (execute_command): Make static.
28990 * util/grub-mkdevicemap.c (check_device): Likewise.
28991 * util/i386/pc/misc.c: Include grub/machine/init.h.
28992 * util/powerpc/ieee1275/misc.c: Likewise.
28993 * util/lvm.c: Include grub/util/lvm.h.
28994 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28995 grub/cache.h.
28996 * util/raid.c: Include grub/util/raid.h.
28997 (grub_util_getdiskname): Make static.
28998
87a297bf 28999 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
29000 grub_hostfs_fini(), as they are called from grub_init_all() and
29001 grub_fini_all() respectively. This fixes an infinite loop in
29002 grub-fstest due to double registration of hostfs.
29003 Reported by Christian Franke <Christian.Franke@t-online.de>
29004
f6ce7629 290052008-04-05 Pavel Roskin <proski@gnu.org>
29006
29007 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
29008 all 8 functions. Otherwise, probe function 0 only.
29009
070e49e4 290102008-04-04 Pavel Roskin <proski@gnu.org>
29011
8b088a4c 29012 * commands/lspci.c (grub_lspci_iter): Print the bus number
29013 correctly.
29014
4f657021 29015 * commands/lspci.c (grub_pci_classes): Fix typos.
29016 (grub_lspci_iter): Don't print func twice. Print vendor ID
29017 before device ID, as it's normally done.
29018
070e49e4 29019 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29020 Fix signedness warnings.
29021 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
29022 Likewise.
29023 * util/ieee1275/get_disk_name.c: Include config.h so that
29024 _GNU_SOURCE is defined and getline() is declared. Mark an
29025 unused argument as such. Fix a signedness warning.
29026
ba7328dc 290272008-04-02 Pavel Roskin <proski@gnu.org>
29028
26887f22 29029 * genkernsyms.sh.in: Use more robust assignments for CC and
29030 srcdir. Quote srcdir.
29031 * gensymlist.sh.in: Likewise. Assert at the compile time that
29032 the symbol table is not empty.
29033
ba7328dc 29034 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
29035 * fs/cpio.c (grub_cpio_read): Likewise.
29036
0f582c6b 290372008-04-01 Pavel Roskin <proski@gnu.org>
29038
4b6e1995 29039 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
29040 * disk/host.c (grub_host_open): Likewise.
29041 * disk/loopback.c (grub_loopback_open): Likewise.
29042 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
29043 disk->id as in disk/host.c, not a multi-character constant.
29044
828a2768 29045 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
29046 later is obsolete, potentially dangerous and sets a bad example.
29047 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
29048 * util/misc.c (grub_util_get_image_size): Likewise.
29049
2bb4fb47 29050 * disk/loopback.c (options): Improve help for "--partitions".
29051
0f582c6b 29052 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
29053 options to align them with the short options, e.g. "echo -e".
29054
a33224e0 290552008-03-31 Bean <bean123ch@gmail.com>
29056
29057 * video/reader/png.c (grub_png_data): New member is_16bit and
29058 image_data.
29059 (grub_png_decode_image_header): Detect 16 bit png image.
29060 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
29061 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
29062 (grub_video_reader_png): Release memory occupied by image_data.
29063
29064 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
29065 4096 bytes.
29066 (grub_nfs_mount): Skip the test for sector per cluster.
29067
29068 * include/grub/ntfs.h (MAX_SPC): Removed.
29069
86cb4f54 290702008-03-31 Bean <bean123ch@gmail.com>
29071
29072 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
29073 (grub_probe_SOURCES): Add fs/afs.c.
29074 (grub_fstest_SOURCES): Likewise.
29075 (afs_mod_SOURCES): New variable.
29076 (afs_mod_CFLAGS): Likewise.
29077 (afs_mod_LDFLAGS): Likewise.
29078
29079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
29080 (grub_emu_SOURCES): Likewise.
29081
29082 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29083
29084 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29085
29086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29087
29088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29089
29090 * fs/afs.c: New file.
29091
17c74c21 290922008-03-30 Pavel Roskin <proski@gnu.org>
29093
4cb68e89 29094 * disk/host.c: Include grub/misc.h to fix a warning.
29095 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
29096 warnings about implicit declarations.
29097
8790bb04 29098 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
29099 variable.
29100 * include/grub/i386/loader.h: Change declaration of
29101 grub_linux_boot() to match what grub_loader_set() expects.
29102 * util/getroot.c (grub_guess_root_device): Return const char* to
29103 fix a warning.
29104 * util/grub-probe.c (probe): Fix a warning about uninitialized
29105 abstraction_name variable.
29106 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
29107 second argument as unused to fix a warning.
29108
9a3f3296 29109 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
29110 missing grub_error() call.
29111
0ecef90d 29112 * util/update-grub_lib.in: Define datarootdir, since Autoconf
29113 2.60 and newer uses it to define datadir.
29114
0bf6d401 29115 * commands/sleep.c: Fix warning about implicit declaration.
29116 * disk/memdisk.c: Likewise.
29117 * loader/aout.c: Likewise.
29118 * loader/i386/bsd_normal.c: Likewise.
29119 * util/grub-probe.c: Likewise.
29120
7cdacf97 29121 * commands/i386/cpuid.c (has_longmode): Make static.
29122 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
29123 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
29124
17c74c21 29125 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
29126 GDT. This is more robust, as %ds can change.
29127 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
29128 calling real_to_prot().
29129 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
29130
80a3e68b 291312008-03-28 Pavel Roskin <proski@gnu.org>
29132
29133 * kern/i386/pc/startup.S: Assert that uncompressed functions
29134 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
29135 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
29136 code, as they push parts of the code (error handlers) beyond
29137 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
29138 code as correctness and size.
29139
77bcd272 291402008-03-28 Pavel Roskin <proski@gnu.org>
29141
29142 * kern/i386/pc/startup.S
29143 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
29144 data block address to the real mode, keep offset minimal. This
29145 works around a bug in AWARD BIOS on old Athlon systems, which
29146 makes CD detection hang.
29147
c5dfd43b 291482008-03-26 Pavel Roskin <proski@gnu.org>
29149
29150 * normal/color.c (grub_parse_color_name_pair): Make `name' a
29151 const.
29152 * include/grub/normal.h: Add grub_parse_color_name_pair()
29153 declaration.
29154
bf962df2 291552008-03-24 Bean <bean123ch@gmail.com>
29156
29157 * disk/i386/pc/biosdisk.c (cd_start): Removed.
29158 (cd_count): Removed.
29159 (cd_drive): New variable.
29160 (grub_biosdisk_get_drive): Don't check for (cdN) device.
29161 (grub_biosdisk_call_hook): Likewise.
29162 (grub_biosdisk_iterate): Change cdrom detection method.
29163 (grub_biosdisk_open): Replace cd_start with cd_drive.
29164 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
29165 detect cdrom device.
29166
29167 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
29168 Removed.
29169 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
29170 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
29171 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
29172 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
29173 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
29174 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
29175 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
29176 (grub_biosdisk_cdrp): New structure.
29177 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
29178
29179 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
29180
29181 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
29182 device.
29183
29184 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
29185 New function.
29186
68e7fc7a 291872008-03-20 Robert Millan <rmh@aybabtu.com>
29188
29189 Remove 2 TiB limit in ata.mod.
29190 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
29191 (grub_ata_dumpinfo): Print sector count with 0x%llx.
29192 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
29193 grub_uint64_t instead of grub_uint32_t.
29194
38ad2cf5 291952008-03-05 Bean <bean123ch@gmail.com>
29196
29197 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
29198 (grub_multiboot): Set boot device.
29199
29200 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
29201
2b89344e 292022008-03-02 Bean <bean123ch@gmail.com>
29203
29204 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
29205 symlink_buffer.
29206
87a95d1f 292072008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
29208
29209 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
29210 texinfo.tex.
29211
29212 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
29213 modified.
29214
29215 * docs/fdl.texi: New file.
f19dbdb7 29216
87a95d1f 29217 * docs/mdate-sh: New file. Copied from gnulib.
29218 * docs/texinfo.tex: Likewise.
29219
29220 * config.guess: Updated from gnulib.
29221 * install-sh: Likewise.
29222
7dc15d8e 292232008-02-28 Robert Millan <rmh@aybabtu.com>
29224
29225 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
29226 (aout_mod_SOURCES): New variable.
29227 (aout_mod_CFLAGS): Likewise.
29228 (aout_mod_LDFLAGS): Likewise.
29229
29230 * conf/i386-ieee1275.rmk: Likewise.
29231
b00ab696 292322008-02-28 Robert Millan <rmh@aybabtu.com>
29233
29234 * util/update-grub.in: Reorganise terminal validity check. Accept
29235 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
29236 Based on suggestion by Franklin PIAT.
29237
79ca2d78 292382008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
29239
29240 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
29241 function.
29242 * util/getroot.c (grub_util_check_block_device): New function that
29243 returns the given argument if it is a block device and returns NULL else.
29244 * util/grub-probe.c (argument_is_device): New variable.
29245 (probe): Promote device_name from a variable to an argument. Receive
29246 device_name from grub_util_check_block_device() if path is NULL and from
29247 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 29248 (options): Introduce new parameter '-d, --device'.
79ca2d78 29249 (main): Add description of the new parameter to the help screen.
29250 Rename path variable to argument. Set argument_is_device if the '-d'
29251 option is given. Pass argument to probe() depending on
29252 argument_is_device.
29253
0d16e571 292542008-02-24 Bean <bean123ch@gmail.com>
29255
29256 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
29257 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
29258 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
29259 (GRUB_ISO9660_VOLDESC_PART): Likewise.
29260 (GRUB_ISO9660_VOLDESC_END): Likewise.
29261 (grub_iso9660_primary_voldesc): New member escape.
29262 (grub_iso9660_data): New member joliet.
29263 (grub_iso9660_convert_string): New function.
29264 (grub_iso9660_mount): Detect joliet extension.
29265 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
29266 (grub_iso9660_iso9660_label): Likewise.
29267
29268 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
29269 (grub_setup_SOURCES): Add fs/udf.c.
29270 (grub_fstest_SOURCES): Likewise.
29271 (udf_mod_SOURCES): New variable.
29272 (udf_mod_CFLAGS): Likewise.
29273 (udf_mod_LDFLAGS): Likewise.
29274
29275 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
29276 (grub_emu_SOURCES): Likewise.
29277
29278 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29279
29280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29281
29282 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29283
29284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29285
29286 * fs/udf.c: New file.
29287
8a594a17 292882008-02-24 Robert Millan <rmh@aybabtu.com>
29289
29290 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
29291 (normal/lexer.c_DEPENDENCIES): New variables.
29292 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29293 (normal/lexer.c_DEPENDENCIES): Likewise.
29294 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
29295 (normal/lexer.c_DEPENDENCIES): Likewise.
29296 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
29297 (normal/lexer.c_DEPENDENCIES): Likewise.
29298 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29299 (normal/lexer.c_DEPENDENCIES): Likewise.
29300 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29301 (normal/lexer.c_DEPENDENCIES): Likewise.
29302
2dc33c03 293032008-02-23 Robert Millan <rmh@aybabtu.com>
29304
29305 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
29306 since they were intended to be in hex. This didn't break previously
29307 because of a bug in gpt_partition_map_iterate() (see below).
29308
29309 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29310 when checking the validity of GPT header.
29311 Remove `partno', since it always provides the same information as `i'.
29312
f6f4cfb0 293132008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29314
29315 * include/grub/efi/time.h: Fix a wrong comment.
29316
79ff665f 293172008-02-19 Pavel Roskin <proski@gnu.org>
29318
29319 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29320 message.
29321
d38e24c2 293222008-02-19 Bean <bean123ch@gmail.com>
29323
29324 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29325 (aout_mod_SOURCES): New variable.
29326 (aout_mod_CFLAGS): Likewise.
29327 (aout_mod_LDFLAGS): Likewise.
29328 (_bsd_mod_SOURCES): New variable.
29329 (_bsd_mod_CFLAGS): Likewise.
29330 (_bsd_mod_LDFLAGS): Likewise.
29331 (bsd_mod_SOURCES): New variable.
29332 (bsd_mod_CFLAGS): Likewise.
29333 (bsd_mod_LDFLAGS): Likewise.
29334
29335 * include/grub/aout.h: New file.
29336
29337 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29338
29339 * include/grub/i386/bsd.h: New file.
29340
29341 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29342 to make it public.
29343
29344 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29345 function is called, so that it's possible to change it inside the hook.
29346 (grub_elf64_load): Likewise.
29347 (grub_elf_file): Don't close the file if elf header is not found.
29348 (grub_elf_close): Close the file if grub_elf_file fails (The new
29349 grub_elf_file won't close it).
29350 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29351 (grub_elf64_size): Likewise.
29352
29353 * kern/i386/loader.S (grub_unix_real_boot): New function.
29354
29355 * loader/aout.c: New file.
29356
29357 * loader/i386/bsd.c: New file.
29358
29359 * loader/i386/bsd_normal.c: New file.
29360
29361 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29362
29363 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 29364 can test other formats.
d38e24c2 29365
b93bdb0f 293662008-02-19 Robert Millan <rmh@aybabtu.com>
29367
29368 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29369 (grub_gpt_partition_type_empty): Redefine with macro from
29370 `<grub/gpt_partition.h>'.
29371 (gpt_partition_map_iterate): Adjust partition type comparison.
29372
29373 Export `entry' as partmap-specific `part.data' struct.
29374 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29375
29376 * include/grub/gpt_partition.h (grub_gpt_header)
29377 (grub_gpt_partentry): ... to here (new file).
29378
29379 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29380
29381 (grub_gpt_partition_type_bios_boot): New const variable, defined
29382 with macro from `<grub/gpt_partition.h>'.
29383
29384 (setup): Replace `first_start' with `embed_region', which keeps
29385 track of the embed region (and is partmap-agnostic).
29386
29387 Replace find_first_partition_start() with find_usable_region(),
29388 which finds a usable region for embedding using partmap-specific
29389 knowledge (supports PC/MSDOS and GPT).
29390
29391 Fix all assumptions that the embed region start at sector 1, using
29392 `embed_region.start' from now on. Similarly, use `embed_region.end'
29393 rather than `first_start' to calculate available size.
29394
29395 In grub_util_info() message, replace "into after the MBR" with an
29396 indication of the specific sector our embed region starts at.
29397
66cb40f6 293982008-02-19 Robert Millan <rmh@aybabtu.com>
29399
29400 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29401 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29402 `commands/reboot.c'.
29403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29404 (halt_mod_SOURCES): Likewise.
29405 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29406 (halt_mod_SOURCES): Likewise.
29407
b7202015 294082008-02-17 Christian Franke <franke@computer.org>
29409
29410 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29411
32b0fc49 294122008-02-17 Robert Millan <rmh@aybabtu.com>
29413
29414 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29415 set `first_start' to 0 for non-PC/MSDOS partition maps.
29416
aca63502 294172008-02-16 Robert Millan <rmh@aybabtu.com>
29418
29419 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29420 do not assume partition map is PC/MSDOS before performing checks that
29421 are specific to that layout.
29422
0de8be86 294232008-02-13 Robert Millan <rmh@aybabtu.com>
29424
29425 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29426 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29427 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29428
c3db8364 294292008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29430
29431 * configure.ac: Only a cosmetic change on the handling of
29432 -fno-stack-protector.
29433
f714229e 294342008-02-12 Alexandre Boeglin <alex@boeglin.org>
29435
c3db8364 29436 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29437 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29438 reboot.c.
f714229e 29439 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29440 (halt_mod_SOURCES): New variable.
29441 (halt_mod_CFLAGS): Likewise.
29442 (halt_mod_LDFLAGS): Likewise.
29443 (reboot_mod_SOURCES): Likewise.
29444 (reboot_mod_CFLAGS): Likewise.
29445 (reboot_mod_LDFLAGS): Likewise.
29446
c3db8364 29447 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29448 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29449 reboot.c.
f714229e 29450 (halt_mod_SOURCES): Likewise.
29451 (reboot_mod_SOURCES): Likewise.
29452
c3db8364 29453 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29454 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29455 (reboot_mod_SOURCES): Likewise.
29456
29457 * commands/i386/pc/reboot.c: merge this file ...
29458
29459 * commands/ieee1275/reboot.c: ... and this file ...
29460
29461 * commands/reboot.c: ... to this file.
c3db8364 29462 Add some precompiler directive to include the correct header for
29463 each machine.
f714229e 29464
29465 * commands/ieee1275/halt.c: move this file ...
29466
29467 * commands/halt.c: ... to here.
c3db8364 29468 Add some precompiler directive to include the correct header for
29469 each machine.
f714229e 29470
29471 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29472 (grub_halt): Likewise.
29473
29474 * kern/efi/efi.c (grub_reboot): New function.
29475 (grub_halt): Likewise.
29476
c74493e0 294772008-02-12 Robert Millan <rmh@aybabtu.com>
29478
29479 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29480 /dev (like it is done for /dev/mapper). This doesn't provide support
29481 for EVMS, but at least it is now easy to identify the problem when it
29482 arises.
29483
d0db4b04 294842008-02-11 Robert Millan <rmh@aybabtu.com>
29485
29486 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29487 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29488 comparing it with -1, not 0.
29489
bf748642 294902008-02-10 Robert Millan <rmh@aybabtu.com>
29491
29492 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29493 `disk/lvm.c'.
29494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29495 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29496
29497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29498 `disk/lvm.c' to the end of the list.
29499 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29500 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29501
b5db202a 295022008-02-10 Robert Millan <rmh@aybabtu.com>
29503
29504 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29505 grub_print_error() instead. This will let user know why we're entering
29506 rescue mode.
29507 Based on suggestions from Sam Morris.
29508
83abee31 295092008-02-10 Alexandre Boeglin <alex@boeglin.org>
29510
29511 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29512 on remaining N args, instead of "--" arg N times.
29513
78d5a08b 295142008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29515
29516 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29517 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29518 pattern for unknown glyphs.
29519
68807e5f 295202008-02-09 Robert Millan <rmh@aybabtu.com>
29521
29522 * configure.ac: Probe for `help2man'.
29523 * Makefile.in (builddir): New variable.
29524 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29525 or otherwise add a few flags/options to it.
29526 (install-local): For every executable utility or script that is
29527 installed, invoke $(HELP2MAN) to install a manpage based on --help
29528 output.
29529
29530 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29531 that it doesn't prevent --help from working in build tree.
29532
29533 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29534 with `bug-grub@gnu.org'.
29535 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29536 * util/update-grub.in (usage): New function.
29537 Implement proper argument check, with support for --help and --version
29538 (as well as existing -y).
29539
295402008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29541
29542 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29543 avoid overwriting previous output.
29544 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29545
c1962162 295462008-02-09 Robert Millan <rmh@aybabtu.com>
29547
29548 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29549 drawing the menu.
29550
3dac2e3f 295512008-02-09 Robert Millan <rmh@aybabtu.com>
29552
29553 * commands/sleep.c: New file.
29554 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29555 (sleep_mod_SOURCES): New variable.
29556 (sleep_mod_CFLAGS): Likewise.
29557 (sleep_mod_LDFLAGS): Likewise.
29558
7a634e08 295592008-02-09 Robert Millan <rmh@aybabtu.com>
29560
29561 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29562 situations in which we can deduce the RAID size and the superblock
29563 doesn't match it.
29564
b92f0c18 295652008-02-09 Robert Millan <rmh@aybabtu.com>
29566
29567 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29568 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29569 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29570
29571 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29572 and return a grub_diskmemberlist_t composed of physical array members.
29573 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29574
29575 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29576 prototype.
29577 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29578 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29579 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29580
29581 * util/grub-probe.c (probe): Move partmap probing code from here ...
29582 (probe_partmap): ... to here.
29583 (probe): Use probe_partmap() once for the disk we're probing, and
29584 additionally, when such disk contains a memberlist() struct member,
29585 once for each disk that is contained in the structure returned by
29586 memberlist().
29587
91a4bf68 295882008-02-09 Robert Millan <rmh@aybabtu.com>
29589
29590 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29591 environment variable to 'all' in order to obtain debug output from
29592 non-util/ code.
29593 * util/i386/pc/grub-setup.c (main): Likewise.
29594
a96f9caa 295952008-02-08 Robert Millan <rmh@aybabtu.com>
29596
29597 * disk/raid.c (grub_raid_scan_device): Check for
29598 `array->device[sb.this_disk.number]' rather than for
29599 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29600 guaranteed to be accessible.
a96f9caa 29601
b37a9222 296022008-02-08 Robert Millan <rmh@aybabtu.com>
29603
29604 * disk/raid.c: Update copyright.
29605 * fs/cpio.c: Likewise.
29606 * include/grub/raid.h: Likewise.
29607 * loader/i386/pc/multiboot.c: Likewise.
29608 * util/hostfs.c: Likewise.
29609
5626aee1 296102008-02-08 Robert Millan <rmh@aybabtu.com>
29611
29612 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29613 to a grub_disk_t array.
29614 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29615 `device[x]'.
29616 (grub_raid_scan_device): Replace `device[x].name' accesses with
29617 `device[x]->name'. Simplify initialization of `array->device[x]'.
29618
554f0187 296192008-02-08 Robert Millan <rmh@aybabtu.com>
29620
29621 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29622 grub_dprintf() calls.
29623 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29624 error message.
29625
1ec8425d 296262008-02-07 Christian Franke <franke@computer.org>
29627
29628 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29629 instead of fseek and ftell to support large files.
29630 (grub_hostfs_read): Likewise.
29631
f2156fda 296322008-02-07 Robert Millan <rmh@aybabtu.com>
29633
29634 Patch from Jeroen Dekkers.
29635 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29636 failure, since successfully reading all array members might not be
f2156fda 29637 required.
29638
9216e0e7 296392008-02-06 Robert Millan <rmh@aybabtu.com>
29640
29641 * util/grub-probe.c (probe): Simplify partmap probing (with the
29642 assumption that the first word up to the underscore equals to
29643 the module name).
29644
b0dfd29a 296452008-02-06 Christian Franke <franke@computer.org>
29646
29647 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29648 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29649 last block of a cpio or tar stream.
29650 Check for "TRAILER!!!" instead of any empty data
29651 block to detect last block of a cpio stream.
29652 (grub_cpio_dir): Fix constness of variable np.
29653 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29654 cpio or tar trailer is detected. This fixes a crash
29655 on open of a non existing file.
29656
c32865bf 296572008-02-05 Bean <bean123ch@gmail.com>
29658
29659 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29660 address of entry.
29661 (grub_multiboot_load_elf64): Likewise.
29662 (grub_multiboot): Initialize mbi structure.
29663
29664 * util/grub-fstest.c: Don't include unused header file script.h.
29665
fe6b695a 29666 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29667 of file.
29668 (grub_fstest_SOURCES): Likewise.
29669
409480b7 296702008-02-05 Robert Millan <rmh@aybabtu.com>
29671
29672 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29673 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29674 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29675 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29676
29677 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29678 (translation_table): Replace hardcoded values with macros
29679 provided by `<grub/term.h>'.
29680
29681 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29682 (keyboard_map): Correct/add a few values, with macros provided
29683 by `<grub/term.h>'.
29684 (keyboard_map_shift): Zero values that don't differ from their
29685 `keyboard_map' equivalents.
29686 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29687 Discard the second scan code that is always sent by Caps lock.
29688 Only use `keyboard_map_shift' when it provides a non-zero value,
29689 otherwise fallback to `keyboard_map'.
29690
99fadbaa 296912008-02-04 Bean <bean123ch@gmail.com>
29692
29693 * Makefile.in (enable_grub_fstest): New variable.
29694
29695 * conf/common.rmk (grub_fstest_init.lst): New rule.
29696 (grub_fstest_init.h): Likewise.
29697 (grub_fstest_init.c): Likewise.
29698 (util/grub-fstest.c_DEPENDENCIES): New variable.
29699 (grub_fstest_SOURCES): Likewise.
29700
29701 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29702
29703 * util/grub-fstest.c: New file.
29704
bf567c50 297052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29706
29707 Make grub-setup handle a separate root device.
f19dbdb7 29708
bf567c50 29709 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29710 so that the root device can be compared with the destination
29711 device.
29712 When embedding the core image, if the root and destination devices
29713 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29714 0xFF.
29715 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29716
9be6b98b 297172008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29718
29719 Add support for having a grub directory in a different drive. This
29720 is still only the data handling part.
f19dbdb7 29721
9be6b98b 29722 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29723 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29724 (grub_root_drive): New variable.
29725
29726 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29727 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29728 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29729 as it was.
29730
29731 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29732
29733 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29734 macro.
29735 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29736
29737 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29738 is bogus, because PXE booting does not specify any drive
29739 correctly.
29740
29741 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29742 am not sure if this is really correct.
29743
29744 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29745 is always identical to the boot drive when booting from a CD.
29746
29747 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29748 longer.
29749 (root_drive): New variable.
29750 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29751 (setup_sectors): Push %dx right after popping it, because %dh will
29752 be modified later.
29753 (copy_buffer): Restore %dx.
29754
e0ca0677 297552008-02-03 Robert Millan <rmh@aybabtu.com>
29756
29757 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29758 use `cdboot.img' for cdrom images.
29759
3b3f6629 297602008-02-03 Robert Millan <rmh@aybabtu.com>
29761
29762 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29763 only setup gfxterm when `font' command has succeeded.
29764
d42b3672 297652008-02-03 Robert Millan <rmh@aybabtu.com>
29766
29767 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29768 (grub_rescue_cmd_multiboot_loader)
29769 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29770
fa370ea6 297712008-02-03 Pavel Roskin <proski@gnu.org>
29772
e0c5dacb 29773 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29774 %edx and %esi from stack only after grub_gate_a20() is called.
29775 grub_gate_a20() clobbers %edx.
29776
f2a76e1d 297772008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29778
29779 * configure.ac (AC_INIT): Bumped to 1.96.
29780
29781 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29782 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29783 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29784 video/readers/png.c.
29785
90fd32d1 297862008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29787
29788 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29789 (cdboot_img_SOURCES): New variable.
29790 (cdboot_img_ASFLAGS): New variable.
29791 (cdboot_img_LDFLAGS): New variable.
29792
29793 * boot/i386/pc/cdboot.S: New file.
29794
29795 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29796 (cd_count): Likewise.
29797 (grub_biosdisk_get_drive): Add support for cd device.
29798 (grub_biosdisk_call_hook): Likewise.
29799 (grub_biosdisk_iterate): Likewise.
29800 (grub_biosdisk_open): Likewise.
29801 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29802 (grub_biosdisk_rw): Support reading from cd device.
29803 (GRUB_MOD_INIT): Iterate cd devices.
29804
29805 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29806 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29807 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29808
29809 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29810
4020aa53 298112008-02-02 Robert Millan <rmh@aybabtu.com>
29812
29813 * commands/read.c: New file.
29814 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29815 (read_mod_SOURCES): New variable.
29816 (read_mod_CFLAGS): Likewise.
29817 (read_mod_LDFLAGS): Likewise.
29818
e03a1132 298192008-02-02 Robert Millan <rmh@aybabtu.com>
29820
29821 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29822 determining whether menu has to be displayed.
29823
58c69220 298242008-02-02 Marco Gerards <marco@gnu.org>
29825
29826 * bus/pci.c: New file.
29827
29828 * include/grub/pci.h: Likewise.
29829
29830 * include/grub/i386/pc/pci.h: Likewise.
29831
29832 * commands/lspci.c: Likewise.
29833
29834 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29835 `lspci.mod'.
29836 (pci_mod_SOURCES): New variable.
29837 (pci_mod_CFLAGS): Likewise.
29838 (pci_mod_LDFLAGS): Likewise.
29839 (lspci_mod_SOURCES): Likewise.
29840 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29841 (lspci_mod_LDFLAGS): Likewise.
58c69220 29842
c004e1b4 298432008-02-02 Bean <bean123ch@gmail.com>
29844
29845 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29846 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29847
29848 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29849 (grub_xfs_btree_node): New structure.
29850 (grub_xfs_btree_root): New structure.
29851 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29852 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29853 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29854 (GRUB_XFS_EXTENT_SIZE): Likewise.
29855 (grub_xfs_read_block): Support btree format type.
29856 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29857 Use directory block as basic unit.
29858
29859 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29860
29861 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29862 __attribute__ ((__regparm__ (1))).
29863
f95562bf 298642008-02-01 Robert Millan <rmh@aybabtu.com>
29865
29866 Correct a mistake in previous commit.
29867
29868 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29869 top.
29870 (normal/command.c_DEPENDENCIES): New variable.
29871
7d31f41f 298722008-02-01 Robert Millan <rmh@aybabtu.com>
29873
29874 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29875 top.
29876 (normal/command.c_DEPENDENCIES): New variable.
29877 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29878 * conf/i386-ieee1275.rmk: Likewise.
29879 * conf/i386-linuxbios.rmk: Likewise.
29880 * conf/i386-pc.rmk: Likewise.
29881 * conf/sparc64-ieee1275.rmk: Likewise.
29882 * conf/powerpc-ieee1275.rmk: Likewise.
29883 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29884
29885 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29886
60b6be74 298872008-02-01 Robert Millan <rmh@aybabtu.com>
29888
29889 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29890 call at beginning of function.
29891
078522ab 298922008-01-31 Pavel Roskin <proski@gnu.org>
29893
29894 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29895 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29896 (grub_mkrescue_SOURCES): Likewise.
078522ab 29897 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29898
ccaa8a5f 298992008-01-30 Robert Millan <rmh@aybabtu.com>
29900
29901 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29902 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29903 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29904 (grub_probe_SOURCES): ... to here.
29905
29906 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29907 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29908 * conf/i386-ieee1275.rmk: Likewise.
29909 * conf/i386-linuxbios.rmk: Likewise.
29910 * conf/powerpc-ieee1275.rmk: Likewise.
29911
ae5a9cd7 299122008-01-30 Tristan Gingold <gingold@free.fr>
29913
29914 * kern/rescue.c: Silently accept empty lines.
29915
70bc2ef2 299162008-01-29 Bean <bean123ch@gmail.com>
29917
29918 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29919 (real_code_2): Code cleanup and change comment style.
29920 (move_memory): Avoid using 32-bit address mode.
29921
6a4d50ea 299222008-01-29 Bean <bean123ch@gmail.com>
29923
29924 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29925 (png_mod_SOURCES): New variable.
29926 (png_mod_CFLAGS): Likewise.
29927 (png_mod_LDFLAGS): Likewise.
29928
29929 * video/readers/png.c: New file.
29930
11cc30ac 299312008-01-28 Robert Millan <rmh@aybabtu.com>
29932
29933 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29934 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29935 `ifndef GRUB_MOD_GAP' hack.
29936 * util/elf/grub-mkimage.c (add_segments): Likewise.
29937
3abc589f 299382008-01-27 Robert Millan <rmh@aybabtu.com>
29939
29940 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29941 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29942 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29943
e1907778 299442008-01-27 Robert Millan <rmh@aybabtu.com>
29945
29946 Get grub-emu to build again (including parallel builds).
29947
29948 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29949 Split into ...
29950 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29951 (normal/execute.c_DEPENDENCIES): ... this, ...
29952 (grub-emu_DEPENDENCIES): ... and this.
29953
29954 * conf/i386-efi.rmk: Likewise.
29955 * conf/i386-linuxbios.rmk: Likewise.
29956 * conf/i386-ieee1275.rmk: Likewise.
29957 * conf/powerpc-ieee1275.rmk: Likewise.
29958 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29959
2216b101 299602008-01-27 Robert Millan <rmh@aybabtu.com>
29961
29962 * NEWS: Add a few items.
29963
f75172d9 299642008-01-27 Robert Millan <rmh@aybabtu.com>
29965
29966 Fix parallel builds with grub-emu. Based on earlier commit for
29967 grub-probe and grub-setup.
29968
29969 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29970 (util/grub-emu.c_DEPENDENCIES): ... this.
29971 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29972 (util/grub-emu.c_DEPENDENCIES): ... this.
29973 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29974 (util/grub-emu.c_DEPENDENCIES): ... this.
29975 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29976 (util/grub-emu.c_DEPENDENCIES): ... this.
29977 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29978 (util/grub-emu.c_DEPENDENCIES): ... this.
29979
3f51de77 299802008-01-27 Pavel Roskin <proski@gnu.org>
29981
29982 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29983 to create a gap between _end and the modules added to the image
29984 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29985 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29986 * util/elf/grub-mkimage.c (add_segments): Likewise.
29987
2033f53e 299882008-01-26 Pavel Roskin <proski@gnu.org>
29989
29990 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29991 just return an error.
29992
22da1f6f 299932008-01-26 Bean <bean123ch@gmail.com>
29994
29995 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29996 (grub_reiserfs_get_item): Save offset of the next item.
29997 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29998
2a9525e6 299992008-01-25 Robert Millan <rmh@aybabtu.com>
30000
30001 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
30002 make all filesystem sources appear together (possibly fixing omissions
30003 while at it).
30004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30005 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30006 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30008
30009 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
30010 add `kern/file.c'.
30011 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
30012 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30013 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
30014 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30015
30016 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
30017 (probe): Add a sanity check to make sure of our ability to read
30018 requested files when probing for filesystem type.
30019
30020 * genmk.rb: Update copyright year (2007).
30021
30022 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
30023 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
30024 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
30025 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
30026 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
30027 : Remove function prototypes.
30028
b95f71b5 300292008-01-25 Robert Millan <rmh@aybabtu.com>
30030
30031 Revert my previous commits (based on wrong assumption of how grub_errno
30032 works).
30033
fe6b695a 30034 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 30035 * kern/file.c (grub_file_open): Likewise.
30036
d08bbb49 300372008-01-24 Pavel Roskin <proski@gnu.org>
30038
30039 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
30040 that hang if GRUB tries to setup colors.
30041 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
30042 colors for firmwares that don't support it.
30043 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
30044 Recognize Open Hack'Ware, set flags to work around its
30045 limitations.
30046
605e36ed 300472008-01-24 Robert Millan <rmh@aybabtu.com>
30048
30049 * kern/file.c (grub_file_open): Do not account previous failures of
30050 unrelated functions when grub_errno is checked for.
30051 Reported by Oleg Strikov.
30052
bac332a1 300532008-01-24 Bean <bean123ch@gmail.com>
30054
30055 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
30056 (grub_ufs_sblock): New member volume name.
30057 (grub_ufs_find_file): Fix string copy bug.
30058 (grub_ufs_label): Implement this function properly.
30059
30060 * fs/hfs.c (grub_hfs_cnid_type): New enum.
30061 (grub_hfs_iterate_records): Use the correct file number for extents
30062 and catalog file. Fix problem in next index calculation.
30063 (grub_hfs_find_node): Replace recursive function call with loop.
30064 (grub_hfs_iterate_dir): Replace recursive function call with loop.
30065
15c80c09 300662008-01-23 Robert Millan <rmh@aybabtu.com>
30067
30068 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
30069 `<grub/symbol.h>' and `<grub/multiboot.h>'.
30070 (grub_multiboot2_real_boot): New function prototype.
30071
30072 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
30073 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
30074
30075 * kern/i386/ieee1275/init.c (grub_os_area_addr)
30076 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
30077
305338fd 300782008-01-23 Robert Millan <rmh@aybabtu.com>
30079
30080 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
30081 #ifdef'ed out grub_printf().
30082
3ea52685 300832008-01-23 Robert Millan <rmh@aybabtu.com>
30084
30085 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
30086 grub_dprintf calls, since they make "debug=all" mode unusable.
30087 (grub_console_checkkey): Likewise.
30088
5882ae4b 300892008-01-23 Robert Millan <rmh@aybabtu.com>
30090
30091 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30092 `term/i386/pc/at_keyboard.c'.
30093 (pkglib_MODULES): Add `serial.mod'.
30094 (serial_mod_SOURCES): New variable.
30095 (serial_mod_CFLAGS): Likewise.
30096 (serial_mod_LDFLAGS): Likewise.
30097
30098 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
30099 `<grub/powerpc/ieee1275/console.h>'.
30100 (grub_keyboard_controller_init): New function prototype.
30101 (grub_console_checkkey): Likewise.
30102 (grub_console_getkey): Likewise.
30103
30104 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
30105 keyboard on i386.
30106
30107 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
30108 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
30109
06ab5303 301102008-01-23 Robert Millan <rmh@aybabtu.com>
30111
30112 * kern/i386/pc/init.c (make_install_device): When memdisk image is
30113 present, "(memdisk)/boot/grub" becomes the default prefix.
30114
30115 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
30116 a memdisk tarball with all the modules. Add --overlay=DIR option that
30117 allows users to overlay additional files into the image.
30118
dbb475a4 301192008-01-23 Robert Millan <rmh@aybabtu.com>
30120
30121 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
30122 and `machine/memory.h'.
30123 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
30124 (_multiboot_mod_SOURCES): New variable.
30125 (_multiboot_mod_CFLAGS): Likewise.
30126 (_multiboot_mod_LDFLAGS): Likewise.
30127 (multiboot_mod_SOURCES): Likewise.
30128 (multiboot_mod_CFLAGS): Likewise.
30129 (multiboot_mod_LDFLAGS): Likewise.
30130
30131 * include/grub/i386/ieee1275/loader.h: New file.
30132
30133 * include/grub/i386/ieee1275/machine.h: Likewise.
30134
30135 * include/grub/i386/ieee1275/memory.h: Likewise.
30136
30137 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
30138 variable declaration.
30139 (grub_os_area_size): Likewise.
30140
30141 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
30142 (grub_lower_mem, grub_upper_mem): New variables.
30143 (grub_stop_floppy): New function (just to make
30144 grub_multiboot2_real_boot() happy).
30145
30146 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
30147 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
30148 (grub_stop): New function.
30149 Include `"../realmode.S"' and `"../loader.S"'.
30150
30151 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
30152 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
30153
30154 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
30155 rely on grub_multiboot2_real_boot() for final boot.
30156
25638629 301572008-01-22 Robert Millan <rmh@aybabtu.com>
30158
30159 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
30160 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
30161 device that doesn't look like an SD card.
30162 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30163 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
30164 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
30165 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
30166 found.
30167
9dad816d 301682008-01-22 Robert Millan <rmh@aybabtu.com>
30169
30170 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
30171 avoid claiming over our own code.
30172
34842f2d 301732008-01-22 Bean <bean123ch@gmail.com>
30174
30175 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
30176 (jpeg_mod_SOURCES): New variable.
30177 (jpeg_mod_CFLAGS): Likewise.
30178 (jpeg_mod_LDFLAGS): Likewise.
30179
30180 * video/readers/jpeg.c : New file.
30181
44023a28 301822008-01-22 Bean <bean123ch@gmail.com>
30183
30184 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
30185 there are no more items.
30186
bc2d8ac6 301872008-01-21 Robert Millan <rmh@aybabtu.com>
30188
30189 * kern/mm.c (grub_mm_init_region): Improve debug message.
30190
261bd4bc 301912008-01-21 Robert Millan <rmh@aybabtu.com>
30192
30193 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
30194 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
30195 address.
30196 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
30197 a C macro.
30198 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
30199 Indicates start of upper memory.
30200 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
30201 (generate_image): Abort when image size is big enough to corrupt
30202 upper memory.
30203
30204 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
30205 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
30206 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30207 instead of hardcoding 0xA0000.
30208 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
30209 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30210 instead of hardcoding 0xA0000.
30211
f970b55e 302122008-01-21 Robert Millan <rmh@aybabtu.com>
30213
30214 * disk/memdisk.c (memdisk_size): New variable.
30215 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
30216 `memdisk_size'.
30217 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
30218 image to dynamic memory.
30219 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
30220 `memdisk_size'. Free memdisk block.
30221
1a8b0526 302222008-01-21 Robert Millan <rmh@aybabtu.com>
30223
30224 Fix detection of very small filesystems (like tar).
30225
30226 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
30227 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
30228 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
30229 a problem with this disk).
30230
6e9b4aab 302312008-01-21 Robert Millan <rmh@aybabtu.com>
30232
30233 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
30234 on grub_biosdisk_rw_standard() error.
30235
0d8837b2 302362008-01-21 Robert Millan <rmh@aybabtu.com>
30237
30238 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
30239 recent changes.
30240 * kern/elf.c: Likewise.
30241 * kern/ieee1275/ieee1275.c: Likewise.
30242 * kern/powerpc/ieee1275/openfw.c: Likewise.
30243 * term/ieee1275/ofconsole.c: Likewise.
30244
ffd36e34 302452008-01-21 Robert Millan <rmh@aybabtu.com>
30246
30247 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
30248
3f0093d0 30249 * include/grub/kernel.h (grub_arch_memdisk_addr)
30250 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 30251
3f0093d0 30252 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
30253 (grub_arch_memdisk_size): ... to here.
ffd36e34 30254
6c391b21 302552008-01-21 Robert Millan <rmh@aybabtu.com>
30256
30257 Mostly based on bugfix from Bean.
30258
30259 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
30260 attribute with hook() parameter.
30261 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
30262 declaration.
30263 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
30264 attribute with hook() parameter.
30265 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
30266 declaration.
30267
55a581dc 302682008-01-21 Robert Millan <rmh@aybabtu.com>
30269
30270 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
30271 (pkglib_MODULES): Add `memdisk.mod'.
30272 (memdisk_mod_SOURCES): New variable.
30273 (memdisk_mod_CFLAGS): Likewise.
30274 (memdisk_mod_LDFLAGS): Likewise.
30275
30276 * disk/memdisk.c: New file.
30277
30278 * include/grub/disk.h (grub_disk_dev_id): Add
30279 `GRUB_DISK_DEVICE_MEMDISK_ID'.
30280
30281 * include/grub/i386/pc/kernel.h
30282 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
30283 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
30284 (grub_kernel_image_size): New variable declaration.
30285 (grub_total_module_size): Likewise.
30286 (grub_memdisk_image_size): Likewise.
30287
30288 * include/grub/i386/pc/memory.h
30289 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
30290
30291 * include/grub/kernel.h: Include `<grub/symbol.h>'.
30292 (grub_arch_memdisk_addr): New variable declaration.
30293 (grub_arch_memdisk_size): Likewise.
30294
30295 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
30296 (grub_arch_memdisk_size): Likewise.
30297
30298 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
30299 (codestart): Replace hardcoded `0x100000' with
30300 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
30301
30302 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
30303 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
30304 not NULL, append the contents of the file it refers to, at the end of
30305 the compressed kernel image. Initialize `grub_memdisk_image_size'
30306 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
30307 (options): Add "memdisk"|'m' option.
30308 (main): Parse --memdisk|-m option, and pass user-provided path as
30309 parameter to generate_image().
30310
3d7f54c9 303112008-01-20 Robert Millan <rmh@aybabtu.com>
30312
30313 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30314 grub_dprintf() calls from here ...
30315 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30316
0bf74728 303172008-01-20 Robert Millan <rmh@aybabtu.com>
30318
30319 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30320
30321 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30322 declaration.
30323 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30324 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30325 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 30326 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 30327 property).
30328 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30329 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30330
33bf70a7 303312008-01-19 Robert Millan <rmh@aybabtu.com>
30332
fe6b695a 30333 Get rid of confusing function (superseded by
33bf70a7 30334 `grub_ieee1275_get_integer_property')
30335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30336 prototype.
30337 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30338 function.
30339 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30340 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 30341 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 30342
e2da7d26 303432008-01-19 Robert Millan <rmh@aybabtu.com>
30344
30345 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30346 command after "shut-down", since implementations differ on which
30347 the command for halt is.
30348
59f1fd8d 303492008-01-19 Robert Millan <rmh@aybabtu.com>
30350
30351 * include/grub/i386/linuxbios/console.h: Add header protection.
30352 (grub_keyboard_controller_init): New function prototype.
30353 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30354 (KEYBOARD_COMMAND_READ): Likewise.
30355 (KEYBOARD_COMMAND_WRITE): Likewise.
30356 (KEYBOARD_SCANCODE_SET1): Likewise.
30357 (grub_keyboard_controller_write): New function.
30358 (grub_keyboard_controller_read): Likewise.
30359 (grub_keyboard_controller_init): Likewise.
30360
30361 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30362 (grub_console_init): On coreboot/LinuxBIOS, call
30363 grub_keyboard_controller_init().
30364
5f5a7c15 303652008-01-19 Robert Millan <rmh@aybabtu.com>
30366
30367 PowerPC changes provided by Pavel Roskin.
30368
30369 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30370 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30371 don't rely on cmain() doing it.
30372 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30373 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30374
1210e168 303752008-01-16 Robert Millan <rmh@aybabtu.com>
30376
30377 * include/grub/i386/linuxbios/memory.h
30378 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30379 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30380 receive `table_header' as argument. Instead, probe for it in the
30381 known memory ranges where it can be present.
30382 (grub_available_iterate): Do not pass a fixed `table_header' address
30383 to grub_linuxbios_table_iterate().
30384
3d04eab8 303852008-01-15 Robert Millan <rmh@aybabtu.com>
30386
30387 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30388 * conf/i386-ieee1275.rmk: New file.
30389 * include/grub/i386/ieee1275/console.h: Likewise.
30390 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30391 * include/grub/i386/ieee1275/kernel.h: Likewise.
30392 * include/grub/i386/ieee1275/time.h: Likewise.
30393 * kern/i386/ieee1275/init.c: Likewise.
30394 * kern/i386/ieee1275/startup.S: Likewise.
30395
d1bc1b73 303962008-01-15 Robert Millan <rmh@aybabtu.com>
30397
30398 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30399 when pointers are 32-bit (but still do set it to one when they are
30400 64-bit).
30401
66a65807 304022008-01-15 Robert Millan <rmh@aybabtu.com>
30403
30404 * include/grub/ieee1275/ieee1275.h
30405 (grub_ieee1275_get_integer_property): New function prototype.
30406
30407 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30408 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 30409 grub_ieee1275_get_property() to handle endianness.
66a65807 30410
30411 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30412 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 30413 where appropriate.
66a65807 30414 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30415 (grub_map): Likewise.
30416 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30417
a83ccafd 304182008-01-15 Bean <bean123ch@gmail.com>
30419
30420 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30421 (grub_script_execute_cmdline): Reset grub_errno.
30422
30423 * normal/main.c (read_config_file): Reset grub_errno.
30424
30425 * normal/parse.y (script_init): New.
30426 (script): Move function and menuentry here.
30427 (delimiter): New.
30428 (command): Add delimiter at the end of command.
30429 (commands): Adjust to match the new command.
30430 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30431 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30432 (if): Use the new commands.
30433
30434 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30435
df6ecfc6 304362008-01-15 Robert Millan <rmh@aybabtu.com>
30437
30438 * normal/menu.c (run_menu): Move timeout message from here ...
30439 (print_timeout): ... to here.
30440 (run_menu): Use print_timeout() once during initial draw to print
30441 the whole message, and again in every clock tick to update only
30442 the number of seconds.
30443
87ae25eb 304442008-01-15 Robert Millan <rmh@aybabtu.com>
30445
30446 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30447 actual size of `available' from grub_ieee1275_get_property(), and
30448 restrict parsing to that bound.
30449
47bf09a4 304502008-01-15 Christian Franke <franke@computer.org>
30451
30452 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30453 (argp_program_version): Remove variable.
30454 (argp_program_bug_address): Likewise.
30455 (options): Convert from struct argp_option to struct option.
30456 (struct arguments): Remove.
30457 (parse_opt): Remove.
30458 (usage): New function.
30459 (main): Replace struct args members by simple variables.
30460 Replace argp_parse() by getopt_long().
30461 Add switch to evaluate options.
30462 Add missing "(...)" around root_dev in prefix string.
30463
c86f1469 304642008-01-14 Robert Millan <rmh@aybabtu.com>
30465
30466 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30467 for grub_ieee1275_exit(), in order to improve portability.
30468
e622c559 304692008-01-14 Robert Millan <rmh@aybabtu.com>
30470
30471 * util/grub.d/10_linux.in (prefix): Define.
30472 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30473
44cb1ec8 304742008-01-13 Pavel Roskin <proski@gnu.org>
30475
30476 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30477 grub_errno if no errors have been detected.
30478
1eb8c802 304792008-01-12 Robert Millan <rmh@aybabtu.com>
30480
30481 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30482 (grub_util_get_dev_abstraction): New function prototype.
30483
30484 * util/getroot.c: Include `<grub/util/getroot.h>'
30485 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30486 (grub_util_get_dev_abstraction): ... here (new function).
30487
30488 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30489 `PRINT_ABSTRACTION'.
30490 (probe): Probe for abstraction type when requested.
30491 (main): Understand `--target=abstraction'.
30492
30493 * util/i386/efi/grub-install.in: Add abstraction module to core
30494 image when it is found to be necessary.
30495 * util/i386/pc/grub-install.in: Likewise.
30496 * util/powerpc/ieee1275/grub-install.in: Likewise.
30497
30498 * util/update-grub_lib.in (font_path): Return system path without
30499 converting to GRUB path.
30500 * util/update-grub.in: Convert system path returned by font_path()
30501 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30502 abstraction module is needed for loading fonts (if any). Export
30503 that as `GRUB_PRELOAD_MODULES'.
30504 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30505 insmod commands).
30506
52bd3de9 305072008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30508
30509 Remove some unused code from reiserfs.
f19dbdb7 30510
52bd3de9 30511 * fs/reiserfs.c (struct grub_reiserfs_key)
30512 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30513 (struct grub_reiserfs_node_body): Removed.
30514 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30515 Likewise.
30516 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30517 Likewise.
30518 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30519 Likewise.
30520 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30521 Likewise.
30522 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30523 Likewise.
30524 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30525 Likewise.
30526 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30527 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30528 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30529
2f80039d 305302008-01-10 Robert Millan <rmh@aybabtu.com>
30531
30532 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30533 Determines if a file is garbage left by packaging systems, etc.
30534 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30535 for processing /etc/grub.d scripts.
30536 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30537 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30538 as a condition for processing Linux images.
30539
87888032 305402008-01-10 Pavel Roskin <proski@gnu.org>
30541
30542 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30543 to compile reiserfs.c on PowerPC.
30544
7e54fced 305452008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30546
30547 * kern/device.c (grub_device_iterate): Do not abort device iteration
30548 when one of the devices cannot be opened.
30549 * kern/disk.c (grub_disk_open): Do not account previous failures of
30550 unrelated functions when grub_errno is checked for.
30551
5aa541e6 305522008-01-08 Robert Millan <rmh@aybabtu.com>
30553
30554 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30555 `! grub_linux_is_bzimage', change order of address comparison to make
30556 it more intuitive, and improve "too big zImage" error message.
30557
7076340d 305582008-01-08 Robert Millan <rmh@aybabtu.com>
30559
30560 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30561 `$(update-grub_DATA)'.
30562 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30563 targets.
30564
9ca70333 305652008-01-07 Robert Millan <rmh@aybabtu.com>
30566
30567 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30568 which instruction is modified by grub-setup during installation
30569 (since it wasn't obvious by only looking at this file).
30570
38ccf575 305712008-01-07 Robert Millan <rmh@aybabtu.com>
30572
30573 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30574 listing actual TODO items.
30575
f5db4291 305762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30577
868967cf 30578 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30579 correctly.
30580 (grub_reiserfs_get_key_offset): Likewise.
30581 (grub_reiserfs_set_key_offset): Likewise.
30582 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30583 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30584
30585 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30586 better to remove the bitfield version completely.
f19dbdb7 30587
868967cf 305882008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30589
f5db4291 30590 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30591 allocated from the heap, due to the fshelp implementation.
30592 (grub_reiserfs_dir): Free NODE, due to the same reason.
30593
492e6d9d 305942008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30595
30596 Mostly from Vincent Pelletier:
f19dbdb7 30597
492e6d9d 30598 * fs/reiserfs.c: New file.
f19dbdb7 30599
492e6d9d 30600 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30601 (reiserfs_mod_SOURCES): New variable.
30602 (reiserfs_mod_CFLAGS): Likewise.
30603 (reiserfs_mod_LDFLAGS): Likewise.
30604
30605 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30606 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30607 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30608 normal/color.c.
30609
9ce3e7c1 306102008-01-06 Robert Millan <rmh@aybabtu.com>
30611
30612 * normal/color.c: Remove `<grub/env.h>'.
30613
f3b58148 306142008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30615
30616 * include/grub/normal.h: Include <grub/env.h>.
30617
7ac3bcfa 306182008-01-05 Robert Millan <rmh@aybabtu.com>
30619
30620 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30621 usage example with `(hd0,1)'.
fb358190 30622 Reported by Samuel Thibault.
7ac3bcfa 30623
c8ee99d7 306242008-01-05 Robert Millan <rmh@aybabtu.com>
30625
30626 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30627 (grub_linux_boot_zimage): Rename to ...
30628 (grub_linux_boot): ... this.
30629 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30630 (grub_linux_boot_zimage): Conditionalize zImage copy.
30631
30632 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30633 (grub_linux_boot_bzimage): Remove prototype.
30634 (grub_linux_boot_zimage): Rename to ...
30635 (grub_linux_boot): ... this.
30636
30637 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30638 (grub_linux_boot): Remove function.
30639
0ece25b1 306402008-01-05 Robert Millan <rmh@aybabtu.com>
30641
30642 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30643 (grub_env_write_color_highlight): Likewise.
30644 (grub_wait_after_message): Likewise.
30645
30646 * normal/color.c: New file.
30647
30648 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30649 (normal_mod_DEPENDENCIES): Likewise.
30650
30651 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30652 (normal_mod_DEPENDENCIES): Likewise.
30653
30654 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30655 (normal_mod_DEPENDENCIES): Likewise.
30656
30657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30658 (normal_mod_DEPENDENCIES): Likewise.
30659
30660 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30661 for waiting after a message is printed.
30662 * normal/main.c (read_config_file): Likewise.
30663 (grub_normal_init): Register grub_env_write_color_normal() and
30664 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30665 `color_highlight' variables as global.
30666
30667 * normal/menu.c (grub_wait_after_message): New function.
30668 (grub_color_menu_normal): New variable. Replaces ...
30669 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30670 (grub_color_menu_highlight): New variable. Replaces ...
30671 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30672 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30673 `GRUB_TERM_COLOR_STANDARD'.
30674 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30675 `normal_code' and `highlight_code' to `old_color_normal' and
30676 `old_color_highlight', respectively.
30677 (grub_menu_init_page): Update colors when drawing the menu, based on
30678 `menu_color_normal' and `menu_color_highlight' variables.
30679 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30680 a message is printed.
30681
182dd4e5 306822008-01-05 Robert Millan <rmh@aybabtu.com>
30683
30684 * kern/env.c (grub_env_context_open): Propagate hooks for global
30685 variables to new context.
30686
30687 * kern/main.c (grub_set_root_dev): Export `root' variable.
30688
ddf8f6ad 306892008-01-05 Robert Millan <rmh@aybabtu.com>
30690
30691 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30692 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30693 them.
30694
d8b43d9b 306952008-01-05 Robert Millan <rmh@aybabtu.com>
30696
30697 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30698
2bff2de3 306992008-01-04 Christian Franke <franke@computer.org>
30700
30701 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30702 of eisa_mmap.
30703
97eab917 307042008-01-03 Pavel Roskin <proski@gnu.org>
30705
30706 * kern/i386/linuxbios/init.c: Put "void" to all function
30707 declarations with no arguments.
30708 * kern/powerpc/ieee1275/init.c: Likewise.
30709 * term/i386/pc/at_keyboard.c: Likewise.
30710 * term/i386/pc/vga_text.c: Likewise.
30711 * util/grub-mkdevicemap.c: Likewise.
30712
b9416d00 307132008-01-02 Robert Millan <rmh@aybabtu.com>
30714
30715 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30716 message when loaded image is out of bounds.
30717 (grub_multiboot_load_elf64): Likewise.
30718
92695df9 307192008-01-02 Pavel Roskin <proski@gnu.org>
30720
30721 * util/grub.d/10_linux.in: Try version without ".old" when
30722 looking for initrd. It's better to use initrd from the newer
30723 kernel of the same version than no initrd at all.
30724
d98d9cad 307252008-01-01 Robert Millan <rmh@aybabtu.com>
30726
30727 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30728
dbfdce36 307292008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30730
f19dbdb7 30731 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30732 grub_video_get_active_render_target.
30733 (grub_video_adapter): Added unmap_color and get_active_render_target.
30734
f19dbdb7 30735 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30736 grub_video_get_active_render_target.
30737 (grub_video_get_info): Changed method to accept NULL pointer as an
30738 argument to allow detection of active video adapter.
30739
30740 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30741 grub_video_vbe_unmap_color_int.
30742 Added grub_video_vbe_unmap_color and
30743 grub_video_vbe_get_active_render_target.
30744 (grub_video_vbe_adapter): Added unmap_color and
30745 get_active_render_target.
30746
f19dbdb7 30747 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30748 with grub_video_vbe_unmap_color_int.
30749
30750 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30751 (DEFAULT_NORMAL_COLOR): Likewise.
30752 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30753 (DEFAULT_FG_COLOR): Removed.
30754 (DEFAULT_BG_COLOR): Likewise.
30755 (DEFAULT_CURSOR_COLOR): Changed value.
30756 (grub_virtual_screen): Added standard_color_setting,
30757 normal_color_setting, highlight_color_setting and term_color.
30758 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30759 (bitmap_width): Added.
30760 (bitmap_height): Likewise.
30761 (bitmap): Likewise.
30762 (set_term_color): Likewise.
30763 (grub_virtual_screen_setup): Changed to use new terminal coloring
30764 settings.
30765 (grub_gfxterm_init): Added init for bitmap.
30766 (grub_gfxterm_fini): Added destroy for bitmap.
30767 (redraw_screen_rect): Updated to use background bitmap and new
30768 terminal coloring.
30769 (scroll_up): Added optimization for case when there is no bitmap.
30770 (grub_gfxterm_cls): Fixed to use correct background color.
30771 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30772 coloring.
30773 (grub_virtual_screen_setcolor): Likewise.
30774 (grub_virtual_screen_getcolor): Added.
30775 (grub_gfxterm_background_image_cmd): Likewise.
30776 (grub_video_term): Added setcolor and getcolor.
30777 (MOD_INIT): Added registration of background_image command.
30778 (MOD_TERM): Added unregistration for background_image command.
30779
c3c20931 307802007-12-30 Pavel Roskin <proski@gnu.org>
30781
30782 * loader/multiboot_loader.c: Fix multiboot command
30783 unregistration. Fix all typos in the word "multiboot".
30784
df266716 307852007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30786
30787 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30788 support for initrd names used in Fedora.
30789
fc6e896c 307902007-12-26 Bean <bean123ch@gmail.com>
30791
30792 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30793 (cpio_mod_SOURCES): New variable.
30794 (cpio_mod_CFLAGS): Likewise.
30795 (cpio_mod_LDFLAGS): Likewise.
30796
30797 * fs/cpio.c: New file.
30798
30799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30800
30801 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30802
30803 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30804
30805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30806
533110ad 308072007-12-25 Robert Millan <rmh@aybabtu.com>
30808
30809 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30810 (grub_getcolor): New function.
30811
30812 * kern/term.c (grub_getcolor): New function.
30813 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30814 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30815 (print_entry): Set normal and highlight colors to
30816 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30817 respectively, before printing and restore them to old
30818 values afterwards.
30819 (grub_menu_init_page): Likewise. Fill an additional colored space
30820 that would otherwise be left blank.
30821
30822 * term/efi/console.c (grub_console_getcolor): New function.
30823 (struct grub_console_term.getcolor): New variable.
30824 * term/i386/pc/console.c (grub_console_getcolor): New function.
30825 (struct grub_console_term.getcolor): New variable.
30826 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30827 (struct grub_console_term.getcolor): New variable.
30828
30829 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30830 (struct grub_console_term.setcolor): Remove variable.
30831 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30832 (struct grub_console_term.setcolor): Remove variable.
30833 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30834 (struct grub_console_term.setcolor): Remove variable.
30835 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30836 (struct grub_console_term.setcolor): Remove variable.
30837
4931827f 308382007-12-25 Robert Millan <rmh@aybabtu.com>
30839
30840 * configure.ac: Search for possible unifont.hex locations, and
30841 define UNIFONT_HEX if found.
30842
30843 * Makefile.in (UNIFONT_HEX): Define variable.
30844 (DATA): Rename to ...
30845 (PKGLIB): ... this. Update all users.
30846 (PKGDATA): New variable.
30847 (pkgdata_IMAGES): Rename to ...
30848 (pkglib_IMAGES): ... this. Update all users.
30849 (pkgdata_MODULES): Rename to ...
30850 (pkglib_MODULES): ... this. Update all users.
30851 (pkgdata_PROGRAMS): Rename to ...
30852 (pkglib_PROGRAMS): ... this. Update all users.
30853 (pkgdata_DATA): Rename to ...
30854 (pkglib_DATA): ... this. Update all users.
30855 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30856 (unicode.pff, ascii.pff): New rules.
30857 (all-local): Add `$(PKGDATA)' dependency.
30858 (install-local): Process `$(PKGDATA)'.
30859
30860 * util/update-grub_lib.in (font_path): Search for *.pff files in
30861 a few more locations, including `${pkgdata}'.
30862
57e57e31 308632007-12-23 Robert Millan <rmh@aybabtu.com>
30864
30865 Patch from Bean <bean123ch@gmail.com>:
30866 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30867 `size'.
30868
4bc72aa9 308692007-12-21 Bean <bean123ch@gmail.com>
30870
30871 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30872 (ntfscomp_mod_SOURCES): New variable.
30873 (ntfscomp_mod_CFLAGS): Likewise.
30874 (ntfscomp_mod_LDFLAGS): Likewise.
30875
30876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30877 (grub_probe_SOURCES): Likewise.
30878 (grub_emu_SOURCES): Likewise.
30879
30880 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30881 (grub_emu_SOURCES): Likewise.
30882
30883 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30884 (grub_emu_SOURCES): Likewise.
30885
30886 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30887 (grub_emu_SOURCES): Likewise.
30888
30889 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30890 (read_run_list): Renamed to grub_ntfs_read_run_list.
30891 (decomp_nextvcn): Moved to ntfscomp.c.
30892 (decomp_getch): Likewise.
30893 (decomp_get16): Likewise.
30894 (decomp_block): Likewise.
30895 (read_block): Likewise.
30896 (read_data): Partially moved to ntfscomp.c.
30897 (fixup): Change unsigned to grub_uint16_t.
30898 (read_mft): Change unsigned long to grub_uint32_t.
30899 (read_attr): Likewise.
30900 (read_data): Likewise.
30901 (read_run_data): Likewise.
30902 (read_run_list): Likewise.
30903 (read_mft): Likewise.
30904
30905 * fs/ntfscomp.c: New file.
30906
30907 * include/grub/ntfs.h: New file.
30908
af680a87 309092007-12-16 Robert Millan <rmh@aybabtu.com>
30910
30911 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30912 IDE disk check, since Linux is known to support 20 IDE disks.
30913 Reported by Colin Watson.
30914
84be7599 309152007-12-15 Bean <bean123ch@gmail.com>
30916
30917 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30918 (lnxboot_img_SOURCES): New variable.
30919 (lnxboot_img_ASFLAGS): Likewise.
30920 (lnxboot_img_LDFLAGS): Likewise.
30921
30922 * boot/i386/pc/lnxboot.S: New file.
30923
6af9db01 309242007-11-24 Pavel Roskin <proski@gnu.org>
30925
30926 * configure.ac: Test if '--build-id=none' is supported by the
30927 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30928 objcopy to generate incorrect binary files (binutils
30929 2.17.50.0.18-1 as shipped by Fedora 8).
30930 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30931 linking, so that build ID doesn't break the test.
30932
7361cfe6 309332007-11-24 Pavel Roskin <proski@gnu.org>
30934
30935 * include/grub/i386/time.h: use "void" in the argument list
30936 of grub_cpu_idle().
30937 * include/grub/powerpc/time.h: Likewise.
30938 * include/grub/sparc64/time.h: Likewise.
30939
1593e10c 309402007-11-18 Christian Franke <franke@computer.org>
30941
30942 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30943 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30944 This fixes the problem that function keys did not work in grub-emu.
30945
3b8db1a8 309462007-11-18 Christian Franke <franke@computer.org>
30947
30948 * disk/host.c (grub_host_open): Remove attribute unused from
30949 name parameter. Add check for "host". This fixes the problem
30950 that grub-emu does not find partitions.
30951
2e29408d 309522007-11-18 Christian Franke <franke@computer.org>
30953
30954 * util/hostfs.c (is_dir): New function.
30955 (grub_hostfs_dir): Handle missing dirent.d_type case.
30956 (grub_hostfs_read): Add missing fseek().
30957 (grub_hostfs_label): Clear label pointer. This fixes a crash
30958 of grub-emu on "ls (host)".
30959
398cd047 309602007-11-18 Christian Franke <franke@computer.org>
30961
30962 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30963 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30964 to 64 bit boundary by default.
30965
c405c391 309662007-11-18 Bean <bean123ch@gmail.com>
30967
30968 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30969 (hexdump_mod_SOURCES): New variable.
30970 (hexdump_mod_CFLAGS): Likewise.
30971 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30972
c405c391 30973 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30974
30975 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30976
30977 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30978
30979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30980
30981 * include/grub/hexdump.h: New file.
30982
30983 * commands/hexdump.c: New file.
30984
5cced7fd 309852007-11-10 Robert Millan <rmh@aybabtu.com>
30986
30987 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30988 in grub_outb() calls.
30989 (beep_on): Likewise.
30990
8b714eb0 309912007-11-10 Christian Franke <franke@computer.org>
30992
30993 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30994 (grub_menu_run): Likewise.
30995
ce0f1839 309962007-11-10 Robert Millan <rmh@aybabtu.com>
30997
30998 * include/grub/i386/efi/machine.h: New file.
30999 * include/grub/i386/linuxbios/machine.h: Likewise.
31000 * include/grub/i386/pc/machine.h: Likewise.
31001 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31002 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31003
31004 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
31005 (serial_hw_io_addr): New variable.
31006 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
31007 instead of `(unsigned short *) 0x400'.
31008
270c237d 310092007-11-10 Bean <bean123ch@gmail.com>
31010
31011 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
31012
a87783bf 310132007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31014
31015 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
31016 (vga_mod_SOURCES): Added.
31017 (vga_mod_CFLAGS): Likewise.
31018 (vga_mod_LDFLAGS): Likewise.
31019
31020 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
31021 grub_outb() calls.
31022 (set_map_mask): Likewise.
31023 (set_read_map): Likewise.
31024 (set_read_address): Likewise.
31025 (vga_font): Removed variable.
31026 (get_vga_glyph): Removed function.
31027 (invalidate_char): Likewise.
31028 (write_char): Changed to use grub_font_get_glyph() for font
31029 information.
31030 (grub_vga_putchar): Likewise.
31031 (grub_vga_getcharwidth): Likewise.
31032
6433b448 310332007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31034
31035 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
31036 flags.
31037 (pxeboot_img_LDFLAGS): Likewise.
31038 (diskboot_img_LDFLAGS): Likewise.
31039 (kernel_img_LDFLAGS): Likewise.
31040
49178511 310412007-11-06 Robert Millan <rmh@aybabtu.com>
31042
31043 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
31044 in grub_outb() calls.
31045 (serial_hw_init): Likewise.
31046
53b052de 310472007-11-05 Robert Millan <rmh@aybabtu.com>
31048
31049 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
31050 spaces. Skip non-regular files.
31051
5ab33bba 310522007-11-05 Robert Millan <rmh@aybabtu.com>
31053
31054 * kern/disk.c (grub_disk_firmware_fini)
31055 (grub_disk_firmware_is_tainted): New variables.
31056
31057 * include/grub/disk.h (grub_disk_firmware_fini)
31058 (grub_disk_firmware_is_tainted): Likewise.
31059
31060 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
31061 (grub_disk_biosdisk_fini): ... to here.
31062 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
31063 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
31064 is set. Register grub_disk_biosdisk_fini() in
31065 `grub_disk_firmware_fini'.
31066
31067 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
31068 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
31069 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
31070 to finish existing firmware disk interface.
31071
31072 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
31073 (ata_mod_SOURCES): New variable.
31074 (ata_mod_CFLAGS): Likewise.
31075 (ata_mod_LDFLAGS): Likewise.
31076
0149ab7c 310772007-11-05 Robert Millan <rmh@aybabtu.com>
31078
31079 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
31080 (grub_ata_wait): Reimplement using grub_millisleep().
31081
31082 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
31083 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
31084
be7ac41e 310852007-11-03 Marco Gerards <marco@gnu.org>
31086
31087 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
31088 (CRTC_ADDR_PORT): New macro.
31089 (CRTC_DATA_PORT): Likewise.
31090 (CRTC_CURSOR): Likewise.
31091 (CRTC_CURSOR_ADDR_HIGH): Likewise.
31092 (CRTC_CURSOR_ADDR_LOW): Likewise.
31093 (update_cursor): New function.
31094 (grub_console_real_putchar): Call `update_cursor'.
31095 (grub_console_gotoxy): Likewise.
31096 (grub_console_cls): Set the default color when clearing the
31097 screen.
31098 (grub_console_setcursor): Implemented.
31099
bb06ab2e 311002007-11-03 Marco Gerards <marco@gnu.org>
31101
31102 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
31103 become activate.
31104 (grub_ata_pio_write): Likewise.
31105
31106 (grub_atapi_identify): Wait after issuing an ATA command.
31107 (grub_atapi_packet): Likewise.
31108 (grub_ata_identify): Likewise.
31109 (grub_ata_readwrite): Likewise.
31110
cf8f780b 311112007-11-03 Marco Gerards <marco@gnu.org>
31112
31113 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
31114 (grub_ata_pio_write): Likewise.
31115 (grub_ata_readwrite): Use `grub_error', instead of
31116 returning `grub_errno'.
31117
ed649e54 311182007-11-03 Marco Gerards <marco@gnu.org>
31119
31120 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
31121 grub_ata_pio_write once for every single sector, instead of for
31122 multiple sectors.
31123
ca25d8f0 311242007-10-31 Robert Millan <rmh@aybabtu.com>
31125
31126 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
31127
31128 * conf/i386-linuxbios.rmk: New file.
31129
31130 * kern/i386/pc/hardware.c: Likewise.
31131 * term/i386/pc/at_keyboard.c: Likewise.
31132 * term/i386/pc/vga_text.c: Likewise.
31133
31134 * include/grub/i386/linuxbios/boot.h: Likewise.
31135 * include/grub/i386/linuxbios/console.h: Likewise.
31136 * include/grub/i386/linuxbios/init.h: Likewise.
31137 * include/grub/i386/linuxbios/kernel.h: Likewise.
31138 * include/grub/i386/linuxbios/loader.h: Likewise.
31139 * include/grub/i386/linuxbios/memory.h: Likewise.
31140 * include/grub/i386/linuxbios/serial.h: Likewise.
31141 * include/grub/i386/linuxbios/time.h: Likewise.
31142
31143 * kern/i386/linuxbios/init.c: Likewise.
31144 * kern/i386/linuxbios/startup.S: Likewise.
31145 * kern/i386/linuxbios/table.c: Likewise.
31146
e911ecc1 311472007-10-31 Marco Gerards <marco@gnu.org>
31148
31149 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
31150 (ata_mod_SOURCES): New variable.
31151 (ata_mod_CFLAGS): Likewise.
31152 (ata_mod_LDFLAGS): Likewise.
31153
31154 * disk/ata.c: New file.
31155
31156 * include/grub/disk.h (grub_disk_dev_id): Add
31157 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 31158
7f66d0e0 311592007-10-31 Robert Millan <rmh@aybabtu.com>
31160
31161 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
31162 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
31163
31164 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
31165 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
31166
31167 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
31168 `<grub/types.h>'.
31169
31170 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
31171
5cd7dd46 311722007-10-27 Robert Millan <rmh@aybabtu.com>
31173
3236ca65 31174 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 31175
2ebfc90f 311762007-10-22 Robert Millan <rmh@aybabtu.com>
31177
31178 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
31179 `"../realmode.S"'.
31180 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
31181
73fcb0f3 311822007-10-22 Robert Millan <rmh@aybabtu.com>
31183
31184 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
31185 (pkgdata_MODULES): Add `biosdisk.mod'.
31186 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
31187 variables.
31188
31189 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
31190 (grub_biosdisk_init): Replace with ...
31191 (GRUB_MOD_INIT(biosdisk)): ... this.
31192 (grub_biosdisk_fini): Replace with ...
31193 (GRUB_MOD_FINI(biosdisk)): ... this.
31194
31195 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
31196 (grub_machine_init): Remove call to grub_biosdisk_init().
31197 (grub_machine_fini): Remove call to grub_machine_fini().
31198
31199 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
31200
3381d274 312012007-10-22 Robert Millan <rmh@aybabtu.com>
31202
31203 * include/grub/time.h: New file.
31204 * include/grub/i386/time.h: Likewise.
31205 * include/grub/powerpc/time.h: Likewise.
31206 * include/grub/sparc64/time.h: Likewise.
31207
31208 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
31209 instances to ...
31210 (KERNEL_MACHINE_TIME_HEADER): ... this.
31211 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31212 instances to ...
31213 (KERNEL_MACHINE_TIME_HEADER): ... this.
31214 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31215 instances to ...
31216 (KERNEL_MACHINE_TIME_HEADER): ... this.
31217
31218 * kern/i386/efi/init.c: Include `<grub/time.h>'.
31219 (grub_millisleep): New function.
31220 * kern/i386/pc/init.c: Include `<grub/time.h>'.
31221 (grub_millisleep): New function.
31222 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
31223 Remove `grub/machine/time.h' include.
31224 (grub_millisleep): New function.
31225 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
31226 Remove `grub/machine/time.h' include.
31227 (grub_millisleep): New function.
31228
31229 * include/grub/misc.h (grub_div_roundup): New function.
31230
31231 * kern/misc.c: Include `<grub/time.h>'.
31232 (grub_millisleep_generic): New function.
31233
31234 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
31235 Add `time.h'.
31236 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
31237 Add `time.h'.
31238 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
31239 `machine/time.h'. Add `time.h'.
31240 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31241
a39a0312 312422007-10-21 Robert Millan <rmh@aybabtu.com>
31243
31244 * include/grub/misc.h (grub_max): New function.
31245
2aad70e2 312462007-10-21 Robert Millan <rmh@aybabtu.com>
31247
31248 * util/misc.c (grub_util_info): Call fflush() before returning.
31249
54b71c4b 312502007-10-20 Robert Millan <rmh@aybabtu.com>
31251
31252 * genmk.rb (Image): Copy `extra_flags' from here ...
31253 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
31254
31255 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
31256 to `argc' and `args' arguments.
31257
a979f513 312582007-10-17 Robert Millan <rmh@aybabtu.com>
31259
31260 * kern/i386/loader.S: New file.
31261
31262 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
31263 * kern/i386/loader.S (grub_linux_prot_size)... to here.
31264 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
31265 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
31266 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
31267 * kern/i386/loader.S (grub_linux_real_addr)... to here.
31268 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
31269 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
31270 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
31271 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
31272 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
31273 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
31274 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
31275 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
31276
31277 * kern/i386/realmode.S: New file.
31278
31279 * kern/i386/pc/startup.S (protstack): Moved from here ...
31280 * kern/i386/realmode.S (protstack)... to here.
31281 * kern/i386/pc/startup.S (gdt): Moved from here ...
31282 * kern/i386/realmode.S (gdt)... to here.
31283 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
31284 * kern/i386/realmode.S (prot_to_real)... to here.
31285
31286 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
31287 `kern/i386/realmode.S'.
31288
825fc8fd 312892007-10-17 Robert Millan <rmh@aybabtu.com>
31290
31291 * include/grub/i386/loader.h: New file.
31292
31293 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
31294 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31295 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31296 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31297 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
31298 * include/grub/i386/loader.h (grub_linux_prot_size)
31299 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31300 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31301 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31302 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
31303
31304 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
31305
e179b2f4 313062007-10-15 Robert Millan <rmh@aybabtu.com>
31307
31308 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31309 filesystem when dev->disk is unset.
31310 Do probe for filesystem even when dev->disk->has_partitions is set.
31311 In case a filesystem is found, always report it.
31312 In case it isn't, if dev->disk->has_partitions is set, report that
31313 a partition table was found instead of reporting that no filesystem
31314 could be identified.
31315
5db82af6 313162007-10-12 Robert Millan <rmh@aybabtu.com>
31317
31318 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31319 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31320
68f6ac74 31321 * include/grub/types.h (grub_host_to_target16): New macro.
31322 (grub_host_to_target32): Likewise.
31323 (grub_host_to_target64): Likewise.
31324 (grub_target_to_host16): Likewise.
31325 (grub_target_to_host32): Likewise.
31326 (grub_target_to_host64): Likewise.
5db82af6 31327
31328 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31329 Renamed from to ...
31330 (GRUB_MOD_ALIGN): ...this. Update all users.
31331
68f6ac74 31332 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31333 grub_host_to_target32.
31334 Replace grub_be_to_cpu32 with grub_target_to_host32.
31335 (load_modules): Likewise.
31336 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31337 Replace grub_be_to_cpu32 with grub_target_to_host32.
31338 Replace grub_cpu_to_be16 with grub_host_to_target16.
31339 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 31340
3cf497cc 313412007-10-12 Robert Millan <rmh@aybabtu.com>
31342
31343 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31344 * util/elf/grub-mkimage.c: ... here.
31345
31346 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31347 `util/powerpc/ieee1275/grub-mkimage.c'.
31348
c8cc3692 313492007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 31350
c8cc3692 31351 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31352 and make it easier to figure out.
31353 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31354 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31355 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31356 leave us with less than HEAP_MIN_SIZE total heap.
31357 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 31358
5c58b791 313592007-10-03 Robert Millan <rmh@aybabtu.com>
31360
31361 * include/grub/i386/io.h: New file.
31362 * commands/i386/pc/play.c (inb): Removed.
31363 (outb): Removed.
31364 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31365 with grub_outb().
afcd2ef8 31366 * term/i386/pc/serial.c (inb): Removed.
31367 (outb): Removed.
31368 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31369 with grub_outb().
31370 * term/i386/pc/vga.c (inb): Removed.
31371 (outb): Removed.
31372 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31373 with grub_outb().
5c58b791 31374
1a477ed6 313752007-10-02 Robert Millan <rmh@aybabtu.com>
31376
31377 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31379 Reported by Marcin Kurek.
31380
6b5d80fa 313812007-09-07 Robert Millan <rmh@aybabtu.com>
31382
31383 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31384 SmartFirmware version updates (as released by Sven Luther), and avoid
31385 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31386 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31387 known broken.
31388
5618afbf 313892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31390
31391 From Hitoshi Ozeki:
31392 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31393 when merging two regions.
31394
6139dcd9 313952007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31396
508e39ee 31397 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31398 * normal/completion.c (grub_normal_do_completion): Likewise.
31399 Reported by Hitoshi Ozeki.
31400
314012007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31402
6139dcd9 31403 Do not use devices at boot in chainloading.
f19dbdb7 31404
6139dcd9 31405 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31406 (boot_part_addr): Likewise.
31407 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31408 with BOOT_DRIVE and BOOT_PART_ADDR.
31409 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31410 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31411
38da6516 314122007-08-29 Robert Millan <rmh@aybabtu.com>
31413
31414 Patch from Simon Peter <dn.tlp@gmx.net>:
31415 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31416 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31417 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31418 util/i386/pc/grub-setup.c_DEPENDENCIES.
31419 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31420 util/grub-probe.c_DEPENDENCIES.
31421 * conf/powerpc-ieee1275.rmk: Likewise.
31422
29d0928c 314232007-08-28 Robert Millan <rmh@aybabtu.com>
31424
31425 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31426 to tell grub-mkdevicemap how to name devices.
31427 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31428 feature).
31429
31430 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31431 util/i386/get_disk_name.c.
31432 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31433 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31434 util/ieee1275/get_disk_name.c.
31435
31436 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31437
31438 * DISTLIST: Add util/i386/get_disk_name.c and
31439 util/ieee1275/get_disk_name.c.
31440
31441 * util/grub-mkdevicemap.c: Replace device naming logic with
31442 grub_util_get_disk_name() calls.
31443
5a0d3cca 314442007-08-20 Robert Millan <rmh@aybabtu.com>
31445
31446 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31447 (so that it works for both plural and singular quantities).
31448
8b72db2f 314492007-08-05 Robert Millan <rmh@aybabtu.com>
31450
31451 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31452 so that [xz] isn't taken into account when determining order.
31453
352466bf 314542007-08-02 Marco Gerards <marco@gnu.org>
31455
31456 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31457 `include/multiboot2.h', `include/grub/elfload.h',
31458 `include/multiboot.h', `include/grub/multiboot.h',
31459 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31460 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31461 `kern/elf.c', `loader/multiboot_loader.c',
31462 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31463 `loader/i386/pc/multiboot2.c',
31464 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31465 `util/i386/pc/grub-mkrescue.in'. Remove
31466 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31467 `include/grub/i386/pc/util/biosdisk.h' and
31468 `include/grub/powerpc/ieee1275/multiboot.h'.
31469
8f096014 314702007-08-02 Bean <bean123ch@gmail.com>
31471
31472 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31473 (ntfs_mod_SOURCES): New variable.
31474 (ntfs_mod_CFLAGS): Likewise.
31475 (ntfs_mod_LDFLAGS): Likewise.
31476
31477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31478 (grub_probe_SOURCES): Likewise.
31479 (grub_emu_SOURCES): Likewise.
31480
31481 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31482 (grub_emu_SOURCES): Likewise.
31483
31484 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31485 (grub_emu_SOURCES): Likewise.
f19dbdb7 31486
8f096014 31487 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31488
31489 * fs/ntfs.c: New file.
31490
9959f7db 314912007-08-02 Bean <bean123ch@gmail.com>
31492
31493 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31494
31495 * file.h (grub_file): Likewise.
31496
31497 * fshelp.h (grub_fshelp_read_file): Likewise.
31498
31499 * util/i386/pc/grub-setup.c (setup): Likewise.
31500 (save_first_sector): Likewise.
31501 (save_blocklists): Likewise.
f19dbdb7 31502
9959f7db 31503 * fs/affs.c (grub_affs_read_file): Likewise.
31504
31505 * fs/ext2.c (grub_ext2_read_file): Likewise.
31506
31507 * fs/fat.c (grub_fat_read_data): Likewise.
31508
31509 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31510
31511 * fs/hfs.c (grub_hfs_read_file): Likewise.
31512
31513 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31514
31515 * fs/jfs.c (grub_jfs_read_file): Likewise.
31516
31517 * fs/minix.c (grub_minix_read_file): Likewise.
31518
31519 * fs/sfs.c (grub_sfs_read_file): Likewise.
31520
31521 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31522
9959f7db 31523 * fs/xfs.c (grub_xfs_read_file): Likewise.
31524
31525 * command/blocklist.c (read_blocklist): Likewise.
31526 (print_blocklist): Likewise.
31527
0a203f83 315282007-08-02 Marco Gerards <marco@gnu.org>
31529
31530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31531 `util/hostfs.c'.
31532
31533 * disk/host.c: New file.
31534
31535 * util/hostfs.c: Likewise.
31536
31537 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31538 return `GRUB_ERR_BAD_FS'.
31539 * fs/sfs.c (grub_sfs_mount): Likewise.
31540 * fs/xfs.c (grub_xfs_mount): Likewise.
31541
31542 * include/grub/disk.h (enum grub_disk_dev_id): Add
31543 `GRUB_DISK_DEVICE_HOST_ID'.
31544
31545 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31546
e5dfe777 315472007-07-24 Jerone Young <jerone@gmail.com>
31548
f19dbdb7 31549 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31550 modules for compilation.
31551 * conf/powerpc-ieee1275.rmk: Likewise.
31552
31553 * include/multiboot.h: Move multiboot definitions to one file. Rename
31554 many definitions to not get grub specific.
31555 * include/multiboot2.h: Create header with multiboot 2 definitions.
31556 * include/grub/multiboot.h: Header for grub specific function
31557 prototypes and definitions.
31558 * include/grub/multiboot2.h: Likewise.
31559 * include/grub/multiboot_loader.h: Likewise.
31560 * include/grub/i386/pc/multiboot.h: Removed.
31561 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31562
31563 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31564 and 2 to allow for one multiboot and module commands.
31565 * loader/multiboot2.c: Add multiboot2 functionality.
31566 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31567 and definition names.
31568 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31569 2 functions.
31570 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31571 ieee1275 specific multiboot2 code.
31572
31573 * kern/i386/pc/startup.S: Change headers and definition names for
31574 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31575
daf0f0ba 315762007-07-22 Robert Millan <rmh@aybabtu.com>
31577
31578 * geninitheader.sh: Process file specified in first parameter rather
31579 than hardcoding grub_modules_init.lst.
fe6b695a 31580 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31581 than hardcoding grub_modules_init.h.
31582
31583 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31584 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31585 grub_probe_init.[ch] and grub_setup_init.[ch].
31586
31587 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31588 grub_modules_init.h with grub_emu_init.h.
31589 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31590 grub_probe_init.[ch] files.
31591 * conf/i386-efi.rmk: Likewise.
31592 * conf/i386-pc.rmk: Likewise.
31593 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31594 grub_setup_init.[ch] files.
31595
31596 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31597 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31598 to initialize modules rather than a list of hardcoded functions.
31599 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31600 grub_init_all() to initialize modules rather than a list of hardcoded
31601 functions.
31602
54cdc1cc 316032007-07-22 Robert Millan <rmh@aybabtu.com>
31604
31605 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31606 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31607
ad0686cc 316082007-07-22 Robert Millan <rmh@aybabtu.com>
31609
31610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31611 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31612 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31613 flag when running on SmartFirmware.
31614 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31615 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31616 was set.
31617
31618 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31619 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31620 rather than decreasing it.
31621
31622 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31623 there's not enough space to do it, fail in the same way as when it
31624 can't be done because there are no partitions.
31625
31626 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31627 when nvsetenv failed.
31628
969c02ec 316292007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31630
31631 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31632 because this rule is automatically generated.
31633 (grub-mkrescue): Removed for the same reason as above.
31634
5a79f472 316352007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31636
31637 Migrate to GNU General Public License Version 3.
f19dbdb7 31638
5a79f472 31639 * COPYING: Replaced with the plain text version of GPLv3.
31640
31641 * config.guess: Updated from gnulib.
31642 * config.sub: Likewise.
31643
31644 * geninit.sh: Output a GPLv3 copyright notice.
31645 * geninitheader.sh: Likewise.
31646 * genmodsrc.sh: Likewise.
31647 * gensymlist.sh.in: Likewise.
31648
31649 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31650 * boot/i386/pc/diskboot.S: Likewise.
31651 * boot/i386/pc/pxeboot.S: Likewise.
31652 * commands/blocklist.c: Likewise.
31653 * commands/boot.c: Likewise.
31654 * commands/cat.c: Likewise.
31655 * commands/cmp.c: Likewise.
31656 * commands/configfile.c: Likewise.
31657 * commands/echo.c: Likewise.
31658 * commands/help.c: Likewise.
31659 * commands/ls.c: Likewise.
31660 * commands/search.c: Likewise.
31661 * commands/terminal.c: Likewise.
31662 * commands/test.c: Likewise.
31663 * commands/videotest.c: Likewise.
31664 * commands/i386/cpuid.c: Likewise.
31665 * commands/i386/pc/halt.c: Likewise.
31666 * commands/i386/pc/play.c: Likewise.
31667 * commands/i386/pc/reboot.c: Likewise.
31668 * commands/i386/pc/vbeinfo.c: Likewise.
31669 * commands/i386/pc/vbetest.c: Likewise.
31670 * commands/ieee1275/halt.c: Likewise.
31671 * commands/ieee1275/reboot.c: Likewise.
31672 * commands/ieee1275/suspend.c: Likewise.
31673 * disk/loopback.c: Likewise.
31674 * disk/lvm.c: Likewise.
31675 * disk/raid.c: Likewise.
31676 * disk/efi/efidisk.c: Likewise.
31677 * disk/i386/pc/biosdisk.c: Likewise.
31678 * disk/ieee1275/ofdisk.c: Likewise.
31679 * font/manager.c: Likewise.
31680 * fs/affs.c: Likewise.
31681 * fs/ext2.c: Likewise.
31682 * fs/fat.c: Likewise.
31683 * fs/fshelp.c: Likewise.
31684 * fs/hfs.c: Likewise.
31685 * fs/hfsplus.c: Likewise.
31686 * fs/iso9660.c: Likewise.
31687 * fs/jfs.c: Likewise.
31688 * fs/minix.c: Likewise.
31689 * fs/sfs.c: Likewise.
31690 * fs/ufs.c: Likewise.
31691 * fs/xfs.c: Likewise.
31692 * hello/hello.c: Likewise.
31693 * include/grub/acorn_filecore.h: Likewise.
31694 * include/grub/arg.h: Likewise.
31695 * include/grub/bitmap.h: Likewise.
31696 * include/grub/boot.h: Likewise.
31697 * include/grub/cache.h: Likewise.
31698 * include/grub/device.h: Likewise.
31699 * include/grub/disk.h: Likewise.
31700 * include/grub/dl.h: Likewise.
31701 * include/grub/elfload.h: Likewise.
31702 * include/grub/env.h: Likewise.
31703 * include/grub/err.h: Likewise.
31704 * include/grub/file.h: Likewise.
31705 * include/grub/font.h: Likewise.
31706 * include/grub/fs.h: Likewise.
31707 * include/grub/fshelp.h: Likewise.
31708 * include/grub/gzio.h: Likewise.
31709 * include/grub/hfs.h: Likewise.
31710 * include/grub/kernel.h: Likewise.
31711 * include/grub/loader.h: Likewise.
31712 * include/grub/lvm.h: Likewise.
31713 * include/grub/misc.h: Likewise.
31714 * include/grub/mm.h: Likewise.
31715 * include/grub/net.h: Likewise.
31716 * include/grub/normal.h: Likewise.
31717 * include/grub/parser.h: Likewise.
31718 * include/grub/partition.h: Likewise.
31719 * include/grub/pc_partition.h: Likewise.
31720 * include/grub/raid.h: Likewise.
31721 * include/grub/rescue.h: Likewise.
31722 * include/grub/script.h: Likewise.
31723 * include/grub/setjmp.h: Likewise.
31724 * include/grub/symbol.h: Likewise.
31725 * include/grub/term.h: Likewise.
31726 * include/grub/terminfo.h: Likewise.
31727 * include/grub/tparm.h: Likewise.
31728 * include/grub/types.h: Likewise.
31729 * include/grub/video.h: Likewise.
31730 * include/grub/efi/api.h: Likewise.
31731 * include/grub/efi/chainloader.h: Likewise.
31732 * include/grub/efi/console.h: Likewise.
31733 * include/grub/efi/console_control.h: Likewise.
31734 * include/grub/efi/disk.h: Likewise.
31735 * include/grub/efi/efi.h: Likewise.
31736 * include/grub/efi/pe32.h: Likewise.
31737 * include/grub/efi/time.h: Likewise.
31738 * include/grub/i386/linux.h: Likewise.
31739 * include/grub/i386/setjmp.h: Likewise.
31740 * include/grub/i386/types.h: Likewise.
31741 * include/grub/i386/efi/kernel.h: Likewise.
31742 * include/grub/i386/efi/loader.h: Likewise.
31743 * include/grub/i386/efi/time.h: Likewise.
31744 * include/grub/i386/pc/biosdisk.h: Likewise.
31745 * include/grub/i386/pc/boot.h: Likewise.
31746 * include/grub/i386/pc/chainloader.h: Likewise.
31747 * include/grub/i386/pc/console.h: Likewise.
31748 * include/grub/i386/pc/init.h: Likewise.
31749 * include/grub/i386/pc/kernel.h: Likewise.
31750 * include/grub/i386/pc/loader.h: Likewise.
31751 * include/grub/i386/pc/memory.h: Likewise.
31752 * include/grub/i386/pc/multiboot.h: Likewise.
31753 * include/grub/i386/pc/serial.h: Likewise.
31754 * include/grub/i386/pc/time.h: Likewise.
31755 * include/grub/i386/pc/vbe.h: Likewise.
31756 * include/grub/i386/pc/vbeblit.h: Likewise.
31757 * include/grub/i386/pc/vbefill.h: Likewise.
31758 * include/grub/i386/pc/vbeutil.h: Likewise.
31759 * include/grub/i386/pc/vga.h: Likewise.
31760 * include/grub/ieee1275/ieee1275.h: Likewise.
31761 * include/grub/ieee1275/ofdisk.h: Likewise.
31762 * include/grub/powerpc/libgcc.h: Likewise.
31763 * include/grub/powerpc/setjmp.h: Likewise.
31764 * include/grub/powerpc/types.h: Likewise.
31765 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31766 * include/grub/powerpc/ieee1275/console.h: Likewise.
31767 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31768 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31769 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31770 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31771 * include/grub/powerpc/ieee1275/time.h: Likewise.
31772 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31773 * include/grub/sparc64/libgcc.h: Likewise.
31774 * include/grub/sparc64/setjmp.h: Likewise.
31775 * include/grub/sparc64/types.h: Likewise.
31776 * include/grub/sparc64/ieee1275/console.h: Likewise.
31777 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31778 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31779 * include/grub/sparc64/ieee1275/time.h: Likewise.
31780 * include/grub/util/biosdisk.h: Likewise.
31781 * include/grub/util/getroot.h: Likewise.
31782 * include/grub/util/lvm.h: Likewise.
31783 * include/grub/util/misc.h: Likewise.
31784 * include/grub/util/raid.h: Likewise.
31785 * include/grub/util/resolve.h: Likewise.
31786 * io/gzio.c: Likewise.
31787 * kern/device.c: Likewise.
31788 * kern/disk.c: Likewise.
31789 * kern/dl.c: Likewise.
31790 * kern/elf.c: Likewise.
31791 * kern/env.c: Likewise.
31792 * kern/err.c: Likewise.
31793 * kern/file.c: Likewise.
31794 * kern/fs.c: Likewise.
31795 * kern/loader.c: Likewise.
31796 * kern/main.c: Likewise.
31797 * kern/misc.c: Likewise.
31798 * kern/mm.c: Likewise.
31799 * kern/parser.c: Likewise.
31800 * kern/partition.c: Likewise.
31801 * kern/rescue.c: Likewise.
31802 * kern/term.c: Likewise.
31803 * kern/efi/efi.c: Likewise.
31804 * kern/efi/init.c: Likewise.
31805 * kern/efi/mm.c: Likewise.
31806 * kern/i386/dl.c: Likewise.
31807 * kern/i386/efi/init.c: Likewise.
31808 * kern/i386/efi/startup.S: Likewise.
31809 * kern/i386/pc/init.c: Likewise.
31810 * kern/i386/pc/lzo1x.S: Likewise.
31811 * kern/i386/pc/startup.S: Likewise.
31812 * kern/ieee1275/ieee1275.c: Likewise.
31813 * kern/powerpc/cache.S: Likewise.
31814 * kern/powerpc/dl.c: Likewise.
31815 * kern/powerpc/ieee1275/cmain.c: Likewise.
31816 * kern/powerpc/ieee1275/crt0.S: Likewise.
31817 * kern/powerpc/ieee1275/init.c: Likewise.
31818 * kern/powerpc/ieee1275/openfw.c: Likewise.
31819 * kern/sparc64/cache.S: Likewise.
31820 * kern/sparc64/dl.c: Likewise.
31821 * kern/sparc64/ieee1275/init.c: Likewise.
31822 * kern/sparc64/ieee1275/openfw.c: Likewise.
31823 * loader/efi/chainloader.c: Likewise.
31824 * loader/efi/chainloader_normal.c: Likewise.
31825 * loader/i386/efi/linux.c: Likewise.
31826 * loader/i386/efi/linux_normal.c: Likewise.
31827 * loader/i386/pc/chainloader.c: Likewise.
31828 * loader/i386/pc/chainloader_normal.c: Likewise.
31829 * loader/i386/pc/linux.c: Likewise.
31830 * loader/i386/pc/linux_normal.c: Likewise.
31831 * loader/i386/pc/multiboot.c: Likewise.
31832 * loader/i386/pc/multiboot_normal.c: Likewise.
31833 * loader/powerpc/ieee1275/linux.c: Likewise.
31834 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31835 * normal/arg.c: Likewise.
31836 * normal/cmdline.c: Likewise.
31837 * normal/command.c: Likewise.
31838 * normal/completion.c: Likewise.
31839 * normal/execute.c: Likewise.
31840 * normal/function.c: Likewise.
31841 * normal/lexer.c: Likewise.
31842 * normal/main.c: Likewise.
31843 * normal/menu.c: Likewise.
31844 * normal/menu_entry.c: Likewise.
31845 * normal/misc.c: Likewise.
31846 * normal/parser.y: Likewise.
31847 * normal/script.c: Likewise.
31848 * normal/i386/setjmp.S: Likewise.
31849 * normal/powerpc/setjmp.S: Likewise.
31850 * normal/sparc64/setjmp.S: Likewise.
31851 * partmap/acorn.c: Likewise.
31852 * partmap/amiga.c: Likewise.
31853 * partmap/apple.c: Likewise.
31854 * partmap/gpt.c: Likewise.
31855 * partmap/pc.c: Likewise.
31856 * partmap/sun.c: Likewise.
31857 * term/gfxterm.c: Likewise.
31858 * term/terminfo.c: Likewise.
31859 * term/efi/console.c: Likewise.
31860 * term/i386/pc/console.c: Likewise.
31861 * term/i386/pc/serial.c: Likewise.
31862 * term/i386/pc/vesafb.c: Likewise.
31863 * term/i386/pc/vga.c: Likewise.
31864 * term/ieee1275/ofconsole.c: Likewise.
31865 * util/biosdisk.c: Likewise.
31866 * util/console.c: Likewise.
31867 * util/genmoddep.c: Likewise.
31868 * util/getroot.c: Likewise.
31869 * util/grub-emu.c: Likewise.
31870 * util/grub-mkdevicemap.c: Likewise.
31871 * util/grub-probe.c: Likewise.
31872 * util/lvm.c: Likewise.
31873 * util/misc.c: Likewise.
31874 * util/raid.c: Likewise.
31875 * util/resolve.c: Likewise.
31876 * util/update-grub.in: Likewise.
31877 * util/update-grub_lib.in: Likewise.
31878 * util/grub.d/00_header.in: Likewise.
31879 * util/grub.d/10_hurd.in: Likewise.
31880 * util/grub.d/10_linux.in: Likewise.
31881 * util/i386/efi/grub-install.in: Likewise.
31882 * util/i386/efi/grub-mkimage.c: Likewise.
31883 * util/i386/pc/grub-install.in: Likewise.
31884 * util/i386/pc/grub-mkimage.c: Likewise.
31885 * util/i386/pc/grub-mkrescue.in: Likewise.
31886 * util/i386/pc/grub-setup.c: Likewise.
31887 * util/i386/pc/misc.c: Likewise.
31888 * util/powerpc/ieee1275/grub-install.in: Likewise.
31889 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31890 * util/powerpc/ieee1275/misc.c: Likewise.
31891 * video/bitmap.c: Likewise.
31892 * video/video.c: Likewise.
31893 * video/i386/pc/vbe.c: Likewise.
31894 * video/i386/pc/vbeblit.c: Likewise.
31895 * video/i386/pc/vbefill.c: Likewise.
31896 * video/i386/pc/vbeutil.c: Likewise.
31897 * video/readers/tga.c: Likewise.
31898
3572d015 318992007-07-02 Robert Millan <rmh@aybabtu.com>
31900
31901 * conf/i386-efi.rmk: Replace obsolete reference to
31902 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31903 with util/getroot.c.
31904 * conf/powerpc-ieee1275.rmk: Likewise.
31905 * conf/sparc64-ieee1275.rmk: Likewise.
31906
31907 * util/grub-emu.c (main): Fix unchecked pointer handling.
31908
2c2a681b 319092007-07-02 Robert Millan <rmh@aybabtu.com>
31910
31911 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31912 invocation to fail, in order to support partition-less media.
31913
31914 * util/i386/pc/grub-install.in: Likewise.
31915
31916 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31917 which fs or partmap modules are needed (akin to its sister scripts).
31918
31919 Also use grub-probe to get rid of unportable /proc/mounts check.
31920
31921 Print the same informational message that the other scripts do, before
fe6b695a 31922 exiting.
2c2a681b 31923
6193defe 319242007-06-23 Robert Millan <rmh@aybabtu.com>
31925
fe6b695a 31926 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31927 a font file can be found and, if so, echo the GRUB path to it.
31928
31929 * util/update-grub.in: Handle multiple terminals depending on user
31930 input, platform availability and font file presence. Propagate
31931 variables of our findings to /etc/grub.d/ children.
31932
31933 * util/grub.d/00_header.in: Handle multiple terminals, based on
31934 environment setup by update-grub.
31935
eface1dc 319362007-06-23 Robert Millan <rmh@aybabtu.com>
31937
ba50d28f 31938 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31939
bf697e28 319402007-06-21 Robert Millan <rmh@aybabtu.com>
31941
31942 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31943 indicate end of data section in kernel image.
31944 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31945 GRUB_KERNEL_MACHINE_DATA_END.
31946
31947 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31948 space for it.
31949 * kern/i386/efi/startup.S: Likewise.
31950
31951 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31952 during image generation. Implement --prefix option to override this
31953 patch.
31954 * util/i386/efi/grub-mkimage.c: Likewise.
31955
31956 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31957 code to make path relative to its root into a separate function.
31958
31959 * util/i386/pc/grub-install.in: Use newly provided
31960 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31961 pass the result to grub-install --prefix.
31962
baa574b4 319632007-06-13 Robert Millan <rmh@aybabtu.com>
31964
31965 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31966 DEFAULT_DEVICE_MAP.
31967 * util/grub-emu.c: Use above definitions from misc.h instead of
31968 defining them.
31969 * util/grub-mkdevicemap.c: Likewise.
31970 * util/i386/pc/grub-setup.c: Likewise.
31971 * util/grub-probe.c: Likewise.
31972 (probe): Abort with grub_util_error() when either
31973 grub_guess_root_device or grub_util_get_grub_dev fails.
31974
0215dcbf 319752007-06-12 Robert Millan <rmh@aybabtu.com>
31976
31977 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31978 "pager" assignment.
31979 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31980 "pcdata".
31981 * util/grub-probe.c (probe): Likewise for "drive_name".
31982
8af2ab7b 319832007-06-11 Robert Millan <rmh@aybabtu.com>
31984
31985 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31986 not just the cdrom one.
31987
59d31694 319882007-06-11 Robert Millan <rmh@aybabtu.com>
31989
31990 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31991 Add --pkglibdir=DIR option to override pkglibdir.
31992 Mention --image-type=TYPE in help output.
31993 Fix --grub-mkimage (it was a no-op).
fe6b695a 31994 Abort gracefully when no parameter is given.
59d31694 31995
7ee367e4 319962007-06-11 Robert Millan <rmh@aybabtu.com>
31997
31998 * util/i386/pc/grub-mkrescue.in: New file.
31999 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
32000 * Makefile.in: Handle bin_SCRIPTS.
32001
29b0ed46 320022007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
32003
32004 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
32005 list of video modes.
32006
c0f90770 320072007-06-06 Robert Millan <rmh@aybabtu.com>
32008
32009 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
32010 file doesn't exist, or if it is in a filesystem grub can't read.
32011
32012 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
32013 not abort if GRUB_DRIVE could not be defined. Rearrange generated
32014 header comment to fit in 80 columns when the variables are resolved.
32015
32016 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
32017 could be identified by update-grub. Remove redundant check for
fe6b695a 32018 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 32019 handles that).
32020
fb36dc26 320212007-06-04 Robert Millan <rmh@aybabtu.com>
32022
32023 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
32024
32025 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
32026
32027 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
32028
0c68c93e 320292007-06-04 Robert Millan <rmh@aybabtu.com>
32030
32031 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
32032
32033 * include/grub/partition.h: Declare grub_apple_partition_map_init and
32034 grub_apple_partition_map_fini.
32035
32036 * util/biosdisk.c
32037 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
32038 to access >2 TiB disks).
32039
32040 Print disk->total_sectors with %llu instead of %lu, since this
32041 variable is always 64-bit (prevents wrong disk size from being displayed
32042 on either >2 TiB disk or big-endian CPU).
32043
32044 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
32045 into a generic case that supports all (sane) partition maps.
32046
32047 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
32048 breaks big-endian.
32049
32050 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
32051 and grub_apple_partition_map_fini() after that.
32052
0f23eb74 320532007-06-01 Robert Millan <rmh@aybabtu.com>
32054
32055 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
32056
32057 * util/grub.d/00_header.in: Only enable gfxterm when
32058 convert_system_path_to_grub_path() succeeds.
32059
42c71976 320602007-05-20 Robert Millan <rmh@aybabtu.com>
32061
32062 * util/update-grub_lib.in: New file.
32063 * DISTLIST: Add update-grub_lib.in.
32064 * conf/common.rmk: Generate update-grub_lib and install it in
32065 $(lib_DATA).
32066 * Makefile.in: Add install routine for $(lib_DATA).
32067
32068 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
32069 function provided by update-grub_lib to support arbitrary paths of
32070 unifont.pff.
32071 * util/update-grub.in: Use convert_system_path_to_grub_path() to
32072 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
32073
5beb2291 320742007-05-19 Robert Millan <rmh@aybabtu.com>
32075
32076 * commands/i386/cpuid.c: New module.
32077 * DISTLIST: Add it.
32078 * conf/i386-efi.rmk: Enable cpuid.mod.
32079 * conf/i386-pc.rmk: Likewise.
32080
7262eca1 320812007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32082
32083 * kern/disk.c (grub_disk_read): Check return value of
32084 grub_realloc().
32085
260ba823 320862007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32087
32088 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
32089 arrays.
32090 * disk/raid.c (grub_raid_open): Likewise.
32091
1ecb6cf2 320922007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32093
32094 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
32095 stack instead of on the heap.
32096
32097 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
32098 before doing a read on it.
32099
32100 * configure.ac: Only use -fno-stack-protector for the target
32101 environment.
f19dbdb7 32102
21c8cbb1 321032007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32104
32105 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
32106 __attribute_ ((unused)) to mode_type argument.
32107
32108 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 32109
21c8cbb1 32110 * kern/misc.c (memcmp): Fix prototype.
32111
32112 * include/grub/partition.h [GRUB_UTIL]
32113 (grub_gpt_partition_map_init): Add prototype.
32114 (grub_gpt_partition_map_fini): Likewise.
32115
32116 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
32117 at the right place.
32118
32119 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
32120 (grub_fat_read_data): Likewise.
32121 (grub_fat_find_dir): Likewise.
32122
32123 * font/manager.c (find_glyph): Make table a const.
32124 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 32125
849d55d3 321262007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
32127
32128 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
32129 code, first search for device in /dev/mapper, then in /dev.
32130 (grub_util_get_grub_dev): New function.
32131 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
32132 prototype.
32133 * util/grub-probe.c (probe): Remove check for RAID, call
32134 grub_util_get_grub_dev() instead of
32135 grub_util_biosdisk_get_grub_dev().
32136 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
32137 grub_util_biosdisk_get_grub_dev().
32138 * util/i386/pc/grub-setup.c (main): Likewise.
32139
8fff7c2f 321402007-05-16 Robert Millan <rmh@aybabtu.com>
32141
32142 * DISTLIST: Update for the latest changes.
32143 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
32144 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
32145 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
32146 grub/util/biosdisk.h.
32147 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
32148 grub/util/biosdisk.h.
32149
48e12b52 321502007-05-16 Robert Millan <rmh@aybabtu.com>
32151
32152 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
32153
46b9d128 321542007-05-16 Robert Millan <rmh@aybabtu.com>
32155
32156 * util/i386/efi/grub-install.in: New.
32157 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
32158 newly added grub-install.
32159 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
32160 include.
32161 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
32162 grub/util/biosdisk.h.
32163 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
32164 grub/util/biosdisk.h.
32165
2d1a40a9 321662007-05-16 Robert Millan <rmh@aybabtu.com>
32167
32168 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
32169 * include/grub/util/biosdisk.h: ... here.
32170 * util/i386/pc/biosdisk.c: Moved to ...
32171 * util/biosdisk.c: ... here.
32172 * util/i386/pc/getroot.c: Moved to ...
32173 * util/getroot.c: ... here.
32174 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
32175 * util/grub-mkdevicemap.c: ... here.
32176 * util/i386/pc/grub-probe.c: Moved to ...
32177 * util/grub-probe.c: ... here.
32178
9e26e3bc 321792007-05-15 Robert Millan <rmh@aybabtu.com>
32180
32181 * util/update-grub.in: Remove duplicated line in grub.cfg header
32182 message.
32183
57f96397 321842007-05-13 Robert Millan <rmh@aybabtu.com>
32185
32186 * util/update-grub.in: Fix a few assumptions about the devices holding
32187 /, /boot and /boot/grub being the same.
32188 * util/grub.d/00_header.in: Likewise.
32189 * util/grub.d/10_hurd.in: Likewise.
32190 * util/grub.d/10_linux.in: Likewise.
32191
32192 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
32193 patterns. Use that to define the `.old' suffix as older than `'.
32194
32195 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
32196
32197 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
32198 the grub.cfg header message.
32199
2e610d62 322002007-05-11 Robert Millan <rmh@aybabtu.com>
32201
32202 * util/update-grub.in: Create device.map if it doesn't already exist,
32203 before attempting to run grub-probe.
32204 Check for grub-probe and grub-mkdevicemap with the same code
32205 grub-install is using.
32206 Remove test mode.
32207
3f6a10ef 322082007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
32209
32210 * Makefile.in: Add the datarootdir autoconf variable.
32211
02e7b75e 322122007-05-09 Robert Millan <rmh@aybabtu.com>
32213
32214 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 32215 fail gracefully if dev->disk->partition == NULL.
02e7b75e 32216
75f396cc 322172007-05-07 Robert Millan <rmh@aybabtu.com>
32218
32219 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
32220 determine partition map module.
32221 * util/i386/pc/grub-install.in: Use this feature to decide which
32222 partition module to load, instead of hardcoding pc and gpt.
32223
da65cb36 322242007-05-07 Robert Millan <rmh@aybabtu.com>
32225
32226 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
32227 source directory differs from build directory.
32228
b57d6a91 322292007-05-05 Robert Millan <rmh@aybabtu.com>
32230
32231 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
32232 initialisation.
32233
509d00f1 322342007-05-05 Robert Millan <rmh@aybabtu.com>
32235
32236 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
32237
c48f23ef 322382007-05-05 Robert Millan <rmh@aybabtu.com>
32239
32240 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
32241 command-line arguments via ${GRUB_CMDLINE_LINUX}.
32242
20b97658 322432007-05-05 Robert Millan <rmh@aybabtu.com>
32244
32245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
32246 (grub_probe_SOURCES): Likewise.
32247 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
32248 GPT and initialize dos_part and bsd_part accordingly.
32249 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
32250 install_bsd_part.
32251 (main): Activate gpt module for use during partition identification,
32252 and deactivate it afterwards.
32253 * util/i386/pc/grub-install.in: Add gpt module to core.img.
32254 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
32255 partition identification, and deactivate it afterwards.
32256
99123174 322572007-05-05 Robert Millan <rmh@aybabtu.com>
32258
32259 * term/i386/pc/console.c (grub_console_fini): Call
32260 grub_term_set_current() before grub_term_unregister().
32261
ebd97f6e 322622007-05-04 Robert Millan <rmh@aybabtu.com>
32263
32264 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
32265 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
32266 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
32267 and update-grub_DATA.
32268 * conf/common.rmk: Build and install update-grub components.
32269 * conf/common.mk: Regenerate.
32270 * util/update-grub.in: New. Core of update-grub.
32271 * util/grub.d/00_header.in: New. Generates grub.cfg header.
32272 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
32273 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
32274 * util/grub.d/README: New. Document grub.d directory layout.
32275
b06a264d 322762007-05-01 Robert Millan <rmh@aybabtu.com>
32277
32278 * util/grub-emu.c: Move initialization functions
32279 grub_util_biosdisk_init() and grub_init_all() before
32280 grub_util_biosdisk_get_grub_dev(), which relies on them.
32281
41f0050e 322822007-04-19 Robert Millan <rmh@aybabtu.com>
32283
32284 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
32285 it is used later.
32286
04582bb3 322872007-04-18 Jerone Young <jerone@gmail.com>
32288
f19dbdb7 32289 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 32290 stanza.
32291
08db4632 322922007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 32293
08db4632 32294 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
32295 continue on and look for device node with real device name.
32296
801b76be 322972007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 32298
fe6b695a 32299 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 32300 ability.
32301 * Makefile.in: Add autoconf package transformation code.
32302 * util/i386/pc/grub-install.in: Likewise.
32303 * util/powerpc/ieee1275/grub-install.in: Likewise.
32304
6795c4e1 323052007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32306
32307 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32308 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32309 (EXT2_REVISION): Likewise.
32310 (EXT2_INODE_SIZE): Likewise.
32311 (struct grub_ext2_block_group): Added a missing member
32312 "used_dirs".
32313 (grub_ext2_read_inode): Divide by the inode size in a superblock
32314 instead of 128 to obtain INODES_PER_BLOCK.
32315 Use the macro EXT2_INODE_SIZE instead of directly using
32316 SBLOCK->INODE_SIZE.
32317
d70af616 323182007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32319
32320 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32321 superblock instead of the structure size to compute an
32322 offset. This fixes the problem that GRUB could not read a
32323 filesystem when inode size is different from 128-byte.
32324
3b801603 323252007-03-05 Marco Gerards <marco@gnu.org>
32326
32327 * normal/main.c (read_config_file): When "menu" is not set, create
32328 an initial context.
32329
4785bfe4 323302007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32331
32332 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32333 (HEAP_LIMIT): New macro.
32334 (grub_claim_heap): Claim memory up to `heaplimit'.
32335
a0cbb023 323362007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32337
32338 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32339 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32340 (_start): Likewise.
32341 (grub_arch_modules_addr): Return address after `_end'.
32342 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32343 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32344 (add_segments): Calculate `_end' from phdr size and location.
32345 (ALIGN_UP): Moved to ...
32346 * include/grub/misc.h: here.
32347 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32348 New macro.
32349 (GRUB_IEEE1275_MODULE_BASE): Removed.
32350
fd7d8eba 323512007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32352
32353 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32354 loop boundary.
32355
9b09e6fc 323562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32357
32358 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32359 All users updated.
32360 (grub_elf64_load_hook_t): Likewise.
32361 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32362 debug output.
32363
3ce27299 323642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32365
32366 * kern/mm.c: Update copyright.
32367 (grub_mm_debug): Correct syntax error.
32368 (grub_mm_dump_free): New function.
32369 (grub_debug_free): Call `grub_free'.
32370 * include/grub/mm.h: Update copyright.
32371 (grub_mm_dump_free): Add declaration.
32372
077d5fee 323732007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32374
32375 * include/grub/ieee1275/ieee1275.h: Update copyright.
32376 * kern/powerpc/ieee1275/init.c: Likewise.
32377 * kern/powerpc/ieee1275/openfw.c: Likewise.
32378
32379 * loader/powerpc/ieee1275/linux.c: Likewise.
32380 * include/grub/elfload.h: Likewise.
32381 * kern/elf.c: Likewise.
32382 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32383 callers.
32384 (grub_elf64_load): Likewise.
32385 (grub_elf32_load_segment): Move to a nested function.
32386 (grub_elf64_load_segment): Likewise.
32387
dc946850 323882007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32389
32390 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32391 prototype.
32392 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32393 (grub_heap_len): Likewise.
32394 (HEAP_SIZE): New macro.
32395 (grub_claim_heap): New function.
32396 (grub_machine_init): Don't claim heap directly. Call
32397 `grub_claim_heap'.
32398 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32399 (grub_available_iterate): New function.
32400
baa2a121 324012007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32402
32403 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32404 * configure.ac: Use it for testing the HOST and TARGET compilers.
32405
4fe9862e 324062006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32407
32408 * Makefile.in (enable_grub_emu): New variable.
32409 * configure.ac (--enable-grub-emu): New option.
32410 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32411 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32412 * conf/i386-pc.rmk: Likewise.
32413 * conf/powerpc-ieee1275.rmk: Likewise.
32414 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32415
a8aa5762 324162006-12-12 Marco Gerards <marco@gnu.org>
32417
32418 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32419
32420 * kern/env.c (grub_env_unset): Don't free the member `value' when
32421 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32422 pointer.
32423
32424 * normal/main.c (current_menu): Removed.
32425 (free_menu): Unset the `menu' environment variable.
32426 (grub_normal_menu_addentry): Make use of the environment variable
32427 `menu', instead of using the global `current_menu'. Allocate
32428 memory for the sourcecode of this entry.
32429 (read_config_file): New argument `nested', changed all callers.
32430 Only in the case of a new context, initialize a new menu. Set the
32431 `menu' environment variable.
32432 (grub_normal_execute): Don't set and unset the environment
32433 variable `menu' here anymore. Only free the menu when leaving the
32434 context.
32435
32436 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32437 leak.
32438
957b3a3e 324392006-12-11 Marco Gerards <marco@gnu.org>
32440
32441 * normal/menu_entry.c (run): Fix off by one bug so the last line
32442 is executed. Move the loader check to outside the loop.
32443
ef875714 324442006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32445
32446 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32447
4e739985 324482006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32449
32450 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32451 the number of sectors. Reported by Andrey Shuvikov
32452 <mr_hyro@yahoo.com>.
f19dbdb7 32453
790707f2 324542006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32455
32456 * kern/disk.c (grub_disk_read): When there is a read error, always
32457 try to read only the necessary data.
f19dbdb7 32458
790707f2 32459 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32460 disk/raid.c.
32461 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32462 prototype.
32463 [GRUB_UTIL] (grub_raid_fini): Likewise.
32464 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32465 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32466 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32467 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32468 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32469 and grub_raid_fini().
f19dbdb7 32470
03e58196 324712006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32472
32473 * include/grub/types.h (__unused): Rename to UNUSED.
32474 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32475 (grub_elf64_size): Likewise.
f19dbdb7 32476
ae4f23bf 324772006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32478
32479 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32480 grub_error_push and grub_error_pop in the error-handling path.
32481 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32482 length.
32483
2166cc83 324842006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32485
32486 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32487 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32489 (kernel_elf_SOURCES): Likewise.
32490 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32491 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32492 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32493 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32494 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32495 (elf_mod_SOURCES): New variable.
32496 (elf_mod_CFLAGS): Likewise.
32497 (elf_mod_LDFLAGS): Likewise.
32498 * include/grub/types.h (__unused): New macro.
32499 * include/grub/elfload.h: New file.
32500 * kern/elf.c: Likewise.
32501 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32502 (ELF32_LOADMASK): New macro.
32503 (ELF64_LOADMASK): Likewise.
32504 (vmlinux): Removed.
32505 (grub_linux_load32): New function.
32506 (grub_linux_load64): Likewise.
32507 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32508 Use grub_elf_t instead of grub_file_t.
32509
a09d5aa5 325102006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32511
32512 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32513 `catch_result' to struct set_color_args.
32514
d976fc51 325152006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32516
32517 * normal/menu.c: Include grub/script.h.
32518 * normal/menu_entry.c: Likewise.
32519 * include/grub/normal.h: Do not include grub/script.h.
32520
67507549 325212006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32522
32523 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32524
69203a99 325252006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32526
32527 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32528 disk.
32529 (grub_disk_close): Print debug messages when closing a disk.
32530 (grub_disk_read): Print debug messages when disk read fails.
32531 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32532 filesystem type.
32533 * kern/partition.c: Include misc.h.
32534 (grub_partition_iterate): Print debug messages when detecting
32535 partition type.
32536
e2b8278c 325372006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32538
32539 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32540 is negative.
32541 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32542
97b2f2ff 325432006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32544
32545 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32546 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32547
6555d655 325482006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32549
32550 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32551 instead of sizeof(lv). Patch by Michael Guntsche.
32552
4d42b77f 325532006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32554
32555 * disk/lvm.c: Rename VGS to VG_LIST.
32556 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32557 (grub_lvm_open): Likewise.
32558 Thanks to Michael Guntsche for finding this bug.
32559
5d74d927 325602006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32561
32562 * configure.ac (AC_INIT): Bumped to 1.95.
32563
a1bb27e4 325642006-10-14 Robert Millan <rmh@aybabtu.com>
32565
32566 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32567 with "/dev/.static/dev/md".
32568
e0994b8b 325692006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32570
32571 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32572 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32573 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32574 DRIVE_NAME are always freed.
32575
32576 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32577 DOS_PART, as a DOS partition is counted from one instead of zero
32578 now. Reported by Robert Millan.
32579
ddd5cee9 325802006-10-14 Robert Millan <rmh@aybabtu.com>
32581
32582 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32583 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32584 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32585 string returned by grub_guess_root_device.
32586 * util/i386/pc/grub-setup.c: Likewise.
32587 * util/i386/pc/grub-probefs.c: Likewise.
32588
32589 * util/i386/pc/grub-probefs.c: Rename to ...
32590 * util/i386/pc/grub-probe.c: ... this.
32591 * DISTLIST: Remove grub-probefs, add grub-probe.
32592 * conf/i386-efi.rmk: Likewise.
32593 * conf/i386-pc.rmk: Likewise.
32594 * util/i386/pc/grub-install.in: Likewise.
32595
32596 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32597 choose which information we want to print.
32598
2b002173 325992006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32600
32601 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32602 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32603 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32604 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32605 video/readers/tga.c and video/i386/pc/vbeutil.c.
32606
326072006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32608
32609 Added support for RAID and LVM.
f19dbdb7 32610
2b002173 32611 * disk/lvm.c: New file.
32612 * disk/raid.c: Likewise.
32613 * include/grub/lvm.h: Likewise.
f19dbdb7 32614 * include/grub/raid.h: Likewise.
2b002173 32615 * include/grub/util/lvm.h: Likewise.
32616 * include/grub/util/raid.h: Likewise.
32617 * util/lvm.c: Likewise.
32618 * util/raid.c: Likewise.
32619
32620 * include/grub/disk.h (grub_disk_dev_id): Add
32621 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32622 (grub_disk_get_size): New prototype.
32623 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32624 returns a partition.
32625 (grub_disk_get_size): New function.
f19dbdb7 32626
2b002173 32627 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32628 verbatim if grub_install_dos_part is -2.
32629
32630 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32631 and LVM devices.
32632
32633 * util/i386/pc/grub-setup.c (setup): New argument
32634 MUST_EMBED. Force embedding of GRUB when the argument is
32635 true. Close FILE before returning.
32636 (main): Add support for RAID and LVM.
f19dbdb7 32637
2b002173 32638 * conf/common.rmk: Add RAID and LVM modules.
32639 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32640 util/lvm.c.
32641 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32642
32643 * kern/misc.c (grub_strstr): New function.
32644 * include/grub/misc.h (grub_strstr): New prototype.
32645
050548d0 326462006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32647
32648 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32649
da849d2d 326502006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32651
32652 * kern/misc.c (grub_strtoull): Guess the base only if not
32653 specified.
32654
97b2f2ff 326552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32656
32657 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32658 PowerMac support.
32659
97b2f2ff 326602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32661
32662 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32663
32664 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32665 Remove `flags' argument. All callers changed.
32666 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32667 (IEEE1275_IHANDLE_INVALID): New variable.
32668 (IEEE1275_CELL_INVALID): New variable.
32669 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32670 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32671 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32672 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32673 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32674 codes from Open Firmware. All callers updated.
32675 (grub_ieee1275_next_property): Directly return Open Firmware return
32676 code.
32677 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32678 Standardize error checking from `grub_ieee1275_get_property'.
32679 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32680 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32681
97b2f2ff 326822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32683
32684 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32685 `instance_to_package_args' to `instance_to_path_args'.
32686
32687 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32688 `grub_ieee1275_chosen'.
32689
32690 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32691 `grub_ieee1275_interpret'.
32692
97b2f2ff 326932006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32694
32695 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32696
97b2f2ff 326972006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32698
32699 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32700 (__cmpdi): Likewise.
32701
32702 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32703 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32704 `grub_ssize_t'.
32705
02bb8acc 32706 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32707
32708 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32709 to type `grub_ssize_t'.
32710 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32711
7f9a8531 327122006-09-22 Marco Gerards <marco@gnu.org>
32713
32714 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32715 newlines.
32716
b5ef1102 327172006-09-22 Marco Gerards <marco@gnu.org>
32718
32719 * commands/echo.c: New file.
32720
32721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32722
32723 * conf/common.rmk (echo_mod_SOURCES): New variable.
32724 (echo_mod_CFLAGS): Likewise.
32725 (echo_mod_LDFLAGS): Likewise.
32726
2cff3677 327272006-09-22 Marco Gerards <marco@gnu.org>
32728
32729 * normal/main.c (get_line): Malloc memory instead of using
32730 preallocated memory. Removed the arguments `cmdline' and
32731 `max_len'. Updated all callers.
32732
6ba4688b 327332006-09-22 Marco Gerards <marco@gnu.org>
32734
32735 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32736 (normal_mod_DEPENDENCIES): Likewise.
32737
32738 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32739 (normal_mod_DEPENDENCIES): Likewise.
32740
32741 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32742
e02ac02c 327432006-09-22 Johan Rydberg <jrydberg@gnu.org>
32744
32745 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32746 programs.
32747 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32748 (normal_mod_DEPENDENCIES): Likewise.
32749 * conf/i386-pc.mk: Regenerate.
32750 * conf/i386-efi.mk: Likewise
32751 * conf/common.mk: Likewise.
32752 * conf/powerpc-ieee1275.mk: Likewise.
32753 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32754
8d252e44 327552006-09-22 Robert Millan <rmh@aybabtu.com>
32756
32757 Sync with i386 version.
32758 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32759 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32760
209bf7ac 327612006-09-21 Robert Millan <rmh@aybabtu.com>
32762
32763 Import from GRUB Legacy (lib/device.c):
32764 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32765 (init_device_map) [__linux__]: Add support for I2O devices.
32766
6b146090 327672006-09-14 Marco Gerards <marco@gnu.org>
32768
32769 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32770 `-melf_i386'.
32771
e38600a8 327722006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32773
32774 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32775 /boot/grub/*.lst.
78fa1790 32776
2952da5d 32777 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32778
2952da5d 32779 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32780 before adding it to device.map.
32781
01b82a64 327822006-08-15 Johan Rydberg <jrydberg@gnu.org>
32783
fe6b695a 32784 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32785 compiles a file; using the -MD option.
32786 * conf/common.mk: Regenerate.
32787 * conf/i386-pc.mk: Likewise.
32788 * conf/i386-efi.mk: Likewise.
32789 * conf/powerpc-ieee1275.mk: Likewise.
32790 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32791
1064790d 327922006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32793
32794 Move the prototypes of grub_setjmp and grub_longjmp to
32795 cpu/setjmp.h, so that each architecture may specify different
32796 attributes.
f19dbdb7 32797
1064790d 32798 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32799 (grub_longjmp): Likewise.
32800 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32801 (grub_longjmp): Likewise.
32802 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32803 (grub_longjmp): Likewise.
32804
32805 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32806 [!GRUB_UTIL] (grub_longjmp): Removed.
32807
29dda3ed 328082006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32809
32810 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32811 "color!" method does not return any value.
32812
ad2a06ed 328132006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32814
32815 * include/grub/bitmap.h: New file.
32816
32817 * include/grub/i386/pc/vbeutil.h: Likewise.
32818
32819 * video/bitmap.c: Likewise.
32820
32821 * video/readers/tga.c: Likewise.
32822
32823 * video/i386/pc/vbeutil.c: Likewise.
32824
32825 * commands/videotest.c: Code cleanup and updated to reflect to new
32826 video API.
32827
32828 * term/gfxterm.c: Likewise.
32829
32830 * video/video.c: Likewise.
32831
32832 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32833 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32834 (bitmap_mod_SOURCES): New entry.
32835 (bitmap_mod_CFLAGS): Likewise.
32836 (bitmap_mod_LDFLAGS): Likewise.
32837 (tga_mod_SOURCES): Likewise.
32838 (tga_mod_CFLAGS): Likewise.
32839 (tga_mod_LDFLAGS): Likewise.
32840
32841 * include/grub/video.h (grub_video_blit_operators): New enum type.
32842 (grub_video_render_target): Changed as forward declaration and moved
32843 actual definition to be video driver specific.
32844 (grub_video_adapter.blit_bitmap): Added blitting operator.
32845 (grub_video_adapter.blit_render_target): Likewise.
32846 (grub_video_blit_bitmap): Likewise.
32847 (grub_video_blit_render_target): Likewise.
32848
32849 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32850 driver specific render target definition.
32851 (grub_video_vbe_map_rgba): Added driver internal helper.
32852 (grub_video_vbe_unmap_color): Updated to use
32853 grub_video_i386_vbeblit_info.
32854 (grub_video_vbe_get_video_ptr): Likewise.
32855
32856 * include/grub/i386/pc/vbeblit.h
32857 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32858 grub_video_i386_vbeblit_info.
32859 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32860 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32861 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32862 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32863 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32864 (grub_video_i386_vbeblit_index_index): Likewise.
32865 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32866 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32867 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32868 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32869 operator.
32870 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32871 operator.
32872
32873 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32874 include/grub/i386/pc/vbeblit.h.
32875
32876 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32877 Updated to use grub_video_i386_vbeblit_info.
32878 (grub_video_i386_vbefill_R8G8B8): Likewise.
32879 (grub_video_i386_vbefill_index): Likewise.
32880 (grub_video_i386_vbefill): Added generic filler.
32881
32882 * video/i386/pc/vbefill.c: Updated to reflect changes on
32883 include/grub/i386/pc/vbefill.h.
32884
32885 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32886 grub_video_i386_vbeblit_info.
32887 (grub_video_vbe_unmap_color): Likewise.
32888 (grub_video_vbe_blit_glyph): Likewise.
32889 (grub_video_vbe_scroll): Likewise.
32890 (grub_video_vbe_draw_pixel): Removed function.
32891 (grub_video_vbe_get_pixel): Likewise.
32892 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32893 updated code to use it.
32894 (common_blitter): Added common blitter for render target and bitmap.
32895 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32896 (grub_video_vbe_blit_render_target): Likewise.
32897
bc8c036d 328982006-07-30 Johan Rydberg <jrydberg@gnu.org>
32899
32900 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32901 is in text mode if there is no console control protocol instance
32902 available.
32903
684a8eff 329042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32905
32906 * include/grub/video.h: Code cleanup.
32907
32908 * include/grub/i386/pc/vbe.h: Likewise.
32909
32910 * video/i386/pc/vbe.c: Likewise.
32911
32912 * video/i386/pc/vbeblit.c: Likewise.
32913
32914 * video/i386/pc/vbefill.c: Likewise.
32915
32916 * video/video.c: Likewise. Also added more comments.
32917
5915059b 329182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32919
32920 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32921 (struct grub_biosdisk_dap): Likewise.
32922
32923 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32924 linkage settings for all functions.
32925
90ce5d56 329262006-07-12 Marco Gerards <marco@gnu.org>
32927
32928 * configure.ac (--enable-mm-debug): Fix typo.
32929
32930 * genkernsyms.sh.in: Use proper quoting for `CC'.
32931
43e7f879 329322006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32933
32934 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32935 (normal_mod_ASFLAGS): Remove "-m32".
32936
4889bdec 329372006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32938
32939 * util/misc.c: Include config.h.
32940 [!HAVE_MEMALIGN]: Do not include malloc.h.
32941 (grub_memalign): Use posix_memalign, if present. Then, use
32942 memalign, if present. Otherwise, emit an error.
32943
32944 * util/grub-emu.c: Do not include malloc.h.
32945
32946 * include/grub/util/misc.h: Include unistd.h. This is required for
32947 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32948 D. Eades III <hde@foobar-qux.org>.
32949
32950 * configure.ac (AC_GNU_SOURCE): Added.
32951 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32952 type.
32953
fd39d4da 329542006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32955
32956 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32957 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32958
b786f3b5 329592006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32960
32961 * include/grub/types.h (grub_host_addr_t): Rename to
32962 grub_target_addr_t.
32963 (grub_host_off_t): Rename to grub_target_off_t.
32964 (grub_host_size_t): Rename to grub_target_size_t.
32965 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32966 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32967
32968 * include/grub/kernel.h (struct grub_module_header): Change type
32969 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32970 (grub_module_info): Likewise.
f19dbdb7 32971
051988bb 329722006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32973
32974 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32975 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32976 Velazquez <jesus.velazquez@gmail.com>.
32977
deae281b 329782006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32979
32980 Count partitions from 1 instead of 0 in the string representation
32981 of partitions. Still use 0-based internally.
f19dbdb7 32982
deae281b 32983 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32984 (sun_partition_map_iterate): Use grub_partition_t instead of
32985 struct grub_partition *. Cast DESC->START_CYLINDER to
32986 grub_uint64_t after converting the endian.
32987 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32988 (sun_partition_map_get_name): Add 1 to P->INDEX.
32989
32990 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32991 PCDATA->DOS_PART.
32992 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32993
32994 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32995 zero instead of one.
32996 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32997 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32998
32999 * partmap/apple.c (apple_partition_map_iterate): Change the type
33000 of POS to unsigned.
33001 (apple_partition_map_probe): Subtract 1 for PARTNUM.
33002 (apple_partition_map_get_name): Add 1 into P->INDEX.
33003
33004 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
33005 of POS to unsigned.
33006 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
33007 calculate the offset of a partition.
33008 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
33009 (amiga_partition_map_get_name): Add 1 into P->INDEX.
33010
33011 * partmap/acorn.c (acorn_partition_map_find): Change the type of
33012 SECTOR to grub_disk_addr_t.
33013 (acorn_partition_map_iterate): Likewise.
33014 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
33015 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
33016 top.
33017 (acorn_partition_map_get_name): Add 1 into P->INDEX.
33018
33019 * kern/i386/pc/init.c (make_install_device): Add 1 into
33020 GRUB_INSTALL_DOS_PART.
33021
33022 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
33023 conditional.
33024
524a1e6a 330252006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33026
33027 Clean up the code to support 64-bit addressing in disks and
33028 files. This change is not enough for filesystems yet.
f19dbdb7 33029
524a1e6a 33030 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
33031 type of "start" to grub_uint64_t.
33032 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
33033 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
33034 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
33035 convert addresses.
33036
33037 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
33038 to grub_disk_addr_t.
33039
33040 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
33041 string.
33042
33043 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33044
33045 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
33046 to char *.
33047
33048 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
33049
33050 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
33051
33052 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
33053
33054 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
33055 to grub_off_t, to detect an error from grub_file_seek.
33056 (grub_multiboot_load_elf32): Likewise.
33057
33058 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
33059 maximum unsigned long value when an overflow is detected.
33060 (grub_strtoull): New function.
33061 (grub_divmod64): Likewise.
33062 (grub_lltoa): use grub_divmod64.
33063
33064 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
33065 grub_disk_addr_t.
33066 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
33067 the pointer to next character. Use grub_strtoull instead of
33068 grub_strtoul.
33069 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
33070 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
33071 respectively.
33072
fe6b695a 33073 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 33074 return value is signed.
33075 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
33076 test if OFFSET is less than zero, as OFFSET is unsigned now.
33077
33078 * kern/disk.c (struct grub_disk_cache): Change the type of
33079 "sector" to grub_disk_addr_t.
33080 (grub_disk_cache_get_index): Change the type of SECTOR to
33081 grub_disk_addr_t. Calculate the hash with SECTOR casted to
33082 unsigned after shifting.
33083 (grub_disk_cache_invalidate): Change the type of SECTOR to
33084 grub_disk_addr_t.
33085 (grub_disk_cache_unlock): Likewise.
33086 (grub_disk_cache_store): Likewise.
33087 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
33088 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
33089 grub_disk_addr_t and grub_uint64_t, respectively.
33090 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
33091 body, as the value of OFFSET is tweaked by
33092 grub_disk_check_range. Change the types of START_SECTOR, LEN and
33093 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
33094 respectively.
33095 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
33096 body, as the value of OFFSET is tweaked by
33097 grub_disk_check_range. Change the types of LEN and N to
33098 grub_size_t.
33099
33100 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
33101 and "saved_offset" to grub_off_t.
33102 (test_header): Cast BUF to char *.
33103 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
33104 to char *.
33105 (grub_gzio_read): Change the types of OFFSET and SIZE to
33106 grub_off_t and grub_size_t, respectively.
33107
33108 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
33109 Removed.
33110 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
33111 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
33112 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
33113 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
33114 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
33115
33116 * include/grub/types.h (grub_off_t): Unconditionally set to
33117 grub_uint64_t.
33118 (grub_disk_addr_t): Changed to grub_uint64_t.
33119
33120 * include/grub/partition.h (struct grub_partition): Change the
33121 types of "start", "len" and "offset" to grub_disk_addr_t,
33122 grub_uint64_t and grub_disk_addr_t, respectively.
33123 (grub_partition_get_start): Return grub_disk_addr_t.
33124 (grub_partition_get_len): Return grub_uint64_t.
33125
33126 * include/grub/misc.h (grub_strtoull): New prototype.
33127 (grub_divmod64): Likewise.
33128
33129 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
33130 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
33131 grub_off_t, respectively.
33132 All callers and references changed.
33133
33134 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
33135 grub_size_t in "read".
33136 All callers and references changed.
33137
33138 * include/grub/file.h (struct grub_file): Change the types of
33139 "offset" and "size" to grub_off_t and grub_off_t,
33140 respectively. Change the type of SECTOR to grub_disk_addr_t in
33141 "read_hook".
33142 (grub_file_read): Change the type of LEN to grub_size_t.
33143 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
33144 grub_off_t.
33145 (grub_file_size): Return grub_off_t.
33146 (grub_file_tell): Likewise.
33147 All callers and references changed.
33148
33149 * include/grub/disk.h (struct grub_disk_dev): Change the types of
33150 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
33151 "write".
33152 (struct grub_disk): Change the type of "total_sectors" to
33153 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 33154 "read_hook".
524a1e6a 33155 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
33156 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
33157 (grub_disk_write): Likewise.
33158 All callers and references changed.
33159
33160 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
33161 char * for grub_strncmp to silence gcc.
33162 (grub_iso9660_mount): Likewise.
33163 (grub_iso9660_mount): Likewise.
33164 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
33165 return statement.
33166 (grub_iso9660_iterate_dir): Likewise.
33167 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
33168
33169 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
33170 LEN to grub_disk_addr_t and grub_size_t, respectively.
33171
33172 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33173
33174 * fs/jfs.c (grub_jfs_read_file): Likewise.
33175
33176 * fs/minix.c (grub_jfs_read_file): Likewise.
33177
33178 * fs/sfs.c (grub_jfs_read_file): Likewise.
33179
33180 * fs/ufs.c (grub_jfs_read_file): Likewise.
33181
33182 * fs/xfs.c (grub_jfs_read_file): Likewise.
33183
33184 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
33185 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
33186 respectively.
33187
33188 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
33189 BLKNR to -1 instead of returning GRUB_ERRNO.
33190 (grub_ext2_read_file): Change the types of SECTOR and
33191 LEN to grub_disk_addr_t and grub_size_t, respectively.
33192
33193 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
33194 LEN to grub_disk_addr_t and grub_size_t, respectively.
33195
33196 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
33197 grub_file_read.
33198
33199 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
33200 string. Do not cast SECTOR explicitly.
33201
33202 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
33203 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
33204 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
33205 grub_disk_addr_t and grub_size_t, respectively. If the sector is
33206 over 2TB and LBA mode is not supported, raise an error.
33207 (get_safe_sectors): New function.
33208 (grub_biosdisk_read): Use get_safe_sectors.
33209 (grub_biosdisk_write): Likewise.
33210
33211 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
33212 (grub_efidisk_write): Likewise.
33213
33214 * disk/loopback.c (delete_loopback): Cosmetic changes.
33215 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
33216 correctly.
33217 (grub_loopback_open): Likewise.
33218 (grub_loopback_read): Likewise. Also, change the type of POS to
33219 grub_off_t, and fix the usage of grub_memset.
33220
33221 * commands/i386/pc/play.c: Include grub/machine/time.h.
33222
33223 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
33224 print FILE->SIZE.
33225
33226 * commands/configfile.c: Include grub/env.h.
33227
33228 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
33229 GRUB_ERRNO directly instead. Change the type of POS to
33230 grub_off_t. Follow the coding standard.
33231
33232 * commands/blocklist.c: Include grub/partition.h.
33233 (grub_cmd_blocklist): Return an error if the underlying device is
33234 not a disk. Take the starting sector of a partition into account,
33235 if a partition is used.
33236
33237 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
33238 a length field.
33239 (lba_mode): Support 64-bit addresses.
33240 (chs_mode): Likewise.
33241 (copy_buffer): Adapted to the new offsets of a length field and a
33242 segment field.
33243 (blocklist_default_start): Allocate 64-bit space.
33244
33245 * boot/i386/pc/boot.S (force_lba): Removed.
33246 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 33247 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 33248 space.
33249 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
33250 is useless.
33251 (lba_mode): Refactored to support a 64-bit address. More size
33252 optimization.
33253 (setup_sectors): Likewise.
33254
53af98ad 332552006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33256
33257 * DISTLIST: Added include/grub/i386/linux.h. Removed
33258 include/grub/i386/pc/linux.h
33259
33260 * configure.ac (AC_INIT): Bumped to 1.94.
33261
33262 * config.guess: Updated from gnulib.
33263 * config.sub: Likewise.
33264 * install-sh: Likewise.
33265 * mkinstalldirs: Likewise.
33266
b4c1940a 332672006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33268
33269 * conf/common.rmk (grub_modules_init.lst): Depended on
33270 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
33271 MODSRCFILES.
33272
33273 * genmk.rb (PModule::rule): Reverted the previous change.
33274
cfca1cfd 332752006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33276
33277 * conf/common.rmk (grub_modules_init.lst): Depends on
33278 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
33279 that the target does not exist before producing.
33280 (grub_modules_init.h): Remove the target before generating.
33281 (grub_emu_init.c): Likewise.
33282
33283 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
33284
aa6d7826 332852006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
33286
33287 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
33288 for the target-specific tests. Make sure that we also have the
33289 up-to-date target variables for those tests.
33290
26c607b9 332912006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33292
33293 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
33294 (PModule::rule): Likewise.
33295
0162321a 332962006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33297
33298 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
33299 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
33300 target-specific flags should be prefixed.
33301 (PModule::rule): Likewise.
33302
6c826348 333032006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
33304
33305 * configure.ac (CMP): Check if cmp is available explicitly.
33306
b977bf01 333072006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33308
33309 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33310 (target_cpu): New variable.
33311 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 33312
b977bf01 33313 * util/i386/pc/grub-install.in (host_cpu): Removed.
33314 (target_cpu): New variable.
33315 (pkglibdir): Use target_cpu instead of host_cpu.
33316
33317 * util/genmoddep.c: Removed.
f19dbdb7 33318
b977bf01 33319 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33320 instead of GRUB_HOST_SIZEOF_VOID_P.
33321 * kern/dl.c: Likewise.
33322
33323 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33324 ...
33325 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33326 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33327 (GRUB_TARGET_SIZEOF_LONG): ... this.
33328 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33329 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33330 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33331 to ...
33332 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33333 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33334 (GRUB_TARGET_SIZEOF_LONG): ... this.
33335 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33336 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33337 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33338 to ...
33339 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33340 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33341 (GRUB_TARGET_SIZEOF_LONG): ... this.
33342 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33343 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33344
33345 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33346 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33347 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33348 instead of GRUB_HOST_SIZEOF_LONG.
33349 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33350 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33351 GRUB_CPU_WORDS_BIGENDIAN.
33352 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33353 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33354 grub_host_ssize_t.
33355
33356 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33357 (genmoddep_SOURCES): Likewise.
33358 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33359 (genmoddep_SOURCES): Likewise.
33360 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33361 (genmoddep_SOURCES): Likewise.
33362 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33363 Likewise.
33364 (genmoddep_SOURCES): Likewise.
33365
33366 * genmoddep.awk: New file.
33367
33368 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33369 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33370 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33371 (PModule::rule): Likewise.
33372 (Program::rule): Likewise.
33373 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33374 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33375 respectively.
33376
33377 * configure.ac: Rewritten intensively to use host and target
33378 instead of build and host, respectively.
33379
33380 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33381 (host_cpu): Removed.
33382 (target_cpu): New variable.
33383 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33384 (BUILD_CC): Removed.
33385 (BUILD_CFLAGS): Likewise.
33386 (BUILD_CPPFLAGS): Likewise.
33387 (TARGET_CC): New variable.
33388 (TARGET_CFLAGS): Likewise.
33389 (TARGET_CPPFLAGS): Likewise.
33390 (TARGET_LDFLAGS): Likewise.
33391 (AWK): Likewise.
33392 (include): Use target_cpu instead of host_cpu.
33393 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 33394
b977bf01 33395 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33396
f09771a1 333972006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33398
33399 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33400 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33401 field 'false' to 'exec_on_false'.
33402 (grub_script_create_cmdif): Renamed argument names to reflect above
33403 changes.
33404
33405 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33406
33407 * normal/script.c (grub_script_create_cmdif): Likewise.
33408
118f4fb3 334092006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33410
33411 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33412 top.
33413 (grub_hfsplus_btree_recptr): Likewise.
33414 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33415 FILEBLOCK both to pass a block number and store next block
33416 number.
33417 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33418 overflow file correctly. Specify errors appropriately, because
33419 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33420 grub_hfsplus_btree_recptr to get the pointer to a found key.
33421 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33422 is found.
33423
33424 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33425 linux.mod.
33426 (_linux_mod_SOURCES): New variable.
33427 (_linux_mod_CFLAGS): Likewise.
33428 (_linux_mod_LDFLAGS): Likewise.
33429 (linux_mod_SOURCES): Likewise.
33430 (linux_mod_CFLAGS): Likewise.
33431 (linux_mod_LDFLAGS): Likewise.
33432
33433 * DISTLIST: Added loader/i386/efi/linux.c,
33434 loader/i386/efi/linux_normal.c and
33435 include/grub/i386/efi/loader.h.
33436
33437 * loader/i386/efi/linux.c: New file.
33438 * loader/i386/efi/linux_normal.c: Likewise.
33439 * include/grub/i386/efi/loader.h: Likewise.
33440
89a7d726 334412006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33442
33443 * commands/blocklist.c: New file.
33444
33445 * DISTLIST: Added commands/blocklist.c.
33446
33447 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33448 color for the background, and a darker color for the foreground.
89a7d726 33449 (grub_console_checkkey): Return READ_KEY.
33450 (grub_console_cls): Set the background to
33451 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33452
33453 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33454
33455 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33456 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33457
33458 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33459 prototype.
33460
33461 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33462 BG. The spec is wrong again.
33463
33464 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33465 prototype.
33466 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33467
33468 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33469 commands/blocklist.c.
33470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33471
89a7d726 33472 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33473 (blocklist_mod_SOURCES): New variable.
33474 (blocklist_mod_CFLAGS): Likewise.
33475 (blocklist_mod_LDFLAGS): Likewise.
33476
75c8f258 334772006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33478
33479 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33480 duplication.
33481 (lba_mode): Use %eax more intensively to reduce the code size.
33482
da2eb181 334832006-05-20 Marco Gerards <marco@gnu.org>
33484
33485 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33486
33487 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33488 for `menuentry'.
33489 (script): Accept leading newlines.
33490 (newlines): New rule to describe 0 or more newlines.
33491 (commands): Accept `command' with trailing newline. Fixed the
33492 order in which arguments were passed to `grub_script_add_cmd'.
33493 Accept commands separated by newlines.
33494 (function): Changed to accept newlines.
33495 (menuentry) Rewritten.
33496
33497 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33498 front of the list, instead of to the end.
33499
577b4050 335002006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33501
33502 * util/i386/pc/grub-install.in (bindir): New variable.
33503 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33504 Shaver <lbgwjl@gmail.com>.
33505
0d6e1189 335062006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33507
33508 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33509 grub/machine/linux.h
33510 * loader/i386/pc/linux.c: Likewise.
33511
33512 * include/grub/i386/pc/linux.h: Moved to ...
33513 * include/grub/i386/linux.h: ... here.
33514
33515 * include/grub/i386/linux.h (struct linux_kernel_params): New
33516 struct.
f19dbdb7 33517
31b86e9f 335182006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33519
33520 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33521 checking.
33522 (grub_video_vbe_blit_glyph): Likewise.
33523 (grub_video_vbe_blit_bitmap): Likewise.
33524 (grub_video_vbe_blit_render_target): Likewise.
33525
83b984de 335262006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33527
33528 * configure.ac (--with-platform): Properly quote the square
33529 brackets.
33530
5f0413bd 335312006-05-08 Marco Gerards <marco@gnu.org>
33532
33533 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33534 this...
33535 (kernel_elf_HEADERS): ...to this. Updated all users.
33536 (grubof_symlist.c): Renamed from this...
33537 (kernel_elf_symlist.c): ...to this. Updated all users.
33538 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33539 (grubof_SOURCES): Renamed from this...
33540 (kernel_elf_SOURCES): ...to this.
33541 (grubof_HEADERS): Renamed from this...
33542 (kernel_elf_HEADERS): ...to this.
33543 (grubof_CFLAGS): Renamed from this...
33544 (kernel_elf_CFLAGS): ...to this.
33545 (grubof_ASFLAGS): Renamed from this...
33546 (kernel_elf_ASFLAGS): ...to this.
33547 (grubof_LDFLAGS): Renamed from this...
33548 (kernel_elf_LDFLAGS): ...to this.
33549
33550 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33551 this...
33552 (kernel_elf_HEADERS): ...to this. Updated all users.
33553 (grubof_symlist.c): Renamed from this...
33554 (kernel_elf_symlist.c): ...to this. Updated all users.
33555 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33556 (grubof_SOURCES): Renamed from this...
33557 (kernel_elf_SOURCES): ...to this.
33558 (grubof_HEADERS): Renamed from this...
33559 (kernel_elf_HEADERS): ...to this.
33560 (grubof_CFLAGS): Renamed from this...
33561 (kernel_elf_CFLAGS): ...to this.
33562 (grubof_ASFLAGS): Renamed from this...
33563 (kernel_elf_ASFLAGS): ...to this.
33564 (grubof_LDFLAGS): Renamed from this...
33565 (kernel_elf_LDFLAGS): ...to this.
33566
33567 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33568 `kernel.elf' instead of `grubof'.
33569
05568c2e 335702006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33571
33572 Add --with-platform to configure. Use pkglibdir instead of
33573 pkgdatadir. This is reported by Roger Leigh.
33574
33575 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33576 (host_vendor): Likewise.
33577 (host_os): Likewise.
33578 (pkgdatadir): Likewise.
33579 (platform): New variable.
33580 (pkglibdir): Likewise.
33581 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33582
05568c2e 33583 * util/i386/pc/grub-install.in (datadir): Removed.
33584 (host_vendor): Likewise.
33585 (host_os): Likewise.
33586 (pkgdatadir): Likewise.
33587 (platform): New variable.
33588 (pkglibdir): Likewise.
33589 Use PKGLIBDIR instead of PKGDATADIR.
33590
33591 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33592 instead of GRUB_DATADIR.
33593 (main): Likewise.
33594 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33595 (main): Likewise.
33596 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33597 (main): Likewise.
33598
33599 * configure.ac (--with-platform): New option.
33600 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33601
33602 * Makefile.in: Include a makefile based on PLATFORM instead of
33603 HOST_VENDOR.
33604 (pkgdatadir): Not appended by the machine type.
33605 (pkglibdir): Appended by the machine type.
33606 (host_vendor): Removed.
33607 (platform): New variable.
33608 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33609 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33610 (uninstall): Likewise.
33611
4e93851c 336122006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33613
33614 Use the environment context in the menu. Remove the commands
33615 "default" and "timeout", and use variables instead.
f19dbdb7 33616
4e93851c 33617 * normal/menu.c: Include grub/env.h.
33618 (print_entry): Cast TITLE to silence gcc.
33619 (get_timeout): New function.
33620 (set_timeout): Likewise.
33621 (get_entry_number): Likewise.
33622 (run_menu): Use a default entry, a fallback entry and a timeout
33623 in the environment variables "default", "fallback" and
33624 "timeout". Also, tweak the default entry if it is not within the
33625 current menu entries.
33626 (grub_menu_run): Use a fallback entry in the environment variable
33627 "fallback".
33628
33629 * normal/main.c (read_config_file): Do not initialize
33630 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33631 NEWMENU->TIMEOUT.
33632 (grub_normal_execute): Use a data slot to store the menu.
33633
33634 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33635 fallback_entry and timeout.
33636 (struct grub_menu_list): Removed.
33637 (grub_menu_list_t): Likewise.
33638 (struct grub_context): Likewise.
33639 (grub_context_t): Likewise.
33640 (grub_context_get): Likewise.
33641 (grub_context_get_current_menu): Likewise.
33642 (grub_context_push_menu): Likewise.
33643 (grub_context_pop_menu): Likewise.
33644 (grub_default_init): Likewise.
33645 (grub_default_fini): Likewise.
33646 (grub_timeout_init): Likewise.
33647 (grub_timeout_fini): Likewise.
33648
33649 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33650 and timeout.mod.
33651 (normal_mod_SOURCES): Removed normal/context.c.
33652
33653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33654 commands/default.c, commands/timeout.c and normal/context.c.
33655 (normal_mod_SOURCES): Removed normal/context.c.
33656
33657 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33658 commands/timeout.c and normal/context.c.
33659 (normal_mod_SOURCES): Removed normal/context.c.
33660
33661 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33662 commands/default.c, commands/timeout.c and normal/context.c.
33663 (normal_mod_SOURCES): Removed normal/context.c.
33664
33665 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33666 timeout.mod.
33667 (default_mod_SOURCES): Removed.
33668 (default_mod_CFLAGS): Likewise.
33669 (default_mod_LDFLAGS): Likewise.
33670 (timeout_mod_SOURCES): Removed.
33671 (timeout_mod_CFLAGS): Likewise.
33672 (timeout_mod_LDFLAGS): Likewise.
33673
33674 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33675 normal/context.c.
33676
33677 * commands/default.c: Removed.
33678 * commands/timeout.c: Likewise.
33679 * normal/context.c: Likewise.
33680
1eb9cc1d 336812006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33682
33683 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33684
385bd9c1 336852006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33686
33687 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33688 "next" to "prev" for readability.
33689 (struct grub_env_sorted_var): New struct.
33690 (grub_env_context): Renamed to ...
33691 (initial_context): ... this.
33692 (grub_env_var_context): Renamed to ...
33693 (current_context): ... this.
33694 (grub_env_find): Look only at CURRENT_CONTEXT.
33695 (grub_env_context_open): Rewritten to copy exported variables from
33696 previous context.
33697 (grub_env_context_close): Rewritten according to the new
33698 scheme. Also, add an assertion to prevent the initial context from
33699 removed.
33700 (grub_env_insert): Removed the code for the sorted list.
33701 (grub_env_remove): Likewise.
33702 (grub_env_export): Simply mark the variable with
33703 GRUB_ENV_VAR_GLOBAL.
33704 (grub_env_set): A cosmetic change for naming consistency.
33705 (grub_env_get): Likewise.
33706 (grub_env_unset): Likewise.
33707 (grub_env_iterate): Rewritten to sort variables within this
33708 function.
33709 (grub_register_variable_hook): Fixed for naming consistency. Call
33710 grub_env_find again, only if NAME is not found at the first time.
33711 (mangle_data_slot_name): New function.
33712 (grub_env_set_data_slot): Likewise.
33713 (grub_env_get_data_slot): Likewise.
33714 (grub_env_unset_data_slot): Likewise.
33715
33716 * include/grub/env.h (grub_env_var_type): New enum.
33717 (GRUB_ENV_VAR_LOCAL): New constant.
33718 (GRUB_ENV_VAR_GLOBAL): Likewise.
33719 (GRUB_ENV_VAR_DATA): Likewise.
33720 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33721 "type".
33722 (grub_env_set): Replace VAR with NAME for consistency.
33723 (grub_register_variable_hook): Likewise.
33724 (grub_env_export): Specify the name of the argument.
33725 (grub_env_set_data_slot): New prototype.
33726 (grub_env_get_data_slot): Likewise.
33727 (grub_env_unset_data_slot): Likewise.
33728
7f362539 337292006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33730
33731 Extend the loader so that GRUB can accept a loader which comes
33732 back to GRUB when a loaded image exits. Also, this change adds
33733 support for a chainloader on EFI.
f19dbdb7 33734
7f362539 33735 * term/efi/console.c: Include grub/misc.h.
33736 (grub_console_checkkey): Display a scan code on the top for
33737 debugging. This will be removed once the EFI port gets stable.
33738 Correct the scan code mapping.
33739
33740 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33741 allocate memory from larger regions, in order to reduce the number
33742 of allocated regions. Otherwise, the MacOSX loader panics.
33743 (filter_memory_map): Avoid less than 1MB for compatibility with
33744 other loaders.
33745 (add_memory_regions): Allocate from the tail of a region, if
33746 possible, to avoid allocating a region near to 1MB, for the MacOSX
33747 loader.
33748
33749 * kern/efi/init.c (grub_efi_set_prefix): Specify
33750 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33751
33752 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33753 argument IMAGE_HANDLE and specify it to get a loaded image.
33754 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33755 grub_efi_get_loaded_image.
fe6b695a 33756 (grub_efi_get_filename): Divide the length by the size of
7f362539 33757 grub_efi_char16_t.
33758 (grub_efi_get_device_path): New function.
33759 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33760 the length by the size of grub_efi_char16_t for a file path device
33761 path node.
33762
33763 * kern/loader.c (grub_loader_noreturn): New variable.
33764 (grub_loader_set): Accept a new argument NORETURN. Set
33765 GRUB_LOADER_NORETURN to NORETURN.
33766 All callers changed.
33767 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33768 grub_machine_fini.
33769
33770 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33771 prototype.
33772 (grub_efi_get_loaded_image): Take an argument to specify an image
33773 handle.
33774
33775 * include/grub/loader.h (grub_loader_set): Added one more argument
33776 NORETURN.
33777
33778 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33779 instead of grub_efi_open_protocol.
33780 (grub_efidisk_get_device_name): Likewise.
33781 (grub_efidisk_close): Print a newline.
33782 (grub_efidisk_get_device_handle): Fixed to use
33783 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33784 GRUB_EFI_DEVICE_PATH_TYPE.
33785
33786 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33787 * kern/efi/efi.c (device_path_guid): ... here.
33788
33789 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33790 chain.mod.
33791 (kernel_mod_HEADERS): Added efi/disk.h.
33792 (_chain_mod_SOURCES): New variable.
33793 (_chain_mod_CFLAGS): Likewise.
33794 (_chain_mod_LDFLAGS): Likewise.
33795 (chain_mod_SOURCES): Likewise.
33796 (chain_mod_CFLAGS): Likewise.
33797 (chain_mod_LDFLAGS): Likewise.
33798
33799 * DISTLIST: Added include/grub/efi/chainloader.h,
33800 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33801
33802 * include/grub/efi/chainloader.h: New file.
33803 * loader/efi/chainloader.c: Likewise.
33804 * loader/efi/chainloader_normal.c: Likewise.
33805
c0111d6e 338062006-04-30 Marco Gerards <marco@gnu.org>
33807
33808 * commands/configfile.c (grub_cmd_source): New function.
33809 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33810 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33811
df5341da 338122006-04-30 Marco Gerards <marco@gnu.org>
33813
33814 * normal/execute.c (grub_script_execute_cmd): Change the return
33815 type to `grub_err_t'. Correctly return the error.
33816 (grub_script_execute_cmdline): In case a command line is not a
33817 command or a function, try to interpret it as an assignment.
33818
f85934bd 338192006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33820
33821 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33822 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33823 skip a node whose name is obviously invalid as UTF-16,
33824 i.e. contains a NUL character. Stop the iteration when the last
33825 directory entry is found. Instead of using the return value of
33826 grub_hfsplus_btree_iterate_node, store the value in RET and use
33827 it, because the iterator can be stopped by the last directory
33828 entry.
33829
8f8a2cf8 338302006-04-30 Marco Gerards <marco@gnu.org>
33831
33832 * include/grub/env.h (grub_env_export): New prototype. Reported
33833 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33834
a27e84ce 338352006-04-30 Marco Gerards <marco@gnu.org>
33836
33837 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33838 size of the extents in a catalog file record.
33839
eaef0553 338402006-04-29 Marco Gerards <marco@gnu.org>
33841
33842 * commands/configfile.c (grub_cmd_configfile): Execute the
33843 configfile within its own context.
33844
33845 * include/grub/env.h (grub_env_context_open): New prototype.
33846 (grub_env_context_close): Likewise.
33847
33848 * kern/env.c (grub_env): Removed.
33849 (grub_env_sorted): Likewise.
33850 (grub_env_context): New variable.
33851 (grub_env_var_context): Likewise.
33852 (grub_env_find): Search both the active context and the global
33853 context.
33854 (grub_env_context_open): New function.
33855 (grub_env_context_close): Likewise.
33856 (grub_env_insert): Likewise.
33857 (grub_env_remove): Likewise.
33858 (grub_env_export): Likewise.
33859 (grub_env_set): Changed to use helper functions to avoid code
33860 duplication.
33861 (grub_env_iterate): Rewritten so both the current context and the
33862 global context are being used.
33863
33864 * normal/command.c (export_command): New function.
33865 (grub_command_init): Register the `export' function.
33866
7b455f4d 338672006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33868
33869 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33870 explicitly to suppress gcc's warnings.
33871 * fs/fat.c (grub_fat_find_dir): Likewise.
33872 (grub_fat_label): Likewise.
33873 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33874 (grub_xfs_mount): Likewise.
33875 (grub_xfs_label): Likewise.
33876 * fs/affs.c (grub_affs_mount): Likewise.
33877 (grub_affs_label): Likewise.
33878 (grub_affs_iterate_dir): Likewise.
33879 * fs/sfs.c (grub_sfs_mount): Likewise.
33880 (grub_sfs_iterate_dir): Likewise.
33881 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33882 * fs/hfs.c (grub_hfs_mount): Likewise.
33883 (grub_hfs_cmp_catkeys): Likewise.
33884 (grub_hfs_find_dir): Likewise.
33885 (grub_hfs_dir): Likewise.
33886 (grub_hfs_label): Likewise.
33887 * fs/jfs.c (grub_jfs_mount): Likewise.
33888 (grub_jfs_opendir): Likewise.
33889 (grub_jfs_getent): Likewise.
33890 (grub_jfs_lookup_symlink): Likewise.
33891 (grub_jfs_label): Likewise.
33892 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33893 (grub_hfsplus_iterate_dir): Likewise.
33894 (grub_hfsplus_btree_iterate_node): Made static.
33895
33896 * util/grub-emu.c (prefix): New variable.
33897 (grub_machine_set_prefix): New function.
33898 (main): Do not set the environment variable "prefix" here. Only
33899 set PREFIX, which is used later by grub_machine_set_prefix.
33900
33901 * include/grub/video.h: Do not include grub/symbol.h.
33902 (grub_video_register): Not exported. This symbol is not defined in
33903 the kernel.
33904 (grub_video_unregister): Likewise.
33905 (grub_video_iterate): Likewise.
33906 (grub_video_setup): Likewise.
33907 (grub_video_restore): Likewise.
33908 (grub_video_get_info): Likewise.
33909 (grub_video_get_blit_format): Likewise.
33910 (grub_video_set_palette): Likewise.
33911 (grub_video_get_palette): Likewise.
33912 (grub_video_set_viewport): Likewise.
33913 (grub_video_get_viewport): Likewise.
33914 (grub_video_map_color): Likewise.
33915 (grub_video_map_rgb): Likewise.
33916 (grub_video_map_rgba): Likewise.
33917 (grub_video_fill_rect): Likewise.
33918 (grub_video_blit_glyph): Likewise.
33919 (grub_video_blit_bitmap): Likewise.
33920 (grub_video_blit_render_target): Likewise.
33921 (grub_video_scroll): Likewise.
33922 (grub_video_swap_buffers): Likewise.
33923 (grub_video_create_render_target): Likewise.
33924 (grub_video_delete_render_target): Likewise.
33925 (grub_video_set_active_render_target): Likewise.
33926
33927 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33928 Undefined.
33929 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33930
33931 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33932 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33933 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33934 instead of $(srcdir)/genkernsyms.sh.
33935
33936 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33937 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33938 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33939 instead of $(srcdir)/genkernsyms.sh.
33940
33941 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33942 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33943 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33944 instead of $(srcdir)/genkernsyms.sh.
33945
33946 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33947 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33948 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33949 instead of $(srcdir)/genkernsyms.sh.
33950
33951 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33952 genkernsyms.sh.
33953
33954 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33955 genkernsyms.sh.
33956 (gensymlist.sh): New target.
33957 (genkernsyms.sh): Likewise.
33958
33959 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33960 genkernsyms.sh.in and gensymlist.sh.in.
33961
33962 * genkernsyms.sh: Removed.
33963 * gensymlist.sh: Likewise.
f19dbdb7 33964
7b455f4d 33965 * genkernsyms.sh.in: New file.
33966 * gensymlist.sh.in: Likewise.
33967
1885bb27 339682006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33969
33970 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33971 clobber "prefix", since we may have already set it manually.
33972
71538dff 339732006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33974
33975 * kern/misc.c (abort): New alias for grub_abort.
33976
2965c7cc 339772006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33978
33979 A new machine-specific function "grub_machine_set_prefix" is
33980 defined. This is called after loading modules, so that a prefix
33981 initialization can use modules. Also, this change adds an
33982 intensive debugging feature for the memory manager via the
33983 configure option "--enable-mm-debug".
f19dbdb7 33984
2965c7cc 33985 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33986 PART.LEN.
33987
33988 * kern/sparc64/ieee1275/init.c (abort): Removed.
33989 (grub_stop): Likewise.
33990 (grub_exit): New function.
33991 (grub_set_prefix): Renamed to ...
33992 (grub_machine_set_prefix): ... this.
33993 (grub_machine_init): Do not call grub_set_prefix.
33994
33995 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33996 (grub_machine_set_prefix): ... this.
33997 (grub_machine_init): Do not call grub_set_prefix.
33998
33999 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
34000 (grub_machine_init): Do not set the prefix here.
34001
34002 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
34003
34004 * kern/efi/init.c: Include grub/mm.h.
34005 (grub_efi_set_prefix): New function.
34006
34007 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
34008 (grub_efi_get_filename): New function.
34009 (grub_print_device_path): Renamed to ...
34010 (grub_efi_print_device_path): ... this.
34011
34012 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
34013 [MM_DEBUG] (grub_realloc): Likewise.
34014 [MM_DEBUG] (grub_free): Likewise.
34015 [MM_DEBUG] (grub_memalign): Likewise.
34016 [MM_DEBUG] (grub_mm_debug): New variable.
34017 [MM_DEBUG] (grub_debug_malloc): New function.
34018 [MM_DEBUG] (grub_debug_free): New function.
34019 [MM_DEBUG] (grub_debug_realloc): New function.
34020 [MM_DEBUG] (grub_debug_memalign): New function.
34021
34022 * kern/misc.c (grub_abort): Print a newline to distinguish
34023 the message.
34024
34025 * kern/main.c (grub_main): Call grub_machine_set_prefix and
34026 grub_set_root_dev after loading modules. This is necessary when
34027 setting a prefix depends on modules.
34028
34029 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
34030 (grub_efi_print_device_path): ... this.
34031 (grub_efi_get_filename): New prototype.
34032 (grub_efi_set_prefix): Likewise.
34033
34034 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
34035 and grub/disk.h.
34036 (grub_efidisk_get_device_handle): New prototype.
34037 (grub_efidisk_get_device_name): Likewise.
34038
34039 * include/grub/mm.h: Include config.h.
34040 (MM_DEBUG): Removed.
34041 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
34042 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
34043 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
34044 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
34045 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
34046 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
34047 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
34048 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
34049 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
34050
34051 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
34052
34053 * disk/efi/efidisk.c: Include grub/partition.h.
34054 (iterate_child_devices): New function.
34055 (add_device): First, compare only last device path nodes, so that
34056 devices are sorted by the types.
34057 (grub_efidisk_get_device_handle): New function.
34058 (grub_efidisk_get_device_name): Likewise.
34059
34060 * configure.ac (--enable-mm-debug): New option to enable the
34061 memory manager debugging feature. This makes the binary much
34062 bigger, so is disabled by default.
34063
9cacaa17 340642006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
34065
34066 Use grub_abort instead of grub_stop, and grub_exit must be
34067 define in each architecture now. Also, this change adds support
34068 for EFI disks.
f19dbdb7 34069
9cacaa17 34070 * util/i386/pc/grub-probefs.c: Include grub/term.h.
34071 (grub_getkey): New function.
34072 (grub_term_get_current): Likewise.
34073
34074 * util/i386/pc/grub-setup.c: Include grub/term.h.
34075 (grub_getkey): New function.
34076 (grub_term_get_current): Likewise.
34077
34078 * util/misc.c (grub_stop): Renamed to ...
34079 (grub_exit): ... this.
34080
34081 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
34082 (grub_exit): ... this.
34083 (grub_machine_init): Use grub_abort instead of abort.
34084 (grub_stop): Removed.
34085
34086 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
34087 abort.
34088
34089 * kern/i386/pc/startup.S (grub_exit): New function.
34090 (cold_reboot): New label.
34091
34092 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
34093 (grub_efi_init): Call grub_efidisk_init.
34094 (grub_efi_fini): Call grub_efidisk_fini.
34095
34096 * kern/efi/efi.c: Include grub/mm.h.
34097 (grub_efi_console_control_guid): Renamed to ...
34098 (console_control_guid): ... this.
34099 (grub_efi_loaded_image_guid): Renamed to ...
34100 (loaded_image_guid): ... this.
34101 (grub_efi_locate_handle): New function.
34102 (grub_efi_open_protocol): Likewise.
34103 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
34104 GRUB_EFI_CONSOLE_CONTROL_GUID.
34105 (grub_efi_exit): Removed.
34106 (grub_stop): Likewise.
34107 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
34108 (grub_exit): New function.
34109 (grub_print_device_path): Likewise.
34110
34111 * kern/rescue.c (grub_rescue_cmd_exit): New function.
34112 (grub_enter_rescue_mode): Register "exit".
34113
34114 * kern/misc.c (grub_real_dprintf): A cosmetic change.
34115 (grub_abort): New function.
34116
34117 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
34118
34119 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
34120
34121 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
34122
34123 * include/grub/efi/efi.h (grub_efi_exit): Removed.
34124 (grub_print_device_path): New prototype.
34125 (grub_efi_locate_handle): Likewise.
34126 (grub_efi_open_protocol): Likewise.
34127
34128 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
34129 * disk/efi/efidisk.c: Likewise.
34130
34131 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
34132
34133 * include/grub/efi/console_control.h
34134 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
34135
34136 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
34137 last 8 bytes as an array.
34138 (GRUB_EFI_DISK_IO_GUID): New macro.
34139 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
34140 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
34141 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
34142 grub_uint8_t.
34143 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
34144 (struct grub_efi_device_path): Rename the member "sub_type" to
34145 "subtype".
34146 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
34147 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
34148 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
34149 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
34150 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
34151 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
34152 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
34153 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
34154 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
34155 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
34156 (struct grub_efi_pci_device_path): New structure.
34157 (grub_efi_pci_device_path_t): New type.
34158 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
34159 (struct grub_efi_pccard_device_path): New structure.
34160 (grub_efi_pccard_device_path_t): New type.
34161 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
34162 (struct grub_efi_memory_mapped_device_path): New structure.
34163 (grub_efi_memory_mapped_device_path_t): New type.
34164 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
34165 (struct grub_efi_vendor_device_path): New structure.
34166 (grub_efi_vendor_device_path_t): New type.
34167 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
34168 (struct grub_efi_controller_device_path): New structure.
34169 (grub_efi_controller_device_path_t): New type.
34170 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
34171 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
34172 (struct grub_efi_acpi_device_path): New structure.
34173 (grub_efi_acpi_device_path_t): New type.
34174 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
34175 (struct grub_efi_expanded_acpi_device_path): New structure.
34176 (grub_efi_expanded_acpi_device_path_t): New type.
34177 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
34178 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
34179 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
34180 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
34181 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
34182 (struct grub_efi_atapi_device_path): New structure.
34183 (grub_efi_atapi_device_path_t): New type.
34184 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
34185 (struct grub_efi_fibre_channel_device_path): New structure.
34186 (grub_efi_fibre_channel_device_path_t): New type.
34187 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
34188 (struct grub_efi_1394_device_path): New structure.
34189 (grub_efi_1394_device_path_t): New type.
34190 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
34191 (struct grub_efi_usb_device_path): New structure.
34192 (grub_efi_usb_device_path_t): New type.
34193 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
34194 (struct grub_efi_usb_class_device_path): New structure.
34195 (grub_efi_usb_class_device_path_t): New type.
34196 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
34197 (struct grub_efi_i2o_device_path): New structure.
34198 (grub_efi_i2o_device_path_t): New type.
34199 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
34200 (struct grub_efi_mac_address_device_path): New structure.
34201 (grub_efi_mac_address_device_path_t): New type.
34202 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
34203 (struct grub_efi_ipv4_device_path): New structure.
34204 (grub_efi_ipv4_device_path_t): New type.
34205 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
34206 (struct grub_efi_ipv6_device_path): New structure.
34207 (grub_efi_ipv6_device_path_t): New type.
34208 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
34209 (struct grub_efi_infiniband_device_path): New structure.
34210 (grub_efi_infiniband_device_path_t): New type.
34211 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
34212 (struct grub_efi_uart_device_path): New structure.
34213 (grub_efi_uart_device_path_t): New type.
34214 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
34215 (struct grub_efi_vendor_messaging_device_path): New structure.
34216 (grub_efi_vendor_messaging_device_path_t): New type.
34217 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
34218 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
34219 (struct grub_efi_hard_drive_device_path): New structure.
34220 (grub_efi_hard_drive_device_path_t): New type.
34221 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
34222 (struct grub_efi_cdrom_device_path): New structure.
34223 (grub_efi_cdrom_device_path_t): New type.
34224 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
34225 (struct grub_efi_vendor_media_device_path): New structure.
34226 (grub_efi_vendor_media_device_path_t): New type.
34227 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
34228 (struct grub_efi_file_path_device_path): New structure.
34229 (grub_efi_file_path_device_path_t): New type.
34230 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
34231 (struct grub_efi_protocol_device_path): New structure.
34232 (grub_efi_protocol_device_path_t): New type.
34233 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
34234 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
34235 (struct grub_efi_bios_device_path): New structure.
34236 (grub_efi_bios_device_path_t): New type.
34237 (struct grub_efi_disk_io): New structure.
34238 (grub_efi_disk_io_t): New type.
34239 (struct grub_efi_block_io_media): New structure.
34240 (grub_efi_block_io_media_t): New type.
34241 (struct grub_efi_block_io): New structure.
34242 (grub_efi_block_io_t): New type.
34243
34244 * include/grub/misc.h (grub_stop): Removed.
34245 (grub_exit): New prototype.
34246 (grub_abort): Likewise.
34247
34248 * include/grub/disk.h (enum grub_disk_dev_id): Added
34249 GRUB_DISK_DEVICE_EFIDISK_ID.
34250
34251 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
34252 disk/efi/efidisk.c.
34253 (kernel_syms.lst): Remove the target if an error occurs.
34254
49986a9f 342552006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
34256
34257 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
34258 as it was simply too buggy.
34259
970d3b8a 342602006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
34261
34262 * kern/misc.c (grub_lltoa): New function.
34263 (grub_vsprintf): Added support for the long long suffix,
34264 i.e. "ll".
34265
ff04ec24 342662006-04-20 Hollis Blanchard <hollis@penguinppc.org>
34267
34268 * Makefile.in (LDFLAGS): Add variable.
34269 (LD): Remove variable.
34270 * configure.ac: Add -m32 to LDFLAGS.
34271 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
34272 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
34273 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
34274 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
34275 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
34276 variables.
34277 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
34278 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
34279 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
34280
37e5e1a4 342812006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
34282
34283 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
34284 length for unknown glyph.
34285
c352d8dd 342862006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34287
2eab1c0d 34288 Add support for pre-loaded modules into the EFI port.
f19dbdb7 34289
2eab1c0d 34290 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
34291 completely. Accept one more argument DIR. The caller has changed.
34292
34293 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
34294
34295 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
34296 (grub_efi_loaded_image_guid): New variable.
34297 (grub_efi_get_loaded_image): New function.
34298 (grub_arch_modules_addr): Likewise.
34299
34300 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
34301 prototype.
34302
34303 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
34304 (struct grub_efi_loaded_image): New structure.
34305 (grub_efi_loaded_image_t): New type.
34306
343072006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34308
c352d8dd 34309 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34310 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34311 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34312
6d01d6b4 343132006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34314
34315 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34316
976a4ea0 343172006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34318
34319 * DISTLIST: Added include/grub/efi/console.h,
34320 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34321 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34322
34323 * include/grub/efi/console.h: New file.
34324 * include/grub/efi/time.h: Likewise.
34325 * include/grub/i386/efi/kernel.h: Likewise.
34326 * kern/efi/init.c: Likewise.
34327 * kern/efi/mm.c: Likewise.
34328 * term/efi/console.c: Likewise.
f19dbdb7 34329
976a4ea0 34330 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34331 (grub_stop): Removed.
34332 (grub_get_rtc): Likewise.
34333 (grub_machine_init): Simply call grub_efi_init.
34334 (grub_machine_fini): Call grub_efi_fini.
34335
34336 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34337 (grub_efi_output_string): Removed.
34338 (grub_efi_stall): New function.
34339 (grub_stop): Likewise.
34340 (grub_get_rtc): Likewise.
34341
34342 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34343 (grub_efi_stall): New prototype.
34344 (grub_efi_allocate_pages): Likewise.
34345 (grub_efi_free_pages): Likewise.
34346 (grub_efi_get_memory_map): Likewise.
34347 (grub_efi_mm_init): Likewise.
34348 (grub_efi_mm_fini): Likewise.
34349 (grub_efi_init): Likewise.
34350 (grub_efi_fini): Likewise.
34351
34352 * include/grub/i386/efi/time.h: Do not include
34353 grub/symbol.h. Include grub/efi/time.h.
34354 (GRUB_TICKS_PER_SECOND): Removed.
34355 (grub_get_rtc): Likewise.
34356
34357 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34358 Added padding. The EFI spec is buggy.
34359 (GRUB_EFI_BLACK): New macro.
34360 (GRUB_EFI_BLUE): Likewise.
34361 (GRUB_EFI_GREEN): Likewise.
34362 (GRUB_EFI_CYAN): Likewise.
34363 (GRUB_EFI_RED): Likewise.
34364 (GRUB_EFI_MAGENTA): Likewise.
34365 (GRUB_EFI_BROWN): Likewise.
34366 (GRUB_EFI_LIGHTGRAY): Likewise.
34367 (GRUB_EFI_BRIGHT): Likewise.
34368 (GRUB_EFI_DARKGRAY): Likewise.
34369 (GRUB_EFI_LIGHTBLUE): Likewise.
34370 (GRUB_EFI_LIGHTGREEN): Likewise.
34371 (GRUB_EFI_LIGHTCYAN): Likewise.
34372 (GRUB_EFI_LIGHTRED): Likewise.
34373 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34374 (GRUB_EFI_YELLOW): Likewise.
34375 (GRUB_EFI_WHITE): Likewise.
34376 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34377 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34378 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34379 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34380 (GRUB_EFI_BACKGROUND_RED): Likewise.
34381 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34382 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34383 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34384 (GRUB_EFI_TEXT_ATTR): Likewise.
34385
34386 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34387 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34388 (kernel_mod_HEADERS): Added efi/time.h.
34389
83709125 343902006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34391
34392 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34393 include/grub/efi/api.h, include/grub/efi/console_control.h,
34394 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34395 include/grub/i386/efi/time.h, kern/efi/efi.c,
34396 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34397 and util/i386/efi/grub-mkimage.c.
34398
34399 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34400
34401 * genmk.rb (PModule#rule): Do not export symbols if
34402 #{prefix}_EXPORTS is set to "no".
34403
34404 * conf/i386-efi.mk: New file.
34405 * conf/i386-efi.rmk: Likewise.
34406 * include/grub/efi/api.h: Likewise.
34407 * include/grub/efi/console_control.h: Likewise.
34408 * include/grub/efi/efi.h: Likewise.
34409 * include/grub/efi/pe32.h: Likewise.
34410 * include/grub/i386/efi/time.h: Likewise.
34411 * kern/efi/efi.c: Likewise.
34412 * kern/i386/efi/init.c: Likewise.
34413 * kern/i386/efi/startup.S: Likewise.
34414 * util/i386/efi/grub-mkimage.c: Likewise.
34415
344162006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34417
34418 * include/grub/script.h: Include <grub/parser.h> and
34419 "grub_script.tab.h".
34420 (struct grub_lexer_param): New struct.
34421 (struct grub_parser_param): Likewise.
34422 (grub_script_create_arglist): Pass the state in an argument.
34423 (grub_script_add_arglist): Likewise.
34424 (grub_script_create_cmdline): Likewise.
34425 (grub_script_create_cmdblock): Likewise.
34426 (grub_script_create_cmdif): Likewise.
34427 (grub_script_create_cmdmenu): Likewise.
34428 (grub_script_add_cmd): Likewise.
34429 (grub_script_arg_add): Likewise.
34430 (grub_script_lexer_ref): Likewise.
34431 (grub_script_lexer_deref): Likewise.
34432 (grub_script_lexer_record_start): Likewise.
34433 (grub_script_lexer_record_stop): Likewise.
34434 (grub_script_mem_record): Likewise.
34435 (grub_script_mem_record_stop): Likewise.
34436 (grub_script_malloc): Likewise.
34437 (grub_script_yylex): Likewise.
34438 (grub_script_yyparse): Likewise.
34439 (grub_script_yyerror): Likewise.
34440 (grub_script_yylex): Likewise.
34441 (grub_script_lexer_init): Return the state.
34442
34443 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34444 (grub_script_lexer_done): Likewise.
34445 (grub_script_lexer_getline): Likewise.
34446 (grub_script_lexer_refs): Likewise.
34447 (script): Likewise.
34448 (newscript): Likewise.
34449 (record): Likewise.
34450 (recording): Likewise.
34451 (recordpos): Likewise.
34452 (recordlen): Likewise.
34453 (grub_script_lexer_init): Return the state instead of setting
34454 global variables.
34455 (grub_script_lexer_ref): Use the newly added argument for state
34456 instead of globals.
34457 (grub_script_lexer_deref): Likewise.
34458 (grub_script_lexer_record_start): Likewise.
34459 (grub_script_lexer_record_stop): Likewise.
34460 (recordchar): Likewise.
34461 (nextchar): Likewise.
34462 (grub_script_yylex2): Likewise.
34463 (grub_script_yylex): Likewise.
34464 (grub_script_yyerror): Likewise.
34465
34466 * normal/parser.y (func_mem): Removed variable.
34467 (menu_entry): Likewise.
34468 (err): Likewise.
34469 (%lex-param): New parser option.
34470 (%parse-param): Likewise.
34471 (script): Always return the AST.
34472 (argument): Pass the state around.
34473 (arguments): Likewise.
34474 (grubcmd): Likewise.
34475 (commands): Likewise.
34476 (function): Likewise.
34477 (menuentry): Likewise.
34478 (if_statement): Likewise.
34479 (if): Likewise.
34480
34481 * normal/script.c (grub_script_memused): Removed variable.
34482 (grub_script_parsed): Likewise.
34483 (grub_script_malloc): Added a state argument. Use that instead of
34484 global variables.
34485 (grub_script_mem_record): Likewise.
34486 (grub_script_mem_record_stop): Likewise.
34487 (grub_script_arg_add): Likewise.
34488 (grub_script_add_arglist): Likewise.
34489 (grub_script_create_cmdline): Likewise.
34490 (grub_script_create_cmdif): Likewise.
34491 (grub_script_create_cmdmenu): Likewise.
34492 (grub_script_add_cmd): Likewise.
34493 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34494
e2a8c904 344952006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34496
34497 * normal/command.c (grub_command_init): Remove the title command.
34498
34499 * normal/lexer.c (grub_script_yylex): Renamed from this...
34500 (grub_script_yylex2): ... to this.
34501 (grub_script_yylex): New function. Temporary
34502 introduced to filter some tokens.
34503 (grub_script_yyerror): Print a newline.
34504
34505 * normal/main.c (read_config_file): Output information about the
34506 lines that contain errors. Wait for a key after all lines have
34507 been processed. Don't return an empty menu.
34508
34509 * normal/parser.y (func_mem): Don't initialize.
34510 (menu_entry): Likewise.
34511 (err): New variable.
34512 (script): Don't return anything when an error was encountered.
34513 (ws, returns): Removed rules.
34514 (argument): Disabled concatenated variable support.
34515 (arguments): Remove explicit separators.
34516 (grubcmd): Likewise.
34517 (function): Likewise.
34518 (menuentry): Likewise.
34519 (if): Likewise.
34520 (commands): Likewise. Add error handling.
34521
34522 * normal/script.c (grub_script_create_cmdline): If
34523 `grub_script_parsed' is 0, assume the parser encountered an error.
34524
c9a86192 345252006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34526
34527 * configure.ac: Add support for EFI. Fix the typo
34528 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34529
70f3b243 345302006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34531
34532 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34533 foreign multibyte characters should be shown correctly.
34534
65f201ad 345352006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34536
34537 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34538 calculation.
34539 (read_config_file): Made it to close file before returning.
34540
b4b93674 345412006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34542
34543 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34544 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34545 video/i386/pc/vbefill.c.
34546
34547 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34548 video/i386/pc/vbefill.c.
34549
34550 * include/grub/video.h (grub_video_blit_format): New enum.
34551 (grub_video_mode_info): Added new member blit_format.
34552 (grub_video_get_blit_format): New function prototype.
34553
34554 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34555 function prototype.
34556 (grub_video_vbe_map_rgb): Likewise.
34557 (grub_video_vbe_unmap_color): Likewise.
34558
34559 * include/grub/i386/pc/vbeblit.h: New file.
34560
34561 * include/grub/i386/pc/vbefill.h: New file.
34562
34563 * video/video.c (grub_video_get_blit_format): New function.
34564 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34565 (grub_video_vbe_map_rgb): Likewise.
34566 (grub_video_vbe_unmap_color): Likewise.
34567
34568 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34569 optimized fills.
34570 (grub_video_vbe_blit_render_target): Changed to use more optimized
34571 blits.
34572 (grub_video_vbe_setup): Added detection for optimized settings.
34573 (grub_video_vbe_create_render_target): Likewise.
34574
34575 * video/i386/pc/vbeblit.c: New file.
34576
34577 * video/i386/pc/vbefill.c: New file.
34578
c2379b9c 345792006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34580
34581 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34582 here...
34583
34584 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34585 parsing to support both hex and dec ranges. If filename was missing
34586 show usage information.
34587
bd0d7896 345882006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34589
34590 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34591 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34592
34593 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34594 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34595 (video_mod_SOURCES): Added.
34596 (video_mod_CFLAGS): Likewise.
34597 (video_mod_LDFLAGS): Likewise.
34598 (gfxterm_mod_SOURCES): Likewise.
34599 (gfxterm_mod_CFLAGS): Likewise.
34600 (gfxterm_mod_LDFLAGS): Likewise.
34601 (videotest_mod_SOURCES): Likewise.
34602 (videotest_mod_CFLAGS): Likewise.
34603 (videotest_mod_LDFLAGS): Likewise.
34604 (vesafb_mod_SOURCES): Removed.
34605 (vesafb_mod_CFLAGS): Likewise.
34606 (vesafb_mod_LDFLAGS): Likewise.
34607 (vga_mod_SOURCES): Likewise.
34608 (vga_mod_CFLAGS): Likewise.
34609 (vga_mod_LDFLAGS): Likewise.
34610
34611 * commands/videotest.c: New file.
34612
34613 * font/manager.c (fill_with_default_glyph): Modified to use
34614 grub_font_glyph.
34615 (grub_font_get_glyph): Likewise.
34616 (fontmanager): Renamed from this...
34617 (font_manager): ... to this.
34618
34619 * include/grub/font.h (grub_font_glyph): Added new structure.
34620 (grub_font_get_glyph): Modified to use grub_font_glyph.
34621
34622 * include/grub/misc.h (grub_abs): Added as inline function.
34623
34624 * include/grub/video.h: New file.
34625
34626 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34627 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34628 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34629 (grub_vbe_get_controller_info): Renamed from this...
34630 (grub_vbe_bios_get_controller_info): ... to this.
34631 (grub_vbe_get_mode_info): Renamed from this...
34632 (grub_vbe_bios_get_mode_info): ... to this.
34633 (grub_vbe_set_mode): Renamed from this...
34634 (grub_vbe_bios_set_mode): ... to this.
34635 (grub_vbe_get_mode): Renamed from this...
34636 (grub_vbe_bios_get_mode): ... to this.
34637 (grub_vbe_set_memory_window): Renamed from this...
34638 (grub_vbe_bios_set_memory_window): ... to this.
34639 (grub_vbe_get_memory_window): Renamed from this...
34640 (grub_vbe_bios_get_memory_window): ... to this.
34641 (grub_vbe_set_scanline_length): Renamed from this...
34642 (grub_vbe_set_scanline_length): ... to this.
34643 (grub_vbe_get_scanline_length): Renamed from this...
34644 (grub_vbe_bios_get_scanline_length): ... to this.
34645 (grub_vbe_set_display_start): Renamed from this...
34646 (grub_vbe_bios_set_display_start): ... to this.
34647 (grub_vbe_get_display_start): Renamed from this...
34648 (grub_vbe_bios_get_display_start): ... to this.
34649 (grub_vbe_set_palette_data): Renamed from this...
34650 (grub_vbe_bios_set_palette_data): ... to this.
34651 (grub_vbe_set_pixel_rgb): Removed.
34652 (grub_vbe_set_pixel_index): Likewise.
34653
34654 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34655 from this...
34656 (grub_vbe_bios_get_controller_info): ... to this.
34657 (grub_vbe_get_mode_info): Renamed from this...
34658 (grub_vbe_bios_get_mode_info): ... to this.
34659 (grub_vbe_set_mode): Renamed from this...
34660 (grub_vbe_bios_set_mode): ... to this.
34661 (grub_vbe_get_mode): Renamed from this...
34662 (grub_vbe_bios_get_mode): ... to this.
34663 (grub_vbe_set_memory_window): Renamed from this...
34664 (grub_vbe_bios_set_memory_window): ... to this.
34665 (grub_vbe_get_memory_window): Renamed from this...
34666 (grub_vbe_bios_get_memory_window): ... to this.
34667 (grub_vbe_set_scanline_length): Renamed from this...
34668 (grub_vbe_set_scanline_length): ... to this.
34669 (grub_vbe_get_scanline_length): Renamed from this...
34670 (grub_vbe_bios_get_scanline_length): ... to this.
34671 (grub_vbe_set_display_start): Renamed from this...
34672 (grub_vbe_bios_set_display_start): ... to this.
34673 (grub_vbe_get_display_start): Renamed from this...
34674 (grub_vbe_bios_get_display_start): ... to this.
34675 (grub_vbe_set_palette_data): Renamed from this...
34676 (grub_vbe_bios_set_palette_data): ... to this.
34677 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34678 getting corrupted after calling it. Added more pushes and pops.
34679 (grub_vbe_bios_set_mode): Likewise.
34680 (grub_vbe_bios_get_mode): Likewise.
34681 (grub_vbe_bios_get_memory_window): Likewise.
34682 (grub_vbe_bios_set_scanline_length): Likewise.
34683 (grub_vbe_bios_get_scanline_length): Likewise.
34684 (grub_vbe_bios_get_display_start): Likewise.
34685 (grub_vbe_bios_set_palette_data): Likewise.
34686
34687 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34688 (cl_insert): Likewise.
34689 (cl_delete): Likewise.
34690
34691 * term/gfxterm.c: New file.
34692
34693 * term/i386/pc/vesafb.c: Removed file.
34694
34695 * video/video.c: New file.
34696
34697 * video/i386/pc/vbe.c (real2pm): Added new function.
34698 (grub_video_vbe_draw_pixel): Likewise.
34699 (grub_video_vbe_get_video_ptr): Likewise.
34700 (grub_video_vbe_get_pixel): Likewise
34701 (grub_video_vbe_init): Likewise.
34702 (grub_video_vbe_fini): Likewise.
34703 (grub_video_vbe_setup): Likewise.
34704 (grub_video_vbe_get_info): Likewise.
34705 (grub_video_vbe_set_palette): Likewise.
34706 (grub_video_vbe_get_palette): Likewise.
34707 (grub_video_vbe_set_viewport): Likewise.
34708 (grub_video_vbe_get_viewport): Likewise.
34709 (grub_video_vbe_map_color): Likewise.
34710 (grub_video_vbe_map_rgb): Likewise.
34711 (grub_video_vbe_map_rgba): Likewise.
34712 (grub_video_vbe_unmap_color): Likewise.
34713 (grub_video_vbe_fill_rect): Likewise.
34714 (grub_video_vbe_blit_glyph): Likewise.
34715 (grub_video_vbe_blit_bitmap): Likewise.
34716 (grub_video_vbe_blit_render_target): Likewise.
34717 (grub_video_vbe_scroll): Likewise.
34718 (grub_video_vbe_swap_buffers): Likewise.
34719 (grub_video_vbe_create_render_target): Likewise.
34720 (grub_video_vbe_delete_render_target): Likewise.
34721 (grub_video_vbe_set_active_render_target): Likewise.
34722 (grub_vbe_set_pixel_rgb): Remove function.
34723 (grub_vbe_set_pixel_index): Likewise.
34724 (index_color_mode): Remove static variable.
34725 (active_mode): Likewise.
34726 (framebuffer): Likewise.
34727 (bytes_per_scan_line): Likewise.
34728 (grub_video_vbe_adapter): Added new static variable.
34729 (framebuffer): Likewise.
34730 (render_target): Likewise.
34731 (initial_mode): Likewise.
34732 (mode_in_use): Likewise.
34733 (mode_list): Likewise.
34734
5f97350b 347352006-03-10 Marco Gerards <marco@gnu.org>
34736
34737 * configure.ac (AC_INIT): Bumped to 1.93.
34738
34739 * DISTLIST: Added `include/grub/hfs.h'.
34740
a3c5c6f8 347412006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34742
34743 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34744 18H, which might help the BIOS falling back to next boot media.
34745
6de53d26 347462006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34747
34748 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34749 Poe Chen <poe.poechen@gmail.com>.
34750
77c4a393 347512006-01-17 Marco Gerards <marco@gnu.org>
34752
34753 * include/grub/normal.h: Include <grub/script.h>.
34754 (grub_command_list): Removed struct.
34755 (grub_command_list_t): Removed type.
34756 (grub_menu_entry): Remove members `num' and `command_list'. Add
34757 members `commands' and `sourcecode'.
34758 * include/grub/script.h: Add inclusion guards.
34759 (grub_script_cmd_menuentry): New struct.
34760 (grub_script_execute_menuentry): New prototype.
34761 (grub_script_lexer_record_start): Likewise.
34762 (grub_script_lexer_record_stop): Likewise.
34763 * normal/execute.c (grub_script_execute_menuentry): New function.
34764 * normal/lexer.c (record, recording, recordpos, recordlen): New
34765 variables.
34766 (grub_script_lexer_record_start): New function.
34767 (grub_script_lexer_record_stop): Likewise.
34768 (recordchar): Likewise.
34769 (nextchar): Likewise.
34770 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34771 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34772 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34773 (current_menu): New variable.
34774 (free_menu): Mainly rewritten.
34775 (grub_normal_menu_addentry): New function.
34776 (read_config_file): Rewritten.
34777 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34778 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34779 the menu entry.
34780 (run): Mainly rewritten.
34781 * normal/parser.y (menu_entry): New variable.
34782 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34783 (menuentry): New rule.
34784 (command): Add `menuentry'.
34785 (if_statement): Allow additional returns before `fi'.
34786 * normal/script.c (grub_script_create_cmdmenu): New function.
34787
144f1f98 347882006-01-03 Marco Gerards <marco@gnu.org>
34789
34790 * INSTALL: GNU Bison is required.
34791 * configure.ac: Rewritten the test to detect Bison.
34792 * Makefile.in (YACC): New variable. Reported by Xun Sun
34793 <xun.sun.cn@gmail.com>.
34794
af4b2d89 347952006-01-03 Marco Gerards <marco@gnu.org>
34796
34797 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34798 the HFS+ filesystem to filesystem blocks.
34799 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34800 GCC warning is silenced.
34801
15643b71 348022006-01-03 Marco Gerards <marco@gnu.org>
34803
34804 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34805 read from disk from big endian to host byte order.
34806
00905879 348072006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34808
34809 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34810 documentation.
34811 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34812 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34813 embedded HFS+ filesystem.
34814 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34815 (grub_hfs_sblock): Move from here...
34816 * include/grub/hfs.h: To here... New file.
34817 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34818 documentation.
34819 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34820 New macros.
34821 (grub_hfsplus_volheader): Change type of member `magic' to
34822 `grub_uint16_t'.
34823 (grub_hfsplus_data): Add new member `embedded_offset'.
34824 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34825 returned block.
34826 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34827 Calculate the offset.
34828
8899bc3e 348292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34830
34831 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34832 Removed.
34833 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34834
ae8c0277 348352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34836
34837 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34838 ENV->NAME is NULL after allocating ENV->VALUE.
34839
07084456 348402005-12-25 Marco Gerards <marco@gnu.org>
34841
34842 * kern/env.c (grub_env_set): Rewritten the error handling code.
34843
4750f5f1 348442005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34845
34846 * geninit.sh: Made more robust, and more portable.
34847
50214199 348482005-12-25 Marco Gerards <marco@gnu.org>
34849
34850 Add support for Apple HFS+ filesystems.
f19dbdb7 34851
50214199 34852 * fs/hfsplus.c: New file.
34853
34854 * DISTLIST: Added `fs/hfsplus.c'.
34855
34856 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34857 (hfsplus_mod_SOURCES): New variable.
34858 (hfsplus_mod_CFLAGS): Likewise.
34859 (hfsplus_mod_LDFLAGS): Likewise.
34860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34861 (grub_setup_SOURCES): Likewise.
34862 (grub_mkdevicemap_SOURCES): Likewise.
34863 (grub_emu_SOURCES): Likewise.
34864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34865
34866 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34867
34868 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34869
befaed6c 348702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34871
34872 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34873 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34874 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34875 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34876 normal/lexer.c, normal/parser.y, normal/script.c, and
34877 partmap/gpt.c.
34878 Removed kern/sparc64/cache.c.
34879
34880 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34881 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34882 grub_emu_init.c.
34883
34884 * configure.ac (AC_INIT): Bumped to 1.92.
34885
6a124103 348862005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34887
34888 * kern/err.c (grub_error_push): Added new function to support error
34889 stacks.
34890 (grub_error_pop): Likewise.
34891 (grub_error_stack_items): New local variable to support error stacks.
34892 (grub_error_stack_pos): Likewise.
34893 (grub_error_stack_assert): Likewise.
34894 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34895 stack depth.
34896 (grub_print_error): Added support to print errors from error stack.
34897
34898 * include/grub/err.h (grub_error_push): Added function prototype.
34899 (grub_error_pop): Likewise.
34900
be973c1b 349012005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34902
34903 * configure.ac: Accept `powerpc64' as host_cpu.
34904 (amd64): Rename to `biarch32'.
34905
34906 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34907 non-cacheline-aligned addresses.
34908
34909 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34910 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34911 if `size' is non-zero.
34912
b04216ab 349132005-12-03 Marco Gerards <mgerards@xs4all.nl>
34914
34915 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34916 and `cd' to make sure the filename is not prefixed with a
34917 directory name.
34918 (pkgdata_MODULES): Add `gpt.mod'.
34919 (gpt_mod_SOURCES): New variable.
34920 (gpt_mod_CFLAGS): Likewise.
34921 (gpt_mod_LDFLAGS): Likewise.
34922
34923 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34924
34925 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34926 New macro.
34927
34928 * partmap/gpt.c: New file.
34929
34930 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34931 GPT partition map is detected.
34932
41730ed9 349332005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34934
34935 * commands/i386/pc/play.c: New file.
34936 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34937 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34938 macros.
f19dbdb7 34939
95dc3643 349402005-11-27 Marco Gerards <mgerards@xs4all.nl>
34941
34942 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34943 ((unused))' to silence gcc warning.
34944
1569ec51 349452005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34946
34947 * configure.ac: Correct `AC_PROG_YACC' test.
34948
9abde152 349492005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34950
34951 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34952 check before installing files.
34953
44b83271 349542005-11-22 Mike Small <smallm@panix.com>
34955
34956 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34957 number regex so multidigit numbers are recognized correctly.
34958
349592005-11-22 Mike Small <smallm@panix.com>
34960
34961 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34962 debugging message before attempting to claim memory.
34963 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34964 multiple addresses in case of failure.
34965
9c12956b 349662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34967
34968 * term/tparm.c (get_space): Remove empty `if' statement.
34969
34970 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34971
34972 * kern/parser.c (check_varstate): Rename `state' to 's'.
34973
aeaf81d9 349742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34975
34976 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34977 variable definitions to the beginning of each function. Sort stack
34978 variables by size.
34979 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34980 `buf' argument to `char *'.
34981
79bbb63f 349822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34983
34984 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34985 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34986 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34987 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34988 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34989 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34990 configfile.mod, search.mod, gzio.mod and test.mod.
34991 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34992 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34993 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34994 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34995 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34996 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34997 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34998 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34999 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35000 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35001 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35002 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35003 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35004 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35005 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35006 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35007 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35008 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35009 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35010 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35011 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35012 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35013 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
35014
35015 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
35016 `grep --include'.
35017 (pkgdata_MODULES): Add test.mod.
35018
233b1628 350192005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35020
35021 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
35022 appending to variables with "+=".
35023 (PModule): Use full pathname to generate *.lst filenames.
35024
35025 * Makefile.in: Fixed list rules moved from genmk.rb.
35026 (.DELETE_ON_ERROR): New special target.
35027 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
35028
35029 * conf/i386-pc.rmk: Include conf/common.mk.
35030 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35031 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 35032 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35033 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35034 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35035 configfile.mod, search.mod, gzio.mod and test.mod.
35036 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35037 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35038 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35039 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35040 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35041 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35042 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35043 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35044 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35045 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35046 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35047 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35048 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35049 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35050 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35051 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35052 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35053 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35054 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35055 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35056 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35057 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35058 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
35059 here...
35060 * conf/common.rmk: ... to here. New file.
35061
35062 * conf/common.mk: New file.
35063
16f820c8 350642005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
35065
35066 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
35067 (grub_script.tab.c): ... here.
35068
35069 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
35070 (grub_script.tab.c): ... here.
35071
35072 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
35073 (grub_script.tab.c): ... here.
35074
35075 * normal/command.c (grub_command_find): Fixed a memory leak of
35076 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
35077
63ba1554 350782005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35079
35080 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
35081 "@" which marks the start of a comment on ARM.
35082 (VARIABLE): Likewise.
35083
7f67dc13 350842005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35085
79bbb63f 35086 Add support for Linux/ADFS partition tables.
7f67dc13 35087
35088 * partmap/acorn.c: New file.
35089
35090 * include/grub/acorn_filecore.h: Likewise.
35091
35092 * DISTLIST: Added `partmap/acorn.c' and
35093 `include/grub/acorn_filecore.h'.
f19dbdb7 35094
7f67dc13 35095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35096 `partmap/acorn.c'.
35097 (pkgdata_MODULES): Add `acorn.mod'.
35098 (acorn_mod_SOURCES): New variable.
35099 (acorn_mod_CFLAGS): Likewise.
35100
35101 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35102 `partmap/acorn.c'.
35103 (pkgdata_MODULES): Add `acorn.mod'.
35104 (acorn_mod_SOURCES): New variable.
35105 (acorn_mod_CFLAGS): Likewise.
35106
35107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
35108 (pkgdata_MODULES): Add `acorn.mod'.
35109 (acorn_mod_SOURCES): New variable.
35110 (acorn_mod_CFLAGS): Likewise.
35111 (acorn_mod_LDFLAGS): Likewise.
35112
35113 * include/types.h (grub_disk_addr_t): New typedef.
35114
6d099807 351152005-11-13 Marco Gerards <mgerards@xs4all.nl>
35116
35117 * geninit.sh: New file.
35118
35119 * geninitheader.sh: Likewise.
35120
35121 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
35122 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
35123 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
35124 * commands/configfile.c (grub_configfile_init)
35125 (grub_configfile_fini): Likewise.
35126 * commands/default.c (grub_default_init, grub_default_fini):
35127 Likewise.
35128 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
35129 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
35130 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
35131 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
35132 Likewise.
35133 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
35134 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
35135 Likewise.
35136 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 35137 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 35138 Likewise.
35139 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
35140 Likewise.
fe6b695a 35141 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 35142 Likewise.
35143 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
35144 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
35145 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
35146 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
35147 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
35148 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
35149 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
35150 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
35151 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
35152 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
35153 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
35154 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
35155 * partmap/amiga.c (grub_amiga_partition_map_init)
35156 (grub_amiga_partition_map_fini): Likewise.
35157 * partmap/apple.c (grub_apple_partition_map_init)
35158 (grub_apple_partition_map_fini): Likewise.
35159 * partmap/pc.c (grub_pc_partition_map_init)
35160 (grub_pc_partition_map_fini): Likewise.
35161 * partmap/sun.c (grub_sun_partition_map_init,
35162 grub_sun_partition_map_fini): Likewise.
35163 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
35164 Likewise.
35165
35166 * util/grub-emu.c: Include <grub_modules_init.h>.
35167 (main): Don't initialize and de-initialize any modules directly,
35168 use `grub_init_all' and `grub_fini_all' instead.
35169
35170 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
35171 `grub_vesafb_mod_init'.
35172 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
35173 all users.
35174 * term/i386/pc/vga.c (grub_vga_init): Renamed to
35175 `grub_vga_mod_init'. Updated all users.
35176 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 35177
6d099807 35178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
35179 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
35180 rules.
35181
35182 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
35183 Generate a function to initialize the module in utilities.
35184 Updated all callers.
35185 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
35186 initialize the module in utilities. Updated all callers.
35187
9046bcf0 351882005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35189
35190 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
35191 escape sequence and a literal ^L to clear the screen.
35192
35193 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
35194 when returning from Open Firmware.
35195
d13ea639 351962005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35197
35198 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
35199 (grub_ofconsole_height): Likewise.
35200 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
35201 manually insert a '\n'.
35202 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
35203 `grub_ofconsole_height'. Return early if these are already set.
35204
a8fcf206 352052005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
35206
35207 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35208 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
35209 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
35210 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
35211 and `normal/script.c'.
35212 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35213 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35214 (test_mod_SOURCES): New variable.
35215 (test_mod_CFLAGS): Likewise.
35216 (test_mod_LDFLAGS): Likewise.
35217 (pkgdata_MODULES): Add `test.mod'.
35218 (grub_script.tab.c): New rule.
35219 (grub_script.tab.h): Likewise.
35220
b6b32745 352212005-11-07 Marco Gerards <mgerards@xs4all.nl>
35222
35223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35224 `commands/test.c', `normal/execute.c', `normal/lexer.c',
35225 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35226 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35227 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35228 (test_mod_SOURCES): New variable.
35229 (test_mod_CFLAGS): Likewise.
35230 (pkgdata_MODULES): Add `test.mod'.
35231 (grub_script.tab.c): New rule.
35232 (grub_script.tab.h): Likewise.
35233
daac212a 352342005-11-06 Marco Gerards <mgerards@xs4all.nl>
35235
35236 Add initial scripting support.
35237
35238 * commands/test.c: New file.
35239 * include/grub/script.h: Likewise.
35240 * normal/execute.c: Likewise.
35241 * normal/function.c: Likewise.
35242 * normal/lexer.c: Likewise.
35243 * normal/parser.y: Likewise.
35244 * normal/script.c: Likewise.
35245
35246 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 35247
daac212a 35248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
35249 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
35250 `normal/function.c' and `normal/script.c'.
35251 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35252 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 35253 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
35254 variables.
daac212a 35255 (pkgdata_MODULES): Add `test.mod'.
35256 (grub_script.tab.c): New rule.
35257 (grub_script.tab.h): Likewise.
35258
35259 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
35260
35261 * include/grub/normal.h (grub_test_init): New prototype.
35262 (grub_test_fini): Likewise.
f19dbdb7 35263
daac212a 35264 * normal/command.c: Include <grub/script.h>.
35265 (grub_command_execute): Rewritten.
f19dbdb7 35266
daac212a 35267 * util/grub-emu.c (main): Call `grub_test_init' and
35268 `grub_test_fini'.
35269
77500b2b 352702005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35271
35272 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
35273 to 0.
35274 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
35275 there are no pending characters.
35276
e45deb9e 352772005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35278
35279 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
35280 `grub_strndup' to drop device arguments. Replace unnecessary
35281 `grub_strndup' with `grub_strdup'.
35282
4ce32619 352832005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35284
35285 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
35286 `debug' environment variable has been set.
35287
352882005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35289
4ce32619 35290 * Makefile.in (install-local): Use $(DATA).
35291 (uninstall): Likewise.
35292 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
35293 (sbin_UTILITIES): ... to here.
35294 (sbin_SCRIPTS): New variable.
35295 (grub_install_SOURCES): New variable.
35296 * util/powerpc/ieee1275/grub-install.in: New file.
35297 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
35298 variable.
35299 (add_segments): Call `grub_util_get_path'.
35300
25fe6f03 353012005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35302
35303 From Timothy Baldwin:
35304 * commands/ls.c (grub_ls_list_files): Close FILE with
35305 grub_file_close.
35306 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
35307
04ccf3ec 353082005-10-24 Marco Gerards <mgerards@xs4all.nl>
35309
35310 * include/grub/parser.h: New file.
35311
35312 * kern/parser.c: Likewise.
35313
35314 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35315 (grub_setup_SOURCES): Likewise.
35316 (grub_probefs_SOURCES): Likewise.
35317 (grub_emu_SOURCES): Likewise.
35318 (kernel_img_HEADERS): Add `parser.h'.
35319
35320 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35321 (grub_emu_SOURCES): Add `kern/parser.c'.
35322 (grubof_SOURCES): Likewise.
35323
35324 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35325 (grubof_SOURCES): Add `kern/parser.c'.
35326
35327 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35328
35329 * kern/misc.c (grub_split_cmdline): Removed function.
35330
35331 * kern/rescue.c: Include <grub/parser.h>.
35332 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35333 of `grub_split_cmdline'.
35334
35335 * normal/command.c: Include <grub/parser.h>.
35336 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35337 of `grub_split_cmdline'.
35338
35339 * normal/completion.c: Include <grub/parser.h>.
35340 (cmdline_state): New variable.
35341 (iterate_dir): End the filename with a quote depending on the
35342 command line state.
35343 (get_state): new function.
35344 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35345 split the arguments and determine the current argument. When the
35346 argument string is not quoted, escape all spaces.
35347
6d8f4b0e 353482005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35349
35350 * normal/sparc64/setjmp.S: New file.
35351
15cf03ed 353522005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35353
35354 * include/grub/sparc64/libgcc.h: New file.
35355 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35356 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35357 normal/sparc64/setjmp.c.
35358
03e8661a 353592005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35360
35361 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35362 * kern/sparc64/cache.S: New file.
35363 * kern/sparc64/cache.c: Removed.
35364 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35365 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35366 -mtune=ultrasparc.
35367 (COMMON_LDFLAGS): Add -melf64_sparc.
35368 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35369 (grubof_SOURCES): Use cache.S instead of cache.c.
35370 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35371 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35372 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35373 commented though.
35374 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35375 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35376 (linux_mod_CFLAGS): Commented out.
35377 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35378 out because module isn't built.
35379 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35380 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35381 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35382 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35383 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35384 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35385 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35386 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35387 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35388 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35389 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35390 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35391 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35392 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35393
34eeec8a 353942005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35395
35396 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35397 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35398 longer, because HFS should not be used on PC.
35399
708367a3 354002005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35401
35402 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35403 consistently within the loop.
35404
6fa1251a 354052005-10-15 Marco Gerards <mgerards@xs4all.nl>
35406
35407 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35408 directory can not be read.
35409
4801580b 354102005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35411
35412 * configure.ac (AC_INIT): Increase the version number to 1.91.
35413
35414 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35415 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35416 term/i386/pc/serial.c.
35417
219ad426 354182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35419
35420 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35421 file size must be permitted.
35422
35423 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35424 between %ah and %al.
35425
688e5699 354262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35427
35428 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35429 grub_uint64_t.
35430 Call the hook with a NUL-terminated filename.
35431 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35432 grub_cpu_to_be32.
35433
35434 * kern/term.c (cursor_state): New variable.
35435 (grub_term_set_current): Reset the cursor state on a new
35436 terminal.
35437 (grub_setcursor): Rewritten to use CURSOR_STATE.
35438 (grub_getcursor): New function.
35439
35440 * include/grub/term.h (grub_getcursor): New prototype.
35441
35442 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35443 integers on ARM. Reported by Timothy Baldwin
35444 <T.E.Baldwin99@members.leeds.ac.uk>.
35445
bb34586c 354462005-10-11 Marco Gerards <mgerards@xs4all.nl>
35447
35448 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35449 allocated.
35450 (grub_sfs_dir): Likewise.
35451
9a909877 354522005-10-09 Marco Gerards <mgerards@xs4all.nl>
35453
35454 Add support for the SFS filesystem.
35455
35456 * fs/sfs.c: New file.
35457
35458 * DISTLIST: Added `fs/sfs.c'.
35459
35460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35461 (grub_probefs_SOURCES): Likewise.
35462 (grub_emu_SOURCES): Likewise.
35463 (pkgdata_MODULES): Add `sfs.mod'.
35464 (sfs_mod_SOURCES): New variable.
35465 (sfs_mod_CFLAGS): Likewise.
35466 (sfs_mod_LDFLAGS): Likewise.
35467
35468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35469 (pkgdata_MODULES): Add `sfs.mod'.
35470 (sfs_mod_SOURCES): New variable.
35471 (sfs_mod_CFLAGS): Likewise.
35472
35473 * util/grub-emu.c (main): Call `grub_sfs_init' and
35474 `grub_sfs_fini'.
35475
35476 * include/grub/fs.h (grub_sfs_init): New prototype.
35477 (grub_sfs_fini): Likewise.
35478
57bdbde3 354792005-10-07 Marco Gerards <mgerards@xs4all.nl>
35480
35481 Add support for the AFFS filesystem.
35482
35483 * fs/affs.c: New file.
35484
35485 * DISTLIST: Added `fs/affs.c'.
35486
35487 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35488 (grub_probefs_SOURCES): Likewise.
35489 (grub_emu_SOURCES): Likewise.
35490 (pkgdata_MODULES): Add `affs.mod'.
35491 (affs_mod_SOURCES): New variable.
35492 (affs_mod_CFLAGS): Likewise.
35493 (affs_mod_LDFLAGS): Likewise.
35494
35495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35496 (pkgdata_MODULES): Add `affs.mod'.
35497 (affs_mod_SOURCES): New variable.
35498 (affs_mod_CFLAGS): Likewise.
35499
35500 * util/grub-emu.c (main): Call `grub_affs_init' and
35501 `grub_affs_fini'.
35502
35503 * include/grub/fs.h (grub_affs_init): New prototype.
35504 (grub_affs_fini): Likewise.
35505
047b67e0 355062005-10-01 Marco Gerards <mgerards@xs4all.nl>
35507
35508 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35509
59b8208a 355102005-10-01 Marco Gerards <mgerards@xs4all.nl>
35511
35512 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35513 `-m32' to CFLAGS.
35514
35515 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35516 linking.
f19dbdb7 35517
59b8208a 35518 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35519 (COMMON_LDFLAGS): New variable.
35520 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35521 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35522 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35523 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35524 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35525 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35526 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35527 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35528 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35529 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35530 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35531 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35532 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35533 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35534 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35535 variables.
35536 (normal_mod_ASFLAGS): Add `-m32'.
35537
35538 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35539 (grub_host_size_t, grub_host_ssize_t): New types.
35540 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35541 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35542 `GRUB_HOST_SIZEOF_VOID_P'.
35543
35544 * include/grub/kernel.h (struct grub_module_header): Type of
35545 member offset changed to `grub_host_off_t'. Type of member size
35546 changed to `grub_host_size_t'.
35547 (struct grub_module_info): Type of member offset changed to
35548 `grub_host_off_t'. Type of member size changed to
35549 `grub_host_size_t'.
35550
b4093103 355512005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35552
35553 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35554
b4093103 35555 * kern/i386/pc/startup.S (multiboot_header): New label.
35556 (multiboot_entry): Likewise.
35557 (multiboot_trampoline): Likewise.
35558
35559 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35560 Increased to 0x4A0.
35561
35562 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35563 put parentheses after a question mark.
35564 [!GRUB_UTIL] (my_mod): New variable.
35565
35566 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35567
b2499b29 355682005-09-28 Marco Gerards <mgerards@xs4all.nl>
35569
35570 Adds support for the XFS filesystem. Btrees are not supported
35571 yet.
35572
35573 * fs/xfs.c: New file.
35574
35575 * DISTLIST: Added `fs/xfs.c'.
35576
35577 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35578 (grub_probefs_SOURCES): Likewise.
35579 (grub_emu_SOURCES): Likewise.
35580 (pkgdata_MODULES): Add `xfs.mod'.
35581 (xfs_mod_SOURCES): New variable.
35582 (xfs_mod_CFLAGS): Likewise.
35583
35584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35585 (pkgdata_MODULES): Add `xfs.mod'.
35586 (xfs_mod_SOURCES): New variable.
35587 (xfs_mod_CFLAGS): Likewise.
35588
35589 * util/grub-emu.c (main): Call `grub_xfs_init' and
35590 `grub_xfs_fini'.
35591
35592 * include/grub/fs.h (grub_xfs_init): New prototype.
35593 (grub_xfs_fini): Likewise.
35594
f19dbdb7 35595
83d37a62 355962005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35597
35598 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35599 color modes, allow greater than 16 colors to be configured as
35600 a default palette.
35601
47d2d65e 356022005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35603
35604 * normal/completion.c (complete_arguments): Add the qualifier
35605 const into OPTIONS.
35606
35607 From Omniflux <omniflux+lists@omniflux.com>:
35608 * include/grub/terminfo.h: New file.
35609 * include/grub/tparm.h: Likewise.
35610 * include/grub/i386/pc/serial.h: Likewise.
35611 * term/terminfo.c: Likewise.
35612 * term/tparm.c: Likewise.
35613 * term/i386/pc/serial.c: Likewise.
35614 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35615 serial.mod.
35616 (terminfo_mod_SOURCES): New variable.
35617 (terminfo_mod_CFLAGS): Likewise.
35618 (serial_mod_SOURCES): Likewise.
35619 (serial_mod_CFLAGS): Likewise.
35620
48b671ff 356212005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35622
35623 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35624 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35625 and kern/powerpc/ieee1275/cmain.c, respectively.
35626
35627 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35628 * kern/powerpc/ieee1275/crt0.S: ... here.
35629
35630 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35631 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35632
48b671ff 35633 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35634 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35635 instead of boot/powerpc/ieee1275/crt0.S and
35636 boot/powerpc/ieee1275/cmain.c, respectively.
35637
35638 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35639 sectors. It was not used anyway.
35640
09fc77a7 356412005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35642
35643 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35644 `unused parameter' warning.
35645
003789c7 356462005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35647
35648 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35649 function.
35650 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35651 getcharwidth.
35652
67f44c86 356532005-08-28 Marco Gerards <metgerards@student.han.nl>
35654
35655 * include/grub/normal.h (enum grub_completion_type): Added
35656 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35657
35658 * normal/cmdline.c (print_completion): Handle
35659 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35660 * normal/menu_entry.c (store_completion): Likewise.
35661
35662 * normal/completion.c (complete_arguments): New function.
35663 (grub_normal_do_completion): Call `complete_arguments' when the
35664 current words start with a dash.
35665
0b5abe02 356662005-08-27 Marco Gerards <metgerards@student.han.nl>
35667
35668 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35669 `gzio.mod' instead of `io.mod').
35670
d9864ee1 356712005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35672
35673 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35674 (DISTDIRS): Added io and video.
35675 Rewrite the search routine to make an output consistently.
35676
35677 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35678 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35679 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35680 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35681 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35682 util/powerpc/ieee1275/misc.c.
f19dbdb7 35683
d9864ee1 35684 * include/grub/gzio.h: New file.
35685 * io/gzio.c: Likewise.
f19dbdb7 35686
d9864ee1 35687 * kern/file.c (grub_file_close): Call grub_device_close only if
35688 FILE->DEVICE is not NULL.
35689
35690 * include/grub/mm.h [!NULL] (NULL): New macro.
35691
35692 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35693
35694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35695 (pkgdata_MODULES): Added gzio.mod.
35696 (gzio_mod_SOURCES): New variable.
35697 (gzio_mod_CFLAGS): Likewise.
35698
35699 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35700 (pkgdata_MODULES): Added gzio.mod.
35701 (gzio_mod_SOURCES): New variable.
35702 (gzio_mod_CFLAGS): Likewise.
35703
35704 * commands/cat.c: Include grub/gzio.h.
35705 (grub_cmd_cat): Use grub_gzfile_open instead of
35706 grub_file_open.
f19dbdb7 35707
d9864ee1 35708 * commands/cmp.c: Include grub/gzio.h.
35709 (grub_cmd_cmp): Use grub_gzfile_open instead of
35710 grub_file_open.
35711
35712 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35713 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35714 grub_file_open.
35715 (grub_rescue_cmd_module): Likewise.
35716
fa46f4b5 357172005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35718
35719 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35720 kern/sparc64/ieee1275/init.c because it contains _start.
35721 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35722
e9211b5d 357232005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35724
35725 * configure.ac: Add support for sparc64 host with ieee1275
35726 firmware.
35727 * configure: Generated from configure.ac.
35728 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35729 instead of int.
35730 (grub_ofdisk_read): Likewise.
35731 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35732 pointers as (void *) to remove a warning.
35733 (grub_ofdisk_close): Likewise.
35734 (grub_ofdisk_read): Likewise.
35735 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35736 returns, so make it return void to remove a warning.
35737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35738 Corresponding prototype change.
35739 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35740 values, and cast the pointers as (void *) to remove a warning.
35741 (grub_mm_dump): Likewise.
35742 * conf/sparc64-ieee1275.mk: New file.
35743 * conf/sparc64-ieee1275.rmk: Likewise.
35744 * include/grub/sparc64/setjmp.h: Likewise.
35745 * include/grub/sparc64/types.h: Likewise.
35746 * include/grub/sparc64/ieee1275/console.h: Likewise.
35747 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35748 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35749 * include/grub/sparc64/ieee1275/time.h: Likewise.
35750 * kern/sparc64/cache.c: Likewise.
35751 * kern/sparc64/dl.c: Likewise.
35752 * kern/sparc64/ieee1275/init.c: Likewise.
35753 * kern/sparc64/ieee1275/openfw.c: Likewise.
35754
385c6a92 357552005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35756
35757 * util/console.c (grub_ncurses_putchar): If C is greater than
35758 0x7f, set C to a question mark.
35759 (grub_ncurses_getcharwidth): New function.
35760 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35761 getcharwidth.
35762
35763 * normal/menu.c (print_entry): Made aware of Unicode. First,
35764 convert TITLE to UCS-4, and predict the cursor position by
35765 grub_getcharwidth.
35766
35767 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35768 const to SRC.
35769 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35770
16ccb8b1 357712005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35772
35773 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35774 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35775 grub_strcat.
35776
35777 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35778 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35779 grub_strcpy and grub_strlen. Take it into account that a space
35780 character is inserted as a delimiter.
35781
6a85ce79 357822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35783
35784 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35785 invalid magic in the error.
6a85ce79 35786
35787 * commands/search.c: New file.
f19dbdb7 35788
6a85ce79 35789 * util/grub-emu.c (main): Call grub_search_init and
35790 grub_search_fini.
35791
35792 * kern/rescue.c (grub_rescue_print_disks): Removed.
35793 (grub_rescue_print_devices): New function.
35794 (grub_rescue_cmd_ls): Use grub_device_iterate with
35795 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35796 grub_rescue_print_disks.
35797
35798 * kern/partition.c (grub_partition_iterate): Return the result of
35799 PARTMAP->ITERATE instead of GRUB_ERRNO.
35800
35801 * kern/device.c: Include grub/partition.h.
35802 (grub_device_iterate): New function.
35803
35804 * include/grub/partition.h (grub_partition_iterate): Return int
35805 instead of grub_err_t.
35806
35807 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35808 prototype.
35809 [GRUB_UTIL] (grub_search_fini): Likewise.
35810
35811 * include/grub/device.h (grub_device_iterate): New prototype.
35812
35813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35814 commands/search.c.
35815 (pkgdata_MODULES): Added search.mod.
35816 (search_mod_SOURCES): New variable.
35817 (search_mod_CFLAGS): Likewise.
35818
35819 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35820 (pkgdata_MODULES): Added search.mod.
35821 (search_mod_SOURCES): New variable.
35822 (search_mod_CFLAGS): Likewise.
35823
35824 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35825 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35826 All callers changed.
35827
35828 * DISTLIST: Added commands/search.c.
35829
ef095434 358302005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35831
35832 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35833 conversion.
35834 (grub_getcharwidth): New function.
35835
35836 * kern/misc.c (grub_utf8_to_ucs4): New function.
35837
35838 * include/grub/term.h (struct grub_term): Added a new member
35839 "getcharwidth".
35840 (grub_getcharwidth): New prototype.
35841
35842 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35843
35844 * term/i386/pc/console.c (map_char): New function. Segregated from
35845 grub_console_putchar.
35846 (grub_console_putchar): Use map_char.
35847 (grub_console_getcharwidth): New function.
35848 (grub_console_term): Specified grub_console_getcharwidth as
35849 getcharwidth.
35850
35851 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35852 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35853
35854 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35855 GRUB_ERRNO.
35856 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35857 on grub_strtoul completely.
35858 (write_char): Declare local variables in the beginning of the
35859 function.
35860 (grub_vesafb_getcharwidth): New function.
35861 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35862 getcharwidth.
35863
1f0a95e4 358642005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35865
35866 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35867 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35868 commands/i386/pc/vbetest.c.
35869
35870 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35871 call grub_vbe_get_controller_info again, because the returned
35872 information is volatile.
35873 (grub_vbe_set_video_mode): Mostly rewritten.
35874 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35875 grub_vbe_status_t correctly.
35876 (grub_vbe_get_video_mode_info): Likewise.
35877 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35878 several if statements.
35879
35880 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35881 * commands/i386/pc/vbeinfo.c: ... this.
35882
35883 * commands/i386/pc/vbe_test.c: Renamed to ...
35884 * commands/i386/pc/vbetest.c: ... this.
35885
35886 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35887 ...
35888 (grub_cmd_vbeinfo): ... this. Save video modes before
35889 iterating. Skip a video mode, if it is not available, not enough
35890 information is given or it is monochrome. Show the memory
35891 model. Leave the interpretation of MODEVAR to grub_strtoul
35892 completely.
35893 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35894 (GRUB_MOD_FINI): Likewise.
35895
35896 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35897 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35898 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35899 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35900 grub_strtoul completely.
35901 (real2pm): Removed.
35902 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35903 (GRUB_MOD_FINI): Likewise.
35904
35905 * normal/misc.c: Include grub/mm.h.
35906
35907 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35908 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35909 (vbe_list_modes_mod_SOURCES): Removed.
35910 (vbe_list_modes_mod_CFLAGS): Likewise.
35911 (vbe_test_mod_SOURCES): Likewise.
35912 (vbe_test_mod_CFLAGS): Likewise.
35913 (vbeinfo_mod_SOURCES): New variable.
35914 (vbeinfo_mod_CFLAGS): Likewise.
35915 (vbetest_mod_SOURCES): Likewise.
35916 (vbetest_mod_CFLAGS): Likewise.
35917
992ffbbe 359182005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35919
35920 * normal/misc.c: New file.
35921
35922 * DISTLIST: Added normal/misc.c.
f19dbdb7 35923
992ffbbe 35924 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35925 DISK to HOOK. Call HOOK with DISK.
35926 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35927 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35928 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35929
35930 * normal/menu_entry.c (struct screen): Added a new member
35931 "completion_shown".
35932 (completion_buffer): New global variable.
35933 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35934 (store_completion): New function.
35935 (complete): Likewise.
35936 (clear_completions): Likewise.
35937 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35938 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35939 a tab, call complete.
35940
35941 * normal/completion.c (disk_dev): Removed.
35942 (print_simple_completion): Likewise.
35943 (print_partition_completion): Likewise.
35944 (print_func): New global variable.
35945 (add_completion): Do not take the arguments WHAT or PRINT any
35946 longer. Added a new argument TYPE. Instead of printing directly,
35947 call PRINT_FUNC if not NULL.
35948 All callers changed.
35949 (complete_device): Use a local variable DEV instead of
35950 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35951 (grub_normal_do_completion): Take a new argument HOOK. Do not
35952 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35953 empty string, return NULL instead.
35954 All callers changed.
35955
35956 * normal/cmdline.c (print_completion): New function.
35957
35958 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35959 to HOOK.
35960 All callers changed.
35961
35962 * kern/disk.c (grub_print_partinfo): Removed.
35963
35964 * include/grub/partition.h (struct grub_partition_map): Add a new
35965 argument DISK into HOOK of ITERATE.
35966 (grub_partition_iterate): Add a new argument DISK to HOOK.
35967
35968 * include/grub/normal.h (enum grub_completion_type): New enum.
35969 (grub_completion_type_t): New type.
35970 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35971 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35972 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35973 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35974 (grub_normal_do_completion): Added a new argument HOOK.
35975 (grub_normal_print_device_info): New prototype.
35976
35977 * include/grub/disk.h (grub_print_partinfo): Removed.
35978
35979 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35980 (normal_mod_SOURCES): Likewise.
35981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35982 (normal_mod_SOURCES): Likewise.
35983
35984 * commands/ls.c (grub_ls_list_disks): Use
35985 grub_normal_print_device_info instead of grub_print_partinfo. Free
35986 PNAME.
35987 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35988 duplicating the code.
35989
0bd41162 359902005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35991
35992 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35993 follow GCS more precisely.
35994 * commands/i386/pc/vbe_test.c: Likewise.
35995 * include/grub/i386/pc/vbe.h: Likewise.
35996 * term/i386/pc/vesafb.c: Likewise.
35997 * video/i386/pc/vbe.c: Likewise.
0bd41162 35998
6323696a 359992005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36000
36001 * DISTLIST: Added term/i386/pc/vesafb.c
36002 DISTLIST: Added video/i386/pc/vbe.c
36003 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
36004 DISTLIST: Added commands/i386/pc/vbe_test.c.
36005 * commands/i386/pc/vbe_list_modes.c: New file.
36006 * commands/i386/pc/vbe_test.c: Likewise.
36007 * term/i386/pc/vesafb.c: Likewise.
36008 * video/i386/pc/vbe.c: Likewise.
36009 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
36010 (grub_vbe_probe) Added prototype.
36011 (grub_vbe_set_video_mode) Likewise.
36012 (grub_vbe_get_video_mode) Likewise.
36013 (grub_vbe_get_video_mode_info) Likewise.
36014 (grub_vbe_set_pixel_rgb) Likewise.
36015 (grub_vbe_set_pixel_index) Likewise.
36016 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
36017 (pkgdata_MODULES): Added vesafb.mod.
36018 (pkgdata_MODULES): Added vbe_list_modes.mod.
36019 (pkgdata_MODULES): Added vbe_test.mod.
36020 (vbe_mod_SOURCES): Added.
36021 (vbe_mod_CFLAGS): Likewise.
36022 (vesafb_mod_SOURCES): Likewise.
36023 (vesafb_mod_CFLAGS): Likewise.
36024 (vbe_list_modes_mod_SOURCES): Likewise.
36025 (vbe_list_modes_mod_CFLAGS): Likewise.
36026 (vbe_test_mod_SOURCES): Likewise.
36027 (vbe_test_mod_CFLAGS): Likewise.
36028
0a74e62f 360292005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
36030
0a74e62f 36031 * normal/command.c (grub_command_execute): If INTERACTIVE is
36032 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
36033 CMDLINE. Disable the pager if INTERACTIVE is true.
36034 All callers are changed.
36035
36036 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
36037 before reading a config file.
36038 * normal/main.c (read_config_file): Even if a command is not
36039 found, register it if it is within an entry.
36040
36041 * util/grub-emu.c: Include sys/types.h and unistd.h.
36042 (options): Added --hold.
36043 (struct arguments): Added a new member "hold".
36044 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
36045 missing.
36046 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
36047 cleared by a debugger, if it is not zero.
36048
36049 * include/grub/normal.h (grub_command_execute): Add an argument
36050 INTERACTIVE.
36051
e51f85ae 360522005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
36053
36054 * DISTLIST: Added include/grub/i386/pc/vbe.h.
36055
e9c6f39b 360562005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
36057
36058 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
36059 program with another one, because the old one didn't detect a bug
36060 in gcc-3.4. Always use regparm 2, because the new test is still
36061 not enough for gcc-4.0. Someone must investigate a simple test
36062 case which detects a bug in gcc-4.0.
36063
8de3495c 360642005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
36065
36066 * DISTLIST: Added normal/completion.c.
36067
36068 * normal/completion.c: New file.
f19dbdb7 36069
8de3495c 36070 * term/i386/pc/console.c (grub_console_getwh): New function.
36071 (grub_console_term): Assign grub_console_getwh to getwh.
36072
36073 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
36074 function is defined in normal/completion.c as
36075 grub_normal_do_completion.
36076 (grub_cmdline_get): Use grub_normal_do_completion instead of
36077 grub_tab_complete.
36078
36079 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
36080 returns non-zero, otherwise return 0.
36081 (grub_partition_iterate): First, probe the partition map. Then,
36082 call ITERATE only for this partition map.
36083
36084 * kern/misc.c (grub_strncmp): Rewritten.
36085
36086 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
36087 returns non-zero. Otherwise return 0.
36088
36089 * include/grub/partition.h (grub_partition_map_iterate): Return
36090 int instead of void.
36091
36092 * include/grub/normal.h (grub_normal_do_completion): New prototype.
36093
36094 * include/grub/misc.h (grub_strncmp): Change the type of N to
36095 grub_size_t.
36096
36097 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
36098 of void.
36099
36100 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 36101 unsigned explicitly before comparing it with I.
8de3495c 36102
36103 * kern/main.c (grub_env_write_root): Add the attribute unused into
36104 VAR.
36105
36106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36107 normal/completion.c.
36108 (normal_mod_SOURCES): Likewise.
36109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36110 (normal_mod_SOURCES): Likewise.
36111
36112 * normal/command.c (grub_iterate_commands): If ITERATE returns
36113 non-zero, return one immediately.
36114
e85e144b 361152005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
36116
36117 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
36118 * kern/i386/pc/startup.S: Updated Global Descriptor table's
36119 descriptions.
36120 (grub_vbe_get_controller_info): New function.
36121 (grub_vbe_get_mode_info): Likewise.
36122 (grub_vbe_set_mode): Likewise.
36123 (grub_vbe_get_mode): Likewise.
36124 (grub_vbe_set_memory_window): Likewise.
36125 (grub_vbe_get_memory_window): Likewise.
36126 (grub_vbe_set_scanline_length): Likewise.
36127 (grub_vbe_get_scanline_length): Likewise.
36128 (grub_vbe_set_display_start): Likewise.
36129 (grub_vbe_get_display_start): Likewise.
36130 (grub_vbe_set_palette_data): Likewise.
36131 * include/grub/i386/pc/vbe.h: New file.
36132
c46153d2 361332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36134
36135 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36136 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
36137 * DISTLIST: Likewise.
36138 * kern/ieee1275/of.c: Moved to ...
36139 * kern/ieee1275/ieee1275.c: ... here.
36140
0cb90c45 361412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36142
36143 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
36144 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
36145 Pass 0 as `end' parameter to grub_strtoul().
36146
a19fb360 361472005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36148
36149 * include/grub/powerpc/ieee1275/console.h: Do not include
36150 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
36151 ifdef.
36152 (grub_console_cur_color): Remove i386-specific prototype.
36153 (grub_console_real_putchar): Likewise.
36154 (grub_console_checkkey): Likewise.
36155 (grub_console_getkey): Likewise.
36156 (grub_console_getxy): Likewise.
36157 (grub_console_gotoxy): Likewise.
36158 (grub_console_cls): Likewise.
36159 (grub_console_setcursor): Likewise.
36160 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
36161 Include <grub/machine/console.h>.
36162 * term/ieee1275/ofconsole.c: Likewise.
36163
4ac9bd04 361642005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
36165
36166 * Makefile.in (LIBLZO): New variable.
36167
36168 * configure.ac: Check for LZO version 2.
36169
36170 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
36171 lzo/lzo1x.h instead of lzo1x.h.
36172
36173 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
36174 of -llzo.
36175
36176 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
36177 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
36178
36179 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
36180 copying the data from PARTITION to P.
36181
f4917dfd 361822005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36183
36184 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
36185 negative, unload the module.
36186
36187 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
36188 map is "pc_partition_map" but not "pc".
36189 (usage): Fix the description. The options are --boot-image and
36190 --core-image but not --boot-file or --core-file.
36191 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
36192 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
36193 DEFAULT_DIRECTORY.
36194
36195 * util/i386/pc/grub-install.in: Do not specify --boot-file or
36196 --core-file. Specify INSTALL_DEVICE as an argument.
36197
36198 * util/console.c: Include config.h.
36199 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
36200 [HAVE_NCURSES_H]: Include ncurses.h.
36201 [HAVE_CURSES_H]: Include curses.h.
36202 [!A_NORMAL] (A_NORMAL): Defined as zero.
36203 [!A_STANDOUT] (A_STANDOUT): Likewise.
36204
36205 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
36206 -lncurses.
36207 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
36208
36209 * configure.ac: Check for curses libraries and headers.
36210
36211 * Makefile.in (LIBCURSES): New variable.
36212
36213 * genmk.rb (Script::rule): Set the executable bits.
36214
36215 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
36216 name of the PC partition map is "pc_partition_map" but not "pc".
36217
0e143073 362182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36219
36220 * util/i386/pc/grub-install.in (grub_probefs): New variable.
36221 (modules): Likewise.
36222 (usage): Added descriptions for --modules and --grub-probefs.
36223 Handle --modules and --grub-probefs. Save the arguments in MODULES
36224 and GRUB_PROBEFS, respectively.
36225 Auto-detect a filesystem module against GRUBDIR. If the result is
36226 empty and modules are not specified explicitly, abort the
36227 installation. Add the result to MODULES.
36228
36229 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
36230 disk/powerpc/ieee1275/ofdisk.c,
36231 include/grub/powerpc/ieee1275/init.h and
36232 term/powerpc/ieee1275/ofconsole.c.
36233 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
36234 term/ieee1275/ofconsole.c.
36235
36236 * include/grub/powerpc/ieee1275/console.h: Resurrected.
36237
36238 * COPYING: Upgraded to the latest version. Only the address of the
36239 FSF office has changed.
f19dbdb7 36240
efd6e6d5 362412005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36242
36243 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36244 kern/ieee1275.c with kern/ieee1275/of.c.
36245
36246 * kern/ieee1275.c: Moved to ...
36247 * kern/ieee1275/of.c: ... here.
36248
8ceafda2 362492005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
36250
36251 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 36252 readability.
8ceafda2 36253
36254 * config.guess: Updated to the latest version from gnulib.
36255 * config.sub: Likewise.
36256 * install.sh: Likewise.
36257 * mkinstalldirs: Likewise.
36258
36259 * include/grub/console.h: Removed. This file is arch-specific. Do
36260 not put this in include/grub.
36261
36262 * include/grub/i386/pc/console.h: Resurrected.
36263
36264 * util/console.c: Include grub/machine/console.h instead of
36265 grub/console.h.
36266 * util/grub-emu.c: Likewise.
36267
267f6cd9 362682005-08-04 Marco Gerards <metgerards@student.han.nl>
36269
36270 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
36271 hardcoded value.
f19dbdb7 36272
267f6cd9 36273 From Vincent Pelletier <subdino2004@yahoo.fr>
36274 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
36275 Redefined to use grub_getwh.
36276 (grub_term): New member named getwh.
36277 (grub_getwh): New prototype.
36278 * kern/term.c (grub_getwh): New function.
36279 * term/i386/pc/console.c (grub_console_getwh): New function.
36280 (grub_console_term): New member `getwh'.
36281 * term/i386/pc/vga.c (grub_vga_getwh): New function.
36282 (grub_vga_term): New member `getwh'.
0b5abe02 36283 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 36284 grub_ssize_t.
36285 (grub_ofconsole_getw): New function.
36286 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
36287 (grub_ofconsole_term): New field named getwh and new initial
36288 value.
36289
3be7266d 362902005-08-03 Hollis Blanchard <hollis@penguinppc.org>
36291
36292 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
36293 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
36294 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
36295 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
36296 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
36297 of <grub/machine/ieee1275.h>.
36298 * commands/ieee1275/reboot.c: Likewise.
36299 * boot/powerpc/ieee1275/ieee1275.c: Move ...
36300 * kern/ieee1275.c: ... to here. All users updated. Change all
36301 parameter structs to use new type `grub_ieee1275_cell_t'.
36302 * term/powerpc/ieee1275/ofconsole.c: Move ...
36303 * term/ieee1275/ofconsole.c: ... to here. All users updated.
36304 * disk/powerpc/ieee1275/ofdisk.c: Move ...
36305 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
36306 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
36307 to return int.
36308 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36309 Remove unused prototypes. All users updated.
36310 * include/grub/powerpc/ieee1275/console.h: Removed.
36311 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36312 `grub_ieee1275_cell_t'.
36313 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36314 Cast comparisons with -1 to the correct type.
36315 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36316 type to match `grub_ieee1275_entry_fn'.
36317
8b5f3938 363182005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36319
36320 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36321
36322 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36323 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36324 partmap/sun.c.
36325 (grub_probefs_SOURCES): New variable.
36326
36327 * util/i386/pc/grub-probefs.c: New file.
36328
36329 * util/i386/pc/grub-setup.c (main): Call
36330 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36331 grub_hfs_init and grub_jfs_init to initialize the system. Call
36332 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36333 grub_pc_partition_map_fini to finish the system.
36334
ea409713 363352005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36336
36337 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36338 function.
36339 (grub_multiboot_load_elf32): Likewise.
36340 (grub_multiboot_is_elf64): Likewise.
36341 (grub_multiboot_load_elf64): Likewise.
36342 (grub_multiboot_load_elf): Likewise.
36343 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36344 an ELF32 or ELF64 file.
36345 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36346
36347 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36348 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36349 NULL before calling FS->LABEL.
36350 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36351 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36352 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36353 before calling FS->LABEL.
36354
141a288b 363552005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36356
36357 * util/i386/pc/grub-install.in (datadir): New variable.
36358 (libdir): Removed.
36359 (pkgdatadir): New variable.
36360 (pkglibdir): Removed.
36361
0d5f8a54 363622005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36363
36364 * DISTLIST: Added util/i386/pc/grub-install.in.
36365
36366 * util/i386/pc/grub-install.in: New file.
36367
36368 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36369 (grub_install_SOURCES): Likewise.
36370
36371 * genmk.rb: Added support for scripts.
36372 (Script): New class.
36373 (scripts): New variable.
36374
36375 * Makefile.in (install-local): Install sbin_SCRIPTS by
36376 INSTALL_SCRIPT.
36377 (uninstall): Remove sbin_SCRIPTS.
36378
36379 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36380 device, try to get a GRUB device by
36381 grub_util_biosdisk_get_grub_dev.
36382 Free DEST_DEV.
36383
36384 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36385 description for --device-map.
36386
5f968e1e 363872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36388
36389 Change the semantics of variable hooks. They now return strings
36390 instead of error values.
f19dbdb7 36391
5f968e1e 36392 * util/i386/pc/grub-setup.c: Include grub/env.h.
36393 (setup): Use grub_device_set_root instead of grub_env_set.
36394
36395 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36396 grub_env_get instead of grub_device_set_root and
36397 grub_device_get_root, respectively.
36398
36399 * kern/main.c (grub_env_write_root): New function.
36400 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36401 grub_env_set instead of grub_device_set_root.
36402
36403 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36404 many variables.
36405 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36406 rather than calling ENV->WRITE_HOOK afterwards.
36407 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36408 passing a pointer of a pointer.
36409 (grub_register_variable_hook): Change the types of "read_hook" and
36410 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36411 respectively.
36412 Allocate the default empty string on the heap, because this string
36413 may be freed later.
36414
36415 * kern/device.c: Include grub/env.h.
36416 (grub_device_set_root): Removed.
36417 (grub_device_get_root): Likewise.
36418 (grub_device_open): Use grub_env_get instead of
36419 grub_device_get_root.
36420
36421 * include/grub/env.h (grub_env_read_hook_t): New type.
36422 (grub_env_write_hook_t): Likewise.
36423 (grub_env_var): Change the types of "read_hook" and "write_hook"
36424 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36425 (grub_register_variable_hook): Likewise.
36426
36427 * include/grub/device.h (grub_device_set_root): Removed.
36428 (grub_device_set_root): Likewise.
36429
36430 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36431 make sure that DIRNAME terminates with '/', so that
36432 grub_fat_find_dir will fail if PATH is not a directory.
36433
36434 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36435 from DIRNAME.
36436 Use the qualifier auto for print_files and print_files_long.
36437 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36438 as a regular file.
36439 Put a newline only if there is no error.
36440 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36441 used.
36442
896f0afd 364432005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36444
36445 * kern/partition.c (grub_partition_probe): Initialize PART to
36446 NULL. Otherwise, when no partition map is registered, this returns
36447 a garbage.
36448
b28b81b2 364492005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36450
36451 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36452 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36453 valid.
36454
5f3607e0 364552005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36456
36457 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36458 information on each device, if it does not have partitions. Print
36459 "Device" instead of "Disk", because this function is not specific
36460 to disk devices.
36461
36462 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36463 static to ensure that it is put on the memory rather than a
36464 register.
36465
502c87e8 364662005-07-17 Yoshinori Okuji <okuji@enbug.org>
36467
36468 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36469 (grub_cat_init): Likewise.
36470 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36471 (options): Likewise.
36472 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36473 (grub_configfile_init): Likewise.
36474 * font/manager.c (GRUB_MOD_INIT): Likewise.
36475 * commands/help.c (GRUB_MOD_INIT): Likewise.
36476 (grub_help_init): Likewise.
36477 * normal/command.c (grub_command_init): Likewise.
36478 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36479 * disk/loopback.c (grub_loop_init): Likewise.
36480 (GRUB_MOD_INIT): Likewise.
36481 * commands/ls.c (grub_ls_init): Likewise.
36482 (GRUB_MOD_INIT): Likewise.
36483 (options): Likewise.
36484 * commands/boot.c (grub_boot_init): Likewise.
36485 (GRUB_MOD_INIT): Likewise.
36486 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36487 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36488 (GRUB_MOD_INIT): Likewise.
36489 * commands/cmp.c (grub_cmp_init): Likewise.
36490 (GRUB_MOD_INIT): Likewise.
36491
36492 * normal/arg.c: Use <> instead of "" to include header files.
36493 (SHORT_ARG_HELP): New macro.
36494 (SHORT_ARG_USAGE): Likewise.
36495 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36496 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36497 descriptions.
36498 (find_short): Check if C is 'h' or 'u' explicitly.
36499 (grub_arg_show_help): Use space characters instead of tabs. Treat
36500 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36501 are shown with --help and --usage only if they are not used for
36502 the command itself.
36503 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36504 'h' and 'u'.
36505
36506 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36507 const into "longarg". Change the type of "shortarg" to int.
36508
f806d18e 365092005-07-17 Yoshinori Okuji <okuji@enbug.org>
36510
36511 * boot/i386/pc/boot.S (boot_drive_check): New label.
36512
36513 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36514 macro.
36515
36516 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36517 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36518
e293232b 365192005-07-17 Yoshinori Okuji <okuji@enbug.org>
36520
36521 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36522 When turning off Gate A20, skip the check and return immediately,
36523 because this is not fatal usually.
36524
ebedfd00 365252005-07-17 Yoshinori Okuji <okuji@enbug.org>
36526
36527 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36528 be 0x7C00 instead of 0x8000.
36529
36530 * boot/i386/pc/pxeboot.S: Rewritten.
36531
36532 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36533 EXT_C.
36534 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36535 result.
36536
654fc59f 365372005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36538
36539 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36540 robustness. This routine now supports a BIOS call and System
36541 Control Port A to modify the gate A20.
36542
36543 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36544 Increased to 0x440.
36545
09f9923f 365462005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36547
36548 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36549 device path and resulting ihandle.
36550 (grub_ofdisk_close): dprintf the ihandle being closed.
36551 (grub_ofdisk_read): dprintf function parameters.
36552 * kern/mm.c (grub_mm_init_region): Likewise.
36553 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36554 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36555 size, and boot arguments.
36556 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36557 before loading into memory.
36558 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36559 before loading into memory.
36560
7ef504d8 365612005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36562
36563 * kern/mm.c: Added much documentation.
36564 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36565 8, set to 5 instead of 8.
36566
e0f050c2 365672005-07-10 Yoshinori Okuji <okuji@enbug.org>
36568
36569 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36570
36571 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36572 (grub_mkdevicemap_SOURCES): New variable.
36573
36574 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36575 lib/device.c of GRUB Legacy.
36576
7224189a 365772005-07-10 Yoshinori Okuji <okuji@enbug.org>
36578
36579 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36580 instead of PATH is NULL.
36581
68c864eb 365822005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36583
36584 * commands/cmp.c (BUFFER_SIZE): New macro.
36585 (grub_cmd_cmp): Close the right file at the right time. Compare
36586 only data just read. Don't report files of different size as
36587 identical. Dynamically allocate buffers. Move variable
36588 declarations at the beginning of function.
36589
e6f3e614 365902005-07-09 Yoshinori Okuji <okuji@enbug.org>
36591
36592 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36593 reverse.
36594
f8f1559a 365952004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36596
36597 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36598 when backspace is pressed at beginning of line.
36599
39c9d41d 366002005-07-03 Yoshinori Okuji <okuji@enbug.org>
36601
36602 * DISTLIST: Added genfslist.sh.
36603
36604 * normal/main.c (fs_module_list): New variable.
36605 (autoload_fs_module): New function.
36606 (read_fs_list): Likewise.
36607 (grub_normal_execute): Call read_fs_list.
36608
36609 * kern/fs.c (grub_fs_autoload_hook): New variable.
36610 (grub_fs_probe): Added support for auto-loading.
36611
36612 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36613 (grub_fs_module_list_t): New type.
36614
36615 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36616 (grub_fs_autoload_hook): New prototype.
36617
36618 * genfslist.sh: New file.
f19dbdb7 36619
39c9d41d 36620 * genmk.rb: Added a rule to generate a filesystem list.
36621
121c1d83 366222005-06-30 Marco Gerards <metgerards@student.han.nl>
36623
36624 * configure.ac: Fix the test for cross-compiling.
36625
36626 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36627 define GRUB_UTIL anymore.
36628
36629 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36630 so this function works on other systems than just big endian.
36631 (load_modules): Likewise.
36632 (add_segments): Likewise.
36633
e75d76e1 366342005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36635
36636 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36637 contains `l' modifier, get a long from va_arg().
36638
50b5a0a7 366392005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36640
36641 * kern/mm.c (grub_free): If the next free block which is being
36642 merged is the first free block, set the first block to the block
36643 being freed.
36644 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36645
89371b20 366462005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36647
36648 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36649 `grub_ieee1275_chosen'.
36650
168d6e58 366512005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36652
36653 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36654 (grub_ieee1275_chosen): New variable.
36655 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36656 `chosen'.
36657 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36658 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36659 Rename first argument to `phandle' for consistency.
36660 (grub_ieee1275_get_property_length): Likewise.
36661 (grub_ieee1275_next_property): Likewise. Change type of first argument
36662 to grub_ieee1275_phandle_t.
36663 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36664 Move export next to declaration.
36665 (grub_ieee1275_chosen): New variable.
36666 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36667 Correct cosmetic typo.
36668 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36669 `grub_ieee1275_chosen'.
36670 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36671 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36672 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36673 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36674 `grub_ieee1275_chosen'.
36675
ca5baa3f 366762005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36677
36678 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36679 /chosen/bootargs.
36680 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36681 /chosen/bootargs as "variable=value" pairs.
36682
708b345f 366832005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36684
36685 * include/grub/misc.h (grub_dprintf): New macro.
36686 (grub_real_dprintf): New prototype.
36687 (grub_strword): Likewise.
36688 (grub_iswordseparator): Likewise.
36689 * kern/misc.c (grub_real_dprintf): New function.
36690 (grub_strword): Likewise.
36691 (grub_iswordseparator): Likewise.
36692
f4c5e67c 366932005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36694
36695 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36696 (roundup): Remove macro.
36697 (grub_ieee1275_flags): Make static.
36698 (grub_ieee1275_realmode): Remove.
36699 (grub_ieee1275_test_flag): New function.
36700 (grub_ieee1275_set_flag): Likewise.
36701 (find_options): Rename to `grub_ieee1275_find_options'; update
36702 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36703 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36704 (cmain): New prototype.
36705 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36706 `grub_ieee1275_flags' directly.
36707 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36708 machine/biosdisk.h.
36709 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36710 Don't include grub/machine/init.h.
36711 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36712 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36713 Remove prototype.
36714 (grub_ieee1275_realmode): Likewise.
36715 (grub_ieee1275_flag): New enum.
36716 (grub_ieee1275_test_flag): New prototype.
36717 (grub_ieee1275_set_flag): New prototype.
36718 * include/grub/powerpc/ieee1275/init.h: Remove file.
36719 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36720 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36721 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36722 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36723 comment.
36724 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36725 `grub_ieee1275_test_flag'.
36726 (grub_ieee1275_encode_devname): Likewise.
36727
ed16607e 367282005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36729
36730 * include/grub/powerpc/ieee1275/ieee1275.h
36731 (grub_ieee1275_encode_devname): New prototype.
36732 (grub_ieee1275_get_filename): Likewise.
36733 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36734 function.
36735 (grub_set_prefix): Likewise.
36736 (grub_machine_init): Call grub_set_prefix.
36737 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36738 (grub_parse_type): New enum.
36739 (grub_ieee1275_get_devargs): New function.
36740 (grub_ieee1275_get_devname): Likewise.
36741 (grub_ieee1275_parse_args): Likewise.
36742 (grub_ieee1275_get_filename): Likewise.
36743 (grub_ieee1275_encode_devname): Likewise.
36744
be369920 367452005-03-30 Marco Gerards <metgerards@student.han.nl>
36746
36747 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36748 `grub_loader_unset'.
36749
a5ce3a4a 367502005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36751
36752 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36753 instead of grub_ieee1275_interpret.
36754 (grub_halt_init): New function.
36755 (grub_halt_fini): Likewise.
36756 (GRUB_MOD_INIT): Correct message grammar.
36757 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36758 instead of grub_ieee1275_interpret.
36759 (grub_reboot_init): New function.
36760 (grub_reboot_fini): Likewise.
36761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36762 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36763 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36764 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36765 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36766 function.
36767 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36768 Add prototype.
36769 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36770 prototype.
36771 (grub_halt): Likewise.
36772 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36773 (cmain): Remove __attribute__((unused)).
36774 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36775 (grub_heap_len): Likewise.
36776 (grub_machine_fini): New function.
36777 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36778 (grub_halt): Likewise.
36779 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36780 function.
36781 * util/powerpc/ieee1275/misc.c: New file.
36782
0058f771 367832005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36784
36785 * DISTLIST: New file.
36786 * gendistlist.sh: Likewise.
f19dbdb7 36787
0058f771 36788 * Makefile.in (COMMON_DISTFILES): Removed.
36789 (BOOT_DISTFILES): Likewise.
36790 (CONF_DISTFILES): Likewise.
36791 (DISK_DISTFILES): Likewise.
36792 (FS_DISTFILES): Likewise.
36793 (INCLUDE_DISTFILES): Likewise.
36794 (KERN_DISTFILES): Likewise.
36795 (LOADER_DISTFILES): Likewise.
36796 (TERM_DISTFILES): Likewise.
36797 (UTIL_DISTFILES): Likewise.
36798 (DISTFILES): Likewise.
36799 (uninstall): Uninstall files in $(pkgdata_DATA).
36800 (DISTLIST): New target.
36801 (distdir): Use the contents of the file DISTLIST to get a list of
36802 distributed files.
36803
46b3b8a5 368042005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36805
36806 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36807 descriptor. This is ported from GRUB Legacy.
36808
36809 * gencmdlist.sh: Added an extra semicolon to make it work with
36810 old sed versions. Reported by Robert Bihlmeyer
36811 <robbe@orcus.priv.at>.
36812
5822ff87 368132005-03-08 Yoshinori Okuji <okuji@enbug.org>
36814
36815 Automatic loading of commands is supported.
f19dbdb7 36816
5822ff87 36817 * normal/main.c (read_command_list): New function.
36818 (grub_normal_execute): Call read_command_list.
36819
36820 * normal/command.c (grub_register_command): Return zero or CMD.
36821 Allocate CMD->NAME from the heap.
36822 Initialize CMD->MODULE_NAME to zero.
36823 Find the same name as well. If the same command is found and it is
36824 a dummy command, overwrite members. If it is not a dummy command,
36825 return zero.
36826 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36827 (grub_command_find): If a dummy command is found, load a module
36828 and retry to find a command only once.
36829
36830 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36831 make sure that each command is loaded.
36832
36833 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36834 macro.
36835 (struct grub_command): Remove const from the member `name'.
36836 Add a new member `module_name'.
36837 (grub_register_command): Return grub_command_t.
36838
36839 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36840 sure that each command is loaded.
36841
36842 * genmk.rb (PModule::rule): Specify a module name without the
36843 suffix ".mod" to gencmdlist.sh.
36844
7b1f4b57 368452005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36846
36847 * gencmdlist.sh: New file.
f19dbdb7 36848
7b1f4b57 36849 * genmk.rb (PModule::rule): Generate a rule for a command list.
36850 Clean command.lst.
36851 Generate command.lst from $(COMMANDFILES).
36852
36853 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36854 (DATA): Added $(pkgdata_DATA).
36855 (install-local): Install files in $(pkgdata_DATA).
36856
062aaf39 368572005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36858
36859 * term/i386/pc/vga.c (debug_command): Removed.
36860 (GRUB_MOD_INIT): Do not register the command "debug".
36861
36862 From Hollis Blanchard:
36863 * commands/configfile.c: New file.
36864 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36865 commands/configfile.c.
36866 (pkgdata_MODULES): Added configfile.mod.
36867 (configfile_mod_SOURCES): New variable.
36868 (configfile_mod_CFLAGS): Likewise.
36869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36870 commands/configfile.c.
36871 (pkgdata_MODULES): Added configfile.mod.
36872 (configfile_mod_SOURCES): New variable.
36873 (configfile_mod_CFLAGS): Likewise.
36874 * util/grub-emu.c (main): Call grub_configfile_init and
36875 grub_configfile_fini.
36876 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36877 prototype.
36878 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36879
cee01aa6 368802005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36881
36882 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36883 address.
36884
36885 * commands/help.c (grub_cmd_help): Do not print newlines after
36886 the last command in print_command_help.
36887
93f3a1d8 368882005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36889
36890 * commands/default.h: New file.
36891 * commands/timeout.h: Likewise.
36892 * normal/context.c: Likewise.
f19dbdb7 36893
93f3a1d8 36894 * util/misc.c: Do not include sys/times.h.
36895 Include sys/time.h and grub/machine/time.h.
36896 (grub_get_rtc): Rewritten with gettimeofday.
36897
36898 * util/grub-emu.c (main): Call grub_default_init and
36899 grub_timeout_init before grub_normal_init, and call
36900 grub_timeout_fini and grub_default_fini after grub_main.
36901
36902 * util/console.c (grub_ncurses_checkkey): Return the read
36903 character or -1.
36904
36905 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36906 timeouts.
36907
36908 * normal/main.c (read_config_file): Push MENU. If this fails,
36909 print an error and wait for a user input.
36910 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36911 If a menu is empty or an error occurs, pop MENU.
36912 (grub_normal_execute): Pop and free MENU after grub_menu_run
36913 returns.
36914
36915 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36916
36917 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36918 include time.h.
36919 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36920 without GRUB_UTIL.
36921 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36922 time.h.
36923 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36924 without GRUB_UTIL.
36925
36926 * include/grub/normal.h (struct grub_menu_list): New struct.
36927 (grub_menu_list_t): New type.
36928 (struct grub_context): New struct.
36929 (grub_context_t): New type.
36930 (grub_register_command): Got rid of EXPORT_FUNC.
36931 (grub_unregister_command): Likewise.
36932 (grub_context_get): New prototype.
36933 (grub_context_get_current_menu): Likewise.
36934 (grub_context_push_menu): Likewise.
36935 (grub_context_pop_menu): Likewise.
36936 [GRUB_UTIL] (grub_default_init): Likewise.
36937 [GRUB_UTIL] (grub_default_fini): Likewise.
36938 [GRUB_UTIL] (grub_timeout_init): Likewise.
36939 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36940
36941 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36942 commands/timeout.c and normal/context.c.
36943 (pkgdata_MODULES): Added default.mod and timeout.mod.
36944 (normal_mod_SOURCES): Added normal/context.c.
36945 (default_mod_SOURCES): New variable.
36946 (default_mod_CFLAGS): Likewise.
36947 (timeout_mod_SOURCES): Likewise.
36948 (timeout_mod_CFLAGS): Likewise.
36949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36950 conf/i386-pc.rmk.
36951 (pkgdata_MODULES): Added default.mod and timeout.mod.
36952 (normal_mod_SOURCES): Added normal/context.c.
36953 (default_mod_SOURCES): New variable.
36954 (default_mod_CFLAGS): Likewise.
36955 (timeout_mod_SOURCES): Likewise.
36956 (timeout_mod_CFLAGS): Likewise.
36957
36958 * Makefile.in (all-local): Added $(MKFILES).
36959
4ed2e1dd 369602005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36961
36962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36963 (grub_emu_SOURCES): Likewise.
36964 (pkgdata_MODULES): Add `sun.mod'.
36965 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36967 `partmap/sun.c'.
36968 (pkgdata_MODULES): Add `sun.mod'.
36969 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36970 * include/grub/partition.h (grub_sun_partition_map_init): New
36971 prototype.
36972 (grub_sun_partition_map_fini): Likewise.
36973 * partmap/sun.c: New file.
36974 * util/grub-emu.c (main): Initialize and de-initialize the sun
36975 partitionmap support.
36976
4d4e372e 369772005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36978
36979 This implements an Emacs-like menu entry editor.
f19dbdb7 36980
4d4e372e 36981 * normal/menu_entry.c: New file.
f19dbdb7 36982
4d4e372e 36983 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36984 characters to ASCII.
36985 (saved_char): New variable.
36986 (grub_ncurses_checkkey): Rewritten completely.
36987 (grub_ncurses_getkey): Likewise.
36988 (grub_ncurses_init): Call raw instead of cbreak.
36989
36990 * normal/menu.c (print_entry): Do not put a space.
36991 (init_page): Renamed to ...
36992 (grub_menu_init_page): ... this. All callers changed.
36993 (edit_menu_entry): Removed.
36994 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36995
36996 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36997
36998 * kern/misc.c (grub_vprintf): Call grub_refresh.
36999
37000 * normal/menu.c (DISP_LEFT): Renamed to ...
37001 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
37002 * normal/menu.c (DISP_UP): Renamed to ...
37003 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
37004 * normal/menu.c (DISP_RIGHT): Renamed to ...
37005 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
37006 * normal/menu.c (DISP_DOWN): Renamed to ...
37007 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
37008 * normal/menu.c (DISP_HLINE): Renamed to ...
37009 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
37010 * normal/menu.c (DISP_VLINE): Renamed to ...
37011 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
37012 * normal/menu.c (DISP_UL): Renamed to ...
37013 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
37014 * normal/menu.c (DISP_UR): Renamed to ...
37015 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
37016 * normal/menu.c (DISP_LL): Renamed to ...
37017 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
37018 * normal/menu.c (DISP_LR): Renamed to ...
37019 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
37020 * normal/menu.c (TERM_WIDTH): Renamed to ...
37021 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
37022 * normal/menu.c (TERM_HEIGHT): Renamed to ...
37023 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
37024 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
37025 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
37026 * normal/menu.c (TERM_MARGIN): Renamed to ...
37027 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
37028 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
37029 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
37030 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
37031 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
37032 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
37033 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
37034 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
37035 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
37036 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
37037 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
37038 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
37039 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
37040 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
37041 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
37042 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
37043 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
37044 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
37045 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
37046 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
37047 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
37048 All callers changed.
37049
37050 * include/grub/normal.h: New prototype.
37051
37052 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37053 normal/menu_entry.c.
37054 (normal_mod_SOURCES): Likewise.
37055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37056 (normal_mod_SOURCES): Likewise.
37057
e6b92c8a 370582005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
37059
37060 * include/grub/normal.h (grub_halt_init): New prototype.
37061 (grub_halt_fini): Likewise.
37062 (grub_reboot_init): Likewise.
37063 (grub_reboot_fini): Likewise.
37064
37065 * util/grub-emu.c: Include signal.h.
37066 (main_env): New global variable.
37067 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
37068 catch C-c.
37069 (grub_machine_fini): New function.
37070 (main): Call grub_halt_init and grub_reboot_init before
37071 grub_main, and grub_reboot_fini and grub_halt_fini after it.
37072 Call setjmp with MAIN_ENV to go back afterwards.
37073 Call grub_machine_fini right before return.
37074
37075 * include/grub/util/misc.h: Include setjmp.h.
37076 (main_env): New prototype.
37077
37078 * include/grub/kernel.h (grub_machine_fini): New prototype.
37079 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
37080 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
37081
37082 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
37083 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
37084 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 37085
e6b92c8a 37086 * util/i386/pc/misc.c: New file.
f19dbdb7 37087
e6b92c8a 37088 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37089 util/i386/pc/misc.c, commands/i386/pc/halt.c and
37090 commands/i386/pc/reboot.c.
37091
c642636f 370922005-02-14 Guillem Jover <guillem@hadrons.org>
37093
37094 * include/grub/dl.h (grub_dl_check_header): New prototype.
37095 (grub_arch_dl_check_header): Change return type to grub_err_t,
37096 remove size parameter and export function. Update all callers.
37097 * kern/dl.c (grub_dl_check_header): New function.
37098 (grub_dl_load_core): Use `grub_dl_check_header' instead of
37099 `grub_arch_dl_check_header'. Check ELF type. Check if sections
37100 are inside the core.
37101 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
37102 independent ELF header checks.
37103 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37104 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
37105 `grub_dl_check_header' instead of explicit checks. Check for the
37106 ELF type.
37107 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
37108 `grub_dl_check_header' instead of explicit checks. Remove arch
37109 specific ELF header checks.
37110
e6b92c8a 37111 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
37112 argument SIZE.
37113
5eabe94b 371142005-02-13 Hollis Blanchard <hollis@penguinppc.org>
37115
37116 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
37117 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
37118
1b14a681 371192005-02-12 Hollis Blanchard <hollis@penguinppc.org>
37120
37121 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 37122 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 37123 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 37124 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 37125 * partmap/amiga.c (amiga_partition_map_iterate): Return
37126 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
37127 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37128
aca108aa 371292005-02-01 Guillem Jover <guillem@hadrons.org>
37130
37131 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
37132 help info.
37133
c9f9c556 371342005-01-31 Marco Gerards <metgerards@student.han.nl>
37135
37136 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
37137 Removed prototype.
37138 (grub_rescue_cmd_linux): New prototype.
37139 (grub_rescue_cmd_initrd): Likewise.
37140 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
37141 `bi_rec'.
37142 (grub_linux_release_mem): Release the memory for the initrd.
37143 (grub_load_linux): Renamed from this...
37144 (grub_rescue_cmd_linux): ...To this. Changed all callers.
37145 Changed `entry' not to be static. Loop over memory regions to
37146 find another one when the default fails.
37147 (grub_rescue_cmd_initrd): New function.
37148 (grub_linux_init): Remove function.
37149 (grub_linux_fini): Likewise.
37150 (GRUB_MOD_INIT): Register `initrd'.
37151 (GRUB_MOD_FINI): Unregister `initrd'.
37152 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
37153 Function removed.
37154 (grub_linux_normal_fini): Likewise.
37155 (GRUB_MOD_INIT): Register `initrd'.
37156 (GRUB_MOD_FINI): Unregister `initrd'.
37157
990cf3aa 371582005-01-31 Marco Gerards <metgerards@student.han.nl>
37159
37160 * commands/help.c: New file.
37161 * normal/arg.c (show_help): Renamed to...
37162 (grub_arg_show_help): ... this.
37163 * commands/i386/pc/halt.c: New file.
37164 * commands/i386/pc/reboot.c: Likewise.
37165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
37166 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
37167 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
37168 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
37169 variables.
37170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37171 `commands/help.c'.
37172 (pkgdata_MODULES): Add `help.mod'.
37173 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
37174 * grub/i386/pc/init.h (grub_reboot): New prototype.
37175 (grub_halt): Likewise.
37176 * include/grub/normal.h (grub_arg_show_help): New prototype.
37177 (grub_help_init): Likewise.
37178 (grub_help_fini): Likewise.
37179 * util/grub-emu.c (main): Initialize and deinitialize the help
37180 command.
37181
37182 * normal/cmdline.c (grub_cmdline_get): Doc fix.
37183
37184 * normal/command.c (grub_command_init): Fixed the description of
37185 the `set' and `unset' commands.
37186
371872005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 37188
37189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
37190 function.
37191 * commands/ieee1275/halt.c: New file.
37192 * commands/ieee1275/reboot.c: Likewise.
37193 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
37194 `__attribute__ ((unused))'. Some GCS related fixed.
37195 (grub_suspend_init) [GRUB_UTIL]: Function removed.
37196 (grub_suspend_fini): Likewise.
37197 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
37198 and `halt.mod'.
37199 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
37200 (halt_mod_CFLAGS): New variables.
37201 * include/grub/powerpc/ieee1275/ieee1275.h
37202 (grub_ieee1275_interpret): New prototype.
37203
1ab09cc7 372042005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
37205
37206 * include/grub/misc.h (memmove): New prototype.
37207 (memcpy): Likewise.
37208
8b8cbdb2 372092005-01-22 Hollis Blanchard <hollis@penguinppc.org>
37210
37211 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
37212 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
37213
e3741a27 372142005-01-22 Marco Gerards <metgerards@student.han.nl>
37215
37216 * kern/misc.c (grub_strndup): Function rewritten.
37217
776bd780 372182005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
37219
37220 * normal/menu.c (TERM_WIDTH): Macro redefined.
37221 (TERM_TOP_BORDER_Y): Likewise.
37222 (draw_border): Replaced while-loop by a for-loop. Make the number
37223 of lines consistent with the number of lines displayed in
37224 print_entries. Added a margin below the rectangle.
37225 (print_entry): Make the entry fit in the rectangle.
37226 (print_entries): Display the scroll arrows next to the right
37227 border.
37228
78026bce 372292005-01-21 Marco Gerards <metgerards@student.han.nl>
37230
37231 * fs/minix.c (grub_minix_find_file): Reserve more space for
37232 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
37233 `grub_strncpy' to copy `path' into it.
37234
67bbaf0f 372352005-01-21 Marco Gerards <metgerards@student.han.nl>
37236
37237 Add the loopback device, a device via which files can be accessed
37238 as devices.
f19dbdb7 37239
67bbaf0f 37240 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
37241 (pkgdata_MODULES): Add loopback.mod.
37242 (loopback_mod_SOURCES): New variable.
37243 (loopback_mod_CFLAGS): Likewise.
37244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37245 `disk/loopback.c'.
37246 (pkgdata_MODULES): Add loopback.mod.
37247 (loopback_mod_SOURCES): New variable.
37248 (loopback_mod_CFLAGS): Likewise.
37249 * disk/loopback.c: new file.
37250 * include/grub/normal.h (grub_loop_init): New prototype.
37251 (grub_loop_fini): New prototype.
37252 * util/grub-emu.c (main): Initialize and de-initialize loopback
37253 support.
37254 * include/grub/disk.h (grub_disk_dev_id): Add
37255 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
37256
6f1c18bd 372572005-01-20 Hollis Blanchard <hollis@penguinppc.org>
37258
37259 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
37260 function.
37261 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
37262 (suspend_mod_SOURCES): New variable.
37263 (suspend_mod_CFLAGS): Likewise.
37264 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
37265 New prototype.
37266 * commands/ieee1275/suspend.c: New file.
37267
b38551da 372682005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37269
37270 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 37271 ((unused))' to `__attribute__ ((used))'.
b38551da 37272 (GRUB_MOD_FINI): Likewise.
37273 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
37274 * genmk.rb (PModule): Assign space to common symbols when linking
37275 modules.
37276
777aff39 372772005-01-20 Marco Gerards <metgerards@student.han.nl>
37278
37279 * include/grub/mm.h (grub_mm_init_region): Change the type of the
37280 `unsigned' arguments to `grub_size_t'.
37281 (grub_malloc): Likewise.
37282 (grub_realloc): Likewise.
37283 (grub_memalign): Likewise.
37284 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
37285 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37286 * util/misc.c (grub_malloc): Likewise.
37287 (grub_realloc): Likewise.
37288 * kern/mm.c (get_header_from_pointer): Change the casts to
37289 `unsigned' into a cast to `grub_size_t'.
37290
37291 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
37292 point to `currnode' when `currnode' is changed.
37293
37294 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
37295 Schottelius <nico-linux@schottelius.org>.
37296
d0ff18e1 372972005-01-09 Hollis Blanchard <hollis@penguinppc.org>
37298
37299 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
37300 (note_path): Remove variable.
37301 (GRUB_IEEE1275_NOTE_NAME): New macro.
37302 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
37303 (grub_ieee1275_note_hdr): New structure.
37304 (grub_ieee1275_note_desc): Likewise.
37305 (grub_ieee1275_note): Likewise.
37306 (load_note): Remove `dir' argument. All callers updated. Remove
37307 `note_img' and `path'. Do not load a file from `note_path'.
37308 Initialize a struct grub_ieee1275_note and write that to `out'.
37309 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37310
4ca7004c 373112005-01-05 Marco Gerards <metgerards@student.han.nl>
37312
37313 * util/misc.c (grub_util_read_image): Revert last change. It
37314 called `grub_util_read_at', which seeks from the beginning of the
37315 file.
37316
0b412211 373172005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37318
37319 * TODO: Add note about endianness in grub-mkimage.
37320 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37321 section.
37322 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37323 (grub_mkimage_SOURCES): New target.
37324 * include/grub/kernel.h (grub_start_addr): Remove variable.
37325 (grub_end_addr): Likewise.
37326 (grub_total_module_size): Likewise.
37327 (grub_kernel_image_size): Likewise.
37328 (GRUB_MODULE_MAGIC): New constant.
37329 (grub_module_info): New structure.
37330 (grub_arch_modules_addr): New prototype.
37331 (grub_get_end_addr): Remove prototype.
37332 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37333 * include/grub/powerpc/ieee1275/kernel.h: New file.
37334 * include/grub/util/misc.h (grub_util_get_fp_size): New
37335 prototype.
37336 (grub_util_read_at): Likewise.
37337 (grub_util_write_image_at): Likewise.
37338 * kern/main.c (grub_get_end_addr): Remove function.
37339 (grub_load_modules): Call grub_arch_modules_addr instead of using
37340 grub_end_addr. Look for a grub_module_info struct in memory. Use
37341 the grub_module_info fields instead of calling grub_get_end_addr
37342 as loop conditions. Move grub_add_unused_region code here.
37343 (grub_add_unused_region): Remove function.
37344 * kern/i386/pc/init.c: Include grub/cache.h.
37345 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37346 one call to add_mem_region.
37347 (grub_arch_modules_addr): New function.
37348 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37349 (grub_total_module_size): Likewise.
37350 Include grub/machine/kernel.h.
37351 (grub_arch_modules_addr): New function.
37352 * util/grub-emu.c (grub_end_addr): Remove variable.
37353 (grub_total_module_size): Likewise.
37354 (grub_arch_modules_addr): New function.
37355 * util/misc.c: Include unistd.h.
37356 (grub_util_get_fp_size): New function.
37357 (grub_util_read_at): Likewise.
37358 (grub_util_write_image_at): Likewise.
37359 (grub_util_read_image): Call grub_util_read_at.
37360 (grub_util_write_image): Call grub_util_write_image_at.
37361 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37362 additional memory in kernel_img for a struct grub_module_info.
37363 Fill in that grub_module_info.
37364 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37365
458786f8 373662005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37367
37368 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37369 New function.
37370 * include/grub/powerpc/ieee1275/ieee1275.h
37371 (grub_ieee1275_milliseconds): New prototype.
37372 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37373 Change to 1000.
37374 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37375 grub_ieee1275_milliseconds.
37376
ac507d1b 373772005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37378
37379 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37380 variable.
37381 (find_options): New function.
37382 (cmain): Call find_options.
37383 * include/grub/powerpc/ieee1275/ieee1275.h
37384 (grub_ieee1275_realmode): New extern variable.
37385 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37386 grub_map if grub_ieee1275_realmode is false.
37387
6b8fd1c4 373882004-12-29 Marco Gerards <metgerards@student.han.nl>
37389
37390 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37391 lines are inserted and make it work like readline. Reported by
37392 Vincent Pelletier <subdino2004@yahoo.fr>.
37393
8514a1e0 373942004-12-28 Marco Gerards <metgerards@student.han.nl>
37395
37396 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37397
37398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37399 `kern/powerpc/cache.S'.
37400
924b6140 374012004-12-27 Marco Gerards <metgerards@student.han.nl>
37402
37403 * genmk.rb: Handle the `Program' class in the main loop. Written
37404 by Johan Rydberg <jrydberg@gnu.org>.
37405 (Program): New class.
37406 (programs): New variable.
37407 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37408 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37409 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37410 (help_arch): Function removed.
37411 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37412 `powerpc/libgcc.h' and `loader.h'.
37413 (pkgdata_PROGRAMS): New variable.
37414 (sbin_UTILITIES): Variable removed.
37415 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37416 (grubof_SOURCES): Variable re-defined so it only includes the
37417 core functionality.
37418 (grubof_CFLAGS): Remove `-DGRUBOF'.
37419 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37420 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37421 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37422 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37423 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37424 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37425 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37426 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37427 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37428 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37429 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37430 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37431 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37432 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37433 (pc_mod_CFLAGS): New variables.
37434 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37435 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37436 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37437 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37438 Moved from here...
37439 * include/grub/i386/pc/init.h (grub_os_area_addr)
37440 (rub_os_area_size): ... to here.
37441 * include/grub/powerpc/ieee1275/ieee1275.h
37442 (grub_ieee1275_entry_fn): Export symbol.
37443 * include/grub/powerpc/ieee1275/init.h: New file.
37444 * include/grub/powerpc/libgcc.h: Likewise.
37445 * include/grub/cache.h: Likewise.
37446 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37447 <hollis@penguinppc.org>.
37448 * kern/dl.c: Include <grub/cache.h>.
37449 (grub_dl_flush_cache): New function.
37450 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37451 for this module.
37452 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37453 (grub_console_init): Removed prototypes.
37454 (grub_machine_init): Don't initialize the modules anymore.
37455 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37456 static.
37457 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37458 Macro undef removed.
37459 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37460 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37461 relocation `R_PPC_REL32'. Return an error when the relocation is
37462 unknown.
37463 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37464 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37465 * util/misc.c (grub_arch_sync_caches): Likewise.
37466
e4b47e0c 374672004-12-19 Marco Gerards <metgerards@student.han.nl>
37468
37469 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37470 `symlist.c', add `grubof_symlist.c'.
37471 (symlist.c): Variable removed.
37472 (grubof_HEADERS): Variable added.
37473 (grubof_symlist.c): New target.
37474 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37475 `kernel_img_HEADERS'.
37476 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37477 * kern/powerpc/dl.c: New file.
37478 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37479 Function removed.
37480 (grub_arch_dl_relocate_symbols): Likewise.
37481 (grub_register_exported_symbols): Likewise.
37482
4ceb3636 374832004-12-13 Marco Gerards <metgerards@student.han.nl>
37484
37485 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37486 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37487 to fail instead. Reported by Vincent Pelletier
37488 <subdino2004@yahoo.fr>.
37489
37490 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37491 it is not allocated. Reported by Vincent Pelletier
37492 <subdino2004@yahoo.fr>.
37493
37494 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37495 output so the output looks better.
f19dbdb7 37496
3f1578fe 374972004-12-04 Marco Gerards <metgerards@student.han.nl>
37498
37499 Modulize the partition map support and add support for the amiga
37500 partition map.
f19dbdb7 37501
3f1578fe 37502 * commands/ls.c: Include <grub/partition.h> instead of
37503 <grub/machine/partition.h>.
37504 * kern/disk.c: Likewise.
37505 * kern/rescue.c: Likewise.
37506 * loader/i386/pc/chainloader.c: Likewise.
37507 * normal/cmdline.c: Likewise.
37508 * kern/powerpc/ieee1275/init.c: Likewise.
37509 (grub_machine_init): Call `grub_pc_partition_map_init',
37510 `grub_amiga_partition_map_init' and
37511 `grub_apple_partition_map_init'.
37512 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37513 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37514 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37515 `partition.h' and `pc_partition.h'.
37516 (grub_setup_SOURCES): Remove
37517 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37518 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37519 (grub_emu_SOURCES): Likewise.
37520 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37521 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37522 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37524 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37525 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37526 (grubof_SOURCES): Likewise.
37527 * disk/i386/pc/partition.c: File removed.
37528 * disk/powerpc/ieee1275/partition.c: Likewise.
37529 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37530 * include/grub/i386/pc/partition.h: Likewise.
37531 * kern/partition.c: New file.
37532 * partmap/amiga.c: Likewise.
37533 * partmap/apple.c: Likewise.
37534 * partmap/pc.c: Likewise.
37535 * include/grub/partition.h: Likewise..
37536 * include/grub/pc_partition.h: Likewise.
37537 * util/grub-emu.c: Include <grub/partition.h> instead of
37538 <grub/machine/partition.h>.
37539 (main): Call `grub_pc_partition_map_init',
37540 `grub_amiga_partition_map_init' and
37541 `grub_apple_partition_map_init' and deinitialize afterwards.
37542 * util/i386/pc/biosdisk.c: Include `#include
37543 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37544 `<grub/machine/partition.h>'.
37545 * util/i386/pc/grub-setup.c: Likewise.
37546 * util/i386/pc/biosdisk.c: Likewise.
37547 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37548 partition information in case of a PC partition.
37549 * util/i386/pc/grub-setup.c: Include `#include
37550 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37551 `<grub/machine/partition.h>'.
37552 (setup): Only access the PC specific partition information in case
37553 of a PC partition.
37554
0ef4ced9 375552004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37556
0ef4ced9 37557 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37558 (grub_longjmp): Likewise.
37559 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37560 20.
37561 * normal/powerpc/setjmp.S: New file.
37562 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37563 `normal/powerpc/setjmp.S'.
37564 (grubof_CFLAGS): Add `-DGRUBOF'.
37565 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37566 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37567
19950e29 375682004-11-16 Marco Gerards <metgerards@student.han.nl>
37569
37570 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37571 property named `name'. Correctly handle the error returned by
37572 `grub_ieee1275_finddevice' if a device can not be opened.
37573
a2fea427 375742004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37575
37576 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37577 `actual' for negativity.
37578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37579 kern/fshelp.c.
37580
41ea0ea3 375812004-11-01 Marco Gerards <metgerards@student.han.nl>
37582
37583 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37584 (PAGE_OFFSET): New macro.
37585 (CRTC_ADDR_PORT): Likewise.
37586 (CRTC_DATA_PORT): Likewise.
37587 (START_ADDR_HIGH_REGISTER): Likewise.
37588 (START_ADDR_LOW_REGISTER): Likewise.
37589 (GRAPHICS_ADDR_PORT): Likewise.
37590 (GRAPHICS_DATA_PORT): Likewise.
37591 (READ_MAP_REGISTER): Likewise.
37592 (INPUT_STATUS1_REGISTER): Likewise.
37593 (INPUT_STATUS1_VERTR_BIT): Likewise.
37594 (page): New variable.
37595 (wait_vretrace): New function.
37596 (set_read_map): Likewise.
37597 (set_start_address): Likewise.
37598 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37599 the right page.
37600 (check_vga_mem): Take the page into account.
37601 (write_char): Likewise.
37602 (write_cursor): Likewise.
37603 (scroll_up): Likewise. Copy the page to the page that is not
37604 shown and switch between both pages.
37605 (grub_vga_putchar): Fix off by one error.
37606 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37607 account.
37608
ad0bd20b 376092004-11-01 Marco Gerards <metgerards@student.han.nl>
37610
37611 Add support for iso9660 (including rockridge).
f19dbdb7 37612
ad0bd20b 37613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37614 (iso9660_mod_SOURCES): New variable.
37615 (iso9660_mod_CFLAGS): Likewise.
37616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37617 * include/grub/fs.h (grub_iso9660_init): New prototype.
37618 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37619 * fs/iso9660.c: New file.
37620
37621 * include/grub/misc.h (grub_strncat): New prototype.
37622 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37623
ad0bd20b 37624 * fs/hfs.c (grub_hfs_mount): Translate the error
37625 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37626 * fs/jfs.c (grub_jfs_mount): Likewise.
37627 * fs/ufs.c (grub_ufs_mount): Likewise.
37628
a5477a59 376292004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37630
37631 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37632 which initialized BAT registers.
37633 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37634 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37635 Move from here...
37636 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37637 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37638 ... to here.
37639 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37640 (grub_mapclaim): Likewise.
37641 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37642 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37643 hand.
37644
9304c1f8 376452004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37646
37647 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37648 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37649 -ffreestanding and -msoft-float.
37650
86f4ae25 376512004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37652
37653 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37654 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37655 set in grub_ieee1275_flags.
37656
38912228 376572004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37658
37659 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37660 prototype.
37661 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37662 grub_console_init first.
37663 Change the memory range used for grub_ieee1275_claim and
37664 grub_mm_init_region.
37665 Print an error message if the claim fails.
37666 Include <grub/misc.h>.
37667
d1923dc8 376682004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37669
37670 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37671 Call grub_children_iterate for device nodes of type `scsi',
37672 `ide', or `ata'.
37673 (grub_ofdisk_open): Remove manual device alias resolution.
37674 Fix memory leak when device cannot be opened.
f19dbdb7 37675 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37676 (grub_children_iterate): New prototype.
37677 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37678 New function.
37679 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37680 Return -1 if args.size was -1.
37681
4512e4f3 376822004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37683
37684 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37685 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37686 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37687 Open Firmware's memory for it; claim memory from _start to _end.
37688 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37689 (_end): New extern.
37690 (_start): Zero BSS from __bss_start to _end.
37691 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37692 New extern.
37693 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37694
4d61feb0 376952004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37696
ad0bd20b 37697 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37698 -1 if args.base was -1.
4d61feb0 37699
026fa2f9 377002004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37701
37702 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37703 escape sequence instead of a literal ^L. Also call
37704 grub_ofconsole_gotoxy.
37705
9f2220ef 377062004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37707
37708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37709 void * arguments to grub_addr_t. All callers updated. Also make
37710 the `result' argument optional.
37711 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37712 All callers updated.
37713
8a572cd7 377142004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37715
37716 * commands/ls.c (grub_ls_list_files): Use the string following the
37717 initial ')', if present, as the filesystem path.
37718 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37719
37720 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37721
18aa81f2 377222004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 Make the source code of the menu interface more readable.
f19dbdb7 37725
18aa81f2 37726 * normal/menu.c: Include grub/mm.h.
37727 (TERM_WIDTH): New macro.
37728 (TERM_HEIGHT): Likewise.
37729 (TERM_INFO_HEIGHT): Likewise.
37730 (TERM_MARGIN): Likewise.
37731 (TERM_SCROLL_WIDTH): Likewise.
37732 (TERM_TOP_BORDER_Y): Likewise.
37733 (TERM_LEFT_BORDER_X): Likewise.
37734 (TERM_BORDER_WIDTH): Likewise.
37735 (TERM_MESSAGE_HEIGHT): Likewise.
37736 (TERM_BORDER_HEIGHT): Likewise.
37737 (TERM_NUM_ENTRIES): Likewise.
37738 (TERM_FIRST_ENTRY_Y): Likewise.
37739 (TERM_ENTRY_WIDTH): Likewise.
37740 (TERM_CURSOR_X): Likewise.
37741 (draw_border): Use macros instead of magic numbers.
37742 (print_entry): Likewise.
37743 (print_entries): Likewise.
37744 (run_menu): Likewise. Also, handle the key 'e'.
37745 (run_menu_entry): Ignore empty command lines.
37746 (print_message): Added a new argument EDIT. If EDIT is true,
37747 print a different message.
37748 (init_page): Likewise.
37749 (edit_menu_entry): New function. Not implemented yet.
37750
b47efe30 377512004-09-17 Marco Gerards <metgerards@student.han.nl>
37752
37753 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37754 can be loaded from normal mode.
f19dbdb7 37755
b47efe30 37756 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37757 `multiboot.mod'.
37758 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37759 (multiboot_mod_CFLAGS): New variables.
37760 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37761 * loader/i386/pc/multiboot_normal.c: Likewise.
37762
b47efe30 37763 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37764 attribute `unused'.
f19dbdb7 37765
b47efe30 37766 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37767 `fdiro' to read the mode information from instead of `diro'.
37768
37769 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37770 looking up a symlink.
37771
37772 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37773 macro.
37774 * normal/command.c (grub_command_execute): Don't parse the
37775 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37776 flags of the command.
37777
37778 * normal/menu.c (grub_menu_run): Fix typo.
37779
da75ac71 377802004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37781
37782 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37783
37784 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37785 `y + 1' instead of `y - 1'.
37786
37787 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37788
062b24c2 377892004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37790
37791 From Hollis Blanchard <hollis@penguinppc.org>:
37792 * kern/misc.c (memmove): New alias for grub_memmove.
37793 (memcmp): New alias for grub_memcmp.
37794 (memset): New alias for grub_memset.
f19dbdb7 37795 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37796 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37797 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37798 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37799
8ddad845 378002004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37801
37802 Added normal mode command `chainloader' as module chain.mod, which
37803 depends on normal.mod and _chain.mod.
f19dbdb7 37804
8ddad845 37805 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37806 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37807 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37808 Deleted prototype.
37809 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37810 but arguments parsing moved to ...
37811 (grub_chainloader_cmd): ... here. New function.
37812 * include/grub/i386/pc/chainloader.h: New file.
37813 * loader/i386/pc/chainloader_normal.c: Likewise.
37814
2c1f4ce3 378152004-09-11 Marco Gerards <metgerards@student.han.nl>
37816
37817 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37818 (grub_mkimage_LDFLAGS): Likewise.
37819 (grub_emu_SOURCES): Likewise.
37820 (kernel_img_HEADERS): Added fshelp.h.
37821 * fs/ext2.c: Include <grub/fshelp.h>.
37822 (FILETYPE_REG): New macro.
37823 (FILETYPE_INO_REG): Likewise.
37824 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37825 Changed all users.
37826 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37827 all users.
37828 (grub_fshelp_node): New struct.
37829 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37830 to a pointer.
37831 (grub_ext2_get_file_block): Removed function.
37832 (grub_ext2_read_block): New function.
37833 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37834 This function was written.
37835 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37836 (grub_ext2_find_file): Removed function.
37837 (grub_ext2_read_symlink): New function.
37838 (grub_ext2_iterate_dir): Likewise.
37839 (grub_ext2_open): Rewritten.
37840 (grub_ext2_dir): Rewritten.
37841 * include/grub/fshelp.h: New file.
37842 * fs/fshelp.c: Likewise.
37843
3c52136a 378442004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37845
37846 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37847 (print_message): Add a missing newline.
37848 (run_menu): Added timeout support.
37849 (run_menu_entry): New local function.
37850 (grub_menu_run): Added support for booting.
37851
37852 * kern/loader.c (grub_loader_is_loaded): New function.
37853
37854 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37855 (grub_get_rtc): Exported.
37856
37857 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37858 (grub_get_rtc): Exported.
37859
37860 * include/grub/normal.h (struct grub_command_list): Remove
37861 constant from the member `command'.
37862
37863 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37864
37865 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37866
37867 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37868
aa033560 378692004-08-28 Marco Gerards <metgerards@student.han.nl>
37870
37871 Add support for the JFS filesystem.
37872
37873 * fs/jfs.c: New file.
37874 * include/grub/fs.h (grub_jfs_init): New prototype.
37875 (grub_jfs_fini): New prototype.
37876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37877 (grub_emu_SOURCES): Likewise.
37878 (pkgdata_MODULES): Add jfs.mod.
37879 (jfs_mod_SOURCES): New variable.
37880 (jfs_mod_CFLAGS): Likewise.
37881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37882 (grubof_SOURCES): Likewise.
37883 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37884
37885 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37886 endian to the host endian.
37887 (grub_fat_utf16_to_utf8): Move function from there...
37888 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37889 the endianness of the source string anymore.
aa033560 37890 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37891
94bc45af 378922004-08-24 Marco Gerards <metgerards@student.han.nl>
37893
37894 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37895 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37896 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37897 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37898
94bc45af 37899 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37900 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37901 for `node_found' and `it_dir'.
37902 (grub_hfs_dir): Add prototype for `dir_hook'.
37903
37904 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37905 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37906 and `indir32' to silence a gcc warning.
37907
37908 * include/grub/fs.h (grub_hfs_init): New prototype.
37909 (grub_hfs_fini): Likewise.
f19dbdb7 37910
37911
97543f08 379122004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37913
37914 Each disk device has its own id now. This is useful to make use
37915 of multiple disk devices.
f19dbdb7 37916
97543f08 37917 * include/grub/disk.h (grub_disk_dev_id): New enum.
37918 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37919 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37920
37921 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37922 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37923
37924 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37925 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37926
37927 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37928 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37929
37930 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37931 "id" which is used by the cache manager.
37932
37933 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37934 of just "GRUB".
37935
64372eb4 379362004-08-18 Marco Gerards <metgerards@student.han.nl>
37937
37938 * fs/hfs.c: New file.
37939 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37940 (grub_emu_SOURCES): Likewise.
37941 (pkgdata_MODULES): Add hfs.mod.
37942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37943 (grubof_SOURCES): Likewise.
37944 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37945
37946 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37947 * kern/misc.c (grub_strncasecmp): Add function.
37948
cc61b58f 379492004-08-14 Marco Gerards <metgerards@student.han.nl>
37950
37951 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37952 with parentheses.
37953
37954 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37955 (grub_ext2_dir): In case the directory entry type is unknown, read
37956 it from the inode.
37957
0ef123f6 379582004-08-02 Peter Bruin <pjbruin@dds.nl>
37959
37960 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37961 grub_load_linux instead of grub_rescue_cmd_linux as second
37962 argument of grub_rescue_register_command.
37963
37964 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37965
a447c5df 379662004-07-27 Marco Gerards <metgerards@student.han.nl>
37967
37968 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37969 function.
37970 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37971 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37972 `loader/powerpc/ieee1275/linux.c',
37973 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37974 * include/grub/powerpc/ieee1275/ieee1275.h
37975 (grub_ieee1275_release): New prototype.
37976 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37977 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37978 normal, boot, linux and linux_normal.
37979 * loader/powerpc/ieee1275/linux.c: New file.
37980 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37981
5a9e3546 379822004-07-12 Marco Gerards <metgerards@student.han.nl>
37983
37984 * normal/arg.c (grub_arg_parse): Correct error handling after
37985 reallocating the argumentlist (check if `argl' is not null instead
37986 of checking if `args' is not null).
37987 * kern/mm.c (grub_realloc): Return the same pointer when using the
37988 same region, instead of returning the header address.
37989
e15199cb 379902004-07-11 Marco Gerards <metgerards@student.han.nl>
37991
37992 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37993 one block instead of two when looking for the initial partition.
37994 (grub_partition_probe): Initialize the local variable `p' with 0.
37995 Use base 10 for the grub_strtoul call.
37996 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37997 need for one local variable.
37998 (grub_strtoul): Don't add the new value to `num', instead of that
37999 just assign it.
38000
020616c2 380012004-07-11 Marco Gerards <metgerards@student.han.nl>
38002
38003 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
38004 (pxeboot_img_SOURCES): New variable.
38005 (pxeboot_img_ASFLAGS): Likewise.
38006 (pxeboot_img_LDFLAGS): Likewise.
38007 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
38008 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
38009 <lode_leroy@hotmail.com>.
38010
6c51eb64 380112004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38012
38013 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
38014 there was no input.
38015
cfb12aff 380162004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38017
38018 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
38019 the history buffer logic.
38020
6eabba74 380212004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38022
38023 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
38024 (FILETYPE_INO_SYMLINK): New macros.
38025 (grub_ext2_find_file): Check if the node is a directory using the
38026 inode stat information instead of using the filetype in the
38027 dirent. Exclude the first character of an absolute symlink.
38028 (grub_ext2_dir): Mask out the filetype part of the mode member of
38029 the inode.
38030
66e19ef8 380312004-05-24 Marco Gerards <metgerards@student.han.nl>
38032
38033 Add support for UFS version 1 and 2. Add support for the minix
38034 filesystem version 1 and 2, both the variants with 14 and 30 long
38035 filenames.
f19dbdb7 38036
66e19ef8 38037 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
38038 fs/minix.c.
38039 (grub_emu_SOURCES): Likewise.
38040 (pkgdata_MODULES): Add ufs.mod and minix.mod.
38041 (ufs_mod_SOURCES): New variable.
38042 (ufs_mod_CFLAGS): Likewise.
38043 (minix_mod_SOURCES): Likewise.
38044 (minix_mod_CFLAGS): Likewise.
38045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
38046 fs/minix.c.
38047 (grubof_SOURCES): Likewise.
38048 * fs/ufs.c: New file.
38049 * fs/minix.c: New file.
38050 * include/grub/fs.h (grub_ufs_init): New prototype.
38051 (grub_ufs_fini): Likewise.
38052 (grub_minix_init): Likewise.
38053 (grub_minix_fini): Likewise.
38054 * util/grub-emu.c (main): Initialize and deinitialize UFS and
38055 minix fs.
38056
cc2e748a 380572004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
38058
38059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
38060 commands/ls.c, commands/terminal.c, commands/boot.c,
38061 commands/cmp.c and commands/cat.c.
38062 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
38063
38064 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
38065 "env.h"
38066
4b13b216 380672004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38068
38069 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
38070 and grub_, respectively. Because the conversion is trivial and
38071 mechanical, I omit the details here. Please refer to the CVS
38072 if you need more information.
38073
6a142551 380742004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38075
38076 * include/pupa: Renamed to ...
38077 * include/grub: ... this.
38078 * util/i386/pc/pupa-mkimage.c: Renamed to ...
38079 * util/i386/pc/grub-mkimage.c: ... this.
38080 * util/i386/pc/pupa-setup.c: Renamed to ...
38081 * util/i386/pc/grub-setup.c: ... this.
38082 * util/pupa-emu.c: Renamed to ...
38083 * util/grub-emu.c: ... this.
38084
e56cdf21 380852004-03-29 Marco Gerards <metgerards@student.han.nl>
38086
38087 Add support for the newworld apple macintosh (PPC). This has been
38088 tested on the powerbook 2000 only. It only adds support for
38089 generic ieee1275 functions, console and disk support. This should
38090 be easy to port to other architectures with support for Open
38091 Firmware.
f19dbdb7 38092
e56cdf21 38093 * configure.ac: Accept the powerpc as host_cpu. In the case of
38094 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
38095 specific tests are only executed while building for the i386.
38096 Inverse test for crosscompile.
38097 * genmk.rb (Utility): Allow assembler files.
38098 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
38099 * conf/powerpc-ieee1275.rmk: New file.
38100 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
38101 * disk/powerpc/ieee1275/partition.c: Likewise.
38102 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
38103 * include/pupa/powerpc/ieee1275/console.h: Likewise.
38104 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
38105 * include/pupa/powerpc/ieee1275/time.h: Likewise.
38106 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
38107 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
38108 * include/pupa/powerpc/ieee1275/loader.h
38109 * include/pupa/powerpc/setjmp.h: Likewise.
38110 * include/pupa/powerpc/types.h: Likewise.
38111 * kern/powerpc/ieee1275/init.c: Likewise.
38112 * kern/powerpc/ieee1275/openfw.c: Likewise.
38113 * term/powerpc/ieee1275/ofconsole.c: Likewise.
38114
38115 These files were written by Johan Rydberg
38116 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 38117
e56cdf21 38118 * boot/powerpc/ieee1275/cmain.c: New file.
38119 * boot/powerpc/ieee1275/crt0.S: Likewise.
38120 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
38121 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
38122
8c8cc205 381232004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
38124
38125 * Makefile.in: Update copyright.
38126 * genmodsrc.sh: Likewise.
38127 * gensymlist.sh: Likewise.
38128 * term/i386/pc/vga.c: Indent correctly.
38129
38130 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
38131 bugreporting address.
38132 * util/i386/pc/pupa-setup.c (usage): Likewise,
38133 (main): Call pupa_ext2_init and pupa_ext2_fini.
38134
f19dbdb7 38135 * fs/fat.c (log2): Renamed to ...
8c8cc205 38136 (fat_log2): ... this.
38137 All callers changed.
38138 * kern/misc.c (memcpy): Alias to pupa_memmove.
38139 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
38140 lvalue cast.
38141 * util/console.c (pupa_ncurses_fini): Return 0.
38142
38143 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
38144 Move fail label here.
38145 [__GNU__]: Don't warn when using stat.
38146 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
38147 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
38148 long int. Use strtol instead of strtoul.
f19dbdb7 38149
db1771cf 381502004-03-14 Marco Gerards <metgerards@student.han.nl>
38151
38152 * commands/boot.c: New file.
38153 * commands/cat.c: Likewise.
38154 * commands/cmp.c: Likewise.
38155 * commands/ls.c: Likewise.
38156 * commands/terminal.c: Likewise.
38157 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
38158 (pupa_register_command): Changed interface to match the new
38159 argument parser.
38160 (pupa_command_execute): Changed (almost rewritten) so it uses
38161 pupa_split_command. Added support for setting variables using the
38162 syntax `foo=bar'.
38163 (rescue_command): Changed to work with the new argument parser.
38164 (terminal_command): Moved from here to commands/terminal.c.
38165 (set_command): New function.
38166 (unset_command): New function.
38167 (insmod_command): New function.
38168 (rmmod_command): New function.
38169 (lsmod_command): New function.
38170 (pupa_command_init): Don't initialize the command terminal
38171 anymore. Initialize the commands set, unset, insmod, rmmod and
38172 lsmod.
38173 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
38174 (kernel_img_HEADERS): Add arg.h and env.h.
38175 (pupa_mkimage_LDFLAGS): Add kern/env.c.
38176 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
38177 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
38178 normal/arg.c.
38179 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
38180 terminal.mod.
38181 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
38182 (boot_mod_SOURCES): New variable.
38183 (terminal_mod_SOURCES): Likewise.
38184 (ls_mod_SOURCES): Likewise.
38185 (cmp_mod_SOURCES): Likewise.
38186 (cat_mod_SOURCES): Likewise.
38187
38188 * normal/arg.c: New file.
38189 * kern/env.c: Likewise.
38190 * include/pupa/arg.h: Likewise.
38191 * include/pupa/env.h: Likewise.
38192 * font/manager.c (font_command): Changed to match argument parsing
38193 interface changes.
38194 (PUPA_MOD_INIT): Likewise.
38195 * hello/hello.c (pupa_cmd_hello): Likewise.
38196 (PUPA_MOD_INIT): Likewise.
38197 * include/pupa/disk.h: Include <pupa/device.h>.
38198 (pupa_print_partinfo): New prototype.
38199 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
38200 (pupa_dl_get_prefix): Likewise.
38201 * include/pupa/misc.h: Include <pupa/err.h>.
38202 (pupa_isgraph): New prototype.
38203 (pupa_isdigit): Likewise.
38204 (pupa_split_cmdline): Likewise.
38205 * include/pupa/normal.h: Include <pupa/arg.h>.
38206 (pupa_command): Changed the prototype of the member `func' to
38207 match the argument parsing interface. Added member `options'.
38208 (pupa_register_command): Updated to match function.
38209 (pupa_arg_parse): New prototype.
38210 (pupa_hello_init) [PUPA_UTIL]: New prototype.
38211 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
38212 (pupa_ls_init) [PUPA_UTIL]: Likewise.
38213 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
38214 (pupa_cat_init) [PUPA_UTIL]: Likewise.
38215 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
38216 (pupa_boot_init) [PUPA_UTIL]: Likewise.
38217 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
38218 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
38219 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
38220 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
38221 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
38222 * kern/disk.c: Include <pupa/file.h>.
38223 (pupa_print_partinfo): New function.
38224 * kern/dl.c: Include <pupa/env.h>.
38225 (pupa_dl_dir): Variable removed.
38226 (pupa_dl_load): Use the environment variable `prefix' instead of
38227 the variable pupa_dl_dir.
38228 (pupa_dl_set_prefix): Function removed.
38229 (pupa_dl_get_prefix): Likewise.
38230 * kern/i386/pc/init.c: Include <pupa/env.h>.
38231 (pupa_machine_init): Use the environment variable `prefix' instead of
38232 using pupa_dl_set_prefix to set the prefix.
38233 * kern/main.c: Include <pupa/env.h>.
38234 (pupa_set_root_dev): Use the environment variable `prefix' instead of
38235 using pupa_dl_get_prefix to get the prefix.
38236 * kern/misc.c: Include <pupa/env.h>.
38237 (pupa_isdigit): New function.
38238 (pupa_isgraph): Likewise.
38239 (pupa_ftoa): Likewise.
38240 (pupa_vsprintf): Added support for printing values of the type
38241 `double'. Make it possible to format variable output when using
38242 formatting like `%1.2%f'.
38243 (pupa_split_cmdline): New function.
38244 * kern/rescue.c: Include <pupa/env.h>.
38245 (next_word): Removed function.
38246 (pupa_rescue_cmd_prefix): Likewise.
38247 (pupa_rescue_cmd_set): New function.
38248 (pupa_rescue_cmd_unset): New function.
38249 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
38250 split the command line instead of splitting it here. Added
38251 support for setting variables using the syntax `foo=bar'. Don't
38252 initialize the prefix command anymore. Initialized the set and
38253 unset commands.
38254 * normal/cmdline.c: Include <pupa/env.h>.
38255 (pupa_tab_complete): Added prototypes for print_simple_completion,
38256 print_partition_completion, add_completion, iterate_commands,
38257 iterate_dev, iterate_part and iterate_dir. Moved code to print
38258 partition information from here to kern/disk.c.
fe6b695a 38259 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 38260 * normal/main.c: Include <pupa/env.h>.
38261 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
38262 instead of using pupa_dl_get_prefix to get the prefix.
38263 * term/i386/pc/vga.c: Include <pupa/arg.h>.
38264 (check_vga_mem): Cast pointers to `void *' to silence a gcc
38265 warning.
38266 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
38267 (pupa_vga_setcolor): Declare unused variables with `__attribute__
38268 ((unused))' to silence a gcc warning.
38269 (pupa_vga_setcolor): Likewise.
38270 (debug_command): Changed to match argument parsing
38271 interface changes.
38272 * util/pupa-emu.c: Include <pupa/env.h>.
38273 (options): Added 0's for unused fields to silence a gcc warning.
38274 (argp): Likewise.
38275 (main): Use the environment variable `prefix' instead of using
38276 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
38277 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
38278 and terminal.
38279
38280 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
38281 * util/misc.c: Include <malloc.h>.
38282 (pupa_malloc): Rewritten so errors are correctly reported.
38283 (pupa_realloc): Likewise.
38284 (pupa_memalign): Likewise.
38285 (pupa_mm_init_region): Declare unused variables with
38286 `__attribute__ ((unused))' to silence a gcc warning.
38287 * normal/i386/setjmp.S: Remove tab at the end of the file to
38288 silence a gcc warning.
38289 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
38290 variables with `__attribute__ ((unused))' to silence a gcc
38291 warning.
38292 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
38293 local variable i unsigned to silence a gcc warning.
38294
38295 * kern/term.c: Include <pupa/misc.h>.
38296 (pupa_more_lines): New variable.
38297 (pupa_more): Likewise.
38298 (pupa_putcode): When the pager is active pause at the end of every
38299 screen.
38300 (pupa_set_more): New function.
38301 * include/pupa/term.h (pupa_set_more): New prototype.
38302
38303
3b1139cb 383042004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
38305
38306 Now this project is GRUB 2 rather than PUPA. The location of
38307 the CVS repository was moved to GRUB's.
f19dbdb7 38308
3b1139cb 38309 * configure.ac: Use bug-grub as the reporting address.
38310 Use GRUB instead of PUPA.
38311 Change the version number to 1.90.
38312
8367695c 383132004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38314
38315 * genkernsyms.sh: Updated copyright information.
38316 * genmk.rb: Likewise.
38317 * genmodsrc.sh: Likewise.
38318 * gensymlist.sh: Likewise.
38319 * boot/i386/pc/boot.S: Likewise.
38320 * boot/i386/pc/diskboot.S: Likewise.
38321 * disk/i386/pc/biosdisk.c: Likewise.
38322 * disk/i386/pc/partition.c: Likewise.
38323 * font/manager.c: Likewise.
38324 * fs/ext2.c: Likewise.
38325 * fs/fat.c: Likewise.
38326 * include/pupa/boot.h: Likewise.
38327 * include/pupa/device.h: Likewise.
38328 * include/pupa/disk.h: Likewise.
38329 * include/pupa/dl.h: Likewise.
38330 * include/pupa/elf.h: Likewise.
38331 * include/pupa/err.h: Likewise.
38332 * include/pupa/file.h: Likewise.
38333 * include/pupa/font.h: Likewise.
38334 * include/pupa/fs.h: Likewise.
38335 * include/pupa/kernel.h: Likewise.
38336 * include/pupa/loader.h: Likewise.
38337 * include/pupa/misc.h: Likewise.
38338 * include/pupa/mm.h: Likewise.
38339 * include/pupa/net.h: Likewise.
38340 * include/pupa/normal.h: Likewise.
38341 * include/pupa/rescue.h: Likewise.
38342 * include/pupa/setjmp.h: Likewise.
38343 * include/pupa/symbol.h: Likewise.
38344 * include/pupa/term.h: Likewise.
38345 * include/pupa/types.h: Likewise.
38346 * include/pupa/i386/setjmp.h: Likewise.
38347 * include/pupa/i386/types.h: Likewise.
38348 * include/pupa/i386/pc/biosdisk.h: Likewise.
38349 * include/pupa/i386/pc/boot.h: Likewise.
38350 * include/pupa/i386/pc/console.h: Likewise.
38351 * include/pupa/i386/pc/init.h: Likewise.
38352 * include/pupa/i386/pc/kernel.h: Likewise.
38353 * include/pupa/i386/pc/linux.h: Likewise.
38354 * include/pupa/i386/pc/loader.h: Likewise.
38355 * include/pupa/i386/pc/memory.h: Likewise.
38356 * include/pupa/i386/pc/multiboot.h: Likewise.
38357 * include/pupa/i386/pc/partition.h: Likewise.
38358 * include/pupa/i386/pc/time.h: Likewise.
38359 * include/pupa/i386/pc/vga.h: Likewise.
38360 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38361 * include/pupa/util/getroot.h: Likewise.
38362 * include/pupa/util/misc.h: Likewise.
38363 * include/pupa/util/resolve.h: Likewise.
38364 * kern/device.c: Likewise.
38365 * kern/disk.c: Likewise.
38366 * kern/dl.c: Likewise.
38367 * kern/err.c: Likewise.
38368 * kern/file.c: Likewise.
38369 * kern/fs.c: Likewise.
38370 * kern/loader.c: Likewise.
38371 * kern/main.c: Likewise.
38372 * kern/misc.c: Likewise.
38373 * kern/mm.c: Likewise.
38374 * kern/rescue.c: Likewise.
38375 * kern/term.c: Likewise.
38376 * kern/i386/dl.c: Likewise.
38377 * kern/i386/pc/init.c: Likewise.
38378 * kern/i386/pc/lzo1x.S: Likewise.
38379 * kern/i386/pc/startup.S: Likewise.
38380 * loader/i386/pc/chainloader.c: Likewise.
38381 * loader/i386/pc/linux.c: Likewise.
38382 * loader/i386/pc/multiboot.c: Likewise.
38383 * normal/cmdline.c: Likewise.
38384 * normal/command.c: Likewise.
38385 * normal/main.c: Likewise.
38386 * normal/menu.c: Likewise.
38387 * normal/i386/setjmp.S: Likewise.
38388 * term/i386/pc/console.c: Likewise.
38389 * term/i386/pc/vga.c: Likewise.
38390 * util/console.c: Likewise.
38391 * util/genmoddep.c: Likewise.
38392 * util/misc.c: Likewise.
38393 * util/pupa-emu.c: Likewise.
38394 * util/resolve.c: Likewise.
38395 * util/unifont2pff.rb: Likewise.
38396 * util/i386/pc/biosdisk.c: Likewise.
38397 * util/i386/pc/getroot.c: Likewise.
38398 * util/i386/pc/pupa-mkimage.c: Likewise.
38399 * util/i386/pc/pupa-setup.c: Likewise.
38400
e6eced71 384012004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38402
38403 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38404 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38405 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38406 reading and reset it after reading.
38407 (pupa_ext2_close): Return PUPA_ERR_NONE.
38408
38409 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38410 Correct value.
38411 (struct linux_kernel_header): Add kernel_version and
38412 initrd_addr_max.
38413 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38414 pupa_file_read succeeds.
38415 (pupa_rescue_cmd_initrd): Implement.
38416
5aded270 384172003-12-03 Marco Gerards <metgerards@student.han.nl>
38418
38419 * fs/ext2.c (pupa_ext2_label): New function.
38420 (pupa_ext2_fs): Added label.
38421 * fs/fat.c (pupa_fat_label): New function.
38422 (pupa_fat_fs): Added label.
38423 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38424
38425 * kern/misc.c (pupa_strndup): New function.
38426 * include/pupa/misc.h (pupa_strndup): New prototype.
38427
38428 * include/pupa/normal.h: Include <pupa/err.h>.
38429 (pupa_set_history): New prototype.
38430 (pupa_iterate_commands): New prototype.
38431 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38432 <pupa/disk.h>, <pupa/file.h>.
38433 (hist_size): New variable.
38434 (hist_lines): Likewise.
38435 (hist_end): Likewise.
38436 (hist_used): Likewise.
38437 (pupa_set_history): New function.
38438 (pupa_history_get): Likewise.
38439 (pupa_history_add): Likewise.
38440 (pupa_history_replace): Likewise.
38441 (pupa_tab_complete): Likewise.
38442 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38443 completion shows partitionnames while completing partitions, this
38444 feature was suggested by Jeff Bailey.
38445 * normal/command.c (pupa_iterate_commands): New function.
38446 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38447 (pupa_normal_init): Initialize history buffer.
38448 (PUPA_MOD_INIT): Likewise.
38449 (pupa_normal_fini): Free the history buffer.
38450 (PUPA_MOD_FINI): Likewise.
38451
38452 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38453 key.
38454
38455 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38456 * configure.ac [i386]: Check for regparam bug.
38457 (NESTED_FUNC_ATTR) [! i386]: Defined.
38458
1f7315a3 384592003-11-17 Marco Gerards <metgerards@student.han.nl>
38460
38461 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38462 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38463 (pupa_emu_SOURCES): New variable.
38464 (pupa_emu_LDFLAGS): Likewise.
38465 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38466 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38467 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38468 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38469 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38470 (pupa_jmp_buf): New typedef.
38471 (pupa_setjmp) [PUPA_UTIL]: New macro.
38472 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38473 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38474 (pupa_refresh): New prototype.
38475 * include/pupa/util/getroot.h: New file.
38476 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38477 it.
38478 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38479 (pupa_rescue_cmd_cat): Likewise.
38480 (pupa_rescue_cmd_ls): Likewise.
38481 (pupa_rescue_cmd_testload): Likewise.
38482 (pupa_rescue_cmd_lsmod): Likewise.
38483 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38484 * normal/menu.c (run_menu): Likewise.
38485 * kern/term.c (pupa_cls): Likewise.
38486 (pupa_refresh): New function.
38487 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38488 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38489 * util/console.c: New file.
f19dbdb7 38490
1f7315a3 38491 * util/i386/pc/getroot.c: New file.
38492 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38493 (pupa_putchar): New function.
38494 (pupa_refresh): Likewise.
38495 (xgetcwd): Function moved to ...
38496 (strip_extra_slashes): Likewise.
38497 (get_prefix): Likewise.
f19dbdb7 38498 * util/i386/pc/getroot.c: ... here.
1f7315a3 38499 (find_root_device): Function moved and renamed to...
38500 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38501 Changed all callers.
38502 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38503 and renamed to...
38504 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38505 Changed all callers.
38506 * util/misc.c (pupa_memalign): New function.
38507 (pupa_mm_init_region): Likewise.
38508 (pupa_register_exported_symbols): Likewise.
38509 (pupa_putchar): Function removed.
38510 * util/pupa-emu.c: New file.
38511
9a5c1ade 385122003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38513
38514 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38515 (_multiboot_mod_SOURCES): New variable.
38516 (_multiboot_mod_CFLAGS): Likewise.
38517 * loader/i386/pc/multiboot.c: New file.
38518 * include/pupa/i386/pc/multiboot.h: Likewise.
38519 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38520 (pupa_multiboot_real_boot): New function.
38521 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38522 (pupa_multiboot_real_boot): New prototype.
38523 (pupa_rescue_cmd_multiboot): Likewise
38524 (pupa_rescue_cmd_module): Likewise.
38525
38526 * kern/loader.c (pupa_loader_set): Continue when
38527 pupa_loader_unload_func() fails.
38528 (pupa_loader_unset): New function.
38529 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38530
38531 * kern/misc.c (pupa_stpcpy): New function.
38532 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38533
8e72a9c0 385342003-11-12 Marco Gerards <metgerards@student.han.nl>
38535
38536 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38537 for available extensions.
38538
38539 * include/pupa/i386/pc/time.h: New file.
38540 * kern/disk.c: Include <pupa/machine/time.h>.
38541 (PUPA_CACHE_TIMEOUT): New macro.
38542 (pupa_last_time): New variable.
38543 (pupa_disk_open): Flush the cache when there was a timeout.
38544 (pupa_disk_close): Reset the timer.
38545 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38546 pupa_currticks.
38547 * util/misc.c: Include <sys/times.h>
38548 (pupa_get_rtc): New function.
38549
c4adbd32 385502003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38551
38552 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38553 as blocks.
38554 (pupa_ext2_get_file_block): Use blocks member.
38555
38556 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38557 first block. Return -1 instead of pupa_errno on error.
38558
bfd30f06 385592003-10-27 Marco Gerards <metgerards@student.han.nl>
38560
38561 * README: In the pupa-mkimage example use _chain instead of chain
38562 and ext2 instead of fat.
38563 * TODO: Replace ext2fs with jfs as an example. Add an item for
38564 adding journal playback for ext2fs.
38565 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38566 (pkgdata_MODULES): Added ext2.mod.
38567 (ext2_mod_SOURCES): New variable.
38568 (ext2_mod_CFLAGS): Likewise.
38569 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38570 * include/pupa/misc.h (pupa_strncpy): New prototype.
38571 (pupa_strcat): Likewise.
38572 (pupa_strncmp): Likewise.
38573 * kern/misc.c (pupa_strcat): Enable function.
38574 (pupa_strncpy): New function.
38575 (pupa_strncmp): Likewise.
38576 * fs/ext2.c: New file.
f19dbdb7 38577
bfd30f06 38578 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38579 when the read failed before retrying.
38580 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38581 (_FILE_OFFSET_BITS): Likewise.
38582 * configure.ac: Added AC_SYS_LARGEFILE.
38583
98d15063 385842003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38585
38586 * genmk.rb (PModule#rule): Make sure to get only symbol names
38587 from the output of nm.
59cad637 38588 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38589
18d9c7cd 385902003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38591
38592 I forgot to check in these changes for a long time. This adds
38593 incomplete support for VGA console, and this is still very
38594 buggy. Also, a lot of consideration is required for I18N,
38595 UNICODE, and VGA font issues. Therefore, assume that this is
38596 such that "better than nothing".
f19dbdb7 38597
18d9c7cd 38598 * font/manager.c: New file.
38599 * include/pupa/font.h: Likewise.
38600 * include/pupa/i386/pc/vga.h: Likewise.
38601 * term/i386/pc/vga.c: Likewise.
38602 * util/unifont2pff.rb: Likewise.
38603
38604 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38605 (pkgdata_MODULES): Added vga.mod and font.mod.
38606 (vga_mod_SOURCES): New variables.
38607 (vga_mod_CFLAGS): Likewise.
38608 (font_mod_SOURCES): Likewise.
38609 (font_mod_CFLAGS): Likewise.
38610
38611 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38612
38613 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38614 (struct pupa_term): Added init and fini.
18d9c7cd 38615 Changed the argument of putchar to pupa_uint32_t.
38616
38617 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38618 (pupa_console_real_putchar): New prototype.
38619 (pupa_console_putchar): Removed.
38620 (pupa_console_checkkey): Exported.
38621 (pupa_console_getkey): Likewise.
38622
38623 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38624 characters.
38625
38626 * kern/term.c (pupa_term_set_current): Rewritten.
38627 (pupa_putchar): Likewise.
38628 (pupa_putcode): New function.
38629
38630 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38631 (pupa_console_real_putchar): ... this.
38632 (pupa_vga_set_mode): New function.
38633 (pupa_vga_get_font): Likewise.
38634
38635 * normal/command.c: Include pupa/term.h.
38636 (terminal_command): New function.
38637 (pupa_command_init): Register the command "terminal".
38638
38639 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38640 (DISP_UP): Likewise.
38641 (DISP_RIGHT): Likewise.
38642 (DISP_DOWN): Likewise.
38643 (DISP_HLINE): Likewise.
38644 (DISP_VLINE): Likewise.
38645 (DISP_UL): Likewise.
38646 (DISP_UR): Likewise.
38647 (DISP_LL): Likewise.
38648 (DISP_LR): Likewise.
38649
38650 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38651
977329f5 386522003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38653
38654 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38655 FIX. Reverse the path_list.
38656
38657 * include/pupa/normal.h: Export pupa_register_command and
38658 pupa_unregister_command.
38659
38660 * hello/hello.c (pupa_cmd_hello): New module.
38661 * conf/i386-pc.rmk: Added hello.mod.
38662
1f5ab428 386632003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38664
38665 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38666
1f5ab428 38667 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38668 (compress_kernel): New variable.
38669 (generate_image): Heavily modified to support compressing a
38670 large part of the core image.
38671
38672 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38673 leak.
38674 (pupa_util_load_image): New function.
38675
38676 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38677 (pupa_compressed_size): New variable.
38678 (codestart): Enable Gate A20 here.
38679 Decompress the compressed part of the core image.
38680 Rearrange the code to put functions and variables which are
38681 required for initialization in the non-compressed part.
38682 Include lzo1x.S.
38683
38684 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38685 here.
38686
38687 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38688
f19dbdb7 38689 * include/pupa/i386/pc/kernel.h
1f5ab428 38690 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38691 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38692 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38693 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38694 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38695
38696 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38697
38698 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38699 (Utility#rule): Likewise.
38700
38701 * configure.ac: Check if LZO is available.
38702
ce5bf700 387032003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38704
38705 * include/pupa/normal.h: New file.
38706 * include/pupa/setjmp.h: Likewise.
38707 * include/pupa/i386/setjmp.h: Likewise.
38708 * normal/cmdline.c: Likewise.
38709 * normal/command.c: Likewise.
38710 * normal/main.c: Likewise.
38711 * normal/menu.c: Likewise.
38712 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38713
ce5bf700 38714 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38715 (pupa_rescue_cmd_initrd): Likewise.
38716
38717 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38718 Likewise.
38719
38720 * kern/i386/pc/startup.S (translation_table): New variable.
38721 (translate_keycode): New function.
38722 (pupa_console_getkey): Call translate_keycode.
38723
38724 * kern/rescue.c (attempt_normal_mode): New function.
38725 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38726 it failed, print a message.
38727
38728 * kern/mm.c (pupa_real_malloc): Print more information when a
38729 free magic is broken.
38730 (pupa_free): If the first free header is not free actually, set
38731 it to P.
38732
38733 * kern/main.c (pupa_load_normal_mode): Just load the module
38734 "normal".
38735 (pupa_main): Don't print the message
38736 "Entering into rescue mode..." here.
38737
38738 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38739 Declared.
38740 (pupa_rescue_cmd_initrd): Likewise.
38741 (pupa_rescue_cmd_initrd): Likewise.
38742
38743 * include/pupa/symbol.h (FUNCTION): Specify the type.
38744 (VARIABLE): Likewise.
38745
38746 * include/pupa/err.h (pupa_err_t): Added
38747 PUPA_ERR_UNKNOWN_COMMAND.
38748
38749 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38750 (pupa_dl_get_prefix): Likewise.
38751
38752 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38753 Added _chain.mod and _linux.mod instead of chain.mod and
38754 linux.mod.
38755 (chain_mod_SOURCES): Renamed to ...
38756 (_chain_mod_SOURCES): ... this.
38757 (chain_mod_CFLAGS): Renamed to ...
38758 (_chain_mod_CFLAGS): ... this.
38759 (linux_mod_SOURCES): Renamed to ...
38760 (_linux_mod_SOURCES): ... this.
38761 (linux_mod_CFLAGS): Renamed to ...
38762 (_linux_mod_CFLAGS): ... this.
38763 (normal_mod_SOURCES): New variable.
38764 (normal_mod_CFLAGS): Likewise.
38765 (normal_mod_ASFLAGS): Likewise.
38766
387672003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38768
38769 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38770 possible.
38771
fe6b695a 38772 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38773 recursively.
38774 (pupa_dl_unref): Unrefer depending modules recursively.
38775 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38776 a module is unloaded before one depending on that module is
38777 unloaded.
38778 (pupa_dl_unload): Unload depending modules explicitly,
38779 if possible.
38780
c04da074 387812003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38782
38783 * include/pupa/i386/pc/linux.h: New file.
38784 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38785
c04da074 38786 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38787 Removed.
38788 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38789 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38790 of PUPA_CHAINLOADER_BOOT_SECTOR.
38791
38792 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38793 (pupa_linux_prot_size): New variable.
38794 (pupa_linux_tmp_addr): Likewise.
38795 (pupa_linux_real_addr): Likewise.
38796 (pupa_linux_boot_zimage): New function.
38797 (pupa_linux_boot_bzimage): Likewise.
38798
38799 * kern/i386/pc/init.c (struct mem_region): New structure.
38800 (MAX_REGIONS): New macro.
38801 (mem_regions): New variable.
38802 (num_regions): Likewise.
38803 (pupa_os_area_addr): Likewise.
38804 (pupa_os_area_size): Likewise.
38805 (pupa_lower_mem): Likewise.
38806 (pupa_upper_mem): Likewise.
38807 (add_mem_region): New function.
38808 (compact_mem_regions): Likewise.
38809 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38810 the size of the conventional memory and that of so-called upper
38811 memory (before the first memory hole).
38812 Instead of adding each found region to free memory, use
38813 add_mem_region and add them after removing overlaps.
38814 Also, add only 1/4 of the upper memory to free memory. The rest
38815 is used for loading OS images. Maybe this is ad hoc, but this
38816 makes it much easier to relocate OS images when booting.
38817
38818 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38819 (pupa_enter_rescue_mode): Don't register initrd and module.
38820
38821 * kern/mm.c: Include pupa/dl.h.
38822
38823 * kern/main.c: Include pupa/file.h and pupa/device.h.
38824
38825 * kern/loader.c (pupa_loader_load_module_func): Removed.
38826 (pupa_loader_load_module): Likewise.
38827
38828 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38829 ``.o''.
38830
38831 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38832 (pupa_linux_tmp_addr): Likewise.
38833 (pupa_linux_real_addr): Likewise.
38834 (pupa_linux_boot_zimage): Likewise.
38835 (pupa_linux_boot_bzimage): Likewise.
38836
38837 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38838 (pupa_upper_mem): Likewise.
38839 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38840 module is too dangerous.
38841
38842 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38843 (pupa_os_area_size): Likewise.
38844 (pupa_loader_set): Remove the first argument. Loader doesn't
38845 manage modules or initrd any longer.
38846 (pupa_loader_load_module): Removed.
38847
38848 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38849 (linux_mod_SOURCES): New variable.
38850 (linux_mod_CFLAGS): Likewise.
38851
a13f9237 388522003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38853
38854 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38855 the length of a blocklist correctly.
38856
38857 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38858 Use ioctl only if the OS file is a block device.
38859 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38860 not very useful for normal files.
38861
38862 * kern/main.c (pupa_set_root_dev): New function.
38863 (pupa_load_normal_mode): Likewise.
38864 (pupa_main): Call those above.
38865
38866 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38867 pupa_uint16_t.
38868
38869 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38870
a5ffe966 388712003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38872
38873 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38874 (setup): Configure the installed partition information and the
38875 dl prefix.
38876
38877 * loader/i386/pc/chainloader.c (my_mod): New variable.
38878 (pupa_chainloader_unload): New function.
38879 (pupa_rescue_cmd_chainloader): Refer itself.
38880 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38881
38882 * kern/i386/pc/startup.S (install_partition): Removed.
38883 (version_string): Likewise.
38884 (config_file): Likewise.
38885 (pupa_install_dos_part): New variable.
38886 (pupa_install_bsd_part): Likewise.
38887 (pupa_prefix): Likewise.
38888 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38889
38890 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38891 and pupa/misc.h.
38892 (make_install_device): New function.
38893 (pupa_machine_init): Set the dl prefix.
38894
38895 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38896 (buf): Renamed to ...
38897 (linebuf): ... this.
38898 (pupa_rescue_cmd_prefix): New function.
38899 (pupa_rescue_cmd_insmod): Likewise.
38900 (pupa_rescue_cmd_rmmod): Likewise.
38901 (pupa_rescue_cmd_lsmod): Likewise.
38902 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38903 rmmod and lsmod.
38904
38905 * kern/mm.c (pupa_memalign): If failed even after invalidating
38906 disk caches, unload unneeded modules and retry.
38907
38908 * kern/misc.c (pupa_memmove): New function.
38909 (pupa_memcpy): Removed.
38910 (pupa_strcpy): New function.
38911 (pupa_itoa): Made static.
38912
38913 * kern/dl.c (pupa_dl_iterate): New function.
38914 (pupa_dl_ref): Likewise.
38915 (pupa_dl_unref): Likewise.
38916 (pupa_dl_unload): Return if succeeded or not.
38917 (pupa_dl_unload_unneeded): New function.
38918 (pupa_dl_unload_all): Likewise.
38919 (pupa_dl_init): Renamed to ...
38920 (pupa_dl_set_prefix): ... this.
38921 (pupa_dl_get_prefix): New function.
38922
38923 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38924 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38925 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38926 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38927 (pupa_install_dos_part): Declared.
38928 (pupa_install_bsd_part): Likewise.
38929 (pupa_prefix): Likewise.
38930 (pupa_boot_drive): Likewise.
38931
38932 * include/pupa/types.h: Fix a typo.
38933
38934 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38935 pupa_memmove.
38936 (pupa_memmove): Declared.
38937 (pupa_strcpy): Likewise.
38938
38939 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38940 pupa_mod_init takes one argument, its own module.
38941 (pupa_dl_unload_unneeded): Declared.
38942 (pupa_dl_unload_all): Likewise.
38943 (pupa_dl_ref): Likewise.
38944 (pupa_dl_unref): Likewise.
38945 (pupa_dl_iterate): Likewise.
38946 (pupa_dl_init): Renamed to ...
38947 (pupa_dl_set_prefix): ... this.
38948 (pupa_dl_get_prefix): Declared.
38949
38950 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38951 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38952 unloaded.
38953 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38954 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38955
38956 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38957 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38958
012d7999 389592003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38960
38961 * util/i386/pc/pupa-setup.c (setup): Define the internal
38962 function find_first_partition_start at the top level, because GCC
38963 3.0.x cannot compile internal functions in deeper scopes
38964 correctly.
38965 (find_root_device): Use lstat instead of stat.
38966 Don't follow symbolic links.
38967 Fix the path-constructing code.
38968
38969 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38970 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38971 by a BLKGETSIZE ioctl first, because block devices don't fill
38972 the member st_mode of the structure stat on Linux.
38973 [__linux__] (linux_find_partition): Use a temporary buffer
38974 REAL_DEV for the working space. Copy it to DEV before returning.
38975 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38976 buffer cache consistent.
38977 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38978 strncmp. The previous value was merely wrong.
38979 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38980
38981 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38982 FAT size is 12. The previous value was merely wrong.
38983
38984 * kern/main.c (pupa_main): Don't split the starting message from
38985 newlines.
38986
38987 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38988 LF, because BIOS goes crazy about character attributes in this
38989 case.
38990
1cc73a62 389912003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38992
38993 * include/i386/pc/util/biosdisk.h: New file.
38994 * util/i386/pc/biosdisk.c: Likewise.
38995 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38996
1cc73a62 38997 * Makefile.in (INCLUDE_DISTFILES): Added
38998 include/pupa/i386/pc/util/biosdisk.h.
38999 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
39000 directory util/i386/pc.
39001 (install-local): Added a rule for sbin_UTILITIES.
39002 (uninstall): Likewise.
39003
39004 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
39005
39006 * util/misc.c (xrealloc): New function.
39007 (pupa_malloc): Likewise.
39008 (pupa_free): Likewise.
39009 (pupa_realloc): Likewise.
39010 (pupa_stop): Likewise.
39011 (pupa_putchar): Likewise.
39012
39013 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
39014
39015 * include/pupa/util/misc.h (xrealloc): Declared.
39016
39017 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
39018 macro.
39019 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
39020 (PUPA_BOOT_MACHINE_BPB_END): ... this.
39021
39022 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
39023 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39024
39025 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
39026 way should be implemented.
39027 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39028
39029 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
39030 the size of NAME for safety.
39031 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
39032 0x88.
39033
39034 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
39035 (pupa_setup_SOURCES): Likewise.
39036
39037 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
39038
08b70fe8 390392002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39040
39041 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
39042 bunch of pushl's from pusha, because this destroys the return
39043 value.
39044
62ddcc8f 390452002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39046
39047 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
39048 This means that any missing prototypes could be fatal. Also, you
39049 must take care when writing assembly code. See the comments at
39050 the beginning of startup.S, for more details.
f19dbdb7 39051
62ddcc8f 39052 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
39053 compilation mechanism.
39054 (pupa_chainloader_real_boot): Likewise.
39055 (pupa_biosdisk_rw_int13_extensions): Likewise.
39056 (pupa_biosdisk_rw_standard): Likewise.
39057 (pupa_biosdisk_check_int13_extensions): Likewise.
39058 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
39059 (pupa_biosdisk_get_diskinfo_standard): Likewise.
39060 (pupa_get_memsize): Likewise.
39061 (pupa_get_mmap_entry): Likewise.
39062 (pupa_console_putchar): Likewise.
39063 (pupa_console_setcursor): Likewise.
39064 (pupa_getrtsecs): Use pushl instead of push.
39065
39066 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
39067 memory instead of the stack for a mmap entry, because some
39068 BIOSes may ignore the maximum size and overflow.
39069
39070 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
39071
39072 * genmk.rb (PModule#rule): Compile automatically generated
39073 sources with module-specific CFLAGS as well as other sources.
39074
9962ed99 390752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39076
39077 * configure.ac: Check ld.
39078 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
39079 respectively, before checking endianness and sizes.
39080
39081 * Makefile.in (LD): New variable.
f19dbdb7 39082
abdfc3c5 390832002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39084
39085 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
39086
6a161fa9 390872002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39088
39089 * Changelog: New file.
39090