]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* gentpl.py: Use Autogen macros so that the output template file
[grub2.git] / ChangeLog
CommitLineData
8667a314
BC
12011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2
3 * gentpl.py: Use Autogen macros so that the output template file
4 (Makefile.tpl) size is reduced.
5
fc5efcc0
MK
62011-09-29 Mads Kiilerich <mads@kiilerich.com>
7
8 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9 extra_dist.
10
d1ab689d
ML
112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12
13 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15
c05de032
ML
162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17
18 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
19 _fullpath.
20
cca7ccd8
ML
212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
22
23 Remove extra declaration of sleep for mingw32.
24
25 * util/misc.c (sleep) [__MINGW32__]: Removed.
26 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
27
e0b0dc83
GS
282011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
29
30 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
31 type and packname.
32 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
33 Resurrected.
34 (NETBSD_BTINFO_BOOTWEDGE): New definition.
35 (grub_netbsd_btinfo_bootwedge): New struct.
36 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
37 New function.
38 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
39
91a1a164
TH
402011-09-28 Thomas Haller <thomas.haller@fen-net.de>
41
42 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
43 loader.
44
2ded951e
AB
452011-09-28 Andreas Born <futur.andy@googlemail.com>
46
47 Fix incorrect identifiers in bash-completion.
48
49 * util/bash-completion.d/grub-completion.bash.in
50 (_grub_mkpasswd-pbkdf2): Rename to ...
51 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
52 (_grub_script-check): Rename to ...
53 (_grub_script_check): ... this. All users updated.
54
69915030
VS
552011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
58 Return 0 if disk isn't biosdisk.
59
20fd15f9
GS
602011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
61
62 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
63 on NetBSD.
64 * Makefile.util.def (grub-fstest): Likewise.
65
1a7d7db9
GS
662011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
67
68 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
69 Get sector size from disk label.
70
2221ab6c
CW
712011-09-05 Colin Watson <cjwatson@ubuntu.com>
72
73 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
74 */README* as well as README*.
75 Reported by: Axel Beckert.
76
ca51c4a0
VS
772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
80 case of less than 256 MiB of RAM.
81
ab80f326
VS
822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/commands/wildcard.c (make_regex): Handle @.
85
4155e697
VS
862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * util/grub-install.in: Move cryptodisk logic to appropriate place.
89
ab178c08
SJ
902011-08-21 Szymon Janc <szymon@janc.net.pl>
91
92 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
93 AC_LANG_CONFTEST macros.
94
7dc3c686
SJ
952011-08-20 Szymon Janc <szymon@janc.net.pl>
96
97 Add grub-fstest option to uncompress data for commands.
98
99 * util/grub-fstest.c (uncompress): New var.
100 (options): New option -u.
101
fe8d4a7b
SJ
1022011-08-20 Szymon Janc <szymon@janc.net.pl>
103
104 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
105 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
106
a5219af1
SJ
1072011-08-20 Szymon Janc <szymon@janc.net.pl>
108
109 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
110 file type was not recognized correctly (not gzip or corrupted).
111
f87abff5
VS
1122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
115 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
116
d94497ea
VS
1172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
120 loongson.
121 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
122 video_radeon_fuloong2e.
123 * grub-core/video/radeon_fuloong2e.c: New file.
124 * include/grub/video.h (grub_video_id_t): Add new ID
125 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
126
0d1fd011
VS
1272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
130 define.
131 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
132 that PRID matches the detected subplatform and reset the subplatform
133 if it doesn't.
134
84beb0ee
VS
1352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
138
1227c133
VS
1392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Fix PCI iterating on functions >= 4.
142
143 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
144 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
145 Removed.
146 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
147 (grub_pci_read): Fix bitmask.
148 (grub_pci_read_word): Likewise.
149 (grub_pci_read_byte): Likewise.
150 (grub_pci_write): Likewise.
151 (grub_pci_write_word): Likewise.
152 (grub_pci_write_byte): Likewise.
153
9594c689
VS
1542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
157 can still be specified in TARGET_CFLAGS)
158
14a2562c
VS
1592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
160
161 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
162
163 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
164 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
165 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
166 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
167 (FULOONG): Rename to ...
168 (FULOONG2F): ... this. All users updated.
169 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
170 (machtype_fuloong2f_str): ... this.
171 (machtype_fuloong2e_str): New string.
172 Check for machtype_fuloong2e_str.
173 * grub-core/loader/mips/linux.c (loongson_machtypes)
174 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
175 * grub-core/term/serial.c (loongson_defserial)
176 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
177 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
178 loongson_defserial.
179 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
180 Rename to ...
181 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
182 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
183 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
184 to IMAGE_FULOONG2F_FLASH. All users updated.
185 (image_targets): Rename images.
186 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
187
b526cbb6
SJ
1882011-08-19 Szymon Janc <szymon@janc.net.pl>
189
190 Make enable of disk cache statistics code configurable.
191
192 * configure.ac: --enable-cache-stats added.
193 * config.h.in (DISK_CACHE_STATS): New define.
194 * grub-core/Makefile.core.def (cacheinfo): New command.
195 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
196 * grub-core/commands/cacheinfo.c: New file.
197 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
198 moved to cacheinfo.c.
199 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
200 debug code.
201 * include/grub/disk.h: Likewise.
202
fb739ccd
SJ
2032011-08-19 Szymon Janc <szymon@janc.net.pl>
204
205 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
206 * grub-core/Makefile.am: Likewise.
207
2bba8cfd
VS
2082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
211 non-zero pull.
212
43526629
VS
2132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
216 All users updated.
217 (grub_jfs_lookup_symlink): Use correct starting inode.
218
5c144cc8
VS
2192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * util/grub-setup.c (main): Add missing gcry initialisation.
222
b1257f65
VS
2232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
224
225 Don't accept text modes on EFI when booting Linux.
226
227 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
228 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
229
828bc390
ML
2302011-08-15 Mario Limonciello <mario_limonciello@dell.com>
2312011-08-15 Colin Watson <cjwatson@ubuntu.com>
232
233 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
234 use of "/path/.." as in grub-install for EFI as well as handling
235 symlinks correctly.
236 Fixes Debian bug #637768.
237
5f60ccac
CW
2382011-08-15 Colin Watson <cjwatson@ubuntu.com>
239
240 * util/grub-probe.c: Remove duplicate #include.
241
6dc212f9
RM
2422011-08-10 Robert Millan <rmh@gnu.org>
243
244 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
245
246 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
247 function.
248 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
249 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
250
66816d85
RM
2512011-08-03 Robert Millan <rmh@gnu.org>
252
253 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
254 la_array as packed.
255 Reported by: Zachary Bedell
256
20168fca
CW
2572011-07-26 Colin Watson <cjwatson@ubuntu.com>
258
259 * configure.ac: The Loongson port requires grub-mkfont due to its
260 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
261 be built.
262
303b6246
CW
2632011-07-26 Colin Watson <cjwatson@ubuntu.com>
264
265 * util/grub-install.in: Don't source grub-mkconfig_lib until after
266 processing arguments (otherwise help2man fails when GRUB has not yet
267 been installed).
268
6795300e
VS
2692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
270
41aa28ea
VS
271 New script grub-mkstandalone.
272
273 * Makefile.util.def (grub-mkstandalone): New script.
274 * docs/man/grub-mkstandalone.h2m: New file.
275 * util/grub-mkstandalone.in: Likewise.
276
2772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
278
279 Support ATA disks with 4K sectors.
6795300e
VS
280
281 * include/grub/ata.h (grub_ata): New member log_sector_size.
282 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
283 (grub_ata_identify): Read sector size.
284 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
285
92227597
VS
2862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * util/grub-install.in: Don't use uhci outside of x86.
289
c77069f5
VS
2902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * util/grub-mkrescue.in: Add missing quotes.
293
2942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
295
296 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
297 dereference.
298
583168a2
VS
2992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
302
6be1c01f
VS
3032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * include/grub/video.h: add missing EXPORT_FUND on
306 grub_video_edid_checksum and grub_video_edid_preferred_mode.
307
a1167439
VS
3082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/mips/kernel.h: Fix define conflict.
311
bf66054f
VS
3122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
315 all four ways.
316
8fc4fa45
CW
3172011-07-21 Colin Watson <cjwatson@ubuntu.com>
318
319 Preferred resolution detection for VBE.
320
321 * grub-core/video/video.c (grub_video_edid_checksum): New function.
322 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
323 the Flat Panel extension, in line with the X.org VESA driver.
324 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
325 New function.
326 (grub_vbe_bios_get_ddc_capabilities): Likewise.
327 (grub_vbe_bios_read_edid): Likewise.
328 (grub_vbe_get_preferred_mode): Likewise.
329 (grub_video_vbe_setup): When the mode is "auto", try to get the
330 preferred mode from VBE, and use the largest mode that is no larger
331 than the preferred mode (some BIOSes expose a preferred mode that is
332 not in their mode list!). If this fails, fall back to 640x480 as a
333 safe conservative choice.
334 (grub_video_vbe_get_edid): New function.
335 (grub_video_vbe_adapter): Add get_edid.
336 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
337 (struct grub_video_adapter): Add get_edid.
338 (grub_video_edid_checksum): Add prototype.
339 (grub_video_edid_preferred_mode): Likewise.
340 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
341 structure.
342
343 * grub-core/commands/videoinfo.c (print_edid): New function.
344 (grub_cmd_videoinfo): Print EDID if available.
345
346 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
347 is more appropriate on a wider range of platforms than 640x480.
348 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
349 documentation.
350
ca5572a9
VS
3512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
354
e4bcf625
VS
3552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * po/POTFILES.in: Regenerate.
358
c4edd548
VS
3592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
362 incorrect memory usage.
363
16a2bab0
VS
3642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * util/grub-install.in: Source grub-mkconfig_lib.
367
2e418de6
VS
3682011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Remove getroot.c from core on emu platform.
371
372 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
373 kern/emu/raid.c.
374 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
375 useless.
376 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
377 * util/getroot.c (get_win32_path): ... here.
378 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
379 * util/getroot.c (fini_libzfs): ... here.
380 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
381 * util/getroot.c (grub_get_libzfs_handle): ... here.
382 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
383 Moved from here...
384 * util/getroot.c (grub_find_zpool_from_dir): ... here.
385 * grub-core/kern/emu/misc.c
386 (grub_make_system_path_relative_to_its_root): Moved from here...
387 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
388 * grub-core/kern/emu/getroot.c: Moved from here ...
389 * util/getroot.c: ... here. All users updated.
390 * grub-core/kern/emu/raid.c: Moved from here ...
391 * util/raid.c: ... here. All users updated.
392
def9832a
VS
3932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * po/POTFILES.in: Regenerate.
396
cd8fe79a
VS
3972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Fix compilation on GNU/Linux.
400
401 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
402 Disable geli.
403 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
404 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
405 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
406
a251b719
VS
4072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4082011-07-07 Michael Gorven <michael@gorven.za.net>
4092011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
410
411 LUKS and GELI support.
412
413 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
414 grub-core/disk/luks.c, grub-core/disk/geli.c,
415 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
416 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
417 grub-core/lib/arg.c.
418 (libgrubmods.a): Remove gcrypts cflags and cppflags.
419 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
420 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
421 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
422 (grub-bin2h): Add libgcry.a.
423 (grub-mkimage): Likewise.
424 (grub-mkrelpath): Likewise.
425 (grub-script-check): Likewise.
426 (grub-editenv): Likewise.
427 (grub-mkpasswd-pbkdf2): Likewise.
428 (grub-pe2elf): Likewise.
429 (grub-fstest): Likewise.
430 (grub-mkfont): Likewise.
431 (grub-mkdevicemap): Likewise.
432 (grub-probe): Likewise.
433 (grub-ofpath): Likewise.
434 (grub-mklayout): Likewise.
435 (example_unit_test): Likewise.
436 (grub-menulst2cfg): Likewise.
437 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
438 * grub-core/Makefile.core.def (cryptodisk): New module.
439 (luks): Likewise.
440 (geli): Likewise.
441 * grub-core/disk/AFSplitter.c: New file.
442 * grub-core/disk/cryptodisk.c: Likewise.
443 * grub-core/disk/geli.c: Likewise.
444 * grub-core/disk/luks.c: Likewise.
445 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
446 grub_util_is_lvm.
447 (grub_util_get_dm_abstraction): New function.
448 (grub_util_follow_gpart_up): Likewise.
449 (grub_util_get_geom_abstraction): Likewise.
450 (grub_util_get_dev_abstraction): Use new functions.
451 (grub_util_pull_device): Pull GELI and LUKS.
452 (grub_util_get_grub_dev): Handle LUKS and GELI.
453 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
454 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
455 (follow_geom_up): Removed.
456 (grub_util_fd_seek): New function.
457 (open_device): Use grub_util_fd_seek.
458 (nread): Rename to ..
459 (grub_util_fd_read): ... this. All users updated.
460 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
461 (grub_crypto_cbc_decrypt): Likewise.
462 (grub_crypto_hmac_write): Likewise.
463 (grub_crypto_hmac_buffer): Likewise.
464 (grub_password_get): Extend to util.
465 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
466 New member modname.
467 (gcry_md_spec) [GRUB_UTIL]: Likewise.
468 * include/grub/cryptodisk.h: New file.
469 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
470 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
471 LUKS and GELI.
472 (grub_util_follow_gpart_up): New proto.
473 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
474 (grub_util_fd_read): Likewise.
475 (grub_cryptodisk_cheat_mount): Likewise.
476 (grub_util_cryptodisk_print_uuid): Likewise.
477 (grub_util_get_fd_sectors): Likewise.
478 * util/grub-fstest.c (mount_crypt): New var.
479 (fstest): Mount crypto if requested.
480 (options): New option -C.
481 (argp_parser): Parse -C.
482 (main): Init and fini gcry.
483 * util/grub-install.in: Support cryptodisk install.
484 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
485 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
486 cryptodisk.
487 (prepare_grub_to_access_device): Likewise.
488 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
489 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
490 (probe_cryptodisk_uuid): New function.
491 (probe_abstraction): Likewise.
492 (probe): Use new functions.
493 * util/import_gcry.py: Create Makefile.utilgcry.def.
494 Add modname member.
495
9bfdcbbc
VS
4962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Lazy device scanning.
499
500 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
501 (grub-setup): Remove util/raid.c.
502 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
503 * grub-core/disk/lvm.c (scan_depth): New variable.
504 (grub_lvm_iterate): Rescan if necessary.
505 (find_lv): New function based on grub_lvm_open.
506 (grub_lvm_open): Use find_lv. Rescan on error.
507 (is_node_readable): New function.
508 (is_lv_readable): Likewise.
509 (grub_lvm_scan_device): Skip already found disks.
510 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
511 Stop if searched device is found and readable.
512 * grub-core/disk/raid.c (inscnt): New variable.
513 (scan_depth): Likewise.
514 (scan_devices): New function based on grub_raid_register. Abort if
515 looked for device is found.
516 (grub_raid_iterate): Rescan if needed.
517 (find_array): NEw function based on -grub_raid_open.
518 (grub_raid_open): Use find_array and rescan.
519 (insert_array): Set became_readable_at.
520 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
521 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
522 New function.
523 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
524 (grub_util_pull_device): New function.
525 (grub_util_get_grub_dev): Call grub_util_pull_device.
526 * util/raid.c: Moved to ..
527 * grub-core/kern/emu/raid.c: ... here.
528 (grub_util_raid_getmembers): New parameter "bootable".
529 All users updated. Support 1.x.
530 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
531 All users updated.
532 * include/grub/disk.h (grub_disk_pull_t): New enum.
533 (grub_disk_dev): Change iterate prototype.
534 All users updated.
535 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
536 New proto.
537 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
538 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
539 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
540 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
541 All users updated.
542 * include/grub/util/raid.h: Removed.
543
1c358e59
VS
5442011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * po/POTFILES.in: Regenerate.
547
abee94ed
VS
5482011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Unify sparc init with other ieee1275.
551
552 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
553 instead of kern/sparc64/ieee1275/init.c.
554 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
555 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
556 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
557 grub/machine/kernel.h.
558 (grub_ieee1275_original_stack) [__sparc__]: New variable.
559 (grub_claim_heap) [__sparc__]: Use sparc version.
560 (grub_machine_init): Moved args parsing to
561 (grub_parse_cmdline): ...this.
562 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
563 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
564 New definition.
565 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
566
567 Move BOOTP to separate file.
568
569 * grub-core/Makefile.core.def (net): Add net/bootp.c.
570 * grub-core/net/net.c: Move all BOOTP functions to
571 * grub-core/net/bootp.c: ... here.
572
573 Use frame interface on PXE.
574
575 * grub-core/Makefile.core.def (pxecmd): Removed.
576 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
577 * grub-core/commands/i386/pc/pxecmd.c: Removed.
578 * grub-core/i386/pc/pxe.c: Moved from here ...
579 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
580 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
581 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
582
583 EFI network support.
584
585 * grub-core/Makefile.core.def (efinet): New module.
586 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
587 here...
588 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
589 All users updated.
590 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
591 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
592 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
593 * grub-core/net/drivers/efi/efinet.c: New file.
594 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
595 (grub_efi_net_config): New extern var.
596
597 Various cleanups and bugfixes.
598
599 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
600 error.
601 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
602 disk declared as partition.
603 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
604 leak on failure.
605 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
606 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
607 (grub_debug_zalloc): Likewise.
608 (grub_debug_realloc): Likewise.
609 (grub_debug_memalign): Likewise.
610 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
611 Check that target is IPv4.
612 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
613 local-mac-address as fallback.
614 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
615 memory leak.
616 * grub-core/net/ip.c (ipchksum): Rename to ...
617 (grub_net_ip_chksum): ... this. All users updated.
618 (grub_net_recv_ip_packets): Special handling for DHCP.
619 * util/grub-mkimage.c (generate_image): Zero-out aout header.
620
621 Unify prefix handling
622
623 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
624 (grub_machine_get_bootlocation): ... this.
625 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
626 (grub_machine_get_bootlocation): ... this.
627 (grub_prefix): New variable.
628 (prefix): Removed.
629 (root_dev): New variable.
630 (dir): Likewise.
631 (main): Use new variables.
632 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
633 Revamped into ...
634 (grub_machine_get_bootlocation): ... this.
635 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
636 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
637 (grub_machine_get_bootlocation): ... this.
638 (grub_machine_set_prefix): Removed.
639 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
640 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
641 Revamped into ...
642 (grub_machine_get_bootlocation): ... this.
643 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
644 (grub_set_prefix_and_root): ... this. All users updated.
645 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
646 Revamped into ...
647 (grub_machine_get_bootlocation): ... this.
648 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
649 (grub_machine_get_bootlocation): New proto.
650 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
651
652 Less intrusive and more reliable seek on network implementation.
653
654 * grub-core/kern/file.c (grub_file_net_seek): Removed.
655 (grub_file_seek): Don't call grub_file_net_seek.
656 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
657 (grub_net_fs_read_real): .. this.
658 (grub_net_seek_real): Use net->offset.
659 (grub_net_fs_read): Seek if necessary.
660
661 Unify IEEE1275 netwotk config with the other platforms.
662
663 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
664 New variable.
665 (grub_machine_get_bootlocation): Support network.
666 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
667 Support type and device parsing.
668 (grub_ieee1275_get_device_type): New function.
669 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
670 into ...
671 (grub_ieee1275_net_config_real): ... this.
672 (grub_ofnet_probecards): Removed.
673 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
674 * include/grub/ieee1275/ofnet.h: Removed.
675 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
676 extern var.
677 (grub_ieee1275_get_device_type): New function.
678
679 Unify network device closing across platforms and make more robust.
680
681 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
682 grub_grubnet_fini.
683 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
684 already.
685 * grub-core/net/net.c (grub_net_network_level_interface_register):
686 Update num_ifaces.
687 (grub_net_card_unregister): Close all interfaces.
688 (receive_packets): Don't poll if no iterfaces are registered.
689 Open if necessary.
690 (grub_net_fini_hw): New function.
691 (grub_net_restore_hw): Likewise.
692 (fini_hnd): New variable.
693 (GRUB_MOD_INIT): Register preboot hook.
694 (GRUB_MOD_FINI): Run and unregister preboot hook.
695
696 Poll network cards when idle.
697
698 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
699 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
700 * grub-core/net/net.c (receive_packets): Save last poll time.
701 (grub_net_poll_cards_idle_real): New function.
702 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
703 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
704 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
705
706 Rename ofnet interfaces.
707
708 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
709 (grub_ofnet_findcards): Use ofnet_%s names.
710
711 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
712
713 Cleanup socket opening.
714
715 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
716 (grub_net_fs_close): Likewise.
717 (grub_net_fs_read_real): Use eof member.
718 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
719 (+grub_net_udp_close): New inline function.
720
721 * include/grub/net/tftp.h: Moved to the top of ...
722 * grub-core/net/tftp.c: ... here.
723 * include/grub/net/ip.h: Moved mostly to the top of ...
724 * grub-core/net/ip.c: ... here.
725 * include/grub/net/ethernet.h: Moved mostly to the top of ...
726 * grub-core/net/ethernet.c: ... here.
727
728 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
729
730 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
731 FS name.
732
733 * include/grub/net/ip.h (ipv4_ini): Removed.
734 (ipv4_fini): Likewise.
735
736 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
737 (grub_net_send_ip_packets): Likewise.
738
cf1337aa
VS
7392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
742 grub_read_cmos prototype.
743
93c06ff9
VS
7442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
745
746 VGA text support in qemu-mips
747
748 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
749 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
750 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
751 text.
752 * grub-core/kern/i386/qemu/init.c: Renamed to ...
753 * grub-core/kern/vga_init.c: ... this.
754 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
755 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
756 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
757 Adjust.
758 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
759 GRUB_MACHINE_PCI_IO_BASE.
760
748ccabe
VS
7612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
762
763 MIPS qemu flash support.
764
765 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
766 magic.
767 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
768 (grub_machine_init): Probe memory if its size isn't known.
769 * util/grub-mkimage.c (image_targets): Add flash targets.
770 (generate_image): Handle flash targets.
771
d7345994
VS
7722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
773
774 MIPS qemu at_keyboard support.
775
776 * gentpl.py (videoinkernel): Add qemu-mips.
777 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
778 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
779 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
780 modules.
781 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
782 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
783 * grub-core/term/serial.c (grub_serial_register)
784 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
785
a07a81b3
VS
7862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
787
788 CMOS support on sparc.
789
790 * gentpl.py (cmos): Add powerpc and sparc.
791 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
792 powerpc and sparc.
793 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
794 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
795 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
796 grub_set_datetime_cmos.
797 * grub-core/lib/ieee1275/cmos.c: New file.
798 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
799 (find_rtc): Set no_ieee1275_rtc on error.
800 (grub_get_datetime): Call grub_get_datetime_cmos on error.
801 (grub_set_datetime): Call grub_set_datetime_cmos on error.
802 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
803 fail. Move value to argument. All users updated
804 (grub_cmos_write): Likewise.
805 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
806 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
807 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
808 grub_get_datetime_cmos and grub_set_datetime_cmos.
809
77546584
GS
8102011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
811
812 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
813 sourcing grub-mkconfig_lib.
814 * util/update-grub_lib.in: Likewise.
815 * util/grub.d/00_header.in: Likewise.
816 * util/grub.d/10_hurd.in: Likewise.
817 * util/grub.d/10_kfreebsd.in: Likewise.
818 * util/grub.d/10_linux.in: Likewise.
819 * util/grub.d/10_netbsd.in: Likewise.
820 * util/grub.d/10_windows.in: Likewise.
821 * util/grub.d/20_linux_xen.in: Likewise.
822 * util/grub.d/30_os-prober.in: Likewise.
823
54894791
CW
8242011-06-28 Colin Watson <cjwatson@ubuntu.com>
825
826 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
827 default_bg_color rather than black.
828 (grub_gfxterm_fullscreen): Likewise.
829 (grub_gfxterm_background_color_cmd): Save new background color in
830 default_bg_color.
831
8d5d8444
VS
8322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
835
5afeb5bd
VS
8362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
839 mismerge.
840
ba7df45e
VS
8412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
842
843 Chainloading on coreboot support.
844
845 * grub-core/Makefile.core.def (chain): Add coreboot.
846 * grub-core/loader/i386/coreboot/chainloader.c: New file.
847
d0b526b2
VS
8482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
851 if it happens.
852
5ff1d945
VS
8532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Implement time command.
856
857 * grub-core/Makefile.core.def (time): New module.
858 * grub-core/commands/time.c: New file.
859 * grub-core/script/parser.y: Remove "time" keyword.
860 * grub-core/script/yylex.l: Likewise.
861
5ebaad7e
VS
8622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
865
bdea3798
VS
8662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
869 when handling leftovers.
870
b28c5655
VS
8712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
874 so that help2man doesn't fail.
875
b6f945dc
VS
8762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
879 type in pointers on sparc64.
880 (get_card_packet): Likewise.
881
f9b75e8a
CW
8822011-06-27 Colin Watson <cjwatson@ubuntu.com>
883
884 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
885 with `*'.
886 (grub_cmd_videoinfo): Fetch current video mode.
887
1e3d9b86
VS
8882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
891 because of underlying system restrictions.
892
efff4b1c
VS
8932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
896 necessary.
897
9fc9ce37
VS
8982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
899
900 Coreboot video support.
901
902 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
903 (vbe): Likewise.
904 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
905 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
906 here ...
907 * grub-core/kern/i386/int.S: ... here.
908 * grub-core/video/i386/pc/vbe.c: Updated includes.
909 * grub-core/video/i386/pc/vga.c: Likewise.
910 * include/grub/i386/coreboot/memory.h
911 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
912 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
913 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
914 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
915 Disable interrupts.
916 * include/grub/i386/pc/vga.h: Removed. All users updated.
917
41bec7fe
VS
9182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
921 definitions for dprintf.
922 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
923
ca80309d
VS
9242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
927 prototype.
928 (get_card_packet): Likewise.
929
9e322ce8
YB
9302011-06-26 Yves Blusseau <blusseau@zetam.org>
931
932 Display the path of the file when file is not found
933
934 * grub-core/fs/fat.c: Display the filename when file is not found.
935 * grub-core/fs/fshelp.c: Likewise.
936 * grub-core/fs/hfs.c: Likewise.
937 * grub-core/fs/jfs.c: Likewise.
938 * grub-core/fs/minix.c: Likewise.
939 * grub-core/fs/ufs.c: Likewise.
940 * grub-core/fs/btrfs.c: Likewise.
941 * grub-core/commands/i386/pc/play.c: Likewise.
942
cbf597af
SJ
9432011-06-26 Szymon Janc <szymon@janc.net.pl>
944
945 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
946 pointer checks before calling grub_free().
947 * grub-core/commands/wildcard.c (match_devices): Likewise.
948 * grub-core/commands/wildcard.c (match_files): Likewise.
949 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
950 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
951 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
952 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
953 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
954 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
955 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
956 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
957 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
958
6295b32f
P
9592011-06-25 Patrick <p55@mailinator.com>
960
961 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
962
77c0840b
VS
9632011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
966 (grub_pxe_send): Likewise.
967 (GRUB_MOD_INIT): Fix types.
968
40ea05de
SJ
9692011-06-24 Szymon Janc <szymon@janc.net.pl>
970
971 * grub-core/io/xzio.c: Fix code style issues
972
90162423
MRA
9732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9742011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
975
976 Network infrastructure.
977 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
978
979 * include/grub/net/arp.h: New file.
90162423
MRA
980 * include/grub/net/device.h: Likewise.
981 * include/grub/net/ethernet.h: Likewise.
982 * include/grub/net/ip.h: Likewise.
983 * include/grub/net/netbuff.h: Likewise.
984 * include/grub/net/tftp.h: Likewise.
985 * include/grub/net/udp.h: Likewise.
986 * include/grub/ieee1275/ofnet.h: Likewise.
987 * include/grub/emu/export.h: Likewise.
988 * include/grub/net.h: Likewise.
989 * grub-core/net/arp.c: Likewise.
990 * grub-core/net/ethernet.c: Likewise.
991 * grub-core/net/ip.c: Likewise.
992 * grub-core/net/udp.c: Likewise.
993 * grub-core/net/tftp.c: Likewise.
994 * grub-core/net/netbuff.c: Likewise.
995 * grub-core/net/net.c: Likewise.
996 * grub-core/net/drivers/emu/emunet.c: Likewise.
997 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
998 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
999 export.h.
1000 * grub-core/Makefile.core.def (net): New module.
1001 (tftp): Likewise.
1002 (ofnet): Likewise.
1003 (emunet): Likewise.
1004 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
1005 network protocols.
1006 * grub-core/kern/device.c (grub_net_open) : New variable.
1007 (grub_device_open): Handle network device.
1008 (grub_device_close): Likewise.
1009 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
1010 (grub_grubnet_fini): Likewise.
1011 (grub_file_seek): Seek in network device.
1012 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
1013 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
1014 network root.
1015 (grub_machine_fini): Call grub_grubnet_fini.
1016 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
1017 network.
1018 (grub_ieee1275_get_aliasdevname): New function.
1019 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1020 Add unofficial Solaris network info.
1021 (grub_multiboot_make_mbi): Likewise.
1022 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
1023 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
1024 * include/grub/device.h (grub_fs): Removed.
1025 * include/grub/err.h (grub_err_t): Add network-related values.
1026 * include/grub/i386/pc/pxe.h: Removed bootp parts.
1027 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
1028 (grub_ieee1275_get_aliasdevname): New proto.
1029 * include/grub/net.h: Rewritten.
423a1849 1030
031f22a0
VS
10312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
1034 names.
1035
4388ca72
VS
10362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1039 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1040 it truncates the output.
1041 Reported by: Ximin Luo.
1042
98e2f506
VS
10432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1046
2a5e94d8
VS
10472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1050 partmap before abstraction.
1051
535c1910
AK
10522011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1053
1054 * util/grub-mkconfig_lib.in: Add missing quotes.
1055
bc09e1a2
VS
10562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1059 old method if mountinfo would return /dev/root and /dev/root doesn't
1060 exist.
1061
290766fb
VS
10622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 ZFS zlib support
1065
1066 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1067 (decomp_table): Add zlib entries.
1068 (zio_read): USe 8 bits for compression function rather than 3.
1069 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1070
10712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/disk/ahci.c: Add missing license statements.
1074 * grub-core/fs/romfs.c: Likewise.
1075 * grub-core/lib/ia64/setjmp.S: Likewise.
1076 * grub-core/loader/i386/pc/freedos.c: Likewise.
1077 * grub-core/loader/ia64/efi/linux.c: Likewise.
1078 * grub-core/video/colors.c: Likewise.
1079 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1080
5ab3f48a
VS
10812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 AHCI support.
1084
1085 * grub-core/Makefile.core.def (ata_pthru): Removed.
1086 (ahci): New module.
1087 (pata): Likewise.
1088 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1089 on unload.
1090 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1091 readwrite.
1092 (grub_hdparm_do_check_powermode_cmd): Likewise.
1093 (grub_hdparm_do_smart_cmd): Likewise.
1094 (grub_hdparm_set_val_cmd): Likewise.
1095 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1096 * grub-core/disk/ahci.c: New file.
1097 * grub-core/disk/ata.c: Factor out the low-level part into ...
1098 * grub-core/disk/pata.c: ... here.
1099 * grub-core/disk/ata_pthru.c: Contents moved to ...
1100 * grub-core/disk/pata.c: ... here.
1101 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1102 (grub_scsi_iterate): Use grub_scsi_names.
1103 (grub_scsi_open): Likewise.
1104 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1105 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1106 (grub_ata_regs_t): New struct.
1107 (grub_disk_ata_pass_through_parms): Likewise.
1108 (grub_ata_device): Renamed to ...
1109 (grub_ata): ... this.
1110 (grub_ata_dev): New struct.
1111 Removed all low-level inline functions.
1112 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1113 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1114 iterate hooks and open. All users updated.
1115 * util/grub-install.in: Handle AHCI disk module.
1116
c31dc5f5
SJ
11172011-06-23 Szymon Janc <szymon@janc.net.pl>
1118
1119 Add support for DRI and RSTn markers in JPEG files.
1120
1121 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1122 (JPEG_MARKER_RST0): Likewise.
1123 (JPEG_MARKER_RST1): Likewise.
1124 (JPEG_MARKER_RST2): Likewise.
1125 (JPEG_MARKER_RST3): Likewise.
1126 (JPEG_MARKER_RST4): Likewise.
1127 (JPEG_MARKER_RST5): Likewise.
1128 (JPEG_MARKER_RST6): Likewise.
1129 (JPEG_MARKER_RST7): Likewise.
1130 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1131 (grub_jpeg_decode_dri): New function.
1132 (grub_jpeg_decode_sos): Move image data related part into
1133 grub_jpeg_decode_data function.
1134 (grub_jpeg_decode_data): New function.
1135 (grub_jpeg_reset): New function.
1136 (grub_jpeg_decode_jpeg): Handle new markers.
1137
fe12fd5b
VS
11382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * util/ieee1275/ofpath.c (check_sas): Close fd.
1141 (main): Free of_path.
1142 Reported by: David Volgyes <dvolgyes>.
1143
03147f46
VS
11442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1147 Reported by: David Volgyes <dvolgyes>.
1148
cad3237f
VS
11492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1152 file after stat.
1153 Reported by: David Volgyes <dvolgyes>.
1154
13548d26
VS
11552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1158
1159 Reported by: David Volgyes <dvolgyes>.
1160
e061a1b5
VS
11612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1164 Prevent memory leak.
1165
1abe47dc
VS
11662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1169 (main): Close file.
e061a1b5 1170 Reported by: David Volgyes <dvolgyes>.
1abe47dc 1171
fbc62666
VS
11722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1175 to continue if allocation is failed.
1176
1177 Reported by: David Volgyes <dvolgyes>.
1178
e98c83e9
DV
11792011-06-23 David Volgyes <dvolgyes>
1180
1181 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1182 dereference.
1183
a199a8cd
VS
11842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Fix spurious warning.
1187
1188 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1189 (acorn_partition_map_find): Use .bin member.
1190
e2d1dba0
VS
11912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1194 /dev/root as a valid device.
1195
8a5d6919
JM
11962011-06-23 Jim Meyering <meyering@redhat.com>
1197
e2d1dba0
VS
1198 Avoid NULL deref in grub_device_open.
1199
8a5d6919
JM
1200 * grub-core/kern/device.c (grub_device_open): Don't dereference
1201 a NULL pointer upon failed grub_env_get.
1202
f7db6f4a
VS
12032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Support non-512B sectors and agglomerate reads.
1206
1207 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1208 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1209 (disk_io_guid): Removed.
1210 (make_devices): Locate solely by BlockIO.
1211 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1212 (grub_efidisk_read): Use read_blocks.
1213 (grub_efidisk_write): Use write_blocks.
1214 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1215 log_sector_size.
1216 (get_safe_sectors): Handle non-512B sectors.
1217 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1218 sectors.
1219 (grub_biosdisk_write): Handle non-512B sectors.
1220 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1221 (grub_scsi_read): Remove special non-512B block handling (now handled
1222 one level up).
1223 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1224 and do sanity checks.
1225 (grub_disk_adjust_range): Handle non-512B sectors.
1226 (transform_sector): New function.
1227 (grub_disk_read_small): Likewise.
1228 (grub_disk_read): Rewritten.
1229 (grub_disk_write): Handle non-512B sectors.
1230 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1231 log_sector_size.
1232 (open_device): Use log_sector_size.
1233 (grub_util_biosdisk_read): Likewise.
1234 (grub_util_biosdisk_write): Likewise.
1235 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1236 non-512B sectors.
1237 (pc_partition_map_embed): Likewise.
1238 * include/grub/disk.h (grub_disk): New field log_sector_size.
1239 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1240 (GRUB_DISK_CACHE_BITS): Increased to 6.
1241 * util/grub-fstest.c (fstest): New command testload.
1242 (argp_parser): Likewise.
1243
881ac815
RM
12442011-06-16 Robert Millan <rmh@gnu.org>
1245
1246 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1247 `ata' driver on kernel of FreeBSD 9.
1248
1249 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1250 (get_ataraid_disk_name): New functions.
1251 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1252 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1253 get_ataraid_disk_name() and get_ada_disk_name().
1254
1e9aef7d
CW
12552011-06-13 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1258 input format.
1259
351c7c8a
CW
12602011-05-29 Colin Watson <cjwatson@ubuntu.com>
1261
1262 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1263 `ftp.gnu.org' for `alpha.gnu.org'.
1264
6b4e6430
CW
12652011-05-27 Colin Watson <cjwatson@ubuntu.com>
1266
1267 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1268 partitions under /dev/disk/by-id/.
1269
c64db050
CW
12702011-05-27 Colin Watson <cjwatson@ubuntu.com>
1271
1272 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1273 after ten consecutive open failures. Scanning all the way up to
1274 10000 is excessive and can cause serious performance problems in
1275 some configurations.
1276 Fixes Ubuntu bug #787461.
1277
245f4aba
VS
12782011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1281 opening new one.
1282
f767c929
VS
12832011-05-21 Colin Watson <cjwatson@ubuntu.com>
12842011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 Don't stat devices unless we have to.
1287
1288 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1289 dir == /dev/mapper.
1290 (grub_guess_root_device): Use already known os_dev if possible.
1291 * grub-core/kern/emu/hostdisk.c
1292 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1293 if device is known to be a dm one.
1294
f35fa3a6
CW
12952011-05-20 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1298 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1299 Reported by: Pawel Tecza.
1300
9a79fcf2
VS
13012011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1304 (lsefisystab): Likewise.
1305 (lssal): Likewise.
1306 (lsefimmap): Likewise.
1307 (hdparm): Enable on qemu-mips.
1308 (setjmp): Add ia64 nodist.
1309 (serial): Simplify tags.
1310
63e3eea9
CW
13112011-05-18 Colin Watson <cjwatson@ubuntu.com>
1312
1313 * Makefile.util.def (grub-ofpathname): Install manual page.
1314
09728256
CW
13152011-05-18 Colin Watson <cjwatson@ubuntu.com>
1316
1317 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1318
8b63a142
CW
13192011-05-18 Colin Watson <cjwatson@ubuntu.com>
1320
1321 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1322
e775d8ed
VS
13232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1326 into dprintf.
1327
bf947d36
VS
13282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Use full 64-bit division.
1331
1332 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1333 (grub_divmod64): ... this.
1334 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1335 version.
1336
b84f26c5
CW
13372011-05-18 Colin Watson <cjwatson@ubuntu.com>
1338
1339 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1340 `source'.
1341
5626056f
CW
13422011-05-18 Colin Watson <cjwatson@ubuntu.com>
1343
1344 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1345 to avoid accidents when debugging with 'sh -x'.
1346 * grub-core/gensyminfo.sh.in: Likewise.
1347 * tests/example_scripted_test.in: Likewise.
1348 * tests/grub_cmd_regexp.in: Likewise.
1349 * tests/grub_script_blanklines.in: Likewise.
1350 * tests/grub_script_dollar.in: Likewise.
1351 * tests/grub_script_expansion.in: Likewise.
1352 * tests/grub_script_final_semicolon.in: Likewise.
1353 * tests/partmap_test.in: Likewise.
1354 * tests/util/grub-shell-tester.in: Likewise.
1355 * tests/util/grub-shell.in: Likewise.
1356
e2965f4a
CW
13572011-05-18 Colin Watson <cjwatson@ubuntu.com>
1358
1359 Move gfxmenu color handling to video, so that gfxterm can use it
1360 too.
1361
1362 * grub-core/gfxmenu/named_colors.c: Move to ...
1363 * grub-core/video/colors.c: ... here. Rename
1364 grub_gui_get_named_color to grub_video_get_named_color.
1365 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1366 * grub-core/video/colors.c (my_isxdigit): ... here.
1367 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1368 Move to ...
1369 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1370 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1371 to ...
1372 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1373
1374 * include/grub/gui.h (grub_gui_color_t): Move to ...
1375 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1376 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1377 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1378 * include/grub/gui.h (grub_gui_map_color): Move to ...
1379 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1380 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1381 to ...
1382 * include/grub/video.h (grub_video_get_named_color): ... here.
1383 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1384 * include/grub/video.h (grub_video_parse_color): ... here.
1385
1386 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1387 video/colors.c.
1388 (gfxmenu): Remove gfxmenu/named_colors.c.
1389 (video) [videomodules]: Add video/colors.c.
1390
1391 Add a background_color command.
1392
1393 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1394 function.
1395 (GRUB_MOD_INIT): Register background_color command.
1396 (GRUB_MOD_FINI): Unregister background_color command.
1397 (redraw_screen_rect): Allow blend/replace of text layer to be
1398 controlled independently from whether there is a background bitmap.
1399 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1400 changing bitmap.
1401
1e4b4390
VS
14022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1403
26618ff0
VS
1404 Patch BPB in ntldr and chainloader --bpb.
1405
1e4b4390
VS
1406 * grub-core/fs/fat.c: Include grub/fat.h.
1407 (grub_fat_bpb): Moved to ...
1408 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1409 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1410 grub/ntfs.h.
1411 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1412 Moved from here...
1413 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1414 here.
1415 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1416 New function.
1417 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1418 (GRUB_MOD_INIT): Show --bpb.
1419 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1420 * grub-core/normal/main.c (features): New variable.
1421 (GRUB_MOD_INIT): Set feature_* variables.
1422 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1423 proto.
1424 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1425
cf02731e
VS
14262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1429 for cleanness.
1430
e3a1073f
VS
14312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 FreeDOS direct loading support.
1434
1435 * docs/grub.texi (Supported OS): Add FreeDOS.
1436 * grub-core/Makefile.core.def (freedos): New module.
1437 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1438 variable.
1439 (grub_relocator16_boot): Handle %ebx.
1440 * grub-core/lib/i386/relocator16.S: Likewise.
1441 * grub-core/loader/i386/pc/freedos.c: New file.
1442
05caa461
VS
14432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Long Linux command line support.
1446
1447 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1448 (maximal_cmdline_size): New variable.
1449 (allocate_pages): Use maximal_cmdline_size.
1450 (grub_cmd_linux): Set and use maximal_cmdline_size.
1451 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1452 (allocate_pages): Use maximal_cmdline_size.
1453 (grub_cmd_linux): Set and use maximal_cmdline_size.
1454 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1455 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1456 and cmdline_size.
1457
a2491e23
VS
14582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14592011-05-18 Colin Watson <cjwatson@ubuntu.com>
1460
1461 Improve devmapper support
1462
1463 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1464 (grub_util_is_lvm): New function.
1465 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1466 than lvm if not dmraid.
1467 Handle mapped md nodes.
1468 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1469 (grub_util_device_is_mapped): ... this. Make always available. All users
1470 updated.
1471 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1472 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1473 dmraid nodes.
1474 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1475
6ad6223e
VS
14762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1479
1480 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1481 * grub-core/modinfo.sh.in: New file.
1482 * grub-core/Makefile.core.def (modinfo.sh): New script.
1483 * util/grub-mknetdir.in: Use modinfo.sh.
1484 * util/grub-mkrescue.in: Likewise.
1485
543a8f6e
VS
14862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1489 Fix potential usage of Elf32 instead of Elf64 when compiling on
1490 32-bit architecture. Add endianness macros while on it.
1491
4959e111
VS
14922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 Use mipsel- rather than mips- in directories involving mipsel ports to
1495 allow both endiannesses coexist.
1496
1497 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1498 mips. All conditions adjusted.
1499 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1500 variable.
1501 * util/grub-install.in: Adjust conditions to take renaming into account.
1502 * util/grub-mkimage.c (image_targets): Likewise. New target
1503 mips-qemu_mips-elf for bigendian mips.
1504
35341bbc
VS
15052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 Avoid unnecessary copying on MIPS.
1508
1509 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1510 early if src == dest.
1511 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1512 compression is none.
1513
b772baed
VS
15142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 Reduce memory footprint on SGI by putting modules before the kernel
1517 as opposed to after.
1518
1519 * grub-core/Makefile.core.def (kernel): Increase linking address.
1520 (none_decompress): Likewise.
1521 (xz_decompress): Likewise.
1522 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1523 address.
1524 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1525 layout change.
1526 (grub_arch_modules_addr): New function.
1527 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1528 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1529 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1530 here.
1531 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1532 (grub_total_modules_size): ... this. Make global.
1533 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1534 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1535 New definition.
1536 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1537 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1538 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1539 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1540 * util/grub-mkimage.c (image_target_desc): New flag
1541 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1542 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1543 (generate_image): Handle images with modules before kernel.
1544
566a1917
VS
15452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 Prevent potential loss of memory map by overwrite on qemu-mips.
1548
1549 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1550 Save ram size in $s4.
1551 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1552 All users changed to grub_arch_memsize.
1553 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1554 Loongson.
1555 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1556 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1557 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1558 external variable.
1559
5d420cd9
CW
15602011-05-17 Colin Watson <cjwatson@ubuntu.com>
1561
1562 * .bzrignore: Remove grub-dumpbios.
1563
d064b830
CW
15642011-05-17 Colin Watson <cjwatson@ubuntu.com>
1565
1566 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1567 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1568 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1569 existing options which append).
1570 * docs/grub.texi (Simple configuration): Document new options.
1571 Reported by: Ian Jackson. Fixes Debian bug #617538.
1572
3ca2b466
CW
15732011-05-17 Colin Watson <cjwatson@ubuntu.com>
1574
1575 * util/grub-fstest.c (cmd_cat): New function.
1576 (fstest): Handle CMD_CAT.
1577 (options): Add cat.
1578 (argp_parser): Handle cat.
1579
24c9143a
CW
15802011-05-17 Colin Watson <cjwatson@ubuntu.com>
1581
1582 * Makefile.util.def (grub-bin2h): Don't install.
1583 * docs/man/grub-bin2h.h2m: Remove.
1584
90f7ac19
VS
15852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1588 place.
1589
8d4a5178
VS
15902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Reenable qemu-mips port.
1593
1594 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1595 Fix small arc bug while on it.
1596 * gentpl.py: Handle qemu_mips.
1597 * grub-core/Makefile.am: Likewise.
1598 * grub-core/Makefile.core.def: Likewise.
1599 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1600 inappropriate includes.
1601 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1602 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1603 * grub-core/kern/main.c (grub_modules_get_end)
1604 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1605 * grub-core/kern/mips/qemu-mips: Moved to ..
1606 * grub-core/kern/mips/qemu_mips: ... this.
1607 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1608 (grub_machine_init): Call terminfo_init and serial_init.
1609 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1610 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1611 New variable.
1612 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1613 parameter passing.
1614 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1615 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1616 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1617 * include/grub/mips/qemu_mips/cmos.h: New file.
1618 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1619 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1620 Removed.
1621 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1622 Use correct mips-style address.
1623 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1624 (GRUB_TICKS_PER_SECOND): Removed.
1625 (grub_get_rtc): Likewise.
1626 (grub_cpu_idle): Likewise.
1627 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1628 New definition.
1629 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1630 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1631 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1632 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1633 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1634 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1635 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1636 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1637
400b9371
VS
16382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 SGI ARCS port.
1641
1642 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1643 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1644 platforms.
1645 * configure.ac: New target mips-arc.
1646 * gentpl.py: Likewise.
1647 * grub-core/Makefile.am: Likewise.
1648 * grub-core/Makefile.core.def: Likewise.
1649 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1650 (none_decompress): Likewise.
1651 (lsdev): New module.
1652 (datetime): Use lib/arc/datetime.c on ARC.
1653 (part_dvh): New module.
1654 * grub-core/commands/arc/lsdev.c: New file.
1655 * grub-core/disk/arc/arcdisk.c: Likewise.
1656 * grub-core/kern/mips/arc/init.c: Likewise.
1657 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1658 aligned addresses.
1659 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1660 support.
1661 (grub_arch_dl_relocate_symbols): Likewise.
1662 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1663 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1664 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1665 platforms.
1666 * grub-core/lib/arc/datetime.c: New file.
1667 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1668 pci.h on non-loongson.
1669 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1670 (grub_linux_boot): Set unused registers to 0.
1671 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1672 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1673 * grub-core/mmap/mips/uppermem.c: ...here.
1674 * grub-core/partmap/dvh.c: New file.
1675 * grub-core/term/arc/console.c: Likewise.
1676 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1677 (grub_terminfo_set_current): Add terminal "arc".
1678 (grub_terminfo_readkey): Support ARC sequences.
1679 * include/grub/arc/arc.h: New file.
1680 * include/grub/arc/console.h: Likewise.
1681 * include/grub/disk.h (grub_disk_dev_id): Add
1682 GRUB_DISK_DEVICE_ARCDISK_ID.
1683 * include/grub/mips/arc/kernel.h: New file.
1684 * include/grub/mips/arc/memory.h: Likewise.
1685 * include/grub/mips/arc/time.h: Likewise.
1686 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1687 * include/grub/mips/kernel.h (grub_halt): ... here.
1688 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1689 here...
1690 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1691 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1692 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1693 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1694 proto.
1695 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1696 from here ...
1697 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1698 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1699 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1700 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1701 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1702 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1703 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1704 (grub_phys_addr_t): Moved from here ...
1705 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1706 (grub_vtop): Moved from here ...
1707 * include/grub/mips/memory.h (grub_vtop): ... here.
1708 (grub_map_memory): Moved from here ...
1709 * include/grub/mips/memory.h (grub_map_memory): ... here.
1710 (grub_unmap_memory): Moved from here ...
1711 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1712 (grub_machine_mmap_iterate): Moved from here ...
1713 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1714 (grub_mmap_get_lower): Moved from here ...
1715 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1716 (grub_mmap_get_upper): Moved from here ...
1717 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1718 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1719 here ...
1720 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1721 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1722 here ...
1723 * include/grub/mips/time.h (grub_get_rtc): ... here.
1724 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1725 here ...
1726 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1727 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1728 here ...
1729 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1730 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1731 definition.
1732 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1733 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1734 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1735 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1736 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1737 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1738 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1739 (GRUB_MACHINE_LINK_ADDR): Likewise.
1740 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1741 to 6.
1742 * util/grub-install.in: Run dvhtool on ARC.
1743 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 1744 (generate_image): Handle ECOFF output for mips-arc.
400b9371 1745
c8ecc840
VS
17462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1749 blocks.
1750
153a4b55
VS
17512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1754 after enabling port.
1755
ff44d107
VS
17562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Skip incorrect USB devices.
1759
1760 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1761 configcnt == 0.
1762 * include/grub/usb.h (grub_usb_err_t): New enum value
1763 GRUB_USB_ERR_BADDEVICE.
1764
638dbe4f
VS
17652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Fuloong video init support.
1768
1769 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1770 well.
1771 (grub_vga_read_arx): New function.
1772 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1773 definition.
1774 (framebuffer): New members io, mmioptr and mmiobase.
1775 (read_sis_cmd): New function.
1776 (write_sis_cmd): Likewise.
1777 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1778 rather than 640x400.
1779 * grub-core/video/sis315_init.c: New file.
1780
c3fc520c
VS
17812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1784 non-loongson.
1785 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1786 to grub_dl_register_symbol.
1787
67b1e5c9
VS
17882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 Fix compilation errors.
1791
1792 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1793 potentially unused.
1794 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1795 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1796 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1797 to loongson machines.
1798
b756f75f
VS
17992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Several FS mtime support.
1802
1803 * grub-core/fs/affs.c (grub_affs_time): New struct.
1804 (grub_affs_file): New field mtime.
1805 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1806 type. Removed 'size'. New field 'di'. All users updated.
1807 (grub_affs_mount): Simplify checsum checking.
1808 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1809 (grub_affs_dir): Handle mtime.
1810 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1811 (grub_cpio_dir): Likewise.
1812 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1813 (grub_hfs_filerec): New field mtime.
1814 (grub_hfs_dir): Handle mtime.
1815 (grub_hfs_mtime): New function.
1816 (grub_hfs_fs): Register grub_hfs_mtime.
1817 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1818 (grub_iso9660_dir): New field mtime.
1819 (grub_fshelp_node): New field dirent.
1820 (iso9660_to_unixtime): New function.
1821 (iso9660_to_unixtime2): Likewise.
1822 (grub_iso9660_read_symlink): Use node->dirent.
1823 (grub_iso9660_iterate_dir): Likewise.
1824 (grub_iso9660_dir): Set mtime.
1825 (grub_iso9660_mtime): New function.
1826 (grub_iso9660_fs): Register grub_iso9660_mtime.
1827 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1828 (grub_jfs_inode): New fields atime, ctime and mtime.
1829 (grub_jfs_dir): Set mtime.
1830 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1831 * grub-core/fs/ntfs.c (list_file): Set mtime.
1832 (grub_ntfs_dir): Likewise.
1833 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1834 (grub_reiserfs_iterate_dir): Set mtime.
1835 (grub_reiserfs_dir): Likewise.
1836 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1837 (grub_fshelp_node): Likewise.
1838 (grub_sfs_iterate_dir): Set mtime.
1839 (grub_sfs_dir): Likewise.
1840 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1841 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1842 (grub_xfs_inode): New fields atime, mtime, ctime.
1843 (grub_xfs_dir): Set mtime.
1844 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1845 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1846 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1847
1848 Support UDF symlinks.
1849
1850 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1851 (grub_ufs_read_symlink): New function. All users updated.
1852
1853 Check amiga partmap checksum.
1854
1855 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1856 (grub_amiga_partition): Likewise.
1857 (amiga_partition_map_checksum): New function.
1858 (amiga_partition_map_iterate): Check checksum.
1859
5470225d
VS
18602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 ROMFS support.
1863
1864 * Makefile.util.def (libgrubmods.a): Add romfs.
1865 * grub-core/Makefile.core.def (romfs): New module.
1866 * grub-core/fs/romfs.c: New file.
1867
d4680a35
VS
18682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Squashfs v4 support.
1871
1872 * Makefile.util.def (libgrubmods.a): Add squash4.
1873 * grub-core/Makefile.core.def (squash4): New module.
1874 * grub-core/fs/squash4.c: New file.
1875 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1876 disk_input_start, disk_input.
1877 (get_byte): Handle disk_input.
1878 (grub_zlib_disk_read): New function.
1879 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1880
bcb18e74
FZ
18812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18822011-05-15 Feiran Zheng <famcool@gmail.com>
1883
1884 * Makefile.util.def (libgrubmods.a): Add minix3.
1885 * grub-core/Makefile.core.def (minix3): New module.
1886 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1887 (GRUB_MINIX_BSIZE): Removed.
1888 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1889 (grub_minix_ino_t): New type.
1890 (grub_minix_le_to_cpu_ino): New macro.
1891 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1892 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1893 (grub_minix_data): New field block_size.
1894 (grub_minix_read_file): Handle 64-bit correctly.
1895 * grub-core/fs/minix3.c: New file.
1896
32297d5f
TG
18972011-05-15 Tristan Gingold <gingold@free.fr>
18982011-05-15 Robert Millan <rmh.grub@aybabtu.com>
18992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 IA64 support.
1902
1903 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1904 * configure.ac: Add ia64-efi target.
1905 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1906 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1907 * gentpl.py: Add ia64_efi platform.
1908 Rename x86_efi to efi and Add ia64-efi. All users updated.
1909 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1910 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1911 Remove kern/generic/rtc_get_time_ms.c on EFI.
1912 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1913 kern/ia64/dl_helper.c on ia64-efi.
1914 Add kern/emu/cache.c on emu.
1915 (linux): Use on loader/ia64/efi/linux.c on ia64.
1916 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1917 whether symbol is a function.
1918 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1919 (grub_symbol): New field 'isfunc'.
1920 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1921 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1922 (grub_dl_load_segments): Place all sections into the same region.
1923 [__ia64__]: Create trampolines and got.
1924 [GRUB_MACHINE_EMU]: Call mprotect.
1925 (grub_dl_resolve_symbols): Resolve symbol type as well.
1926 [__ia64__]: Create function descriptors.
1927 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1928 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1929 (grub_get_rtc): New function.
1930 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1931 * grub-core/kern/emu/cache.S: Renamed to ...
1932 * grub-core/kern/emu/cache_s.S: ... this.
1933 [__ia64__]: Add a nop.
1934 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1935 [__ia64__]: New function.
1936 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1937 * grub-core/kern/ia64/dl.c: New file.
1938 * grub-core/kern/ia64/dl_helper.c: Likewise.
1939 * grub-core/kern/ia64/efi/init.c: New file.
1940 * grub-core/kern/ia64/efi/startup.S: Likewise.
1941 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1942 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1943 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1944 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1945 * grub-core/loader/ia64/efi/linux.c: New file.
1946 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1947 (GRUB_MOD_DEP): Likewise.
1948 (grub_dl) [__ia64__]: New fields got and tramp.
1949 (grub_dl): New field 'base'.
1950 (grub_dl_register_symbol): New argument isfunc. All users updated.
1951 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1952 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1953 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1954 (grub_ia64_dl_get_tramp_got_size): New proto.
1955 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1956 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1957 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1958 * include/grub/efi/api.h: Skip call wrappers on ia64.
1959 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1960 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1961 * include/grub/elf.h (ELF_ST_INFO): New definition.
1962 * include/grub/ia64/efi/kernel.h: New file.
1963 * include/grub/ia64/efi/memory.h: Likewise.
1964 * include/grub/ia64/efi/time.h: Likewise.
1965 * include/grub/ia64/kernel.h: Likewise.
1966 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1967 * include/grub/ia64/time.h: New file.
1968 * include/grub/ia64/types.h: Likewise.
1969 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1970 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1971 New protos.
1972 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1973 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1974 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1975 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1976 All users updated.
1977 (EFI64_HEADER_SIZE): New definition. All users updated.
1978 (image_targets): Add ia64-efi.
1979 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1980 jumpers_addr. All users updated.
1981 Create function descriptors.
1982 (count_funcs): New function.
1983 (unaligned_uint32): New struct.
1984 (MASK20): New definition.
1985 (MASK19): Likewise.
1986 (MASKF21): Likewise.
1987 (add_value_to_slot_20b): New function.
1988 (add_value_to_slot_21_real): Likewise.
1989 (add_value_to_slot_21): Likewise.
1990 (ia64_kernel_trampoline): New struct.
1991 (nopm): New variable.
1992 (jump): Likewise.
1993 (make_trampoline): New function.
1994 (relocate_addresses): Handle ia64.
1995 (make_reloc_section): Likewise.
1996 (load_image): Likewise.
1997
983b414d
VS
19982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
2001 warning. Move variables before code while on it.
2002
5d063cdc
VS
20032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 Fuloong support.
2006
2007 * configure.ac: Rename yeeloong platform to loongson. All users updated.
2008 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
2009 * grub-core/boot/mips/loongson/fuloong.S: New file.
2010 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
2011 Explicitly init CS5536.
2012 [FULOONG]: Don't use serial until CS5536 is available.
2013 Set GPIO based on dumps.
2014 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
2015 [FULOONG]: Handle GPIO and memory controller differences.
2016 Parse machine type in $a2.
2017 * grub-core/boot/mips/startup_raw.S: Determine and save the
2018 architecture.
2019 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
2020 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
2021 init on architecture type.
2022 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2023 SIS315E. Don't init at_keyboard on fuloong.
2024 (grub_halt): Support Fuloong.
2025 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
2026 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
2027 (loongson_machtypes): New array.
2028 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
2029 type.
2030 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
2031 config. All users updated. Handle CS5536 serial.
2032 * grub-core/term/serial.c (grub_serial_register): Conditionalise
2033 default port on machine type. Register serial as inactive.
2034 * grub-core/video/sis315pro.c: New file.
2035 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
2036 definition.
2037 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
2038 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2039 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2040 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2041 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2042 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2043 to ...
2044 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2045 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2046 definition.
2047 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2048 (grub_arch_machine): New extern var.
2049 * include/grub/mips/loongson/serial.h
2050 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2051 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2052 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2053 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2054 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2055 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2056 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2057 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2058 * include/grub/term.h (grub_term_register_input_inactive): New inline
2059 function.
2060 (grub_term_register_output_inactive): Likewise.
2061 * include/grub/video.h (grub_video_driver_id): New value
2062 GRUB_VIDEO_DRIVER_SIS315PRO.
2063 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2064 New field "names". All users updated.
2065 New field value IMAGE_FULOONG_FLASH.
2066 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2067
6ada82d1
JU
20682011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2069
2070 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2071 and add some clarification.
2072
90c571a4
VS
20732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2076 platforms if kernel is compressed.
2077
de04eecf
VS
20782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2081 unused modules since currently referrence counter isn't reliable and
2082 there isn't much memory to recover there anyway.
2083
57688121
VS
20842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2087 rather than resetting it to allow modules to reference themselves
2088 in init.
2089
3d2c7e35
VS
20902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2093 counter on dependencies since grub_dl_unref already handles this.
2094
b25db218
VS
20952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2098 on error if not already done.
2099
25a45338
VS
21002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 Fix few potential memory misusage.
2103
2104 * grub-core/font/font.c (load_font_index): Don't free char_index to
2105 avoid double free.
b25db218
VS
2106 (grub_font_load): Zero-fill font at alloc for safety.
2107 Close file on error.
2108 (free_font): Free bmp_idx.
25a45338 2109
0cac83df
VS
21102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * docs/grub.texi (Installation): Fix several outdated claims.
2113
2217a143
VS
21142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 Handle module_license on windows.
2117
2118 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2119 sections shifted.
2120 (insert_string): Make argument const char * instead of char *.
2121 (write_section_data): Handle long section names.
2122 Handle module_license.
2123
d4de6b01
VS
21242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2127 handle class-free menuentries.
2128 (grub_normal_add_menu_entry): Add a check to be sure.
2129
4c2a3b43
VS
21302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2133 PgUp and PgDown.
2134
85c6210f
VS
21352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * configure.ac: Bump version to 1.99.
2138
36084912
VS
21392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Give ATA device a bit more time on first try in order to allow disks
2142 to spin up.
2143
2144 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2145 if dev->present is 1. Reset dev->present on failure.
2146 (grub_ata_device_initialize): Set dev->present to 1.
2147 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2148 (grub_ata_device): New member 'present'.
2149
bda0e219
VS
21502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * util/grub-mkimage.c (generate_image): Update hash.
2153
19e1c41b
VS
21542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Flush caches on DMA memory.
2157
2158 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2159 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2160 (grub_dma_free): Likewise.
2161 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2162
91bbcc0c
VS
21632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2166 to avoid asm treating ld and sd as macros.
2167
60ddfad3
VS
21682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2171 decompressor.
2172
a298aa04
VS
21732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2176 grub_decompress_core since later would fail if grub_decompress_core
2177 is too far.
2178
9b44feca
VS
21792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2182 R_MIPS_JALR since it's used by newer compiler.
2183
56dbe7b4
VS
21842011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2187
52856af2
VS
21882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2191 file_path to 0 for surety.
2192 (grub_chainloader_boot): Set exit_data to NULL.
2193 Unset the loader once done.
2194 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2195
9c9bfc6d
VS
21962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2199 unknown key into a dprintf.
2200
dd94a3df
VS
22012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2204 on first non-existant partition.
2205
fa68d99c
VS
22062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2209 openning fails.
2210 Reported by: Mark Korenberg.
2211
157effb7
VS
22122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2215 overflow.
2216
ea75312f
VS
22172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2220 before closing to ensure that it will be readable by grub-setup.
2221
072b5d31
VS
22222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2225 (devpath_1): Use MAKE_PIWG_PATH.
2226 (devpath_2): Likewise.
2227 (devpath_3): Likewise.
2228 (devpath_4): Likewise.
2229 (devpath_5): Likewise.
2230 (devpath_6): Likewise.
2231
2232 The appleldr.mod was checked that to be binary identical to previous
2233 version.
2234
7fae0051
Z
22352011-05-05 Zach <mikezackles>
2236
2237 Support 2010 Macbooks.
2238
2239 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2240 (devs): Add devpath_6.
2241
7c515bee
VS
22422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2245 /dev/random. /dev/urandom is good enough for our purposes (salting).
2246
ed660bd8
VS
22472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2250
ee5614b7
VS
22512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2254 hexadecimal.
2255
664889a6
VS
22562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2259 and not 0 on failure.
2260
bd405bbc
CW
22612011-05-03 Colin Watson <cjwatson@ubuntu.com>
2262
2263 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2264 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2265 disk; otherwise grub_fs_probe will not fall back to the next
2266 filesystem.
2267 (grub_pxefs_open): Likewise, for consistency.
2268 Reported and tested by: Ezekiel Grave.
2269
4ebff753
CW
22702011-05-03 Colin Watson <cjwatson@ubuntu.com>
2271
2272 * tests/partmap_test.in: Don't hardcode path to parted.
2273 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2274
8f942553
CW
22752011-05-01 Colin Watson <cjwatson@ubuntu.com>
2276
2277 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2278 of `ls' to find out which devices are available.
2279
3c62402d
VS
22802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2283 than source address for efi mmap buffer.
2284
723f63f2
VS
22852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2288 wrong action on non-detecting the magic.
2289
68797f92
VS
22902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2293 already supplied by another part of the module (fixes compilation on
2294 FreeBSD).
2295
6be8715d
VS
22962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2299 match the one used by mdadm.
2300
e91dba5b
CW
23012011-04-21 Colin Watson <cjwatson@ubuntu.com>
2302
2303 * po/README: Add instructions for creating po/LINGUAS.
2304
c85140b3
CW
23052011-04-21 Colin Watson <cjwatson@ubuntu.com>
2306
2307 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2308 #551428.
2309
2310 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2311 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2312 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2313 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2314 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2315 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2316 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2317 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2318 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2319 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2320 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2321 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2322 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2323 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2324 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2325 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2326 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2327 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2328 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2329 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2330 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2331 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2332
92051871
CW
23332011-04-21 Colin Watson <cjwatson@ubuntu.com>
2334
2335 * grub-core/kern/emu/getroot.c
2336 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2337 test that was incorrectly reintroduced in r3214.
2338 Reported by: Ian Dall. Fixes Savannah bug #33133.
2339
b13f79a4
CW
23402011-04-21 Colin Watson <cjwatson@ubuntu.com>
2341
2342 Fix stack pointer handling in 16-bit relocator.
2343
2344 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2345 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2346 Fixes Ubuntu bug #683904.
2347
9b710a88
VS
23482011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * configure.ac: Bump version to 1.99~rc2.
2351
d97e7b59
VS
23522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2355 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2356 * grub-core/lib/x86_64/setjmp.S: Likewise.
2357 * grub-core/lib/mips/setjmp.S: Likewise.
2358 * grub-core/lib/powerpc/setjmp.S: Likewise.
2359 * grub-core/lib/sparc64/setjmp.S: Likewise.
2360
0624551c
VS
23612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2364 * grub-core/lib/efi/datetime.c: Likewise.
2365
e8f28d4c
VS
23662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2369 New function.
2370 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2371 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2372 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2373
bba79a15
VS
23742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2377 bitmap.
2378 (grub_gfxterm_term_init): Likewise.
2379
abc474ef
VS
23802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Take into account the decorations the computing menu entry width.
2383
2384 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2385 (grub_gfxmenu_create_box): Register get_border_width.
2386 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2387 if available.
2388 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2389 get_border_width.
2390
e74b3947
EP
23912011-04-18 Endres Puschner <code@e7p.de>
2392
2393 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2394 Don't skip first class.
2395
34faa595
VS
23962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2399 chunks.
2400 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2401
93a777e3
VS
24022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 Complete 64-bit division support.
2405
2406 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2407 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2408 * include/grub/misc.h (grub_divmod64): Rename to ...
2409 (grub_divmod64_full): ... this.
2410 (grub_divmod64): New inline function.
2411
a5102d94
VS
24122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2415
f3fb7b36
VS
24162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2419 performing the necessary test.
2420
9ac718b0
VS
24212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2424 (kfreebsd.elf): Likewise.
2425 (pc-chainloader.elf): Likewise.
2426 (ntldr.elf): Likewise.
2427
50d2cc5a
VS
24282011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Identify RAID by its UUID rather than (guessed) name.
2431
2432 * grub-core/disk/raid.c (ascii2hex): New function.
2433 (grub_raid_open): Accept mduuid/%s specification.
2434 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2435 (get_mdadm_uuid): ... this.
2436 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2437
e03f7bea
VS
24382011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2441 to negative size.
2442
e74c3112
CW
24432011-04-13 Colin Watson <cjwatson@ubuntu.com>
2444
2445 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2446 btrfs subvolume.
2447 * util/grub.d/20_linux_xen.in: Likewise.
2448
78fa584f
CW
24492011-04-13 Colin Watson <cjwatson@ubuntu.com>
2450
2451 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2452 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2453
2454 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2455 Build a list of relevant visible mounts using the mnt_id and
2456 parent_mnt_id fields, and then scan that list at the end.
2457
9d5f8162
CW
24582011-04-12 Colin Watson <cjwatson@ubuntu.com>
2459
2460 * docs/grub.texi (normal): New section.
2461 (normal_exit): New section.
2462 (Embedded configuration): Add reference to normal.
2463 (GRUB only offers a rescue shell): Likewise.
2464 * docs/grub-dev.texi (Error Handling): Fix typo.
2465
09a9d66f
CW
24662011-04-12 Colin Watson <cjwatson@ubuntu.com>
2467
2468 * NEWS: Drop obsolete entry about probe-only btrfs support.
2469
0c676933
CW
24702011-04-12 Colin Watson <cjwatson@ubuntu.com>
2471
2472 * util/import_gcry.py: Fix typo.
2473
ec9f5e0d
VS
24742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * NEWS: Add btrfs support.
2477
fe6b2cba
VS
24782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24792011-04-11 Colin Watson <cjwatson@ubuntu.com>
2480
2481 BtrFS support. Written by me (Vladimir) with important bugfixes and
2482 even more important testing by Colin.
2483
2484 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2485 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2486 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2487 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2488 mem_input_off and mem_input. All users updated to accept in-RAM input.
2489 (gzio_seek): New function.
2490 (test_zlib_header): Likewise.
2491 (grub_gzio_read): Likewise.
2492 (grub_zlib_decompress): Likewise.
2493 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2494 Accept partial and non-virtual mounts.
2495 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2496 avoid receiving /dev/dm-X as device.
2497 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2498 Handle bind and partial mounts.
2499 * grub-core/lib/crc.c: New file.
2500 * include/grub/deflate.h: Likewise.
2501 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2502 proto.
2503 * include/grub/lib/crc.h: New file.
2504
e745cf0c
VS
25052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Implement automatic module license checking according to new GNU
2508 guidelines.
2509
2510 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2511 (grub_dl_load_core): Use grub_dl_check_license.
2512 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2513 (GRUB_MOD_LICENSE): Likewise.
2514 (GRUB_MOD_DUAL_LICENSE): Likewise.
2515 All modules updated.
2516
2a9bc016
CW
25172011-04-11 Colin Watson <cjwatson@ubuntu.com>
2518
2519 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2520 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2521 loaders.
2522 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2523
8a3bc88e
VS
25242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2527
af869a4a
VS
25282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2531 failed.
2532
9ee8d94f
VS
25332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2536 parenthesis in the middle of the filename.
2537
b01abe3e
VS
25382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2541 rather than trying to put initrd way too high.
2542 Reported by: Ryan Lortie <desrt@desrt.ca>
2543
335bda1e
VS
25442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2547 improperly removed string.
2548
5ca1a64d
VS
25492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2552 is_disk.
2553 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2554 (open_device) Likewise.
2555 (grub_util_biosdisk_close): Likewise.
d8ce9995 2556 Reported by: Mark Korenberg.
5ca1a64d 2557
cbac5b1e
AK
25582011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2559
2560 * util/grub-mkconfig_lib.in: Add missing quotes.
2561
088cdb65
CW
25622011-04-10 Colin Watson <cjwatson@ubuntu.com>
2563
2564 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2565 is NULL.
2566
8b8a81fa
VS
25672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 Dynamically count the number of lines for the lower banner.
2570
2571 * grub-core/normal/menu_entry.c (per_term_screen): New member
2572 num_entries.
2573 (print_down): Use num_entries.
2574 (update_screen): Likewise.
2575 (grub_menu_entry_run): Set num_entries.
2576 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2577 num_entries.
2578 (grub_print_message_indented): Move real part to ...
2579 (grub_print_message_indented_real): ... here. Additional argument
2580 dry_run.
2581 (draw_border): Additional argument num_entries.
2582 (print_message): Additional argument dry_run.
2583 (print_entries): Receive menu viewer data.
2584 (grub_menu_init_page): New argment num_entries.
2585 (menu_text_set_chosen_entry): Use num_entries.
2586 (grub_menu_try_text): Likewise.
2587 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2588 All users updated.
2589 (grub_ucs4_count_lines): New function.
2590 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2591 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2592 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2593 (grub_term_border_height): Likewise.
2594 (grub_term_num_entries): Likewise.
2595
277f955b
VS
25962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2599 Remove now unused string.
2600
536ce85a
CW
26012011-04-09 Colin Watson <cjwatson@ubuntu.com>
2602
2603 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2604 build system.
2605 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2606
2607 (Comment): Fix typo.
2608 (Getting started): General copy-editing.
2609 (Typical Development Experience): Likewise.
2610 (Error Handling): Likewise.
2611 (Video API): Likewise.
2612
2cf09e32
CW
26132011-04-09 Colin Watson <cjwatson@ubuntu.com>
2614
2615 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2616 throughout.
2617
1ec652f4
VS
26182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2621 directory.
2622
2c583728
CW
26232011-04-08 Colin Watson <cjwatson@ubuntu.com>
2624
2625 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2626 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2627 "development".
2628
d7a565e9
VS
26292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2632 grub_strcpy since the lines aren't necessarily 0-terminated.
2633
7c2e4909
VS
26342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2637 root on legacy.
2638
34c09785
VS
26392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2642 (GRUB_MOD_INIT): DEVICE isn't optional.
2643
6a6f8058
VS
26442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2647 word on new line if it's too long anyway. Fixes a hang.
2648
2e335e90
VS
26492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2652 const.
2653 * util/grub-setup.c (main): Reuse md device name if available.
2654 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2655 not GRUB name as argument.
2656 Based on patch by: Florian Wagner <fwagner>.
2657
10a7a867
VS
26582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2661 Place mbi on low memory for better compatibility.
2662
7a3d6cd9
VS
26632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2666
18dd6b47
VS
26672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
26682011-04-08 Colin Watson <cjwatson@ubuntu.com>
2669
2670 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 2671 * conf/Makefile.common: Likewise.
18dd6b47 2672
3c0e3f14
VS
26732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2674
f7148863
VS
2675 * grub-core/normal/menu.c: Add missing include.
2676
26772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 2680
6d1fa41f
MZ
26812011-04-08 Martin Zuther <mzuther@mzuther.de>
2682
2683 * util/grub-mkconfig.in: Ignore emacsen backup.
2684
478182a8
VS
26852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2688 on open.
2689 (grub_util_biosdisk_close): Likewise.
2690
72a89a54
VS
26912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2694 const attribute and use grub_isdigit.
2695
b5ebecfa
A
26962011-04-06 Andrey <dev_null@ukr.net>
2697
2698 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2699 gcc warning.
2700
7755f66e
VS
27012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2704 useful grub_dprintf's.
2705
461121ff
VS
27062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2709
2a961775
VS
27102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2713
adf594cc
VS
27142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Output errors if theme loading failed.
2717
2718 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2719 grub_gfxterm_fullscreen on error paths to ...
2720 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2721 theme loading error.
2722
665900a3
VS
27232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2726 space for older compilers.
2727 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2728
a562b479
VS
27292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2732 and report them as not RAID members since they are useless for GRUB.
2733 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2734
850e9373
VS
27352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Increase LVM implementation robustness in order not to crash on
2738 configurations like pvmove. Previously code assumed that in some places
2739 only lvs or only pvs are used whereas it seems that they are used
2740 interchangeably.
2741
2742 * grub-core/disk/lvm.c (read_node): New function.
2743 (read_lv): Use read_node.
2744 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2745 Match volumes only at the end when all lvs are found. Take both
2746 pvs (first) and lvs (second) into account.
2747 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2748 mirror_* into node_*. All users updated.
2749 (grub_lvm_stripe): Merge this ...
2750 (grub_lvm_mirror): ... and this ...
2751 (grub_lvm_node): ... into this. All users updated.
2752
6f332153
VS
27532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2756 of function to allow further scanning for LVMs.
2757
829ea451
VS
27582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2761 on failed seek as it breaks open fd reusage.
2762
09ceb9a5
VS
27632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * util/grub-install.in: Add a recommendation to use --recheck before
2766 reporting bugs.
2767
67e11623
VS
27682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2771 are obtained.
2772
caee5efd
VS
27732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 GRUB developper manual based on existing Internals section and
2776 contributions by the various authors with active copyright assignment.
2777
2778 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2779 * docs/font_char_metrics.png: New file.
2780 * docs/font_char_metrics.txt: Likewise.
2781 * docs/grub-dev.texi: Likewise.
2782 * docs/grub.texi (Internals): Move from here ...
2783 * docs/grub-dev.texi: ... here.
2784
2cccc747
CW
27852011-04-01 Colin Watson <cjwatson@ubuntu.com>
2786
2787 Store the loopback device as data on loopback grub_disk structures,
2788 rather than the file it points to. This fixes use of freed memory
2789 if an existing loopback device is replaced.
2790
2791 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2792 disk->data, not dev->file.
2793 (grub_loopback_read): Adjust file assignment to match.
2794 Fixes Ubuntu bug #742967.
2795
186ae367
CW
27962011-04-01 Colin Watson <cjwatson@ubuntu.com>
2797
2798 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2799 when replacing an existing device.
2800
cfed2ad0
VS
28012011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2804 memory corruptions.
2805
2806 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2807 unsigned.
2808 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2809 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2810 (grub_jfs_read_inode): Likewise.
2811 (grub_jfs_opendir): Likewise. Remove now useless casts.
2812 (grub_jfs_getent): Likewise.
2813 Make ino a grub_uint32_t rather than int.
2814 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2815 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2816 division and module with bit operations.
2817 (grub_jfs_find_file): Make ino a grub_uint32_t.
2818 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2819
05d2ed32
CW
28202011-04-01 Colin Watson <cjwatson@ubuntu.com>
2821
2822 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2823 warning. (This was in fact always initialised before use, but GCC
2824 wasn't smart enough to prove that.)
2825 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2826
91dc6073
VS
28272011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2830 stack alignment.
2831 (efi_wrap_1): Likewise.
2832 (efi_wrap_2): Likewise.
2833 (efi_wrap_3): Likewise.
2834 (efi_wrap_4): Likewise.
2835 (efi_wrap_5): Likewise.
2836 (efi_wrap_6): Likewise.
2837 (efi_wrap_10): Likewise.
2838 Based on information by: Red Hat/Peter Jones.
2839
a8afc1d1
CW
28402011-03-31 Colin Watson <cjwatson@ubuntu.com>
2841
2842 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2843 set-but-not-used variable.
2844
a826cc7d
CW
28452011-03-31 Colin Watson <cjwatson@ubuntu.com>
2846
2847 * docs/grub.texi (Simple configuration): Be more explicit about
2848 GRUB_DEFAULT, and add an example.
2849 Reported by: Leslie Rhorer.
2850
875b67ba
CW
28512011-03-30 Colin Watson <cjwatson@ubuntu.com>
2852
2853 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2854 shell".
2855
fd7cd914
AS
28562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2857
2858 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2859 * util/grub.d/20_linux_xen.in: Likewise.
2860
090b1b6a
VS
28612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * util/grub.d/10_linux.in: Try alternative config filenames where
2864 we parse config file.
2865 * util/grub.d/20_linux_xen.in: Likewise.
2866
baad885c
AS
28672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2868
2869 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2870 * util/grub.d/20_linux_xen.in: Likewise.
2871
241e41f5
VS
28722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/disk/raid.c (insert_array): Add few potentially
2875 useful grub_util_info.
2876 (grub_raid_register): Likewise.
2877
56445fb2
VS
28782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2881 Preserve partition number in mdadm code path.
2882
c871b1c6
VS
28832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2886 few potentially useful grub_util_info.
2887
5e631b4f
CW
28882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2891
2d5d0333
CW
28922011-03-30 Colin Watson <cjwatson@ubuntu.com>
2893
2894 * docs/grub.texi (default): Use @example rather than nested
2895 itemized lists to avoid breaking gendocs.
2896
3d7ed04e
CW
28972011-03-30 Colin Watson <cjwatson@ubuntu.com>
2898
2899 * docs/grub.texi (Future): Update.
2900
abf04200 29012011-03-30 Colin Watson <cjwatson@ubuntu.com>
2902
2903 * docs/grub.texi (Environment): New chapter.
2904 (Changes from GRUB Legacy): Link to "Environment block" section for
2905 details of limitations.
2906 (Simple configuration): Likewise. Link to documentation of gfxmode
2907 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2908 respectively.
2909 (Shell-like scripting): Note that normal variables are stored in the
2910 environment.
2911 (gettext): Link to documentation of lang and locale_dir.
2912 (list_env): New section.
2913 (load_env): New section.
2914 (save_env): New section.
2915
2916 (Reporting bugs): Fix typo.
2917
e1ad0edd
VS
29182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2921 the example.
2922
5d803174
VS
29232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/term/at_keyboard.c (set_scancodes)
2926 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2927
2a2da1d0
CW
29282011-03-30 Colin Watson <cjwatson@ubuntu.com>
2929
2930 * docs/grub.texi (Menu-specific commands): Remove some semantics
2931 that were true in GRUB Legacy but not in GRUB 2.
2932 (submenu): New section.
2933 (false): New section.
2934 (read): New section.
2935 (true): New section.
2936
a7527639
CW
29372011-03-30 Colin Watson <cjwatson@ubuntu.com>
2938
2939 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2940
29412011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
2942
2943 * docs/grub.texi (Simple configuration): Explain some of the
2944 current limitations of grub-mkconfig.
8a748df2 2945 Reported by: Leslie Rhorer.
e30af029 2946
fc858482
VS
29472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 Old macs search for boot.efi rather than for bootia32.efi.
2950
2951 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2952 * util/grub-mkrescue.in: Likewise.
2953 Suggested by: Peter Jones.
2954
e1eb511d
VS
29552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2958
70e75364
VS
29592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2962 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2963 (grub_lvm_mirror): New struct.
2964 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2965 (grub_lvm_iterate): Iterate only visible volumes.
2966 (grub_lvm_read): Factor out to ..
2967 (read_lv): ... this. Support mirrors.
2968 (grub_lvm_read): New wrapper function.
2969 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2970 stripped or mirrored.
2971
fc18f6a3
VS
29722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2975
5c650f4c
CW
29762011-03-29 Colin Watson <cjwatson@ubuntu.com>
2977
2978 * docs/grub.texi (loopback): New section.
2979
61d7156b
CW
29802011-03-29 Colin Watson <cjwatson@ubuntu.com>
2981
2982 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2983 removed -p option.
2984
994b8264
CW
29852011-03-29 Colin Watson <cjwatson@ubuntu.com>
2986
2987 * docs/grub.texi (BIOS installation): New section, partly based on
2988 previous text in other sections.
2989 (Installing GRUB using grub-install): Replace BIOS discussion with a
2990 cross-reference.
2991 (Images): Likewise.
2992
9e4d19e0
VS
29932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2996 [HAVE_DIOCGDINFO]: Add safety checks.
2997
a307c0b2
VS
29982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
3001 per default compiled in kernel and prior to 8.0 isn't shipped at all.
3002
b4db4f39
CW
30032011-03-29 Colin Watson <cjwatson@ubuntu.com>
3004
3005 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
3006 real_sb->size is zero (e.g. RAID-0), get the disk size from
3007 real_sb->data_size instead.
3008 Fixes Ubuntu bug #743136.
3009
35e5f84c
VS
30102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
3013 printf clauses for printing size and start.
3014
d2e29d81
VS
30152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
3018 Reported and tested by: Timothy Nikkel.
3019
ed5587af
VS
30202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
3023 (dirty_region_add_real): ... this.
3024 (dirty_region_add): Don't discard margin refresh when performing
3025 scheduled repaint.
3026
a1dc717c
VS
30272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/lib/relocator.c (allocate_regstart)
3030 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
3031 terminals are capabple of malloc-free operation.
3032 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3033 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3034
9f3677d3
VS
30352011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
3036
3037 * util/grub-setup.c: Copy the partition table zone if floppy support
3038 is disabled, even if no partition table is found.
3039
3040 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3041 during POST if an invalid partition table is contained in the PBR
3042 of the active partition when GRUB is installed to a partition.
3043
24148725
CW
30442011-03-28 Colin Watson <cjwatson@debian.org>
3045
3046 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3047 comment.
3048
f329eda7
CW
30492011-03-28 Colin Watson <cjwatson@debian.org>
3050
3051 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3052 to be specific about what kind of RAID device we're scanning for.
3053
c482ad98
SG
30542011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3055
3056 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3057 return freed string.
3058
5ee04984
VS
30592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3062
f4727da9
VS
30632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 Use libgeom on FreeBSD to detect partitions.
3066
3067 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3068 (grub-mkrelpath): Likewise.
3069 (grub-script-check): Likewise.
3070 (grub-editenv): Likewise.
3071 (grub-mkpasswd-pbkdf2): Likewise.
3072 (grub-fstest): Likewise.
3073 (grub-mkfont): Likewise.
3074 (grub-mkdevicemap): Likewise.
3075 (grub-probe): Likewise.
3076 (grub-setup): Likewise.
3077 (grub-ofpathname): Likewise.
3078 (grub-mklayout): Likewise.
3079 (example_unit_test): Likewise.
3080 (grub-menulst2cfg): Likewise.
3081 * grub-core/Makefile.core.def (grub-emu): Likewise.
3082 (grub-emu-lite): Likewise.
3083 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3084 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3085 define HAVE_DIOCGDINFO.
3086 (follow_geom_up) [FreeBSD]: New function.
3087 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3088 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3089 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3090 unconditionally of HAVE_DIOCGDINFO.
3091
82fe6c75
VS
30922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Fix FreeBSD compilation problem.
3095
3096 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3097 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3098
4c6c9431
CW
30992011-03-24 Colin Watson <cjwatson@ubuntu.com>
3100
3101 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3102 Switch back to page zero before loading a kernel, since some kernel
3103 drivers expect that.
3104 Thanks to: Felix Kuehling.
3105
c7064d94
VS
31062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3109 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3110 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3111
3f71cded
VS
31122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3115 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3116
ef6de21a
VS
31172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3120 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3121 malloc is disabled.
3122
8bc66a2c
VS
31232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3126 for modules headers when counting the needed allocation size.
3127
5657722c
VS
31282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3131 if no ASCII character is found to prevent crash.
3132
41a85f55
AK
31332011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3134
3135 * grub-core/video/bitmap.c (match_extension): Ignore case.
3136
59e1e5f1
VS
31372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3140
bd4d051a
VS
31412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/script/parser.y: Declare "time" as valid argument.
3144
bae7fcc1
PJ
31452011-03-23 Peter Jones <pjones@redhat.com>
3146
3147 Fix incorrect assert failure reporting.
3148
3149 * grub-core/tests/example_functional_test.c (example_test): Add
3150 a failure comment.
3151 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3152 (failure_start): ...this. Check that malloc succeeded.
3153 Don't call xvasprintf. Return failure struct.
3154 (failure_append_vtext): New function.
3155 (failure_append_text): Likewise.
3156 (add_failure): Likewise.
3157 (grub_test_assert_helper): Likewise.
3158 * include/grub/test.h (grub_test_assert_helper): New declaration.
3159 (grub_test_assert): Macro rewritten.
3160
537dc9be
VS
31612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3164
fa3e01bf
VS
31652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3168
b1d28404
VS
31692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3172 into GRUB-style one.
3173
2e3e2e09
VS
31742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3177 error and not grub_errno.
3178 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3179
ed57e557
VS
31802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3183 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3184
d1611f01
VS
31852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/efiemu/i386/pc/cfgtables.c
3188 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3189 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3190 (grub_xnu_unlock): Likewise.
3191 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3192
7d4e39d6
VS
31932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3196 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3197 * grub-core/commands/hashsum.c (aliases): Likewise.
3198 * grub-core/commands/setpci.c (pci_registers): Likewise.
3199 * grub-core/disk/usbms.c (attach_hook): Likewise.
3200 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3201 (zio_checksum_table): Likewise.
3202 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3203 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3204 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3205 * grub-core/lib/relocator.c (leftovers): Likewise.
3206 (extra_blocks): Likewise.
3207 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3208 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3209 (modules_last): Likewise.
3210 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3211 (devices): Likewise.
3212 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3213 (modules_last): Likewise.
3214 * grub-core/normal/auth.c (users): Likewise.
3215 * grub-core/normal/context.c (initial_menu): Likewise.
3216 (current_menu): Likewise.
3217 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3218 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3219 (grub_serial_terminfo_input_template): Likewise.
3220 (grub_serial_terminfo_output_template): Likewise.
3221 (grub_serial_terminfo_input): Likewise.
3222 (grub_serial_terminfo_output): Likewise.
3223 (registered): Likewise.
3224 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3225
40fc4659
VS
32262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3229 grub_video_mode_type_t.
3230 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3231 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3232 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3233
2da48d28
VS
32342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * util/grub-install.in: Correct the x86-64 name as x86_64.
3237
9b43bf39
CW
32382011-03-11 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3241 initial chunk read from the kernel always includes GRUB's multiboot
3242 header, which is now outside the first sector.
3243
be1a7ce0
CW
32442011-03-09 Colin Watson <cjwatson@ubuntu.com>
3245
3246 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3247 cached mmap_size, so that this works correctly when called multiple
3248 times.
3249 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3250
83a3c48d
CW
32512011-03-09 Colin Watson <cjwatson@ubuntu.com>
3252
3253 * docs/grub.texi (Simple configuration): Tidy up formatting.
3254
57d75699
SJ
32552011-03-07 Szymon Janc <szymon@janc.net.pl>
3256
3257 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3258 Set-but-not-used variable removed.
3259
028501a0
VS
32602011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Workaround yet another IEEE1275 bug.
3263
3264 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3265 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3266 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3267 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3268 is set.
3269 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3270 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3271
d998657d
VS
32722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3275 error.
3276
fee7cdd4
CW
32772011-02-11 Colin Watson <cjwatson@ubuntu.com>
3278
3279 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3280 empty, since in that case we can only generate either nothing or a
3281 syntactically invalid configuration file.
3282 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3283
97286eb5
CW
32842011-02-09 Colin Watson <cjwatson@ubuntu.com>
3285
3286 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3287 (Making a GRUB bootable CD-ROM): Likewise.
3288 (Invoking grub-mkrescue): New section.
3289 Reported by: Yann Dirson. Fixes Debian bug #612585.
3290
22b28eb3
CW
32912011-02-09 Colin Watson <cjwatson@ubuntu.com>
3292
3293 * util/grub-install.in: Remove unnecessary brackets from tr
3294 arguments.
3295 * util/grub.d/10_hurd.in: Likewise.
3296 * util/grub.d/10_kfreebsd.in: Likewise.
3297 * util/grub.d/10_linux.in: Likewise.
3298 * util/grub.d/20_linux_xen.in: Likewise.
3299 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3300
7e735e43
CW
33012011-02-08 Colin Watson <cjwatson@ubuntu.com>
3302
3303 * include/grub/file.h (not_easly_seekable): Rename to ...
3304 (not_easily_seekable): ... this. Update all users.
3305
800f1881
CW
33062011-01-28 Colin Watson <cjwatson@ubuntu.com>
3307
3308 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3309 grub-mkrescue.
3310
3281d3d6
VS
33112011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * util/grub-mkimage.c (generate_image): Refuse to create the images
3314 bigger than the actual flash (512K) in Loongson machines. 512K is also
3315 the biggest chip supported by them.
3316
3533413c
VS
33172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3320
73ae4f4f
VS
33212011-01-22 Anthony DeRobertis <anthony@derobert.net>
3322
3323 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3324 super_offset field.
3325
37f4f608
VS
33262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * util/grub-install.in: Ignore install device on platforms
3329 where it doesn't make sense. Always use UUIDs except on pc, efi and
3330 sparc64.
3331 Reported by: Daniel Kahn Gillmor.
3332
03a4ccb5
VS
33332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3336
ffc8f4d8
VS
33372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3340 (iterate_real): Don't rely on partition being non-NULL.
3341
80f23be7
VS
33422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3345 supported platforms. Put a compile time assert for this rather than
3346 generate a warning with 32-bit shift.
3347
5d4f4dd5
VS
33482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3351 logical expression more readable.
3352
e489601a
VS
33532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3356 even if some elements have a name.
3357 Reported by: Alexander GQ Gerasiov.
3358
96e0a6ea
CW
33592011-01-22 Colin Watson <cjwatson@ubuntu.com>
3360
3361 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3362 path unreadable if `grub-probe -t abstraction' fails, for example if
3363 memberlist fails on an LVM volume group.
3364 Reported by: Darius Jahandarie.
3365
81431e2b
CW
33662011-01-22 Colin Watson <cjwatson@ubuntu.com>
3367
3368 * docs/grub.texi (Simple configuration): Document
3369 GRUB_PRELOAD_MODULES.
3370
5e79d66a
CW
33712011-01-17 Colin Watson <cjwatson@ubuntu.com>
3372
3373 * .bzrignore: Remove nonexistent grub-pbkdf2.
3374
646ada34
VS
33752011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * configure.ac: Bump version to 1.99~rc1.
3378
04360337
VS
33792011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3382 for safety.
3383
46c9db88
VS
33842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3387 module.
3388
33892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
3390
3391 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3392
4fbf1852
VS
33932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3396 diskdevid.
3397
f1632d4d
VS
33982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 Fix compilation on cygwin.
3401
3402 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3403 -R .drectve on cygwin.
3404 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3405 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3406 (COND_CYGWIN): New condition.
3407 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3408 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3409 not @TARGET_OBJ2ELF@.
3410 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3411 type to determine whether aux is to be used.
3412
0b5e127b
VS
34132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3416 realpath'ed device string.
3417 Handle floppy (somewhat).
3418 Issue error in unknown case rather than garbage.
3419 Reported by: Axel Beckert.
3420
173b71e9
VS
34212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * util/grub.d/00_header.in (load_video): Handle the case when no video
3424 drivers available.
3425 Thanks to: Axel Beckert.
3426
f8f479db
VS
34272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3430 variable. Fixes problem on big endian platforms.
3431
8fc0a245
VS
34322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3435 It doesn't work well there.
3436
b8494fbe
VS
34372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3440 warning.
3441 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3442 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3443 counter.
3444
b44a558c
VS
34452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 Use alias->path rather than buggy "canon".
3448
3449 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3450 (ofdisk_hash_add): New argument curcan. All users updated.
3451
51fa856c
CW
34522011-01-11 Colin Watson <cjwatson@ubuntu.com>
3453
3454 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3455
9da068a5
VS
34562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3459 loadmask before doing any calculations. Use correct type for offset.
3460 (grub_linux_load64): Likewise.
3461
86205c94
CW
34622011-01-11 Colin Watson <cjwatson@ubuntu.com>
3463
3464 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3465 with NULL.
3466 (console_grub_equivalences_unshift): Likewise.
3467 Reported by: Daniel Dehennin.
3468
4531a206
VS
34692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3472 (set_env_limn_ro): Likewise.
3473 (GRUB_MOD_INIT): Likewise.
3474 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3475 ARRAY_SIZE while on it.
3476 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3477 * grub-core/normal/context.c (grub_env_export): Move from here ...
3478 * grub-core/kern/env.c (grub_env_export): ... here.
3479 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3480 prefix.
3481 * grub-core/kern/main.c (grub_main): Export root and prefix.
3482 * include/grub/env.h (grub_env_export): Export.
3483 Reported by: Seth Goldberg.
3484
45146057
VS
34852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3488 Take into account space used by ELF sections and multiboot palette.
3489 Reported by: Grégoire Sutre.
3490
f093110b
VS
34912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * BUGS: New file.
3494
3395fe52
VS
34952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 Pass more appropriate video id to Linux.
3498
3499 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3500 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3501 fill have_vga.
3502 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3503 shift params->lfb_size.
3504 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3505
c2fa6cbb
VS
35062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3509
b3ff6ff0
VS
35102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3513 separator and pass bootpath/devid even if only one of them is available.
3514 Reported by: Seth Goldberg.
3515
ae67942e
VS
35162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3519 implementations bug on them.
3520
3521 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3522 memory.
3523 (filter_memory_map): Likewise.
3524
d570097a
VS
35252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3528 Reported by: nebuchadnezzar.
3529
a508e776
VS
35302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3533 Reported by: nebuchadnezzar.
3534
dcb883b1
VS
35352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 Submenu default support.
3538
3539 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3540 auto_boot. All users updated.
3541 Declared static.
3542 Handle chosen and default with submenus.
3543 (grub_menu_execute_with_fallback): Declared static.
3544 Don't notify failure if autobooted. Upper level does it.
3545 (menuentry_eq): New function.
3546 (get_entry_number): Use menuentry_eq.
3547 (show_menu): New parameter "autobooted". All users updated.
3548 (grub_show_menu): Likewise.
3549 * include/grub/normal.h (grub_show_menu): Likewise.
3550 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3551 (grub_menu_execute_with_fallback): Likewise.
3552
6fef99b4
VS
35532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * util/grub-mklayout.c (usage): Update help text.
3556
47a77af5
VS
35572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3560
ce6bb3ee
VS
35612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * util/grub-menulst2cfg.c (main): Trim the line.
3564
db87be2a
VS
35652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3568 (grub_machine_init): Don't check amount of low memory as reportedly
3569 INT 12h can be broken and if low memory is too low we wouldn't have
3570 gotten into grub_machine_init anyway.
3571
c49849cc
VS
35722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3575 (grub_machine_mmap_iterate): Take low memory into account
3576
b1969b30
VS
35772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3580 badfs.
3581 Reported by: TiCPU.
3582
cf0eaf13
VS
35832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3586 members errors.
3587
1f060f39
GS
35882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3589
3590 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3591 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3592
a21e5672
GS
35932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3594
3595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3596 openbsd and netbsd types being in part_bsd module.
3597
c88172fa
VS
35982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3601 (_FILE_OFFSET_BITS): Likewise.
3602 Reported by: Seth Goldberg.
3603
53798c4b
GS
36042011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3605
3606 * configure.ac: Check for libdevmapper header.
3607
e7121b69
VS
36082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3611 avoid aliasing.
3612 (fzap_lookup): Likewise.
3613 (dnode_get): Likewise.
3614 (make_mdn): Likewise.
3615 (zfs_mount): Likewise.
3616 (fzap_iterate): Use temporary pointer to avoid aliasing.
3617 (grub_zfs_read): Likewise.
3618 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3619 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3620 pointers to avoid aliasing.
3621 (grub_cmd_xnu_kernel64): Likewise.
3622 (grub_xnu_load_driver): Likewise.
3623
fc836af9
VS
36242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3627 aliasing warning.
3628 (grub_cmd_terminal_output): Likewise.
3629 Reported and tested by: Grégoire Sutre.
3630
f9f37648
VS
36312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3634 warning.
3635 Reported and tested by: Grégoire Sutre.
3636
ec1dfd63
VS
36372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * configure.ac: Do CPU substitution even if it's specified explicitly.
3640 Reported and tested by: Alain Greppin.
3641
9462775a
VS
36422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3645 Reported and tested by: Alain Greppin.
3646
0fd48e35
VS
36472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Satisfy some bison versions need for inttypes.h.
3650
3651 * grub-core/lib/posix_wrap/inttypes.h: New file.
3652 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3653 (int16_t): Likewise.
3654 (int32_t): Likewise.
3655 (int64_t): Likewise.
3656 Reported and tested by: Alain Greppin.
3657
43f1bc83
VS
36582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3661 Silence spurious warning.
3662 Reported and tested by: Alain Greppin.
3663
64d1f041
SJ
36642011-01-07 Szymon Janc <szymon@janc.net.pl>
3665
3666 * docs/grub.texi (Support automatic decompression): Update with xz
3667 decompression support.
3668
25953e10
SJ
36692011-01-07 Szymon Janc <szymon@janc.net.pl>
3670
3671 Improve loaders' kernel command line handling.
3672
3673 * grub-core/lib/cmdline.c: New file.
3674 * include/grub/lib/cmdline.h: Likewise.
3675 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3676 grub_create_loader_cmdline to create kernel command line.
3677 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3678 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3679 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3680 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3681 (linux): Add lib/cmdline.c on common.
3682
e72d259f
VS
36832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3686 inopos might be unaligned.
3687
c0cf26da
VS
36882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3691 endian transformations.
3692 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3693 Based on report by: Doug Nazar.
3694
0ca09e6c
DN
36952011-01-07 Doug Nazar <nazard.michi@gmail.com>
3696
3697 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3698 array->members[i].start_sector.
3699 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3700
014b6806
VS
37012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3704 Reported and tested by: Grégoire Sutre.
3705
415502c2
CW
37062011-01-06 Colin Watson <cjwatson@ubuntu.com>
3707
3708 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3709 avoid causing test failures by clearing the screen.
3710
71b6a2b7
CW
37112011-01-06 Colin Watson <cjwatson@ubuntu.com>
3712
3713 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3714 Fix prefix check to handle the case where dir ends with a slash
3715 (most significantly, "/" itself).
3716 Reported by: Michael Vogt.
3717
b3f8d28a
VS
37182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 Run terminfo_cls on initing terminfo output to clear the screen and
3721 move the cursor to (0,0).
3722
3723 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3724 Call grub_terminfo_output_init.
3725 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3726 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3727 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3728
4c3e4f37
VS
37292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3732 only when needed.
3733
488f71f1
VS
37342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3737 CTRL.
3738
18a38098
VS
37392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 The E820 type 5 is BADRAM, not EXEC_CODE.
3742
3743 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3744 (GRUB_E820_BADRAM): New define.
3745 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3746 into reserved. Propagate BADRAM.
3747 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3748 (GRUB_E820_BADRAM): New define.
3749
9eae2084
VS
37502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3753 Ignore the memory post-4G.
3754 (grub_relocator_firmware_alloc_region): Additional debug statement.
3755
ebc71d28
VS
37562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3759 names.
3760 Reported by: David Pravec.
3761
446fa400
VS
37622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3765 BIOSes.
3766
a0159f37
VS
37672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3770 Prevent overflow.
3771 (grub_reed_solomon_recover): Likewise.
3772
e5146ca1
VS
37732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3776
37772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
3778
3779 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3780 variable.
3781
5b1bdf12
CW
37822011-01-04 Colin Watson <cjwatson@ubuntu.com>
3783
3784 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3785 descriptions of extract_legacy_entries_source and
3786 extract_legacy_entries_configfile.
3787 Reported by: Seung Soo, Ha.
3788
99d925aa
CW
37892011-01-03 Colin Watson <cjwatson@ubuntu.com>
3790
3791 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3792 on devices that do not implement function 0.
3793
4af0504b
DV
37942011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3795
3796 * grub-core/fs/hfsplus.c: Make parent unsigned.
3797 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3798 overflows.
3799 (grub_hfsplus_cmp_extkey): Likewise
3800
469ee10a
VS
38012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * util/grub-install.in: Correctly use bootloader_id and not
3804 GRUB_DISTRIBUTOR on efibootmgr line.
3805
323a8e9c
VS
38062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3809
1b394975
IC
38102010-12-31 Ian Campbell <ijc@hellion.org.uk>
3811
3812 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3813 Xen and reorder menu item wording to make it clearer that this entry
3814 will launch Xen. Print separate messages when loading Xen and
3815 Linux.
3816
275bff5f
VS
38172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3820 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3821 loop in case of incorrect amiga partmap.
3822
307806cb
VS
38232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3826 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3827 Reported by:EHeM.
3828
b12b923e
VS
38292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3832 spurious warning.
3833 Reported by: crocket
3834
14b48a19
VS
38352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3838 Preload EFIemu.
3839 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3840
693db2df
VS
38412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3844 is loaded
3845 (grub_cmd_xnu_kextdir): Likewise.
3846 (grub_cmd_xnu_splash): Likewise.
3847
c7638645
VS
38482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Avoid using Reed-Solomon with 0 redundancy.
3851
3852 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3853 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3854 or 0 redundancy.
3855 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3856 (grub_reed_solomon_recover): Likewise.
3857
25dd4780
VS
38582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 Don't use disk subsystem in freebsd_boot.
3861
3862 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3863 (freebsd_biosdev): Likewise.
3864 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3865 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3866
0b2db943
VS
38672010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 Handling of files of unknown size is currently limited. They can't be
3870 used e.g. for initrd or modules. Moreover gzip handling of not
3871 easily seekable files is buggy. Disable unknown file size for now. May
3872 be inefficient but works.
3873
3874 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3875 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3876
5c408d0f
MP
38772010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3878
3879 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3880 floppy probe.
3881
190a011a
JD
38822010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3883
3884 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3885
022d01b8
SL
38862010-12-25 Shea Levy <shlevy>
3887
3888 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3889
c4855fdc
VS
38902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3893 Windows Server 2008.
3894 Reported by: Devin Giddings.
3895
0354b867
VS
38962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3899 writing an error message because of async power management.
3900 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3901 (grub_reboot): Likewise.
3902
ab66c69f
JU
39032010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3904
3905 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3906 keep unit tests from failing when they shouldn't.
3907
1426ef35
CW
39082010-12-21 Colin Watson <cjwatson@ubuntu.com>
3909
3910 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3911 previous patch increased the size of the RS code by 20 bytes (at
3912 least with gcc-4.4), so increase this by 20 bytes to match.
3913 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3914
20641b6b
CW
39152010-12-21 Colin Watson <cjwatson@ubuntu.com>
3916
3917 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3918 scratch area. Make sure to initialise chosen in standalone mode as
3919 well as non-standalone.
3920 Reported by: Robert Hooker and Andy Whitcroft.
3921 Tested by: Andy Whitcroft.
3922
d060ad60
CW
39232010-12-21 Colin Watson <cjwatson@ubuntu.com>
3924
3925 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3926 constructing a new unescaped string and passing it to grub_xputs in
3927 one go, rather than passing characters to grub_printf one at a time.
3928
b889cfad
CW
39292010-12-21 Colin Watson <cjwatson@ubuntu.com>
3930
3931 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3932 initialising utf16.
3933
4e01b6c8
CW
39342010-12-21 Colin Watson <cjwatson@ubuntu.com>
3935
3936 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3937 comment. Add an extra layer of quotation, requiring the output of
3938 this function to be used in a printf format string.
3939 (gettext_printf): New function.
3940 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3941 Extract translatable strings from here-documents and use a temporary
3942 variable instead, so that xgettext can find them.
3943 * util/grub.d/10_kfreebsd.in: Likewise.
3944 * util/grub.d/10_linux.in: Likewise.
3945 * util/grub.d/20_linux_xen.in: Likewise.
3946
3947 * po/grub.d.sed: New file.
3948 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3949 arguments. Set c-format flags on all strings extracted from
3950 util/grub.d/ (xgettext refuses to include these itself for strings
3951 it extracted from a shell file, but these really are c-format).
3952
5318fe98
VS
39532010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3956 Avoid next pointing to nowhere.
3957
6c85b743
VS
39582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3961 rather than assuming than rootblock is exactly in the middle.
3962 (grub_affs_label): Likewise.
3963
a2a08a35
VS
39642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3967 reserved_first_sector to 0.
3968 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3969 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3970 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3971
7059d1ec
VS
39722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Fix handling of UTF-16 UDF labels.
3975
3976 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3977 (read_string): .. here.
3978 (grub_udf_label): Use read_string.
3979
30aff4cb
BC
39802010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3981
3982 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3983 editor under argument scope.
3984 Reported by: Jordan Uggla
3985
5cf86f4b
VS
39862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3989
32570200
CW
39902010-12-18 Colin Watson <cjwatson@ubuntu.com>
3991
3992 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3993 line, and other keys scroll an entire page (previous handling was
3994 for \r and \n to scroll a page and other keys to scroll two lines).
3995
e1dffcf2
VS
39962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3999 Set ptrdest to correct get_physical_target_address rather than
4000 incorrect get_virtual_current_address.
4001
b04298cf 40022010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
4003
4004 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
4005 correct cat to grub_uint8_t * rather than grub_uint32_t *.
4006
5367ecd3
CW
40072010-12-10 Colin Watson <cjwatson@ubuntu.com>
4008
4009 * .bzrignore: Ignore grub-core/rs_decoder.S.
4010
1fb430f8
CW
40112010-12-10 Colin Watson <cjwatson@ubuntu.com>
4012
4013 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
4014 .mo/.mo.gz opening sequence to ...
4015 (grub_mofile_open_lang): ... here.
4016 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
4017 * util/grub.d/00_header.in (grub_lang): Include country part of
4018 locale.
4019 Reported by: Mario Limonciello.
4020
a94a6671
RM
40212010-12-09 Robert Millan <rmh@gnu.org>
4022
4023 * NEWS: Document addition of ZFS support.
4024
24b7938b
CW
40252010-12-04 Colin Watson <cjwatson@ubuntu.com>
4026
4027 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4028 rather than `/ 2', as the latter requires -Wa,--divide which would
4029 require bumping our minimum binutils version.
4030
bddc3ef6
BC
40312010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
4032
4033 * util/grub-script-check.c (main): Print script line number on
4034 error.
4035
bf78d5b2
RM
40362010-12-01 Robert Millan <rmh@gnu.org>
4037
4038 * grub-core/fs/zfs/zfs.c: New file.
4039 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4040 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4041 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4042 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4043
4044 * include/grub/zfs/dmu.h: Likewise.
4045 * include/grub/zfs/dmu_objset.h: Likewise.
4046 * include/grub/zfs/dnode.h: Likewise.
4047 * include/grub/zfs/dsl_dataset.h: Likewise.
4048 * include/grub/zfs/dsl_dir.h: Likewise.
4049 * include/grub/zfs/sa_impl.h: Likewise.
4050 * include/grub/zfs/spa.h: Likewise.
4051 * include/grub/zfs/uberblock_impl.h: Likewise.
4052 * include/grub/zfs/vdev_impl.h: Likewise.
4053 * include/grub/zfs/zap_impl.h: Likewise.
4054 * include/grub/zfs/zap_leaf.h: Likewise.
4055 * include/grub/zfs/zfs.h: Likewise.
4056 * include/grub/zfs/zfs_acl.h: Likewise.
4057 * include/grub/zfs/zfs_znode.h: Likewise.
4058 * include/grub/zfs/zil.h: Likewise.
4059 * include/grub/zfs/zio.h: Likewise.
4060 * include/grub/zfs/zio_checksum.h: Likewise.
4061
4062 * Makefile.util.def: Build ZFS into libgrubmods.
4063 * grub-core/Makefile.core.def: Build zfs.mod.
4064
3f0f3831
SJ
40652010-11-30 Szymon Janc <szymon@janc.net.pl>
4066
4067 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4068 variable.
4069 * grub-core/commands/wildcard.c (match_files): Likewise.
4070
3a4253b2
RM
40712010-11-30 Robert Millan <rmh@gnu.org>
4072
4073 * grub-core/loader/i386/bsd.c
4074 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4075 whether kernel is loaded using grub_loader_is_loaded(), rather
4076 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4077 certain error conditions.
4078
8c317b27
RM
40792010-11-30 Robert Millan <rmh@gnu.org>
4080
c5c9cd3e
RM
4081 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4082 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 4083
49d3ab46
VS
40842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 Avoid using tricks for initialising endian variables.
4087
4088 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4089 Make const.
4090 (GRUB_MOD_INIT): Don't byte-swap.
4091 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4092 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4093 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4094 (grub_swap_bytes32_compile_time): Likewise.
4095 (grub_cpu_to_le32_compile_time): Likewise.
4096 (grub_cpu_to_le16_compile_time): Likewise.
4097
f420a804
VS
40982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * util/grub-setup.c (setup): Stop recommending --force. People who
4101 understand the dangers of blocklists are able to find this option
4102 anyway and the ones who don't shouldn't use it anyway.
4103
4e7db17b
RM
41042010-11-26 Robert Millan <rmh@gnu.org>
4105
4106 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4107 Update all users.
4108
9be57a0d
CW
41092010-11-26 Colin Watson <cjwatson@ubuntu.com>
4110
4111 Fix LVM-on-RAID probing.
4112
4113 * util/grub-probe.c (probe): Remember which disk was detected as
4114 RAID (perhaps an LVM physical volume). Use that disk's raidname
4115 rather than that of the top-level disk.
4116
2c7859b3 41172010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 4118
d7647bb6
BC
4119 Fix cmdline argument quotes for setparams command of menuentry
4120 definitions.
7e623b0d
BC
4121
4122 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4123 quotes for arguments.
f866fe80 4124 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 4125 grub_strchrsub function instead.
f866fe80 4126
7955bea0 4127 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 4128
74f72a64
CW
41292010-11-24 Colin Watson <cjwatson@ubuntu.com>
4130
4131 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4132 effort by skipping "." and ".." entries up-front.
4133 Suggested by: Michael Lazarev.
4134
5a407278
CW
41352010-11-24 Colin Watson <cjwatson@ubuntu.com>
4136
4137 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4138 ldflags to ldadd, to fix link line ordering.
4139 (none_decompress): Likewise.
4140
3030d8ec
CW
41412010-11-24 Colin Watson <cjwatson@ubuntu.com>
4142
4143 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4144 platforms.
4145 (grub-emu-lite): Remove kern/emu/cache.S.
4146
b7fbac12
CW
41472010-11-23 Colin Watson <cjwatson@ubuntu.com>
4148
4149 * util/deviceiter.c (compare_devices): If the by-id link for a
4150 device couldn't be resolved, fall back to sorting by the by-id link
4151 rather than segfaulting.
4152 Reported and tested by: Daniel Mierswa.
4153
5225f328
CW
41542010-11-23 Colin Watson <cjwatson@ubuntu.com>
4155
4156 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4157 ldflags, to fix link line ordering.
4158
038b3ce8
CW
41592010-11-23 Colin Watson <cjwatson@ubuntu.com>
4160
4161 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4162 linkers are picky about this.
4163
bf16e98e
CW
41642010-11-23 Colin Watson <cjwatson@ubuntu.com>
4165
4166 * grub-core/Makefile.am (command.lst): Adjust sed expression
4167 ordering so that extended and priority commands aren't treated as
4168 ordinary commands.
4169
7242bab6
CW
41702010-11-23 Colin Watson <cjwatson@ubuntu.com>
4171
4172 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4173 Remove byte-swapping function calls, which are not valid in
4174 structure initialisers.
4175 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4176 non-const.
4177 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4178 grub_gpt_partition_type_bios_boot.
4179
14e8b279
CW
41802010-11-22 Colin Watson <cjwatson@ubuntu.com>
4181
4182 Fix test program build on GNU/kFreeBSD.
4183
4184 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4185 $(LIBNVPAIR)' library dependencies.
4186
e6f63338 41872010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
4188
4189 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4190
cf8ffc38
CW
41912010-11-22 Colin Watson <cjwatson@ubuntu.com>
4192
4193 * util/grub-install.in: Remove excessive quoting that broke
4194 installations to RAID devices.
4195
7f8b0fd7
VS
41962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4199 bootloader version instead of 0.
4200
dfd240b1
VS
42012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4204 warning.
4205
7b61e609
VS
42062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4209 retrieve the metadat sector if size isn't known.
4210 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4211
9dfe92d0
RM
42122010-11-18 Robert Millan <rmh@gnu.org>
4213
4214 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4215 with grub_memcmp().
4216
41cc919e
VS
42172010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4220 arrow.
4221 Reported by: Jordan Uggla.
4222
1afcc914
VS
42232010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Make better UTF compliant.
4226
4227 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4228 sequences as incorrect.
4229 (grub_is_valid_utf8): Likewise.
4230 (grub_utf8_to_ucs4): Likewise.
4231 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4232 (grub_ucs4_to_utf8_alloc): Likewise.
4233 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4234
f1808884
VS
42352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 Make legacy_source behave like source.
4238
4239 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4240 grub_show_menu.
4241 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4242
24ec575b
CW
42432010-11-16 Colin Watson <cjwatson@debian.org>
4244
4245 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4246 (-Wunused implies -Wunused-parameter, but not vice versa).
4247
72b7c7aa
CW
42482010-11-16 Colin Watson <cjwatson@ubuntu.com>
4249
4250 * configure.ac: Make error messages less confusing by testing for
4251 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4252 accepted, but produces a diagnostic if something else is wrong).
4253
e98937aa
VS
42542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4257 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4258 (now unused).
4259 (grub_keyboard_controller_init)
4260 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4261 read the initial state since controller isn't inited yet.
4262
f6bbabc3
VS
42632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4266 allocate_regbeg may need to create new chunk header.
4267
22e7dbb2
VS
42682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Fix quoting in legacy parser.
4271
4272 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4273 single quotes.
4274 (grub_legacy_parse): Likewise.
4275 Reported by: Jordan Uggla.
4276 Tested by: Jordan Uggla.
4277
03f80960
VS
42782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 Don't add -lgcc on i386 and x86_64.
4281
4282 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4283 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4284 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4285
779dc15b
VS
42862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * configure.ac: Add -Wno-trampolines when supported.
4289
d20a3b37
MV
42902010-11-14 Modestas Vainius <modax@debian.org>
4291
4292 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4293 fakeraid.
4294
e5360933
GC
42952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4296
4297 Add generic logical block size support for UDF.
4298
4299 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4300 (GRUB_UDF_BLKSZ): Removed.
4301 (struct grub_udf_data): New field "lbshift" to hold the logical block
4302 size of the file system in log2 format. All users updated.
4303 (sblocklist): Change type to unsigned.
4304 (grub_udf_mount): Change type of "sblklist" to unsigned.
4305 Move AVDP search before VRS recognition, because the latter requires
4306 knowledge of the logical block size, which is detected during the
4307 former.
4308 Detect and validate logical block size during AVDP search, adding
4309 support for block sizes 512, 1024 and 4096.
4310 Make VRS recognition independent of block size.
4311
cb0229c5
GC
43122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4313
4314 Properly handle deleted files on UDF.
4315
4316 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4317 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4318 set.
4319
406858a8
GC
43202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4321
4322 Support reading files larger than 2 GiB.
4323
4324 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4325 "offset" to grub_off_t.
4326 (grub_udf_read_file): Likewise for parameter "pos".
4327
130da6a7
VS
43282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4331 unavailable.
4332 (Simple configuration): Refer to Changes from GRUB Legacy about
4333 save_env availability.
4334
65e93f6b
VS
43352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * util/grub-install.in: Ignore empty partition table detection
4338 instead of trying to include part_ module.
4339
1fd08bf1
VS
43402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4343 LVM on RAID support.
4344
de1a024f
VS
43452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Properly define WORDS_BIGENDIAN in wrapped environments.
4348
4349 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4350 definition.
4351 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4352
4353 Reported by: Manoel Rebelo Abranches.
4354 Tested by: Manoel Rebelo Abranches.
4355
bc5dd0b9
VS
43562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * util/grub-mkconfig.in: Fix quoting.
4359
58c184be
VS
43602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Support big ext2 files.
4363
4364 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4365 (grub_ext2_read_block): Support triple indirect blocks.
4366 (grub_ext2_read_file): Use 64-bit types and read size_high.
4367 (grub_ext2_open): Read size_high.
4368 Reported by: Ximin Luo.
4369 Tested by: Manoel Rebelo Abranches.
4370
5f0c02b3
VS
43712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * util/grub-install.in: Handle filenames containing spaces.
4374 Reported by: Jordan Uggla.
4375 Tested by: Jordan Uggla.
4376
4417aae6
VS
43772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/grub-mkconfig.in (grub_script_check): New variable.
4380 Use grub_script_check instead of grub-script-check.
4381 Reported by: Barry Jackson.
4382
7625a68e
VS
43832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * docs/grub.texi (menu): Correct the order.
4386 Reported by: D. Hugh Redelmeier.
4387
10001ac5
VS
43882010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4391 jump.
4392
9c4cf53b
MRA
43932010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4394
10001ac5
VS
4395 * include/grub/elfload.h (grub_elf32_size): New parameter.
4396 All users updated.
9c4cf53b
MRA
4397 Return maximum segments alignment.
4398 (grub_elf64_size): Likewise.
4399 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4400 Return maximum segments alignment.
4401 (grub_elf64_size): Likewise.
4402 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
4403 (grub_linux_claimmap_iterate): New function. Uses the
4404 "available" property in the "memory" node for memory allocation
4405 for kernel in the PowerPC loader.
9c4cf53b
MRA
4406 (grub_linux_load32): Correctly find linux entry point offset.
4407 (grub_linux_load64): Likewise.
4408
d2bf06bf
RM
44092010-11-07 Robert Millan <rmh@gnu.org>
4410
4411 On mips-yeeloong, build with -march=loongson2f when this flag is
4412 available (GCC >= 4.4).
4413 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4414 `-march=mips3'.
4415 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4416 or otherwise add -march=mips3.
4417
898c99a2
BC
44182010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4419
87220a68
BC
4420 Suppress shell expansion on echo '*' and echo "*" like cases.
4421 Reported by: Jordan Uggla.
898c99a2
BC
4422
4423 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4424 string arguments before shell expansion.
4425 * tests/grub_cmd_echo.in: New testcases.
4426
4f9b406a
RM
44272010-11-07 Robert Millan <rmh@gnu.org>
4428
4429 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4430 transition.
4431
80c6d25e
VS
44322010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/kern/emu/hostdisk.c
4435 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4436
4a1a0153
VS
44372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4440 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4441 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4442
34706ddc
VS
44432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4446
6972dea9
VS
44472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * util/grub-install.in: Replace useless recomendation to pass
4450 --modules with a recomendation to report a bug.
4451
9c693bd6
VS
44522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Properly register serial terminfo.
4455 Reported by: Jordan Uggla
4456
4457 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4458 const.
4459 (grub_serial_terminfo_output_template): Likewise.
4460 (grub_cmd_serial): Register "serial" with terminfo.
4461 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4462 grub_serial_terminfo_output.
4463
6c9e4c0c
RM
44642010-11-05 Robert Millan <rmh@gnu.org>
4465
4466 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4467 needed).
4468
b9b3839f
RM
44692010-11-05 Robert Millan <rmh@gnu.org>
4470
4471 On Yeeloong, pass machine type information to Linux.
4472
4473 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4474 (LOONGSON_MACHTYPE): New macro, set to
4475 "machtype=lemote-yeeloong-2f-8.9inches".
4476 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4477 additional argument to Linux.
4478
1a3aaff4
RM
44792010-11-04 Robert Millan <rmh@gnu.org>
4480
4481 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4482 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4483 (its SATA disks are detected as slaveless IDE master drives on
4484 kFreeBSD).
4485 Reported by Carsten Aulbert.
4486
a75f4f62
CW
44872010-11-02 Colin Watson <cjwatson@ubuntu.com>
4488
4489 * util/bin2h.c (main): Fix spelling error in generated output.
4490
33b4b0c6
GS
44912010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4492
4493 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4494
2b36fbf4
VS
44952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4498 vga= option is supplied.
4499
74aaf558
VS
45002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4503 * util/grub.d/10_kfreebsd.in: Likewise.
4504 * util/grub.d/10_linux.in: Likewise.
4505 * util/grub.d/20_linux_xen.in: Likewise.
4506
6428dec3
VS
45072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4510 argument as an argument to no-argument option.
4511
f8729d98
VS
45122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * util/grub.d/10_linux.in: Add missing load_video with explicit
4515 GRUB_GFXPAYLOAD_LINUX.
4516
89d68fa6
VS
45172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4520
3a1197cd
VS
45212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4524 elements with invlid index.
4525 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4526 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4527 members.
4528 * include/grub/raid.h (grub_raid_member): New struct.
4529 (grub_raid_array): Transform devices and start_sector into usage of
4530 grub_raid_member. All users updated
4531 (allocated_devs): New member.
4532
71574288
VS
45332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4536 is modified
4537
8d40ec65
BC
45382010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4539
4540 NetBSD build fix for getline function conflict from gnulib.
4541
4542 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4543 components that depend on gnulib headers.
4544 (libgrubmods.a): Renamed from earlier libgrub.a.
4545 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4546
95b9257e
VS
45472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4550 install rather than creating a broken install.
4551
26c53dc6
VS
45522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * util/grub-setup.c (argp): Remove misleading example of installing to
4555 a partition.
4556
4171b3c5
VS
45572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * util/grub-setup.c (setup): Clarify the error message.
4560
18568d18
VS
45612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4564
4f6a2e21
VS
45652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/kern/emu/misc.c
4568 (grub_make_system_path_relative_to_its_root)
4569 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4570
45712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
4572
4573 * grub-core/kern/emu/misc.c
4574 (grub_make_system_path_relative_to_its_root): Revert r2882.
4575
e138c458
VS
45762010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4579 useless field head. All users updated.
4580 (free_subchunk): Correct handling of IN_REGION subchunk.
4581
0cbcdf0e
CW
45822010-10-22 Colin Watson <cjwatson@ubuntu.com>
4583
4584 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4585 (Supported kernels): Likewise.
4586
b65ea155
GS
45872010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4588
4589 Make mktemp invocations portable.
4590
4591 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4592 exit if mktemp fails.
4593 * tests/grub_script_blockarg.in: Likewise.
4594 * tests/partmap_test.in: Likewise.
4595 * tests/util/grub-shell-tester.in: Likewise.
4596 * tests/util/grub-shell.in: Likewise.
4597 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4598 * Makefile.am: Likewise, and chain shell commands with `&&'
4599 instead of ';'.
4600 * util/grub-mkrescue.in: Use the same explicit template as above, and
4601 exit if mktemp fails.
4602
05f43cdd
BC
46032010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4604
4605 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4606 Linux kernel, reported by Dennis Schridde.
4607
800e6a9b
SJ
46082010-10-17 Szymon Janc <szymon@janc.net.pl>
4609
4610 * grub-core/normal/auth.c (grub_auth_check_authentication):
4611 Set-but-not-used variable removed.
4612
d82df574
VS
46132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4616 32-bit linux protocol.
4617
7bced458
VS
46182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4621 cursor shape for sanity.
4622
5b027690
VS
46232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * docs/grub.texi (Installation): Document buggy BIOS install.
4626
ba5f65cf
VS
46272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * docs/grub.texi (Installation): Indent.
4630
fdf2ec9c
VS
46312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * util/grub-setup.c (setup): New parameter allow_floppy.
4634 (arguments): New member allow_floppy.
4635 (argp_parser): Handle --allow-floppy.
4636 (main): Pass allow_floppy.
4637 * util/grub-install.in: New option --allow-floppy passed though to
4638 grub-setup.
4639
861dfd4c
VS
46402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * util/grub-install.in: Handle partitionless disks.
4643
f77a8c24
VS
46442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * util/grub-setup.c (setup): Don't clean blocklists before readability
4647 verfification.
4648
27d9ee32
VS
46492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * docs/grub.texi (Installation): Document embedding zone. Remove
4652 obsolete grub-install example.
4653
6bdda8f8
SJ
46542010-10-16 Szymon Janc <szymon@janc.net.pl>
4655
4656 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4657 Set-but-not-used variable ifdef'ed.
4658 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4659 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4660 variable removed.
4661 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4662 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4663 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4664 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4665 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4666 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4667 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4668 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4669 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4670 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4671 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4672 Likewise.
4673
e19b016b
VS
46742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4677 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4678 enum value.
4679
6c8d3002
VS
46802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4683 synonym to _S5_. Needed for some DSDTs.
4684
c32b51c9
VS
46852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 Userspace ACPI parser debugging.
4688
4689 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4690 headers and add relevant defines. Don't include standard headers.
4691 (main) [GRUB_DSDT_TEST]: New function.
4692 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4693 Don't declare functions.
4694
fbfbeb39
VS
46952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 Remove dead grub_efi_mm_fini.
4698
4699 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4700 (ALLOCATED_PAGES_SIZE): Likewise.
4701 (MAX_ALLOCATED_PAGES): Likewise.
4702 (allocated_pages): Likewise.
4703 (grub_efi_allocate_pages): Don't record allocated pages.
4704 (grub_efi_free_pages): Likewise.
4705 (grub_efi_mm_init): Likewise.
4706 (grub_efi_mm_fini): Removed.
4707
65f7ed7c
VS
47082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4711 (grub_efi_mm_init): Take into account the memory map size increase.
4712
24977b44
VS
47132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4716 (serial_hw_put): Wait based on real time rather than port reads. Don't
4717 roken ports.
4718 * include/grub/serial.h (grub_serial_port): New field broken.
4719
1eb01cd2
RM
47202010-10-16 Robert Millan <rmh@gnu.org>
4721
4722 * grub-core/kern/emu/misc.c
4723 (grub_make_system_path_relative_to_its_root): Fix premature return
4724 when processing non-root ZFS filesystems.
5f8b440b 4725 Reported by Sergio Talens-Oliag.
1eb01cd2 4726
2d5fed60
RM
47272010-10-15 Robert Millan <rmh@gnu.org>
4728
4729 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4730 guarantee compressed ones are processed first.
4731
d0f4c1ea
VS
47322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4735 grub_efiemu_autocore.
4736
d87c681f
VS
47372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4740 rather than 0x1b.
4741 (grub_console_getkey): Use correct jae opcode rather than ja.
4742
219b3564
RM
47432010-10-12 Robert Millan <rmh@gnu.org>
4744
4745 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4746 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4747 variable. All references updated.
4748
4749 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4750
20c6bb7e
VS
47512010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Correctly distinguish mdraid flavours.
4754
4755 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4756 (insert_array): New argument raid.
4757 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4758 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4759 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4760
74baff84
VS
47612010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4764 handling of special keys.
4765
3ef068df 47662010-10-02 Aleš Nesrsta <starous@volny.cz>
4767
c7980ad9
VS
4768 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4769 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 4770
a9455194 47712010-10-02 Aleš Nesrsta <starous@volny.cz>
4772
c7980ad9
VS
4773 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4774 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4775 users updated.
a9455194 4776 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 4777 Use right endpoint when querying descriptor.
a9455194 4778
441cfe65
VS
47792010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Clear out 0x80 color bit on EFI.
4782 Tested by: decoder
4783 Reported by: decoder and meta tech.
4784
4785 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4786 (grub_console_setcolorstate): Clear out 0x80 bit.
4787 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4788 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4789 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4790
bf26bcc4
VS
47912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4794 Set to "auto".
4795
6e3c515d
VS
47962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4799 mo_file after freeing.
4800
e6d983ba
VS
48012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4804
74ccb5b5
VS
48052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4808 flags.
4809
17821956
VS
48102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4813 usage.
4814
ee74fa48
VS
48152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4818
4819 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4821 and terminfo.h when needed.
4822 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4823 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4824 (terminfo): Enable only on terminfokernel.
4825 (extcmd): Likewise.
4826 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4827 * include/grub/lib/arg.h: Likewise.
4828 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4829 incorrect usage of ->.
4830
aa438e68
VS
48312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4834 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4835
57994012
VS
48362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 Fix coreboot compilation.
4839
4840 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4841 Take VBE info into account even if only text is supported.
4842 (fill_vbe_info): Take into account the case when only VGA text
4843 is supported.
4844 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4845 on coreboot, multiboot and qemu.
4846
2a406611
VS
48472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4850 debug messages.
4851 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4852
d33613fc
VS
48532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4856 parameters.
4857
44a1b432
VS
48582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4861 if they were BSD-style.
4862
edde54e6
VS
48632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/boot/i386/pc/lnxboot.S: Replace
4866 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4867 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4868
b65830fa
VS
48692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Write embedding zone using Reed-Solomon.
4872
4873 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4874 * grub-core/Makefile.am (rs_decoder.S): New target.
4875 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4876 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4877 (multiboot): Move to RS part.
4878 (post_reed_solomon): New label.
4879 (grub_boot_drive): Move to non-RS part since it's modified in memory
4880 on boot.
4881 Include rs_decoder.S.
4882 * grub-core/lib/reed_solomon.c: New file.
4883 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4884 New definition.
4885 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4886 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4887 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4888 * include/grub/partition.h (grub_partition_map): Change prototype of
4889 embed to allow returning additional sectors.
4890 * include/grub/reed_solomon.h: New file.
4891 * util/grub-setup.c (setup): Handle Reed-Solomon.
4892
0b4b227f
CW
48932010-09-28 Colin Watson <cjwatson@ubuntu.com>
4894
4895 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4896 i386 and x86-64 definedness tests.
4897
f772623b
YB
48982010-09-27 Yves Blusseau <blusseau@zetam.org>
4899
4900 Fix generation of kernel_syms.lst
4901
4902 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4903 ASM_PREFIX
4904
8e57a6ca
RM
49052010-09-26 Robert Millan <rmh@gnu.org>
4906
4907 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4908
4909 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4910 the pool is an array of devices, iterate through it and return the
4911 first device that passes a stat() test (instead of blindly returning
4912 the first one).
4913
f9130836
RM
49142010-09-26 Robert Millan <rmh@gnu.org>
4915
4916 Build fixes for GNU/kFreeBSD.
4917
4918 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4919 to programs that require ZFS conversion.
4920 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4921 kernels that don't have FLOPPY_MAJOR.
4922
96510faf
BC
49232010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4924
4925 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4926
449333eb
BC
49272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4928
4929 Fix grub-emu build.
4930
4931 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4932 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4933 mdraid09 and mdraid1x.
4934
e1fd1939
CW
49352010-09-24 Colin Watson <cjwatson@ubuntu.com>
4936
4937 Re-enable grub-extras.
4938
4939 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4940 avoid confusing Automake. Run autogen only twice, once for the top
4941 level and once for grub-core. Add Makefile.util.def and
4942 Makefile.core.def from extra modules to the appropriate autogen
4943 invocations. If Makefile.common exists in an extra module, include
4944 it in both Makefile.util.am and grub-core/Makefile.core.am;
4945 similarly, include any Makefile.util.common file in Makefile.util.am
4946 and any Makefile.core.common file in grub-core/Makefile.core.am.
4947 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4948 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4949 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4950 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4951
4952 * gentpl.py (gvar_add): Turn GVARS into a set.
4953 (global_variable_initializers): Sort global variables on output.
4954 (vars_init): New function.
4955 (first_time): Likewise.
4956 (library): Ensure that non-global variable initialisations are
4957 emitted before the first time we emit code for a library block.
4958 Append to variables rather than setting them. Only emit
4959 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4960 each conditional path.
4961 (program): installdir() emits an Autogen macro, so must be passed to
4962 var_add rather than gvar_add.
4963 (data): Likewise.
4964 (script): Likewise.
4965 (rules): New function, centralising handling for different target
4966 types. Set up Guile association lists for first_time and vars_init,
4967 and send most output to a diversion so that variable initialisations
4968 can be emitted first.
4969 (module_rules): Use new rules function.
4970 (kernel_rules): Likewise.
4971 (image_rules): Likewise.
4972 (library_rules): Likewise.
4973 (program_rules): Likewise.
4974 (script_rules): Likewise.
4975 (data_rules): Likewise.
4976
4977 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4978
4979 * .bzrignore: Add contrib and grub-core/contrib. Remove
4980 grub-core/Makefile.gcry.am.
4981
1d12cf29
YB
49822010-09-24 Yves Blusseau <blusseau@zetam.org>
4983
4984 * grub-core/lib/LzFind.c: Add missing include.
4985 * grub-core/lib/LzmaEnc.c: Likewise.
4986 * grub-core/script/lexer.c: Likewise.
4987 * grub-core/script/yylex.l: Likewise.
4988 * util/grub-macho2img.c: Likewise.
4989 * util/grub-menulst2cfg.c: Likewise.
4990 * util/grub-mklayout.c: Likewise.
4991 * util/grub-mkpasswd-pbkdf2.c
4992 * util/grub-mkrelpath.c: Likewise.
4993 * util/resolve.c: Likewise.
4994
dd363028
BC
49952010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4996
4997 * Makefile.util.def (example_unit_test): Add
4998 grub-core/gnulib/libgnu.a.
4999
f5a109e2
GS
50002010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
5001
5002 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
5003
6d0fa83c
VS
50042010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Support xz compression on yeeloong.
5007
5008 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
5009 * configure.ac: Check for LZMA.
5010 * grub-core/Makefile.core.def (xz_decompress): New target.
5011 (none_decompress): Likewise.
5012 * grub-core/boot/decompressor/minilib.c: New file.
5013 * grub-core/boot/decompressor/none.c: Likewise.
5014 * grub-core/boot/decompressor/xz.c: Likewise.
5015 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
5016 * grub-core/kern/mips/cache_flush.S: Likewise.
5017 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
5018 * grub-core/kern/mips/startup.S: Move first stage to ...
5019 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
5020 nomacro.
5021 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
5022 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
5023 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
5024 Allocate statically.
5025 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
5026 Allocate statically or use scratch. Don't check CRC32.
5027 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
5028 Allocate statically. Don't check CRC32.
5029 * include/grub/decompressor.h: New file.
5030 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
5031 Removed.
5032 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
5033 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
5034 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
5035 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
5036 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
5037 * util/grub-mkimage.c (grub_compression_t): New type.
5038 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5039 (image_target_desc): New field default_compression.
5040 (image_targets): Adjust yeeloong targets.
5041 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5042 (compress_kernel): New parameter comp.
5043 (generate_image): Likewise. Handle new compression case.
5044 (options): New option --compression
5045 (help): Likewise.
5046 (main): Handle new option.
5047
1b655af6
GS
50482010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5049
5050 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5051
8f03f0b5
CW
50522010-09-22 Colin Watson <cjwatson@ubuntu.com>
5053
5054 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5055 typo in __i386__ conditional.
5056
7835dfd3
VS
50572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5060 include.
5061
e255597e
VS
50622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5063
6d0fa83c 5064 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
5065
5066 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5067 new tags as supported.
5068 (acpiv2_size): New function.
5069 (grub_multiboot_get_mbi_size): Take new tags into account.
5070 (grub_multiboot_make_mbi): Add new tags.
5071 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 5072
6cc14051 50732010-09-21 Aleš Nesrsta <starous@volny.cz>
5074
5075 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5076 Added missing configuration of USB device.
5077
df7769d8
CW
50782010-09-21 Colin Watson <cjwatson@ubuntu.com>
5079
5080 * grub-core/normal/menu_entry.c (run): Make sure we always return
5081 a value.
5082
b031012d
CW
50832010-09-21 Colin Watson <cjwatson@ubuntu.com>
5084
5085 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5086 NumberOfPages is UINT64 according to the UEFI specification, not
5087 UINTN. Fix printf format.
5088
174de8f3
CW
50892010-09-21 Colin Watson <cjwatson@ubuntu.com>
5090
5091 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5092 `err' to grub_usb_err_t.
5093 Reported and tested by: KESHAV P.R.
5094
d7dbe923
CW
50952010-09-21 Colin Watson <cjwatson@ubuntu.com>
5096
5097 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5098 tpart non-const, so that we can assign to it. (Since this is a
5099 typedef, the constness refers to the pointer rather than what it
5100 points to.)
5101
8d5e2af3
CW
51022010-09-21 Colin Watson <cjwatson@ubuntu.com>
5103
5104 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5105 $(top_srcdir)/grub-core/gnulib as well as
5106 $(top_builddir)/grub-core/gnulib.
5107 Reported by: KESHAV P.R.
5108
5c527783
CW
51092010-09-21 Colin Watson <cjwatson@ubuntu.com>
5110
5111 * util/grub-install.in: Fix the bootloader ID option to be
5112 consistently --bootloader-id, not --bootloader_id.
5113 Reported by: KESHAV P.R.
5114
d309a16e
CW
51152010-09-21 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5118 check hash checksum." consistently translatable.
5119
b830cd16
YB
51202010-09-21 Yves Blusseau <blusseau@zetam.org>
5121
5122 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5123 $(top_builddir).
5124
c4fe27a8
CW
51252010-09-21 Colin Watson <cjwatson@ubuntu.com>
5126
5127 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5128 (GRUB_MOD_INIT): Register sha1sum command.
5129 (GRUB_MOD_FINI): Unregister sha1sum command.
5130
a4c1d277
YB
51312010-09-21 Yves Blusseau <blusseau@zetam.org>
5132
5133 Keep boot and grub directory names in sync with utils scripts
5134
5135 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5136 * config.h.in: Add previous macros.
5137 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5138 * util/grub-install.in: Use $bootdir and $grubdir variables.
5139
4eff79d2
CW
51402010-09-21 Colin Watson <cjwatson@ubuntu.com>
5141
5142 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5143 convert partition names to disk names if the new `convert' parameter
5144 is set.
5145 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5146 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5147 disk in its own right. This can happen with Xen disk images.
5148
934d7e44
YB
51492010-09-21 Yves Blusseau <blusseau@zetam.org>
5150
5151 * util/grub-editenv.c: Update strings to avoid warnings when generating
5152 grub.pot file.
5153 * util/grub-setup.c: Likewise.
934d7e44 5154
df3367cc
VS
51552010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * configure.ac: Change version to 1.99~beta0.
5158
77a94e98
VS
51592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5162 Add BADRAM.
5163 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5164 Likewise.
5165 * include/multiboot.h: Resynced with specification.
5166 * include/multiboot2.h: Likewise.
5167
269004c1
CW
51682010-09-21 Colin Watson <cjwatson@ubuntu.com>
5169
5170 Fix po directory handling.
5171
5172 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5173 * grub-core/gnulib/Makefile.am: Import gettext module.
5174 * m4/gnulib-cache.m4: Likewise.
5175 * m4/gnulib-comp.m4: Likewise.
5176 * m4/gettext.m4: New file, from gnulib.
5177 * m4/glibc2.m4: Likewise.
5178 * m4/iconv.m4: Likewise.
5179 * m4/intdiv0.m4: Likewise.
5180 * m4/intl.m4: Likewise.
5181 * m4/intldir.m4: Likewise.
5182 * m4/intlmacosx.m4: Likewise.
5183 * m4/intmax.m4: Likewise.
5184 * m4/inttypes-pri.m4: Likewise.
5185 * m4/lcmessage.m4: Likewise.
5186 * m4/lib-ld.m4: Likewise.
5187 * m4/lib-link.m4: Likewise.
5188 * m4/lib-prefix.m4: Likewise.
5189 * m4/lock.m4: Likewise.
5190 * m4/nls.m4: Likewise.
5191 * m4/po.m4: Likewise.
5192 * m4/printf-posix.m4: Likewise.
5193 * m4/progtest.m4: Likewise.
5194 * m4/threadlib.m4: Likewise.
5195 * m4/uintmax_t.m4: Likewise.
5196 * m4/visibility.m4: Likewise.
5197 * po/Makefile.am: Remove.
5198 * po/Makefile.in.in: New file, from gettext.
5199 ($(DOMAIN).pot-update): Support POTFILES-shell.
5200 * po/Makevars: New file.
5201 * po/POTFILES-shell: Rename to ...
5202 * po/POTFILES-shell.in: ... this. Update.
5203 * po/POTFILES: Rename to ...
5204 * po/POTFILES.in: ... this. Update.
5205 * po/Rules-quot: New file, from gettext.
5206 * po/boldquot.sed: Likewise.
5207 * po/en@boldquot.header: Likewise.
5208 * po/en@quot.header: Likewise.
5209 * po/insert-header.sin: Likewise.
5210 * po/quot.sed: Likewise.
5211 * po/remove-potcdate.sin: Likewise.
5212
3e0fa5d0
VS
52132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5216
ade9bd66
VS
52172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * util/grub.d/20_linux_xen.in: Use submenus.
5220
fc55cc4c
VS
52212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Support submenus.
5224
5225 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5226 parameter submenu. All users updated.
5227 * grub-core/normal/main.c (free_menu): Rename to ...
5228 (grub_normal_free_menu): ... this. Made global.
5229 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5230 if requested.
5231 * grub-core/normal/menu_entry.c (screen): New field submenu.
5232 (make_screen): Set submenu.
5233 (run): Open new context if requested.
5234 * include/grub/menu.h (grub_menu_entry): New field submenu.
5235 * include/grub/normal.h (grub_normal_free_menu): New proto.
5236
600cedf7
VS
52372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Menu entries extractor.
5240
5241 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5242 variants.
5243 (GRUB_MOD_INIT): Register new variants.
5244 (GRUB_MOD_FINI): Unregister new variants.
5245 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5246 into grub_cmd_legacy_source.
5247 (grub_cmd_legacy_source): Implement extractor variants.
5248 (GRUB_MOD_INIT): Register new variants.
5249 (GRUB_MOD_FINI): Unregister new variants.
5250 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5251 as an extractor.
5252 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5253 search as an extractor.
5254 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5255 test as an extractor.
5256 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5257 as an extractor.
5258 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5259 (grub_env_new_context): New function.
5260 (grub_env_context_open): Likewise.
5261 (grub_env_extractor_open): Likewise.
5262 (grub_env_extractor_close): Likewise.
5263 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5264 grub_extractor_level.
5265 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5266 * include/grub/env.h (grub_env_extractor_open): New proto.
5267 (grub_env_extractor_close): Likewise.
5268 * include/grub/normal.h (grub_extractor_level): New external variable.
5269
7bda3a87
VS
52702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 Make cutmem accept a region specification.
5273 Suggested by: Samuel Thibault
5274
5275 * grub-core/mmap/mmap.c (parsemem): New function.
5276 (grub_cmd_cutmem): Handle new arguments.
5277
2ea57f88
VS
52782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 New command cutmem.
5281
5282 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5283 (GRUB_MOD_INIT): Register new command.
5284 (GRUB_MOD_FINI): Unregister new command.
5285
74342e31
VS
52862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 Support some annoying BSD and Minix subpartitions.
5289
5290 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5291 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5292 Properly handle concatenation.
5293 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5294 * grub-core/normal/completion.c (iterate_partition): Likewise.
5295 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5296 contain partition. All users updated.
5297 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5298 struct.
5299 (grub_openbsdlabel_partition_map): Likewise.
5300 (bsdlabel_partition_map_iterate): Rename to ..
5301 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5302 (bsdlabel_partition_map_iterate): New function.
5303 (netopenbsdlabel_partition_map_iterate): Likewise.
5304 (netbsdlabel_partition_map_iterate): Likewise.
5305 (openbsdlabel_partition_map_iterate): Likewise.
5306 (GRUB_MOD_INIT): Register new partmaps.
5307 (GRUB_MOD_FINI): Unregister new partmaps.
5308 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5309 (grub_partition_msdos_iterate): ... this. All users updated.
5310 Don't support embedding other than in a minix partition.
5311 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5312 proto.
5313 * include/grub/partition.h (grub_partition): New field msdostype.
5314 * util/grub-install.in: Handle openbsd and netbsd types being in
5315 part_bsd module.
5316
1e8d555b
VS
53172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5320
5321 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5322 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5323 (mdraid09): ... this.
5324 (mdraid1x): New module.
5325 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5326 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5327
899d8af4
VS
53282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5331 vsprintf.
5332
40901acd
CW
53332010-09-20 Colin Watson <cjwatson@ubuntu.com>
5334
5335 * grub-core/commands/efi/lsefimmap.c: Correct header.
5336 * NEWS: Update.
5337
dfe3b247
CW
53382010-09-20 Colin Watson <cjwatson@ubuntu.com>
5339
5340 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5341 as printf format strings; the translations might contain '%' which
5342 could cause a crash.
5343 (main): Likewise.
5344 * util/grub-fstest.c (argp_parser): Likewise.
5345 * util/grub-setup.c (argp_parser): Likewise.
5346 (main): Likewise.
5347
3286a4b4
VS
53482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 Use argp in grub-fstest.
5351
5352 * util/grub-fstest.c: Don't include getopt.h.
5353 Include argp.h.
5354 (root): New variable.
5355 (args_count): Likewise.
5356 (nparm): Likewise.
5357 (num_disks): Likewise.
5358 (images): Likewise.
5359 (cmd): Likewise.
5360 (debug_str): Likewise.
5361 (args): Likewise.
5362 (options): Transformed to argp.
5363 (usage): Removed.
5364 (main): Split argument parsing into ...
5365 (argp_parser): ... this. Changed to argp format.
5366 (argp): New variable.
5367 (main): Use argp_parse.
5368
3dccbe4b
TG
53692010-09-20 Tristan Gingold <gingold@free.fr>
53702010-09-20 Robert Millan <rmh.grub@aybabtu.com>
53712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/commands/efi/lsefimmap.c: New file.
5374 * grub-core/Makefile.core.def (lsefimmap): New module.
5375 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5376
38c259a7
VS
53772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Pause the execution (10s max) if any errors are displayed so the user
5380 has a chance to see them.
5381
5382 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5383 (grub_print_error): Increment grub_err_printed_errors.
5384 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5385 execution if any errors were displayed.
5386 (show_menu): Remove old code for pause.
5387 * grub-core/normal/menu_entry.c (run): Likewise.
5388 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5389 users updated.
5390 (grub_normal_get_char_counter): Likewise.
5391 * include/grub/err.h (grub_err_printed_errors): New external variable.
5392 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5393
f218b09c
VS
53942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 Support multiboot VBE info.
5397
5398 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5399 Take VBE info into account.
5400 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5401 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5402 Call fill_vbe_info when appropriate.
5403 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5404 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5405 as supported.
5406 (grub_multiboot_get_mbi_size): Take new tags into account.
5407 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5408 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5409 Call fill_vbe_tag when appropriate.
5410 (grub_multiboot_make_mbi): Properly align tags.
5411 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5412 function.
5413 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5414 proto.
5415 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5416
a9cc5438
VS
54172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 Suport manual terminal geometry specification.
5420
5421 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5422 Save state in grub_ofconsole_terminfo_output.
5423 (grub_ofconsole_term): Use grub_terminfo_getwh.
5424 (grub_ofconsole_getwh): Removed.
5425 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5426 (grub_serial_term): Use grub_terminfo_getwh.
5427 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5428 (options): New struct.
5429 (OPTION_*): New enum.
5430 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5431 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5432 width and height.
5433 (grub_terminfo_getwh): New proto.
5434 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5435
1a8fed20
VS
54362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Handle legacy "terminal" command.
5439
5440 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5441 and FLAG_TERMINAL.
5442 (legacy_commands): Add terminal and title.
5443 (grub_legacy_parse): Handle terminal. Simplify title handling.
5444
41e9c57d
VS
54452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5448 parameters overflow.
5449
61c874c5
CW
54502010-09-20 Colin Watson <cjwatson@ubuntu.com>
5451
5452 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5453 widthspec.h.
5454
5455 * docs/grub.texi (Shell-like scripting): Document `!'.
5456 (Network): Simplify using new i386-pc-pxe format. Mention
5457 grub-mknetdir.
5458
5459 * NEWS: Update.
5460
943682b4
CW
54612010-09-20 Colin Watson <cjwatson@ubuntu.com>
5462
5463 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5464 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5465 when needed.
5466
6d3d698d
CW
54672010-09-20 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * grub-core/commands/efi/lsefisystab.c: Correct header.
5470 * grub-core/commands/efi/lssal.c: Likewise.
5471 * grub-core/commands/testload.c: Likewise.
5472
c982589f
CW
54732010-09-20 Colin Watson <cjwatson@ubuntu.com>
5474
5475 * util/grub-mkrescue.in: Add explicit root argument to --set to
5476 prevent the UUID being interpreted as an argument to --set (matches
5477 previous change to prepare_grub_to_access_device).
5478
a63c31b6
CW
54792010-09-20 Colin Watson <cjwatson@ubuntu.com>
5480
5481 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5482 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5483 the verbosity of later #ifs.
5484 (find_partition_start): Define this function on FreeBSD too.
5485 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5486 function.
5487 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5488 on FreeBSD.
5489
6439b8ee
YB
54902010-09-20 Yves Blusseau <blusseau@zetam.org>
5491
5492 * util/grub-editenv.c: Use argp instead of getopt.
5493
c5930ec8
YB
54942010-09-20 Yves Blusseau <blusseau@zetam.org>
5495
5496 * util/grub-setup.c: Use argp instead of getopt.
5497
15c69261
YB
54982010-09-20 Yves Blusseau <blusseau@zetam.org>
5499
5500 Use gnulib-tool to create gnulib source files.
5501
5502 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5503 grub-core/gnulib directories
5504 * .bzignore: Add **/.deps and autogenerated gnulib files
5505 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5506 of gnulib macros, add grub-core/gnulib/Makefile
5507 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5508 include m4 directory to aclocal.
5509 * Makefile.util.def: Remove direct compilation of gnulib source files
5510 and use the new grub-core/gnulib/libgnu.a.
5511 * build-aux/config.rpath: move config.rpath from top directory to
5512 build-aux
5513 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5514 in gnulib headers
5515 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5516 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5517 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5518 header.
5519 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5520 string.
5521
e511c9f5
YB
55222010-09-20 Yves Blusseau <blusseau@zetam.org>
5523
5524 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5525 grub-core/genmod.sh and grub-core/gensyminfo.sh
5526
c2dede05
BC
55272010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5528
5529 Add a test for echo command options.
5530
5531 * tests/grub_cmd_echo.in: New test.
5532 * Makefile.util.def: Rules for new test.
5533
c55f5018
SJ
55342010-09-20 Szymon Janc <szymon@janc.net.pl>
5535
5536 Remove crc.mod and move crc command to hashsum.mod.
5537 Remove lib/crc.c - users updated to use gcrypt implementation.
5538
5539 * grub-core/commands/crc.c: Removed.
5540 * grub-core/Makefile.core.def (crc): Module removed.
5541 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5542 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5543 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5544 * grub-core/lib/crc.c: Removed.
5545 * include/grub/lib/crc.h: Removed.
5546 * Makefile.util.def (crc): Remove lib/crc.c
5547 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5548 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5549 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5550 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5551 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5552 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5553
e0337366
VS
55542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5557
742f9232
VS
55582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Split config.h for util and core.
5561
5562 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5563 (ADDR32): Likewise.
5564 (DATA32): Likewise.
5565 (BSS_START_SYMBOL): Likewise.
5566 (END_SYMBOL): Likewise.
5567 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5568 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5569 * config.h.in: New file.
5570 * configure.ac: Use config-util.h as config define file.
5571 Rename MACHINE into GRUB_MACHINE. All users updated.
5572 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5573 updated.
5574 (NESTED_FUNC_ATTR): Likewise.
5575 Substitue new variables.
5576 (COND_HAVE_ASM_USCORE): New conditional.
5577 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5578 (kernel_syms.lst): Use ASM_PREFIX.
5579 * grub-core/kern/emu/console.c: Include config-util.h.
5580 * grub-core/kern/emu/misc.c: Likewise.
5581 * grub-core/kern/emu/mm.c: Likewise.
5582 * include/grub/emu/misc.h: Likewise.
5583 * include/grub/libgcc.h: Likewise.
5584
39feb0e8
VS
55852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5588 constants usage.
5589 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5590 Fix GRUB_TERM_KEY_* constants usage.
5591 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5592
9af6dac3
VS
55932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5596 print pointer.
5597 * grub-core/bus/usb/uhci.c: Remove empty define.
5598 (grub_uhci_check_transfer): Add missing cast.
5599 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5600 print pointer.
5601 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5602 PRIuGRUB_SIZE.
5603 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5604
d6d94820
VS
56052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/Makefile.core.def (legacycfg): Add
5608 lib/i386/pc/vesa_modes_table.c on emu.
5609
3572f2b6
BC
56102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5611
5612 Reduce number of temporary files generated by build system.
5613
5614 * grub-core/gencmdlist.sh: Removed.
5615 * grub-core/genfslist.sh: Removed.
5616 * grub-core/genhandlerlist.sh: Removed.
5617 * grub-core/genmodsrc.sh: Removed.
5618 * grub-core/genpartmaplist.sh: Removed.
5619 * grub-core/genparttoollist.sh: Removed.
5620 * grub-core/gentermiinallist.sh: Removed.
5621 * grub-core/genvideolist.sh: Removed.
5622
5623 * grub-core/genmod.sh.in: New file.
5624 * grub-core/gensyminfo.sh.in: New file.
5625
5626 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5627 * conf/Makefile.extra-dist: Update with new files.
5628 * gentpl.py: Remove rules related to unnecessary temporary files.
5629 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5630 and und-* files.
5631 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5632 genmod.sh scripts.
5633 * grub-core/bus/usb/uhci.c: Remove empty #define.
5634 * grub-core/genmoddep.awk: Updated with new syminfo format.
5635 * util/bash-completion.d/Makefile.am: Add config.log to
5636 CLEANFILES.
5637
c836b030
YB
56382010-09-19 Yves Blusseau <blusseau@zetam.org>
5639
5640 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5641
2f4e8053
BC
56422010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5643
5644 * util/grub-mkconfig.in: Check the config script for syntax errors
5645 before saving.
5646
75831c34
CW
56472010-09-19 Colin Watson <cjwatson@ubuntu.com>
56482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5651 platforms.
5652 * util/grub-install.in: Add EFI and IEEE1275 support.
5653 * util/i386/efi/grub-install.in: Removed.
5654 * util/ieee1275/grub-install.in: Likewise.
5655
eaf41b25
VS
56562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5659 (grub_cmd_cmosclean): Likewise.
5660 (GRUB_MOD_INIT): Register command cmosclean.
5661 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5662 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5663
1a9130dd
CPE
56642010-09-18 Carles Pina i Estany <carles@pina.cat>
56652010-09-18 Aleš Nesrsta <starous@volny.cz>
56662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 Add keyboard layouts support.
5669
5670 * Makefile.util.def (grub-mklayout): New file.
5671 (grub-kbdcomp): New script.
5672 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5673 Add keyboard_layouts.h.
5674 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5675 commands/boot.c on yeeloong.
5676 (keylayouts): New module.
5677 * grub-core/bus/usb/ohci.c
5678 * grub-core/bus/usb/uhci.c
5679 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5680 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5681 (attach_root_port): Likewise.
5682 (poll_nonroot_hub): Likewise.
5683 (grub_usb_poll_devices): Likewise.
5684 (detach_device): Close transfer.
5685 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5686 function.
5687 (grub_usb_bulk_setup_readwrite): Likewise.
5688 (grub_usb_bulk_finish_readwrite): Likewise.
5689 * grub-core/commands/keylayouts.c: New file.
5690 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5691 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5692 aliases.
5693 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5694 support scancode 2.
5695 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5696 * include/grub/keyboard_layouts.h: New file.
5697 * util/grub-mklayout.c: New file.
5698 * util/grub-kbdcomp.in: Likewise.
5699
a1d84a5e
VS
57002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Unify memory types.
5703
5704 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5705 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5706 types.
5707 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5708 (grub_upper_mem): Likewise.
5709 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5710 * include/grub/memory.h (grub_memory_type_t): New enum.
5711 All users updated.
5712
9696382e
VS
57132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/Makefile.core.def (lsapm): New module.
5716 * grub-core/commands/i386/pc/lsapm.c: New file.
5717 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5718 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5719 Likewise.
5720 * include/grub/i386/pc/apm.h: New file.
5721 * include/multiboot.h (multiboot_apm_info): New struct.
5722
57232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 GRUB-legacy configuration file support.
5726
5727 * Makefile.util.def (grub-menulst2cfg): New util.
5728 * docs/man/grub-menulst2cfg.h2m: New file.
5729 * grub-core/Makefile.core.def (legacycfg): New module.
5730 * grub-core/commands/legacycfg.c: New file.
5731 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5732 (grub_normal_add_menu_entry): ... this.
5733 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5734 (grub_normal_set_password): ...this.
5735 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5736 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5737 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5738 * grub-core/lib/legacy_parse.c: New file.
5739 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5740 * include/grub/i386/pc/vesa_modes_table.h: New file.
5741 * include/grub/legacy_parse.h: Likewise.
5742 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5743 * util/grub-menulst2cfg.c: New file.
5744
bf8d1338
CW
57452010-09-17 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * grub-core/kern/emu/hostdisk.c
5748 (convert_system_partition_to_system_disk): Initialise node.
5749
9c0bad2e
CW
57502010-09-17 Colin Watson <cjwatson@ubuntu.com>
5751
5752 * grub-core/kern/emu/hostdisk.c
5753 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5754 leak.
5755 Reported and based on patch by: Modestas Vainius.
5756
a939d135
CW
57572010-09-17 Colin Watson <cjwatson@ubuntu.com>
5758
5759 Fix DM-RAID probing with recent versions of device-mapper udev
5760 rules.
5761
5762 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5763 canonicalise device paths under /dev/mapper/.
5764 (convert_system_partition_to_system_disk): Compare the
5765 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5766 path, since device nodes under /dev/mapper/ are often symlinks.
5767
0f7ee3c9
YB
57682010-09-17 Yves Blusseau <blusseau@zetam.org>
5769
5770 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5771
10854d0d
YB
57722010-09-16 Yves Blusseau <blusseau@zetam.org>
5773
5774 * configure.ac: Avoid some annoying error messages if freetype-config
5775 program is not found.
5776
108538d8
CW
57772010-09-16 Colin Watson <cjwatson@ubuntu.com>
5778
5779 Support RAID on virtio devices, and others.
5780
5781 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5782 Rename to ...
5783 [__MINGW32__] (grub_find_device): ... this.
5784 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5785 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5786 reasonable default if dir is NULL.
5787 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5788 ...
5789 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5790 (grub_guess_root_device): Update callers.
5791 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5792
5793 * util/raid.c (grub_util_getdiskname): Remove.
5794 (grub_util_raid_getmembers): Use grub_find_device rather than
5795 grub_util_getdiskname.
5796
e5bfc130
CW
57972010-09-16 Colin Watson <cjwatson@ubuntu.com>
5798
5799 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5800 needing to be compiled with serial support.
5801 (ls): Indicate that multiple files are accepted.
5802 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5803 indicate that multiple files are accepted.
5804
be458ae2
CW
58052010-09-16 Colin Watson <cjwatson@ubuntu.com>
5806
5807 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5808 libgrub_a_init.c, and util/bash-completion.d/grub.
5809
cb731b5e
VS
58102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * util/grub-setup.c (setup): Fix incorrect container semantics.
5813
35139e8a
VS
58142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5817 misusage.
5818 Reported by: J. Nick Terry
5819
e50fca4a
VS
58202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 Move embedding routines to partmap sources files.
5823
5824 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5825 [GRUB_UTIL]: New variable.
5826 (gpt_partition_map_iterate): Set part.parent.
5827 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5828 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5829 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5830 New function.
5831 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5832 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5833 (grub_partition_map) [GRUB_UTIL]: New field embed.
5834 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5835 (setup): Use ->embed.
5836
f00478b7
VS
58372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5840 function.
5841 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5842 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5843
2b94e3ff
YB
58442010-09-15 Yves Blusseau <blusseau@zetam.org>
5845
5846 Add function to get completions from usage.
5847
5848 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5849 completions from usage. Use LC_ALL=C to get options properly.
5850
2e04a006
VS
58512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/gnulib/basename-lgpl.c: Imported.
5854 * grub-core/gnulib/basename.c: Likewise.
5855 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5856 * grub-core/gnulib/dirname.c: Likewise.
5857 * grub-core/gnulib/dirname.h: Likewise.
5858 * grub-core/gnulib/stripslash.c: Likewise.
5859
5dcdf93a
VS
58602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/gnulib/error.c: Resynced.
5863 * grub-core/gnulib/getopt.c: Likewise.
5864 * grub-core/gnulib/getopt_int.h: Likewise.
5865 * grub-core/gnulib/regex.h: Likewise.
5866 * grub-core/gnulib/regex_internal.c: Likewise.
5867 * grub-core/gnulib/regex_internal.h: Likewise.
5868
014f47b7
SJ
58692010-09-15 Szymon Janc <szymon@janc.net.pl>
5870
5871 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5872 CRC calculations and validity checks.
5873 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5874 calculations.
5875
dd521a4a
SJ
58762010-09-15 Szymon Janc <szymon@janc.net.pl>
5877
5878 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5879
79c4eeb9
VS
58802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Fix incorrect echo options handling.
5883 Reported by: Yves Blusseau.
5884
5885 * include/grub/command.h (grub_command_flags_t): New flags
5886 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5887 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5888 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5889
ed80f7d5
VS
58902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5893 users updated.
5894 (GRUB_COMMAND_FLAG_MENU): Likewise.
5895 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5896 (GRUB_COMMAND_FLAG_TITLE): Removed.
5897 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5898 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5899 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5900 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5901 (grub_command_flags_t): New enum. All users updated.
5902
5fe7620a
SG
59032010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5904
5905 Fix solaris compilation.
5906
5907 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5908 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5909 (grub-emu-list): Likewise.
5910
545b752f
VS
59112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 Remove deprecated root command.
5914
5915 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5916 updated.
5917
6c1a338c
VS
59182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * util/i386/pc/grub-setup.c: Merge this ...
5921 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5922 * util/grub-setup.c: ... into this.
5923 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5924 New struct.
5925
59262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5929 possible.
5930
d2ea4551
VS
59312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5934 allocate p.
5935
3c3b5040
VS
59362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5939 explicit root argument to set to prevent UUID to be interpreted as
5940 argument to set.
5941
b71c3fae
VS
59422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5945
275433e6
VS
59462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Don't export grub_gate_a20.
5949
5950 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5951 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5952 to ...
5953 (grub_gate_a20): ... this. All users updated.
5954 * include/grub/i386/pc/init.h: Removed. All users updated.
5955
a5dbb1f1
VS
59562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 Create euro.pf2 which supports most European languages.
5959
5960 * Makefile.am (grubdata_DATA): Add euro.pf2.
5961 (euro.pf2): New target.
5962 (CLEANFILES): Add euro.pf2.
5963
62a747cb
VS
59642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * configure.ac: Disable emu-usb by default to prevent inadvertent
5967 device takeover.
5968
608e43b1
VS
59692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 Disable usbserial on grub-emu since our libusb code isn't good enough
5972 yet.
5973
5974 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5975 (usbserial_pl2303): Likewise.
5976 (usbserial_ftdi): Likewise.
5977
94564f81
VS
59782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * include/grub/disk.h (grub_disk): Remove has_partitions.
5981 All users updated.
5982 * disk/loopback.c (grub_loopback): Remove has_partitions.
5983 All users updated.
5984 (options): Remove partitions. All users updated.
5985 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5986 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5987 actual partition table is found.
5988
3352800b
VS
59892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Remove readability checks (too many false negatives).
5992
5993 * util/grub-install.in: Remove readability checks.
5994 * util/grub-mkconfig.in: Likewise.
5995 * util/grub.d/10_hurd.in: Likewise.
5996 * util/grub.d/10_kfreebsd.in: Likewise.
5997 * util/grub.d/10_linux.in: Likewise.
5998 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5999 way.
6000
2419f17a
VS
60012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Enable acpi shutdown on all ACPI platforms.
6004
6005 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
6006 on coreboo, multiboot and EFI.
6007 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
6008 (grub_acpi_halt): Likewise.
6009 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
6010 (grub_cmd_halt): Don't call grub_acpi_halt directly.
6011 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
6012 * grub-core/lib/i386/halt.c (grub_halt)
6013 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
6014
0575c7c3
VS
60152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
6018 context.
6019
54ac3cd1
VS
60202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/video/efi_gop.c: Fix over-80-chars line.
6023 * grub-core/video/efi_uga.c: Likewise.
6024
b2a30ac5
VS
60252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Filter devaliases and never open same device twice.
6028
6029 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
6030 (last_ihandle): Likewise.
6031 (ofdisk_hash_ent): New member shortest.
6032 (ofdisk_hash_add): Add canonical path too.
6033 (scan): New function.
6034 (grub_ofdisk_iterate): Iterate over hashed entries.
6035 (compute_dev_path): Don't add :0.
6036 (grub_ofdisk_open): Don't really open the disk.
6037 (grub_ofdisk_close): Avoid closing unrelated disk.
6038 (grub_ofdisk_read): Implement reopen logic.
6039 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6040 New function.
6041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6042 New proto.
6043
fb53b340
VS
60442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Fix sparc64.
6047
6048 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6049 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6050 right address. Add sparc64_ieee1275_ldflags.
6051 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6052 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6053 to grub_host_to_target_addr
6054 (load_image): Likewise.
6055
f452b040
VS
60562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/normal/completion.c (complete_file): Handle device
6059 containing slash.
6060 Fix based on patch by Doug Nazar.
6061
9b5b2541
VS
60622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 grub-mknetdir script.
6065
6066 * Makefile.util.def (grub-mknetdir): New module.
6067 * tests/util/grub-shell.in: Support boot=net
6068 * util/grub-mknetdir.in: New file.
6069
9d2be652
VS
60702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 videoinfo on non-vbe.
6073
6074 * grub-core/Makefile.core.def (vbeinfo): Removed.
6075 (vbetest): Removed.
6076 (videoinfo): New module.
6077 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6078 * grub-core/commands/i386/pc/vbetest.c: Removed.
6079 * grub-core/commands/videoinfo.c: New file.
6080 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6081 specification.
6082 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6083 as vbetest.
6084 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6085 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6086 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6087 mode_number. New parameter mode. All users updated.
6088 (grub_video_gop_iterate): New function.
6089 (grub_video_efi_gop): New member iterate.
6090 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6091 (grub_vbe_set_video_mode): Remove setting useless fields.
6092 (vbe2videoinfo): New function.
6093 (grub_video_vbe_iterate): Likewise.
6094 (grub_video_vbe_setup): Use vbe2videoinfo.
6095 (grub_video_vbe_print_adapter_specific_info): New function.
6096 (grub_video_vbe_adapter): New fields iterate and
6097 print_adapter_specific_info.
6098 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6099 All users updated.
6100 (grub_video_mode_info): New field mode_number.
6101 (grub_video_adapter): New fields iterate and
6102 print_adapter_specific_info.
6103
179503f5
TG
61042010-09-13 Tristan Gingold <gingold@free.fr>
61052010-09-13 Robert Millan <rmh.grub@aybabtu.com>
61062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/commands/efi/lsefisystab.c: New file.
6109 * grub-core/commands/efi/lssal.c: Likewise.
6110 * grub-core/Makefile.core.def (lsacpi): New module.
6111 (lsefisystab): Likewise.
6112 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6113 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6114 (grub_efi_sal_system_table): New struct.
6115 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6116 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6117 (grub_efi_sal_system_table_platform_features): Likewise.
6118 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6119 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6120 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6121 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6122
cf9827de
VS
61232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 Support explicit user claim that a device is BIOS-visible.
6126
6127 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6128 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6129 * grub-core/kern/emu/hostdisk.c
6130 (convert_system_partition_to_system_disk): Support mdX.
6131 (find_system_device): New parameter add. All users updated.
6132 (grub_util_biosdisk_is_present): New function.
6133 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6134 proto.
6135
53f0eb1f
VS
61362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Search hints support.
6139
6140 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6141 All users updated.
6142
b23ffd70
YB
61432010-09-13 Yves Blusseau <blusseau@zetam.org>
6144
6145 Bash completion script for util commands
6146
6147 * Makefile.am: Add util/bash-completion.d directory
6148 * configure.ac: Likewise.
6149 * util/bash-completion.d/Makefile.am: New file.
6150 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6151
d547dc28
VS
61522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6155 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6156 Reported by: Yves Blusseau.
6157
2fc8ccb9
VS
61582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6161 partition size and offset.
6162
d8a84076
VS
61632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6166
84fb3b3d
VS
61672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6170
768ec2e2
VS
61712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6174 (grub_xvasprintf): Likewise.
6175
4870900f
VS
61762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6179
faca6bec
VS
61802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6183 args ending with NULL.
6184
61852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
6186
6187 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6188 pointer.
6189
3c70f225
SJ
61902010-09-11 Szymon Janc <szymon@janc.net.pl>
6191
6192 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6193
4df7996d
VS
61942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 Shutdown using ACPI.
6197
6198 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6199 * grub-core/commands/acpihalt.c: New file.
6200 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6201 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6202 (grub_acpi_halt): New proto.
6203 (GRUB_ACPI_SLP_EN): New const.
6204 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6205 (GRUB_ACPI_OPCODE_*): New enum.
6206 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6207
126b4c32
TG
62082010-09-11 Tristan Gingold <gingold@free.fr>
62092010-09-11 Robert Millan <rmh.grub@aybabtu.com>
62102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * commands/lsacpi.c: New file.
6213 * grub-core/Makefile.core.def (lsacpi): New module.
6214 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6215 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6216 (grub_acpi_madt_entry_header): New struct.
6217 (grub_acpi_madt): Likewise.
6218 (grub_acpi_madt_entry_interrupt_override): Likewise.
6219 (grub_acpi_madt_entry_sapic): Likewise.
6220 (grub_acpi_madt_entry_lsapic): Likewise.
6221 (grub_acpi_madt_entry_platform_int_source): Likewise.
6222 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6223 (PRIuGRUB_UINT32_T): Likewise.
6224 (PRIxGRUB_UINT64_T): Likewise.
6225
1aa4fe88
VS
62262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Implement loading palette on ieee1275_fb.
6229
6230 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6231 (have_setcolors): Likewise.
6232 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6233 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6234 (grub_video_ieee1275_set_palette): Implement.
6235
25761e13
VS
62362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
62372010-09-11 Colin Watson <cjwatson@ubuntu.com>
6238
6239 * util/grub-install.in (grub_partition): New variable.
6240 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6241 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6242 Fixes a bug reported by Yves Blusseau.
6243
050abaea
VS
62442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Fix emu on mipsel.
6247
6248 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6249 =grub_cpu_flush_cache on all mips and not only yeeloong.
6250 * configure.ac (COND_mips): New conditional.
6251 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6252 platforms.
6253 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6254 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6255 [GRUB_LINKER_HAVE_INIT]: New function.
6256 (grub_emu_post_init): Likewise.
6257 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6258 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6259 * include/grub/cache.h (_mips): Include mips/cache.h.
6260 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6261 LVM and RAID prototypes.
6262 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6263 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6264 function.
6265
5ed7d816
CW
62662010-09-10 Colin Watson <cjwatson@ubuntu.com>
6267
6268 * util/grub-install.in: Don't try to verify core.img until after
6269 running grub-mkimage to create it.
6270
90367e04
RM
62712010-09-10 Robert Millan <rmh@gnu.org>
6272
6273 * util/grub.d/10_hurd.in: Add misc readability checks.
6274 * util/grub.d/10_kfreebsd.in: Likewise.
6275 * util/grub.d/10_linux.in: Likewise.
6276
c452fa66
CW
62772010-09-10 Colin Watson <cjwatson@ubuntu.com>
6278
6279 * util/grub-install.in: ${imgext} won't be defined here until the
6280 install branch is merged. For the meantime, only verify core.img on
6281 i386-pc and sparc64-ieee1275 platforms.
6282
c38fe9f4
RM
62832010-09-10 Robert Millan <rmh@gnu.org>
6284
6285 Solaris support in grub_find_zpool_from_dir(). Thanks
6286 Seth Goldberg for referring to getextmntent() facility.
6287
6288 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6289 `sys/mkdev.h'.
6290 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6291 `<sys/mnttab.h>'.
6292 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6293 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6294 method for finding zpool name.
6295
905f7773
CW
62962010-09-10 Colin Watson <cjwatson@ubuntu.com>
6297
6298 grub-fstest needs the host and hostfs modules while other utilities
6299 actively require those modules to be absent, so grub-fstest needs
6300 its own initialisation and finalisation code.
6301
6302 * Makefile.am (grub_fstest.pp): New target.
6303 (grub_fstest_init.lst): Likewise.
6304 (grub_fstest_init.c): Likewise.
6305 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6306
fb90b546
RM
63072010-09-10 Robert Millan <rmh@gnu.org>
6308
6309 * configure.ac: Check for `struct statfs.f_fstypename' and
6310 `struct statfs.f_mntfromname'.
6311
6312 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6313 kFreeBSD-specific code.
6314
66d4bea5
RM
63152010-09-10 Robert Millan <rmh@gnu.org>
6316
6317 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6318 on ZFS. Now non-main filesystems are supported as / too.
6319
b6a690ee
CW
63202010-09-09 Colin Watson <cjwatson@ubuntu.com>
6321
6322 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6323 and grub-core/disk/host.c to ...
6324 (grub-fstest): ... here. Having the host disk implementation
6325 present confuses grub-probe and other utility programs.
6326
6327 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6328 when writing to a file, not when writing to stdout.
6329
8901b00c 63302010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6331
6332 * tests/partmap_test.in: New test for partitions.
6333 * Makefile.util.def: Rules for new test.
6334
7bf45fdd
RM
63352010-09-09 Robert Millan <rmh@gnu.org>
6336
6337 * util/grub-probe.c (probe): Fix a pair of unhandled error
6338 conditions.
6339
4dfbc574
RM
63402010-09-09 Robert Millan <rmh@gnu.org>
6341
6342 Basic Btrfs support (detection and UUID).
6343
6344 * grub-core/fs/btrfs.c: New file.
6345 * Makefile.util.def (library): Register btrfs.c.
6346 * grub-core/Makefile.core.def: Likewise.
6347
6b8e78ae
RM
63482010-09-08 Robert Millan <rmh@gnu.org>
6349
6350 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6351 with (optional) parameters to specify device and relative path.
6352 * util/grub-install.in: Use is_path_readable_by_grub() to
6353 verify readability of a few critical files.
6354 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6355 verify readability of grub.cfg.new.
6356
27f21a8b
VS
63572010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Split minix.mod into minix.mod and minix2.mod.
6360
6361 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6362 * grub-core/Makefile.core.def (minix2): New module.
6363 * grub-core/fs/minix.c: Use definitions instead of runtime version
6364 checking.
6365 * grub-core/fs/minix2.c: New file.
6366
c0e53ea5
YB
63672010-09-08 Yves Blusseau <blusseau@zetam.org>
6368
6369 Add new --boot-directory option to replace --root-directory
6370
6371 * util/grub-install.in: Add new --boot-directory option
6372 * util/grub-reboot.in: Likewise.
6373 * util/grub-set-default.in: Likewise.
6374
b9fe6ea2
YB
63752010-09-08 Yves Blusseau <blusseau@zetam.org>
6376
6377 * util/grub-mkconfig.in: Use new variable.
6378
d87aedff
YB
63792010-09-08 Yves Blusseau <blusseau@zetam.org>
6380
6381 * configure.ac: Define some useful variables.
6382
e55e8495
VS
63832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6386 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6387 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6388 Use terminfo and don't use cursor-on/cursor-off unless it's known
6389 to work.
6390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6391 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6392
6fa6d675
CW
63932010-09-08 Colin Watson <cjwatson@ubuntu.com>
6394
6395 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6396 starts with "(,", fill the drive containing the loaded image in
6397 between those two characters, but expect that a full partition
6398 specification including partition map names will follow.
6399
92f2aef0
RM
64002010-09-08 Robert Millan <rmh@gnu.org>
6401
6402 * configure.ac: Remove `--enable-grub-fstest' option.
6403 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6404
6405 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6406 `grub-fstest' instead of `grub-probe' for readability verification.
6407 * util/grub-probe.c (probe): Remove readability verification kludge.
6408
99fd620d
RM
64092010-09-08 Robert Millan <rmh@gnu.org>
6410
6411 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6412 initializing `GRUB_FS'.
6413
058e30ac 64142010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6415
6416 Not command (!) support to GRUB script.
6417
6418 * tests/grub_script_not.in: New test.
6419 * Makefile.util.def: Rules for new test.
6420
6421 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6422 ! command as a special case.
6423 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6424
b61d05ed 64252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6426
058e30ac 6427 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6428 grub_free.
b61d05ed 6429
4d69c786 64302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6431
6432 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6433
aa3119c4 64342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6435
6436 * docs/grub.texi (Shell-like scripting): Documentation for break,
6437 continue, shift and return commands.
6438
db0f7e3d
VS
64392010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 Rename CD-ROM to cd on BIOS.
6442
6443 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6444 "cd".
6445 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6446
88b87c93
VS
64472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6450 * util/grub-probe.c (main): Likewise.
6451 * util/i386/pc/grub-setup.c (main): Likewise.
6452 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6453 Reported and debugged by: alexxy
6454
294f324d
VS
64552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6458 diagnostic info.
6459
d7ee3441
JS
64602010-09-05 Jo Shields <directhex@apebox.org>
6461
6462 * util/grub.d/30_os-prober.in: Add missing classes.
6463
d7e06c1f
VS
64642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * docs/grub.texi (Theme file format): Document new position format.
6467
fc157e53
VS
64682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6471 a table. Use @code instead of @verbatim.
6472
506e9a1c
CB
64732010-09-05 Colin D Bennett <colin@gibibit.com>
6474
6475 Gfxmenu documentation.
6476
6477 * docs/grub.texi (Theme file format): New chapter.
6478
f0aff67c
SJ
64792010-09-05 Szymon Janc <szymon@janc.net.pl>
6480
6481 * grub-core/Makefile.core.def (xzio): New module.
6482 * grub-core/io/xzio.c: New file.
6483 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6484 * grub-core/lib/xzembed/xz_config.h: Likewise.
6485 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6486 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6487 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6488 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6489 * grub-core/lib/xzembed/xz_private.h: Likewise.
6490 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6491 * include/grub/file.h (grub_file_filter_id): New compression filter
6492 GRUB_FILE_FILTER_XZIO.
6493
82a85062
VS
64942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6497 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6498 size.
6499
3579415d
VS
65002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6503 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6504
5124ae6d
VS
65052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Uncompressed checksum support.
6508
6509 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6510 (check_list): New parameter uncompress.
6511 (grub_cmd_hashsum): Handle --uncompress.
6512
9aadb3d1
VS
65132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 Reintroduce testload.
6516
6517 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6518 from here ...
6519 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6520 (GRUB_MOD_INIT): New function.
6521 (GRUB_MOD_FINI): Likewise.
6522 * grub-core/Makefile.core.def (testload): New module.
6523
a17792c3
SJ
65242010-09-05 Szymon Janc <szymon@janc.net.pl>
6525
6526 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6527 (uint8_t): New type.
6528 (uint16_t): Likewise.
6529 (uint32_t): Likewise.
6530 (uint64_t): Likewise.
6531
b81e40a3
SJ
65322010-09-05 Szymon Janc <szymon@janc.net.pl>
6533
6534 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6535
fc2ef117
VS
65362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6539 Made static.
6540 (grub_gzfile_open): Removed. All users updated.
6541 (GRUB_MOD_INIT): New function.
6542 (GRUB_MOD_FINI): Likewise.
6543 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6544 (grub_file_filters_enabled): Likewise.
6545 (grub_file_open): Handle filters.
6546 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6547 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6548 * include/grub/file.h (grub_file_filter_id_t): New type.
6549 (grub_file_filter_t): Likewise.
6550 (grub_file_filters_all): New extern variable.
6551 (grub_file_filters_enabled): Likewise.
6552 (grub_file_filter_register): New inline function.
6553 (grub_file_filter_unregister): Likewise.
6554 (grub_file_filter_disable): Likewise.
6555 (grub_file_filter_disable_compression): Likewise.
6556 * include/grub/gzio.h: Removed.
6557
35ee15e0
BC
65582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6559
6560 Filename expansion support for wildcards in GRUB script.
6561
6562 * tests/grub_script_expansion.in: New test.
6563 * Makefile.util.def: Rule for new test.
6564
6565 * grub-core/commands/wildcard.c: New file, implements filename
6566 expansion support for GRUB script.
6567 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6568 * grub-core/script/argv.c: Cosmetic changes.
6569 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6570 Refactored to perform wildcard expansion on arguments.
6571 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6572 struct.
6573
6574 * tests/util/grub-shell.in: Fix quoting for read input.
6575
5f0c4aca
BC
65762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6577
6578 Support for updating environment variables with matched substrings
6579 of regexp.
6580
6581 * tests/grub_cmd_regexp.in: New test.
6582 * Makefile.util.def: Rule for new test.
6583
6584 * grub-core/commands/regexp.c: New option -s to update environment
6585 variables with regexp matches.
6586
3759a35f
SJ
65872010-09-04 Szymon Janc <szymon@janc.net.pl>
6588
6589 * include/grub/file.h (grub_file): New member not_easly_seekable.
6590 (grub_file_seekable): New inline function.
6591 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6592 easily seekable.
6593 (grub_gzio_open): Set not_easly_seekable.
6594 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6595 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6596
ed8c6dec
BC
65972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6598
6599 Support for options to appear multiple times on cmdline.
6600
6601 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6602 * grub-core/commands/extcmd.c: Support for repeatable option.
6603 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6604 repeatable option support.
6605
6606 Refactor menuentry into a regular command.
6607
6608 * grub-core/commands/menuentry.c: New file, menuentry command
6609 implementation.
6610 * grub-core/Makefile.core.def: Rule update for normal.mod.
6611 * grub-core/normal/main.c: Moved menuentry creation to
6612 grub-core/commands/menuentry.c.
6613 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6614 (grub_menu_execute_entry_real): Removed.
6615 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6616 function.
6617 (grub_script_execute_menuentry): Removed.
6618 * grub-core/script/parser.y (menuentry): Removed.
6619 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6620 * grub-core/script/yylex.l (menuentry): Removed.
6621 * include/grub/menu.h (grub_menu_init): New prototype.
6622 (grub_menu_fini): New prototype.
6623 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6624 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6625 (grub_script_execute_sourcecode): New prototype.
6626
dacd0cf0
BC
66272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6628
6629 "return" command for GRUB script functions.
6630
6631 * tests/grub_script_return.in: New test.
6632 * Makefile.util.def: Rules for new test.
6633
6634 * grub-core/script/execute.c (grub_script_return): New function.
6635 * grub-core/script/main.c: Register/unregister return commaond.
6636 * include/grub/script_sh.h (grub_script_return): New prototype.
6637
52e72f9d
BC
66382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6639
6640 "setparams" command to update positional parameters.
6641
6642 * tests/grub_script_setparams.in: New test.
6643 * Makefile.util.def: Rules for new test.
6644
6645 * grub-core/script/argv.c (grub_script_argv_make): New function.
6646 * grub-core/script/execute.c (replace_scope): New function.
6647 (grub_script_setparams): New function.
6648 * grub-core/script/lexer.c: Remove unused variables.
6649 * grub-core/script/main.c: Register/unregister setparams command.
6650 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6651 (grub_script_setparams): New prototype.
6652
25b60c91
BC
66532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6654
6655 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6656 grub_free order.
6657
37e7bf68
BC
66582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6659
6660 Support for passing block of commands as an argument to extcmds.
6661
6662 * Makefile.util.def: Rules for new test.
6663 * tests/grub_script_blockarg.in: New test.
6664 * grub-core/tests/test_blockarg.c: New file, block argument
6665 command used in the test.
6666
6667 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6668 (grub_register_extcmd_prio): New function prototype.
6669 (grub_extcmd_dispatcher): New function prototype.
6670 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6671 type.
6672 * include/grub/script_sh.h (struct grub_script): New members
6673 `children', `next_siblings' and `refcnt' for block arguments and
6674 reference counting.
6675 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6676 (grub_script_arg): New member `script' for block argument.
6677 (grub_script_argv): New member `script' for block argument.
6678 (grub_parser_param): New member `scripts' for block argument.
6679 (grub_script_mem_free): New extern function prototype.
6680 (grub_script_ref): New function prototype.
6681 (grub_script_unref): New function prototype.
6682
6683 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6684 extcmd form to support block arguments.
6685 * grub-core/script/argv.c: Block arguments support.
6686 * grub-core/script/execute.c: Likewise.
6687 * grub-core/script/lexer.c: Likewise.
6688 * grub-core/script/main.c: Likewise.
6689 * grub-core/script/script.c: Likewise.
6690 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6691 non-terminals.
6692
6693 * grub-core/commands/acpi.c: Update extcmd implementations with
6694 grub_extcmd_context_t.
6695 * grub-core/commands/cat.c: Likewise.
6696 * grub-core/commands/echo.c: Likewise.
6697 * grub-core/commands/extcmd.c: Likewise.
6698 * grub-core/commands/hashsum.c: Likewise.
6699 * grub-core/commands/hdparm.c: Likewise.
6700 * grub-core/commands/help.c: Likewise.
6701 * grub-core/commands/hexdump.c: Likewise.
6702 * grub-core/commands/i386/cpuid.c: Likewise.
6703 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6704 * grub-core/commands/i386/pc/halt.c: Likewise.
6705 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6706 * grub-core/commands/iorw.c: Likewise.
6707 * grub-core/commands/keystatus.c: Likewise.
6708 * grub-core/commands/loadenv.c: Likewise.
6709 * grub-core/commands/ls.c: Likewise.
6710 * grub-core/commands/lspci.c: Likewise.
6711 * grub-core/commands/memrw.c: Likewise.
6712 * grub-core/commands/probe.c: Likewise.
6713 * grub-core/commands/search_wrap.c: Likewise.
6714 * grub-core/commands/setpci.c: Likewise.
6715 * grub-core/commands/sleep.c: Likewise.
6716 * grub-core/disk/loopback.c: Likewise.
6717 * grub-core/hello/hello.c: Likewise.
6718 * grub-core/loader/i386/bsd.c: Likewise.
6719 * grub-core/loader/xnu.c: Likewise.
6720 * grub-core/term/gfxterm.c: Likewise.
6721 * grub-core/term/serial.c: Likewise.
6722 * grub-core/tests/lib/functional_test.c: Likewise.
6723
888d1500
BC
67242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6725
6726 Multi-line quoted strings support.
6727
6728 * grub-core/script/lexer.c (append_newline): Removed.
6729 (grub_script_lexer_yywrap): Refactored.
6730 (grub_script_lexer_init): Refactored.
6731 * grub-core/script/yylex.l (yywrap): New function.
6732 (grub_lexer_resplit): New function.
6733 (grub_lexer_unput): New function.
6734 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6735 and resplit.
6736 * tests/grub_script_echo1.in: Added few more testcases.
6737
dda060dd
VS
67382010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/kern/misc.c: Don't add abort alias in utils.
6741 Reported by: echoline.
6742
6556eba9
BC
67432010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6744
6745 Add missing files into "make dist" tarball for other platforms.
6746
6747 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6748 * conf/Makefile.common (dist_noinst_DATA): New variable.
6749 * conf/Makefile.extra-dist: Added missing make dist files.
6750 * grub-core/Makefile.core.def: Likewise.
6751
c8e7bf5f
VS
67522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Compress grub_prefix.
6755
6756 * grub-core/boot/i386/pc/lnxboot.S: Use
6757 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6758 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6759 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6760 GRUB_MACHINE_PREFIX_END. All users updated.
6761 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6762 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6763 + 0x40.
6764 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6765 * util/grub-mkimage.c (image_target_desc): Change data_end to
6766 prefix_end. All users updated.
6767
a7c00cdb
VS
67682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6771 value.
6772 (grub_openbsd_boot): Likewise.
6773 (grub_netbsd_boot): Likewise.
6774 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6775 (grub_xnu_boot): Likewise.
6776
9f915872
VS
67772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * configure.ac: Clean LIBS variable after tests.
6780
efa1bee7
CW
67812010-09-02 Colin Watson <cjwatson@ubuntu.com>
6782
6783 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6784
61d720e5
VS
67852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6788 echo if libdevmapper will be used.
6789
ef8e0ec8
IT
67902010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6791
6792 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6793 constant for the same file.
6794
03e261d8
VS
67952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6798
c2a4eba6
CW
67992010-09-02 Colin Watson <cjwatson@ubuntu.com>
6800
6801 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6802 grub-core/*.pp.
6803
9056cbf3
CW
68042010-09-02 Colin Watson <cjwatson@ubuntu.com>
6805
6806 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6807 required by the boot protocol.
6808
6809 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6810 ebp and edi members.
6811 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6812 state.ebp and state.edi.
6813 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6814 %ebp and %edi according to grub_relocator32_ebp and
6815 grub_relocator32_edi respectively.
6816 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6817 and state.edi.
6818
529cc99a
VS
68192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 Add i386-pc-pxe image target.
6822
6823 * util/grub-mkimage.c (image_target_desc): New enum value
6824 IMAGE_I386_PC_PXE.
6825 (image_targets): New target i386-pc-pxe.
6826 (generate_image): Handle i386-pc-pxe image.
6827
9a093920
VS
68282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 Fix grub_pxe_scan.
6831
6832 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6833 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6834 All users updated.
6835 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6836 (grub_pxe_pxenv): Correct type.
6837
f9cefc4e
CW
68382010-09-01 Colin Watson <cjwatson@ubuntu.com>
6839
6840 * NEWS: Document most of the important changes since 1.98.
6841
4066f57f
CW
68422010-09-01 Colin Watson <cjwatson@ubuntu.com>
6843
6844 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6845 generated manual page) a little.
6846
da2891f9
CW
68472010-09-01 Colin Watson <cjwatson@ubuntu.com>
6848
6849 * docs/grub.texi: Add myself as an author.
6850
ad717fae
VS
68512010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * Makefile.util.def (libgrub.a): Add missing sunpc.
6854 Reported by: Seth Goldberg.
6855
eefe8abd
VS
68562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Interrupt wrapping and code simplifications.
6859
9494ef9a
VS
6860 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6861 x86_noieee1275 which are functionaly equivalent in this case.
6862 (grub-install): Make source on each platform explicit. Enable on
6863 all noemu.
6864 * gentpl.py (x86_efi_pc): Removed group.
6865 (x86_noefi): Likewise.
6866 (i386_noefi): Likewise.
6867 (x86_noieee1275): Likewise.
6868 (i386_noieee1275): Likewise.
6869 (i386_noefi_noieee1275): Likewise.
6870 (i386_pc_qemu_coreboot): Likewise.
6871 (i386_coreboot_multiboot): Likewise.
6872 (i386_pc_coreboot_multiboot_qemu): Likewise.
6873 (x86_noefi_mips): Likewise.
6874 (noieee1275): Likewise.
6875 (ieee1275_mips): Likewise.
6876 (noemu_noieee1275): Likewise.
6877 (cmos): New group.
6878 (usb): Likewise.
6879 (videoinkernel): Likewise.
6880 (videomodules): Likewise.
eefe8abd 6881 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
6882 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6883 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6884 include/grub/loader.h, include/grub/msdos_partition.h,
6885 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6886 include/grub/machine/console.h, include/grub/machine/vga.h,
6887 include/grub/machine/vbe.h, include/grub/machine/init.h,
6888 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6889 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 6890 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
6891 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6892 * grub-core/Makefile.core.def (kernel): Explicit the source for
6893 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6894 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6895 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6896 Use videoinkernel tag.
6897 (usb): Enable on all usb.
6898 (usbserial_common): Likewise.
6899 (usbserial_pl2303): Likewise.
6900 (usbserial_ftdi): Likewise.
6901 (uhci): Enable on all x86.
6902 (ohci): Enable on all pci.
6903 (cmostest): Enable on all CMOS.
6904 (acpi): Include commands/acpi.c on all platforms.
6905 (halt): Add relevant lib/*/halt.c.
6906 (hdparm): Enable on all pci.
6907 (lspci): Likewise.
6908 (usbtest): Enable on all usb.
6909 (ata): Enable on all pci.
6910 (ata_pthru): Likewise.
6911 (usbms): Enable on all usb.
6912 (usb_keyboard): Likewise.
6913 (font): Use tag videomodules.
6914 (bufio): Likewise.
6915 (datetime): Use tag cmos. Enable on all noemu.
6916 (mmap): Use tags common and x86.
6917 (gfxterm): Use tag videomodules.
6918 (bitmap): Likewise.
6919 (bitmap_scale): Likewise.
6920 (video_fb): Likewise.
6921 (video): Likewise.
6922 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6923 adjust padding accordingly. All users updated.
6924 (grub_ohci_transaction): Fix bad format specification.
6925 (GRUB_MOD_INIT): Add asserts for struct size.
6926 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6927 (grub_alloc_td): Likewise.
6928 (grub_free_queue): Likewise.
6929 (grub_uhci_transfer): Likewise.
6930 (grub_uhci_transaction): Fix bad format specification.
6931 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6932 (grub_usb_bulk_readwrite): Likewise.
6933 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6934 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6935 Made static.
6936 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6937 Made static.
6938 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6939 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6940 Transformed into C.
6941 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6942 Moved from here ...
6943 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6944 ... here. Transformed into C. Made static.
6945 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6946 Moved from here ...
6947 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6948 ... here. Transformed into C. Made static.
6949 * grub-core/kern/i386/pc/startup.S
6950 (grub_biosdisk_check_int13_extensions): Moved from here ...
6951 * grub-core/disk/i386/pc/biosdisk.c
6952 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6953 Made static.
6954 * grub-core/kern/i386/pc/startup.S
6955 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6956 * grub-core/disk/i386/pc/biosdisk.c
6957 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6958 Transformed into C. Made static.
6959 * grub-core/kern/i386/pc/startup.S
6960 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6961 * grub-core/disk/i386/pc/biosdisk.c
6962 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6963 Transformed into C. Made static.
6964 * grub-core/kern/i386/pc/startup.S
6965 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6966 * grub-core/disk/i386/pc/biosdisk.c
6967 (grub_biosdisk_get_diskinfo_standard): ... here.
6968 Transformed into C. Made static.
6969 * grub-core/kern/i386/pc/startup.S
6970 (grub_biosdisk_get_num_floppies): Moved from here ...
6971 * grub-core/disk/i386/pc/biosdisk.c
6972 (grub_biosdisk_get_num_floppies): ... here.
6973 Transformed into C. Made static.
6974 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6975 New function.
6976 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6977 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6978 Transformed into C. Made static.
6979 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6980 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6981 Transformed into C. Made static.
6982 * grub-core/kern/i386/ieee1275/init.c: Removed.
6983 * grub-core/kern/i386/misc.S: Likewise.
6984 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6985 Splitted from here ...
6986 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6987 Transformed into C. Made static. All users updated.
6988 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6989 Transformed into C. Made static. All users updated.
6990 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6991 Moved from here...
6992 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6993 Transformed into C. Made static. All users updated.
6994 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6995 Moved from here...
6996 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6997 Transformed into C. Made static. All users updated.
6998 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6999 Removed (replaced by C version).
7000 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
7001 Moved from here...
7002 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
7003 Transformed into C. Made static.
7004 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
7005 Moved from here...
7006 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
7007 ... here. Transformed into C.
7008 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
7009 Moved from here...
7010 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
7011 ... here. Transformed into C.
7012 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
7013 Moved from here...
7014 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
7015 ... here. Transformed into C. Made static.
7016 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
7017 Moved from here...
7018 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
7019 ... here. Transformed into C.
21ed554b
VS
7020 * grub-core/kern/i386/pc/startup.S
7021 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
7022 * grub-core/video/i386/pc/vbe.c
7023 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
7024 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
7025 Moved from here...
7026 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
7027 ... here. Transformed into C.
7028 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
7029 Moved from here...
7030 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
7031 ... here. Transformed into C.
7032 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
7033 Moved from here...
7034 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
7035 ... here. Transformed into C.
7036 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
7037 Moved from here...
7038 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7039 ... here. Transformed into C.
7040 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7041 Moved from here...
7042 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7043 ... here. Transformed into C. Made static.
7044 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7045 Moved from here...
7046 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7047 ... here. Transformed into C. Made static.
7048 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7049 Moved from here...
7050 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7051 ... here. Transformed into C. Made static.
7052 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7053 pxe_rm_entry as third argument.
7054 (grub_bios_interrupt): New function.
7055 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7056 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7057 of calling grub_stop.
7058 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7059 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7060 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7061 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7062 * grub-core/lib/i386/halt.c: Moved from here ...
7063 * grub-core/lib/i386/halt.c: ... here.
7064 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7065 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7066 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7067 grub_stop_floppy.
7068 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7069 * include/grub/i386/coreboot/init.h: Removed.
7070 * include/grub/i386/multiboot/init.h: Likewise.
7071 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7072 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7073 * include/grub/i386/pc/int.h: New file.
7074 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7075 (grub_pxe_scan): Removed.
7076 (grub_pxe_call): Update prototype.
7077 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7078 prototypes.
7079 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7080 * include/grub/i386/qemu/init.h: Removed.
7081 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7082 noreturn.
7083 (grub_halt): Likewise.
7084 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7085 (grub_reboot): Likewise.
7086 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7087 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
7088 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7089
215dd471
RM
70902010-08-30 Robert Millan <rmh@gnu.org>
7091
7092 * NEWS: Document addition of ZFS support in `grub-install' and
7093 `grub-mkconfig'.
7094
ebd65b82
BC
70952010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7096
7097 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7098 dprintf output.
7099
11721d19
VS
71002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Remove leftover embedding of font objects.
7103
7104 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7105 * util/grub-install.in (font): Removed.
7106 * util/grub-mkimage.c (generate_image): Remove font support. All users
7107 updated.
7108
37837d4e
VS
71092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 Remove leftover embedding of font objects.
7112
7113 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7114 * util/grub-install.in (font): Removed.
7115 * util/grub-mkimage.c (generate_image): Remove font support. All users
7116 updated.
7117
b4c1aae0
VS
71182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 7121 Reported by: Ian Turner
b4c1aae0 7122
8920a08d
VS
71232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7126 timeout to avoid indefinite boot stalling.
7127
f21db033
VS
71282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7131 (grub_env_write_color_highlight): Likewise.
7132
9a9de209
VS
71332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/normal/term.c (print_more): Return to normal and not
7136 to standard state after printing "---MORE---".
7137
3dca01d7
VS
71382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7141 Mask out the bit 0x80 since it has other meaning that specifiing color.
7142
0b986c40
VS
71432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 New relocator. Allows for more kernel support and more straightforward
7146 loader writing.
7147
7148 * Makefile.am (BOOTTARGET): New variable.
7149 (QEMU32): Likewise.
7150 (linux.init.x86_64): New target.
7151 (linux.init.i386): Likewise.
7152 (multiboot.elf): Likewise.
7153 (kfreebsd.elf): Likewise.
7154 (kfreebsd.aout): Likewise.
7155 (pc-chainloader.elf): Likewise.
7156 (pc-chainloader.bin): Likewise.
7157 (ntldr.elf): Likewise.
7158 (ntldr.bin): Likewise.
7159 (multiboot2.elf): Likewise.
7160 (kfreebsd.init.x86_64): Likewise.
7161 (kfreebsd.init.i386): Likewise.
7162 (knetbsd.init.i386): Likewise.
7163 (kopenbsd.init.i386): Likewise.
7164 (knetbsd.init.x86_64): Likewise.
7165 (kopenbsd.init.x86_64): Likewise.
7166 (linux-initramfs.i386): Likewise.
7167 (linux-initramfs.x86_64): Likewise.
7168 (kfreebsd-mfsroot.i386.img): Likewise.
7169 (knetbsd.image.i386): Likewise.
7170 (kopenbsd.image.i386): Likewise.
7171 (kopenbsd.image.x86_64): Likewise.
7172 (knetbsd.miniroot-image.i386.img): Likewise.
7173 (kfreebsd-mfsroot.x86_64.img): Likewise.
7174 (knetbsd.image.x86_64): Likewise.
7175 (knetbsd.miniroot-image.x86_64.img): Likewise.
7176 (kfreebsd-mfsroot.i386.gz): Likewise.
7177 (bootcheck-kfreebsd-i386): Likewise.
7178 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7179 (bootcheck-kfreebsd-x86_64): Likewise.
7180 (knetbsd.miniroot-image.i386.gz): Likewise.
7181 (bootcheck-knetbsd-i386): Likewise.
7182 (bootcheck-kopenbsd-i386): Likewise.
7183 (bootcheck-kopenbsd-x86_64): Likewise.
7184 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7185 (bootcheck-knetbsd-x86_64): Likewise.
7186 (bootcheck-linux-i386): Likewise.
7187 (bootcheck-linux-x86_64): Likewise.
7188 (bootcheck-linux16-i386): Likewise.
7189 (bootcheck-linux16-x86_64): Likewise.
7190 (bootcheck-multiboot): Likewise.
7191 (bootcheck-multiboot2): Likewise.
7192 (bootcheck-kfreebsd-aout): Likewise.
7193 (bootcheck-pc-chainloader): Likewise.
7194 (bootcheck-ntldr): Likewise.
7195 (CLEANFILES): Add new targets.
7196 (BOOTCHECKS): New variable.
7197 (.PHONY): Add bootchecks.
7198 (SUCCESSFUL_BOOT_STRING): New variable.
7199 (BOOTCHECK_TIMEOUT): Likewise.
7200 (bootcheck): New target
7201 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7202 * configure.ac: Correct efiemu excuse.
7203 * docs/grub.texi (Supported kernels): New chapter.
7204 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7205 include/grub/mm_private.h. Simplify inclusion of
7206 include/grub/boot.h, include/grub/loader.h
7207 and include/grub/msdos_partition.h
7208 (KERNEL_HEADER_FILES) [i386_coreboot]:
7209 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7210 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7211 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7212 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7213 include/grub/machine/loader.h.
7214 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7215 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7216 extra_dist.
7217 (pci.mod): Enable on i386-multiboot.
7218 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7219 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7220 i386-qemu.
7221 (relocator.mod): Rewritten.
7222 (aout.mod): Enable on all x86.
7223 (bsd.mod): Likewise.
7224 (ntldr.mod): New module.
7225 (linux.mod): Use loader/i386/linux.c on all x86.
7226 (xnu.mod): Enable on all x86.
7227 (vga_text.mod): disable on EFI and QEMU.
7228 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7229 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7230 * grub-core/efiemu/loadcore.c: Likewise.
7231 * grub-core/efiemu/main.c: Likewise.
7232 (grub_efiemu_exit_boot_services): Removed.
7233 (grub_efiemu_finish_boot_services): Likewise.
7234 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7235 function.
7236 * grub-core/efiemu/i386/nocfgtables.c: New file.
7237 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7238 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7239 (grub_efi_finish_boot_services): Moved from here ...
7240 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7241 Fille finish memory map and related data.
7242 (finish_mmap_buf): New variable.
7243 (grub_efi_uintn_t finish_mmap_size): Likewise.
7244 (grub_efi_uintn_t finish_key): Likewise.
7245 (grub_efi_uintn_t finish_desc_size): Likewise.
7246 (grub_efi_uint32_t finish_desc_version): Likewise.
7247 (grub_efi_is_finished): Likewise.
7248 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7249 finished.
7250 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7251 (grub_elf64_phdr_iterate): Likewise.
7252 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7253 (grub_os_area_size): Likewise.
7254 (grub_machine_init): Don't reserve os area.
7255 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7256 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7257 * grub-core/kern/i386/loader.S: Removed.
7258 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7259 (grub_os_area_size): Likewise.
7260 (grub_machine_init): Don't reserve os area.
7261 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7262 Don't call grub_dl_unload_all.
7263 Don't include loader.S.
7264 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7265 Declare the memory after _end as available.
7266 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 7267 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 7268 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
7269 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7270 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7271 * include/grub/mm_private.h (grub_mm_header): ... here.
7272 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7273 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
7274 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7275 (grub_mm_region): ..here. Removed addr. Added pre_size.
7276 All users updated.
7277 * grub-core/kern/mm.c (base): Renamed to ...
7278 (grub_mm_base): ... this. Made global.
7279 (grub_real_malloc): Alloc from end of region.
7280 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7281 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7282 * grub-core/kern/powerpc/cache_flush.S: ... here.
7283 * grub-core/lib/efi/relocator.c: New file.
7284 * grub-core/lib/i386/relocator.c: Rewritten.
7285 * grub-core/lib/i386/relocator16.S: New file.
7286 * grub-core/lib/i386/relocator32.S: Likewise.
7287 * grub-core/lib/i386/relocator64.S: Likewise.
7288 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7289 * grub-core/lib/i386/relocator_common.S: New file.
7290 * grub-core/lib/ieee1275/relocator.c: Likewise.
7291 * grub-core/lib/mips/relocator.c: Rewritten.
7292 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7293 stylistic adjustments.
7294 * grub-core/lib/powerpc/relocator.c: New file.
7295 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7296 * grub-core/lib/relocator.c: Rewritten.
7297 * grub-core/lib/x86_64/relocator_asm.S: New file.
7298 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7299 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7300 (bsd_tag): New struct.
7301 (tags): New variable.
7302 (tags_last): Likewise.
7303 (netbsd_module): New struct.
7304 (netbsd_mods): New variable.
7305 (netbsd_mods_last): Likewise.
7306 (openbsd_opts): New parameter "serial".
7307 (OPENBSD_SERIAL_ARG): New definition.
7308 (netbsd_opts): New parameter "serial".
7309 (NETBSD_SERIAL_ARG): New definition.
7310 (grub_freebsd_add_meta): Reorganised into ...
7311 (grub_bsd_add_meta): ...this. All users updated.
7312 (grub_freebsd_add_mmap): Reorganised into ...
7313 (generate_e820_mmap): ...this...
7314 (grub_bsd_add_mmap): ...and this. All users updated.
7315 (grub_freebsd_list_modules): Use tags.
7316 (grub_netbsd_add_meta_module): New function.
7317 (grub_netbsd_list_modules): Likewise.
7318 (grub_freebsd_boot): Use relocator and finish EFI.
7319 (grub_openbsd_boot): Likewise.
7320 (grub_netbsd_setup_video): New function.
7321 (grub_netbsd_add_modules): Likewise.
7322 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7323 and finish EFI.
7324 (grub_bsd_unload): Unload tags.
7325 (grub_bsd_load_aout): Use relocator.
7326 (grub_bsd_elf32_size_hook): New function.
7327 (grub_bsd_elf32_hook): Use relocator.
7328 (grub_bsd_elf64_size_hook): New function.
7329 (grub_bsd_elf64_hook): Use relocator.
7330 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7331 (grub_bsd_load): Zero-out openbsd_ramdisk.
7332 (grub_bsd_load): Use relocator.
7333 (grub_cmd_openbsd): Support serial.
7334 (grub_cmd_netbsd): Support modules.
7335 (grub_cmd_freebsd_module): Use relocator.
7336 (grub_netbsd_module_load): New function.
7337 (grub_cmd_netbsd_module): Likewise.
7338 (grub_cmd_openbsd_ramdisk): Likewise.
7339 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7340 kopenbsd_ramdisk.
7341 (GRUB_MOD_FINI): Unregister new commands.
7342 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7343 (grub_freebsd_load_elfmodule_obj): Use relocator.
7344 (grub_freebsd_load_elfmodule): Likewise.
7345 (grub_freebsd_load_elf_meta): Likewise.
7346 (grub_netbsd_load_elf_meta): New function.
7347 (grub_openbsd_find_ramdisk): Likewise.
7348 * grub-core/loader/i386/bsd_helper.S: Removed.
7349 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7350 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7351 * grub-core/loader/i386/efi/linux.c: Likewise.
7352 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7353 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7354 (DEFAULT_VIDEO_MODE): Likewise.
7355 (real_mode_target): New variable.
7356 (prot_mode_target): Likewise.
7357 (initrd_mem_target): Likewise.
7358 (relocator): Likewise.
7359 (efi_mmap_buf): Likewise.
7360 (efi_mmap_size): Likewise.
7361 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7362 (free_pages): Use relocator.
7363 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7364 (grub_linux_setup_video): Return error.
7365 (grub_linux_trampoline_start): Removed.
7366 (grub_linux_trampoline_end): Likewise.
7367 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7368 andd video parameters depending on firmware.
7369 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7370 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7371 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7372 (grub_cmd_initrd): Use relocator.
7373 * grub-core/loader/i386/linux_trampoline.S: Removed.
7374 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7375 (elf_sec_entsize): Likewise.
7376 (elf_sec_shstrndx): Likewise.
7377 (elf_sections): Likewise.
7378 (grub_multiboot_load): Use relocator.
7379 (grub_multiboot_get_mbi_size): Account for sections.
7380 (grub_multiboot_make_mbi): Use relocator and support sections.
7381 (grub_multiboot_add_elfsyms): New function.
7382 (grub_multiboot_free_mbi): Free sections.
7383 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7384 (grub_linux_real_target): Likewise.
7385 (grub_linux_real_chunk): Likewise.
7386 (grub_linux16_prot_size): Likewise.
7387 (grub_linux16_boot): Use relocator.
7388 (grub_linux_unload): Unload relocator.
7389 (grub_cmd_linux): Use relocator.
7390 (grub_cmd_initrd): Likewise.
7391 * grub-core/loader/i386/pc/ntldr.c: New file.
7392 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7393 Don't try to guess CPU frequency.
7394 (grub_xnu_set_video): Stretch bitmap.
7395 (grub_xnu_boot): Use relocator.
7396 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7397 (grub_linux_unload): Free relocator.
7398 (grub_linux_load32): Use relocator.
7399 (grub_linux_load64): Likewise.
7400 (grub_cmd_initrd): Likewise.
7401 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7402 (grub_multiboot_unload): Unload relocator.
7403 (grub_cmd_multiboot): Use relocator.
7404 (grub_cmd_module): Likewise.
7405 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7406 Use relocator and support sections.
7407 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7408 (elf_sec_entsize): Likewise.
7409 (elf_sec_shstrndx): Likewise.
7410 (elf_sections): Likewise.
7411 (grub_multiboot_load): Use relocator.
7412 (grub_multiboot_get_mbi_size): Account for sections.
7413 (grub_multiboot_make_mbi): Use relocator and support sections.
7414 (grub_multiboot_add_elfsyms): New function.
7415 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7416 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7417 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7418 Prototype changed. All users updated.
7419 (grub_xnu_align_heap): Simplified.
7420 (grub_xnu_writetree_toheap): Likewise.
7421 (grub_xnu_unload): Unload relocator.
7422 (grub_cmd_xnu_kernel): Use relocator.
7423 (grub_cmd_xnu_kernel64): Likewise.
7424 (grub_xnu_register_memory): Simplified.
7425 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
7426 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7427 EFI is finished.
7428 (grub_console_checkkey): Likewise.
7429 (grub_console_getkey): Likewise.
7430 (grub_console_getwh): Likewise.
7431 (grub_console_getxy): Likewise.
7432 (grub_console_gotoxy): Likewise.
7433 (grub_console_cls): Likewise.
7434 (grub_console_setcolorstate): Likewise.
7435 (grub_console_setcursor): Likewise.
7436 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7437 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7438 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7439 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7440 * grub-core/tests/boot/kernel-8086.S: Likewise.
7441 * grub-core/tests/boot/kernel-i386.S: Likewise.
7442 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7443 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7444 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7445 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7446 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7447 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7448 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7449 * grub-core/tests/boot/linux.cfg: Likewise.
7450 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7451 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7452 * grub-core/tests/boot/linux16.cfg: Likewise.
7453 * grub-core/tests/boot/multiboot.cfg: Likewise.
7454 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7455 * grub-core/tests/boot/ntldr.cfg: Likewise.
7456 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7457 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7458 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7459 New definition.
7460 * include/grub/dl.h (grub_dl_unload_all): Removed.
7461 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7462 (grub_efi_finish_boot_services): Change prototype.
7463 (grub_efi_is_finished): New variable.
7464 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7465 Changed prototype.
7466 (grub_efiemu_finish_boot_services): Removed.
7467 (grub_machine_efiemu_init_tables): New prototype.
7468 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7469 (grub_elf64_phdr_iterate): Likewise.
7470 * include/grub/i386/bsd.h: Include relocator.h.
7471 (freebsd_tag_header): New struct.
7472 (grub_openbsd_bios_mmap): Removed.
7473 (grub_unix_real_boot): Removed.
7474 (grub_freebsd_load_elfmodule32): Changed prototype.
7475 (grub_freebsd_load_elfmodule_obj64): Likewise.
7476 (grub_freebsd_load_elf_meta32): Likewise.
7477 (grub_freebsd_load_elf_meta64): Likewise.
7478 (grub_freebsd_add_meta): Removed.
7479 (grub_netbsd_load_elf_meta32): New prototype.
7480 (grub_netbsd_load_elf_meta64): Likewise.
7481 (grub_bsd_add_meta): Likewise.
7482 (grub_openbsd_ramdisk_descriptor): New struct.
7483 (grub_openbsd_find_ramdisk32): New prototype.
7484 (grub_openbsd_find_ramdisk64): Likewise.
7485 * include/grub/i386/coreboot/loader.h: Removed.
7486 * include/grub/i386/efi/loader.h: Likewise.
7487 * include/grub/i386/ieee1275/loader.h: Likewise.
7488 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7489 to grub_uint32_t.
7490 * include/grub/i386/loader.h: Removed.
7491 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7492 value.
7493 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7494 (grub_phys_addr_t): New type.
7495 (grub_vtop): New inline function.
7496 (grub_map_memory): Likewise.
7497 (grub_unmap_memory): Likewise.
7498 * include/grub/i386/multiboot/loader.h: Removed.
7499 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7500 (NETBSD_BTINFO_CONSOLE): New definition.
7501 (NETBSD_BTINFO_SYMTAB): Likewise.
7502 (NETBSD_BTINFO_MODULES): Likewise.
7503 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7504 (grub_netbsd_bootinfo): New struct.
7505 (grub_netbsd_btinfo_common): Use explicit bitsize.
7506 (grub_netbsd_btinfo_mmap_entry): Removed.
7507 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7508 (grub_netbsd_btinfo_bootdisk): New struct.
7509 (grub_netbsd_btinfo_symtab): Likewise.
7510 (grub_netbsd_btinfo_serial): Likewise.
7511 (grub_netbsd_btinfo_modules): Likewise.
7512 (grub_netbsd_btinfo_framebuf): Likewise.
7513 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7514 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7515 Likewise.
7516 (grub_openbsd_bootargs): Use explicit bitsize.
7517 (grub_openbsd_bootarg_console): New struct.
7518 (GRUB_OPENBSD_COM_MAJOR): New definition.
7519 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7520 * include/grub/i386/pc/efiemu.h: Removed.
7521 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7522 * include/grub/i386/qemu/loader.h: Removed.
7523 * include/grub/i386/relocator.h: Rewritten.
7524 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7525 * include/grub/mips/memory.h: New file.
7526 * include/grub/mips/multiboot.h: Rewritten.
7527 * include/grub/mips/relocator.h: Rewritten.
7528 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7529 (grub_vtop): New function.
7530 (grub_map_memory): Likewise.
7531 (grub_unmap_memory): Likewise.
7532 * include/grub/misc.h (ALIGN_DOWN): New definition.
7533 * include/grub/mm.h (grub_mm_check_real): New proto.
7534 (GRUB_MM_CHECK): New definition.
7535 * include/grub/mm_private.h: New file.
7536 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7537 (grub_multiboot_get_mbi_size): Removed.
7538 (grub_multiboot_make_mbi): Change prottype.
7539 (grub_multiboot_set_accepts_video): New proto.
7540 (grub_multiboot_add_elfsyms): Likewise.
7541 (grub_multiboot_payload_eip): New variable.
7542 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7543 New prototype.
7544 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7545 New definition.
7546 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7547 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7548 * include/grub/powerpc/ieee1275/loader.h: Removed.
7549 * include/grub/powerpc/memory.h: New file.
7550 * include/grub/powerpc/relocator.h: Likewise.
7551 * include/grub/relocator.h: Likewise.
7552 * include/grub/relocator_private.h: Likewise.
7553 * include/grub/sparc64/ieee1275/loader.h: Removed.
7554 * include/grub/x86_64/memory.h: New file.
7555 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7556 (grub_xnu_heap_malloc): Likewise.
7557 (grub_xnu_heap_real_start): Removed.
7558 (grub_xnu_heap_start): Likewise.
7559 (grub_xnu_relocator): New variable.
7560 (grub_xnu_heap_target_start): Likewise.
7561 * tests/util/grub-shell.in: Support non-pc.
7562 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 7563
5303b85d
VS
75642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7567 on malloc error.
7568 (grub_bidi_logical_to_visual): Check that malloc succeded.
7569 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7570 puts.
7571 (grub_xputs_normal): Likewise.
7572
d768d159
VS
75732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7576 extra_dist.
7577
75782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7581
5bf84df4
VS
75822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7585
3626810e
VS
75862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7589 dprintf.
7590
a7363f53
BC
75912010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7592
7593 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7594
902f75f6
VS
75952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * grub-core/normal/term.c (print_more): Fix a memory leak.
7598 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7599 (grub_xputs_normal): Likewise.
7600
3c707967
VS
76012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7604 the begining of the string
7605
2053cc07
VS
76062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/script/script.c (grub_script_parse): Free parsed on
7609 failure.
7610
46422ebf
VS
76112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7614 on failure.
7615
9e0fa3f6
VS
76162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7619 return.
7620
3393cf16
VS
76212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7624 (scroll_up): Fix a memory leak.
7625
b17540cb
VS
76262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7629 errors.
7630
67140446
VS
76312010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 Handle USB pendrives exposed as floppies.
7634
7635 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7636 floppy.
7637 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7638 Check for partitions on all devices.
7639
e35e46fc
VS
76402010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7643 (readkey): Likewise.
7644
d24c6190
BC
76452010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7646
7647 Multiple variable names support to "export" command.
7648
7649 * normal/context.c (grub_cmd_export): "export" command supports
7650 multiple variable names.
7651
04ddcc6a
ST
76522010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7653
7654 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7655 --target=drive output to Mach device name.
7656
0c8b61d8
BC
76572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7658
7659 New Automake based build system for GRUB.
7660
7661 * ABOUT-NLS: New file.
7662 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7663 in Makefile.util.def file.
7664 * Makefile.util.def: New file. Autogen build definitions file for
7665 GRUB host utils.
7666 * conf/Makefile.common: New file. Common variables for GRUB host
7667 utils and target modules.
7668 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7669 * docs/Makefile.am: New file. Automake file for docs.
7670 * gentpl.py: New file. Python script to generate Autogen
7671 template.
7672 * grub-core/Makefile.am: New file. GRUB target modules' rules
7673 that doesn't fit in Makefile.core.def file.
7674 * grub-core/Makefile.core.def: New file. Autogen build
7675 definitions file for GRUB target modules.
7676 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7677 specific setjmp.S file.
7678 * po/Makefile.am: New file.
7679
7680 * .bzrignore: New ignores.
7681 * INSTALL: New requirements, without Ruby.
7682 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7683 * autogen.sh: Updated to invoke autogen as necessary.
7684 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7685 and defines for Automake conditionals.
7686 * geninit.sh: Refactoring.
7687
7688 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7689 necessary.
7690 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7691 New prototype.
7692
7693 * include/grub/test.h: Fix functional test modules' naming.
7694 * grub-core/tests/example_functional_test.c: Fix test module name.
7695
7696 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7697 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7698 * util/grub-editenv.c: Likewise.
7699 * util/grub-fstest.c: Likewise.
7700 * util/grub-mkdevicemap.c: Likewise.
7701 * util/grub-mkfont.c: Likewise.
7702 * util/grub-mkimage.c: Likewise.
7703 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7704 * util/grub-probe.c: Likewise.
7705 * util/grub-script-check.c: Likewise.
7706 * util/i386/pc/grub-setup.c: Likewise.
7707 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7708
7709 * tests/util/grub-shell.in: Fix override directory path.
7710 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7711 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7712
7713 * util/lvm.c: Update #includes.
7714 * util/raid.c: Likewise.
7715 * util/resolve.c: Likewise.
7716 * grub-core/bus/emu/pci.c: Likewise.
7717 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7718 * grub-core/lib/posix_wrap/string.h: Likewise.
7719 * grub-core/kern/emu/main.c: Likewise.
7720
7721 * grub-core/gensymlist.sh: New file. Script for generating kernel
7722 symbols file.
7723 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7724
7725 * grub-core/gentrigtables.c: Fix unused variable warnings.
7726
7727 * Makefile.in: Removed.
7728 * conf/any-emu.rmk: Removed.
7729 * conf/common.rmk: Removed.
7730 * conf/i386-coreboot.rmk: Removed.
7731 * conf/i386-efi.rmk: Removed.
7732 * conf/i386-ieee1275.rmk: Removed.
7733 * conf/i386-multiboot.rmk: Removed.
7734 * conf/i386-pc.rmk: Removed.
7735 * conf/i386-qemu.rmk: Removed.
7736 * conf/i386.rmk: Removed.
7737 * conf/mips-yeeloong.rmk: Removed.
7738 * conf/mips.rmk: Removed.
7739 * conf/powerpc-ieee1275.rmk: Removed.
7740 * conf/sparc64-ieee1275.rmk: Removed.
7741 * conf/tests.rmk: Removed.
7742 * conf/x86-efi.rmk: Removed.
7743 * conf/x86_64-efi.rmk: Removed.
7744 * gendistlist.sh: Removed.
7745 * geninitheader.sh: Removed.
7746 * genkernsyms.sh.in: Removed.
7747 * genmk.rb: Removed.
7748 * gensymlist.sh.in: Removed.
7749 * mkinstalldirs: Removed.
7750 * boot: Moved ...
7751 * grub-core/boot: ... to here.
7752 * bus: Moved ...
7753 * grub-core/bus: ... to here.
7754 * commands: Moved ...
7755 * grub-core/commands: ... to here.
7756 * disk: Moved ...
7757 * grub-core/disk: ... to here.
7758 * efiemu: Moved ...
7759 * grub-core/efiemu: ... to here.
7760 * font: Moved ...
7761 * grub-core/font: ... to here.
7762 * fs: Moved ...
7763 * grub-core/fs: ... to here.
7764 * gencmdlist.sh: Moved ...
7765 * grub-core/gencmdlist.sh: ... to here.
7766 * genemuinit.sh: Moved ...
7767 * grub-core/genemuinit.sh: ... to here.
7768 * genemuinitheader.sh: Moved ...
7769 * grub-core/genemuinitheader.sh: ... to here.
7770 * genfslist.sh: Moved ...
7771 * grub-core/genfslist.sh: ... to here.
7772 * genhandlerlist.sh: Moved ...
7773 * grub-core/genhandlerlist.sh: ... to here.
7774 * genmoddep.awk: Moved ...
7775 * grub-core/genmoddep.awk: ... to here.
7776 * genmodsrc.sh: Moved ...
7777 * grub-core/genmodsrc.sh: ... to here.
7778 * genpartmaplist.sh: Moved ...
7779 * grub-core/genpartmaplist.sh: ... to here.
7780 * genparttoollist.sh: Moved ...
7781 * grub-core/genparttoollist.sh: ... to here.
7782 * genterminallist.sh: Moved ...
7783 * grub-core/genterminallist.sh: ... to here.
7784 * gentrigtables.c: Moved ...
7785 * grub-core/gentrigtables.c: ... to here.
7786 * genvideolist.sh: Moved ...
7787 * grub-core/genvideolist.sh: ... to here.
7788 * gettext: Moved ...
7789 * grub-core/gettext: ... to here.
7790 * gfxmenu: Moved ...
7791 * grub-core/gfxmenu: ... to here.
7792 * gnulib: Moved ...
7793 * grub-core/gnulib: ... to here.
7794 * hello: Moved ...
7795 * grub-core/hello: ... to here.
7796 * hook: Moved ...
7797 * grub-core/hook: ... to here.
7798 * io: Moved ...
7799 * grub-core/io: ... to here.
7800 * kern: Moved ...
7801 * grub-core/kern: ... to here.
7802 * lib: Moved ...
7803 * grub-core/lib: ... to here.
7804 * loader: Moved ...
7805 * grub-core/loader: ... to here.
7806 * mmap: Moved ...
7807 * grub-core/mmap: ... to here.
7808 * normal: Moved ...
7809 * grub-core/normal: ... to here.
7810 * partmap: Moved ...
7811 * grub-core/partmap: ... to here.
7812 * parttool: Moved ...
7813 * grub-core/parttool: ... to here.
7814 * script: Moved ...
7815 * grub-core/script: ... to here.
7816 * term: Moved ...
7817 * grub-core/term: ... to here
7818 * tests/example_functional_test.c: Moved ...
7819 * grub-core/tests/example_functional_test.c: ... to here.
7820 * tests/lib/functional_test.c: Moved ...
7821 * grub-core/tests/lib/functional_test.c: ... to here.
7822 * tests/lib/test.c: Moved ...
7823 * grub-core/tests/lib/test.c: ... to here.
7824 * video: Moved ...
7825 * grub-core/video: ... to here.
7826
645586e6
BC
78272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7828
7829 Replace --enable-grub-emu-modules with grub-emu-lite.
7830
7831 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7832 cache.S.
7833
7834 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7835 * kern/emu/full.c: New file. For grub-emu specific initialization.
7836 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7837 * kern/emu/main.c: Call initialization function grub_emu_init.
7838
7839 * Makefile.in: Include grub-emu-lite in install.
7840 * commands/parttool.c: Use grub_no_autoload to differentiate
7841 between grub-emu and grub-emu-lite.
7842 * include/grub/misc.h: New variable grub_no_autoload.
7843
7844 * conf/any-emu.rmk: New rules for grub-emu-lite.
7845 * configure.ac: Remove --enable-grub-emu-modules.
7846 * genmk.rb: Cleanup unnecessary rules.
7847 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7848
7849 * normal/main.c: Don't load list files on grub-emu-lite.
7850 * util/misc.c (grub_arch_sync_caches): Removed.
7851
f86a4030
CW
78522010-08-23 Colin Watson <cjwatson@ubuntu.com>
7853
7854 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7855 grub-mkimage rather than grub-mkelfimage.
7856 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7857
06776944
VS
78582010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7861 a key after CapsLock or NumLock. It's just a qemu bug.
7862
df262419
VS
78632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7866 needed by libusb wrapper.
7867
b40ea81b
ST
78682010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7869
7870 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7871
dee50575
VS
78722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7875 --nounzip is passed.
7876
fb1d7b79
VS
78772010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 USB hotunplugging and USB serial support.
7880
7881 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7882 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7883 (grub_uhci_transfer): Respect timeout and set *actual.
7884 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7885 non-standard length.
7886 (grub_usb_device_attach): Autoload modules.
7887 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7888 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7889 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7890 users updated.
7891 (grub_usb_add_hub): Fill nports and children.
7892 (attach_root_port): Receive hub instead of controller.
7893 All users updated. Fill hub->devices.
7894 (grub_usb_root_hub): Allocate hub->devices.
7895 (detach_device): New function.
7896 (poll_nonroot_hub): Fill children and detach devices.
7897 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7898 actual arguments. All users updated.
7899 (grub_usb_bulk_read_extended): New function.
7900 * bus/usb/serial/common.c: New file.
7901 * bus/usb/serial/ftdi.c: Likewise.
7902 * bus/usb/serial/pl2303.c: Likewise.
7903 * commands/terminal.c (handle_command): Support wildcard.
7904 * commands/usbtest.c: Output "Unknown" instead of empty string.
7905 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7906 (usbserial_common_mod_SOURCES): New variable.
7907 (usbserial_common_mod_CFLAGS): Likewise.
7908 (usbserial_common_mod_LDFLAGS): Likewise.
7909 (pkglib_MODULES): Add usbserial_pl2303.mod.
7910 (usbserial_pl2303_mod_SOURCES): New variable.
7911 (usbserial_pl2303_mod_CFLAGS): Likewise.
7912 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7913 (pkglib_MODULES): Add usbserial_ftdi.mod.
7914 (usbserial_ftdi_mod_SOURCES): New variable.
7915 (usbserial_ftdi_mod_CFLAGS): Likewise.
7916 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7917 (pkglib_MODULES): Add serial.mod.
7918 (serial_mod_SOURCES): New variable.
7919 (serial_mod_CFLAGS): Likewise.
7920 (serial_mod_LDFLAGS): Likewise.
7921 * conf/i386-pc.rmk: Likewise.
7922 * conf/mips-yeeloong.rmk: Likewise.
7923 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7924 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7925 * disk/usbms.c (first_available_slot): New variable.
7926 (grub_usbms_attach): Don't reuse free slots due to potential cache
7927 problems.
7928 * include/grub/serial.h: Moved to ..
7929 * include/grub/ns8250.h: ...this.
7930 * include/grub/serial.h: New file.
7931 * include/grub/term.h (grub_term_poll_usb): New variable.
7932 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7933 readkey. All users updated.
7934 (grub_terminfo_output_state): Pass term to put.
7935 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7936 (grub_usb_controller_dev): Add timeout and actual arguments to
7937 transfer. All users updated.
7938 (grub_usb_interface): New field detach_data.
7939 (grub_usb_device): New fields children and nports.
7940 (grub_usb_ep_type_t): New type.
7941 (grub_usb_get_ep_type): New function.
7942 (grub_usb_bulk_read_extended): Likewise.
7943 * include/grub/usbdesc.h (grub_usb_desc): New type.
7944 * include/grub/usbserial.h: New file.
7945 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7946 * kern/term.c (grub_term_poll_usb): New variable.
7947 (grub_getkey): Call grub_term_poll_usb if set.
7948 (grub_checkkey): Likewise.
7949 (grub_getkeystatus): Likewise.
7950 * term/serial.c: Moved controller-specific parts to ...
7951 * term/ns8250.c: ... here.
7952 * term/serial.c: Mostly rewritten.
7953 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7954 according to spec.
7955
21a313de
RM
79562010-08-20 Robert Millan <rmh@gnu.org>
7957
7958 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7959 a separate module and maybe other interesting combinations.
7960
7961 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7962 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7963 (kfreebsd_entry): Add generic filesystem module load routine.
7964 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7965
63c734a6
CW
79662010-08-20 Colin Watson <cjwatson@ubuntu.com>
7967
7968 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7969 "numcenter" (I misunderstood the purpose of this entry).
7970 * docs/grub.texi (sendkey): Likewise.
7971
c4d16542
CW
79722010-08-20 Colin Watson <cjwatson@ubuntu.com>
7973
7974 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7975 status flag options; simply omitting the option is equivalent and
7976 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7977 (keysym_table): Rename "num5numlock" to "numlock".
7978 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7979 can uniformly say that only the last of multiple `sendkey'
7980 invocations has any effect.
7981 * docs/grub.texi (sendkey): New section.
7982
93541d66
CW
79832010-08-19 Colin Watson <cjwatson@ubuntu.com>
7984
7985 * commands/i386/pc/sendkey.c (options): Fix three typos.
7986
b4ece5e1
VS
79872010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Implement sendkey support.
7990
7991 * commands/i386/pc/sendkey.c: New file.
7992 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7993 (sendkey_mod_SOURCES): New variable.
7994 (sendkey_mod_CFLAGS): Likewise.
7995 (sendkey_mod_LDFLAGS): Likewise.
7996
51f1f5af
CW
79972010-08-18 Colin Watson <cjwatson@ubuntu.com>
7998
7999 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
8000 fix warnings from Autoconf.
8001
9da94e05
CW
80022010-08-18 Colin Watson <cjwatson@ubuntu.com>
8003
8004 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
8005 to avoid false positives with some assemblers that output things
8006 like "someprefix_func" as part of their output.
8007
729a0f2e
RM
80082010-08-15 Robert Millan <rmh@gnu.org>
8009
8010 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
8011 errors.
8012 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
8013 grub_get_libzfs_handle() errors.
8014
f3710e08
RM
80152010-08-14 Robert Millan <rmh@gnu.org>
8016
8017 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
8018 filesystem is not ZFS.
8019
7a3c13de
BC
80202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8021
8022 Fix for misspelled color names defaulting to black/black (bug
8023 reported by Doug Nazar)
8024
8025 * include/grub/normal.h (grub_parse_color_name_pair): Add return
8026 status to prototype.
8027 * normal/color.c (grub_parse_color_name_pair): Return failure
8028 status.
8029 (grub_env_write_color_normal): Ignore bad color names.
8030 (grub_env_write_color_highlight): Likewise.
8031 * normal/main.c (GRUB_MOD_INIT): Set default color names.
8032
ab8ba50d
BC
80332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8034
8035 "shift" command support to GRUB script.
8036
8037 * include/grub/script_sh.h (grub_script_shift): New prototype.
8038 * script/execute.c (grub_script_shift): New function.
8039 * script/main.c (grub_script_init): Register shift command.
8040 (grub_script_fini): Unregister shift command.
8041 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8042
8043 * tests/grub_script_shift.in: New testcase.
8044 * conf/tests.rmk: Rules for new testcase.
8045
4d61999e
BC
80462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8047
8048 "continue" command support to GRUB script.
8049
8050 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8051 (grub_script_break): Continue support.
8052 * script/main.c (grub_script_init): Register continue command.
8053 (grub_script_fini): Unregister continue command.
8054
8055 * tests/grub_script_continue.in: New testcase.
8056 * conf/tests.rmk: Rules for new testcase.
8057
4df51e00
BC
80582010-08-12 BVK Chaitanya <bvk@dbook>
8059
8060 "break" command support to GRUB script.
8061
8062 * conf/common.rmk: Rule updates to grub-script-check.
8063 * include/grub/misc.h (grub_min): New function.
8064 * include/grub/script_sh.h (grub_script_init): New prototype.
8065 (grub_script_fini): New prototype.
8066 (grub_script_break): New prototype.
8067 * script/main.c (grub_script_init): New function.
8068 (grub_script_fini): New function.
8069 * script/execute.c (grub_script_break): New function.
8070 * normal/main.c: Calls to grub_script_{init,fini}.
8071 * util/grub-script-check.c (grub_script_break): New function.
8072
8073 * tests/grub_script_break.in: New testcase.
8074 * conf/tests.rmk: Rules for new test case.
8075
f12c8420
BC
80762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8077
8078 Function parameters support to GRUB script.
8079
8080 * script/yylex.l (VARIABLE): Regular expression update.
8081 * script/function.c (grub_script_function_call): Moved ...
8082 * script/execute.c (grub_script_function_call): ... to here.
8083 (grub_script_execute_arglist_to_argv): Removed.
8084 (grub_script_arglist_to_argv): New function.
8085 * script/argv.c: New file.
8086 (grub_script_argv_free): New function.
8087 (grub_script_argv_next): Likewise.
8088 (grub_script_argv_append): Likewise.
8089 (grub_script_argv_split_append): Likewise.
8090 * include/grub/script_sh.h (grub_script_argv): New struct.
8091 (grub_script_argv_free): New function.
8092 (grub_script_argv_next): Likewise.
8093 (grub_script_argv_append): Likewise.
8094 (grub_script_argv_split_append): Likewise.
8095
8096 * conf/common.rmk (normal.mod): New source script/argv.c.
8097
8098 * tests/grub_script_echo1.in: More tests.
8099 * tests/grub_script_vars1.in: Likewise.
8100 * tests/grub_script_functions.in: New test case.
8101 * conf/tests.rmk: Rules for new testcase.
8102
8022b748
BC
81032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8104
8105 Remove grub_script_cmdblock struct.
8106
8107 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8108 * script/parser.y: Likewise.
8109 * script/execute.c: Rename cmdblock suffix to cmdlist.
8110 * script/script.c: Likewise.
8111 * util/grub-script-check.c: Likewise.
8112
79a6ba61
YB
81132010-08-11 Yves Blusseau <blusseau@zetam.org>
8114
8115 * .bzrignore: add grub-macho2img
8116
d04b9414
VS
81172010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8120
f947ab49
VS
81212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Remove the dump of sm712 initialisation sequence.
8124
8125 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8126 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8127 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8128 (GRUB_VGA_CR_*): Added many registers.
8129 (GRUB_VGA_SR_*): Likewise.
8130 (GRUB_VGA_GR_*): Likewise.
8131 (grub_vga_write_arx): New function.
8132 (grub_video_hw_config): New struct.
8133 (grub_vga_set_geometry): New function.
8134 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8135 GRUB_PCI_CLASS_SUBCLASS_VGA.
8136 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8137 * video/sm712.c (grub_sm712_write_reg): New function
8138 (grub_sm712_read_reg): Likewise.
8139 (grub_sm712_sr_write): Likewise.
8140 (grub_sm712_gr_write): Likewise.
8141 (grub_sm712_cr_write): Likewise.
8142 (grub_sm712_write_arx): Likewise.
8143 (grub_sm712_cr_shadow_write): Likewise.
8144 (grub_sm712_write_dda_lookup): Likewise.
8145 (grub_video_sm712_setup): Initialise the video rather then
8146 blindly replay the dump.
8147 (main) [TEST]: Add a routine to be able to compile as standalone for
8148 tests.
8149 * video/sm712_init.c (sm712_init): Removed.
8150 (sm712_sr_seq1): New array.
8151 (sm712_sr_seq2): Likewise.
8152
f0206638
VS
81532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * include/grub/vga.h: Add missing grub/pci.h include.
8156
2764da3b
YB
81572010-08-10 Yves Blusseau <blusseau@zetam.org>
8158
8159 * util/grub-macho2img.c (main): fix typo
8160
cf0c775e
VS
81612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8164 (grub_vga_gr_read): Likewise.
8165 (grub_vga_cr_write): Likewise.
8166 (grub_vga_cr_read): Likewise.
8167 (grub_vga_sr_write): Likewise.
8168 (grub_vga_sr_read): Likewise.
8169 (grub_vga_palette_read): Likewise.
8170 (grub_vga_palette_write): Likewise.
8171 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8172 (grub_sm712_sr_read): New function.
8173 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8174 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8175
07f360e9
RM
81762010-08-09 Robert Millan <rmh@gnu.org>
8177
8178 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8179 out unused variables on non-ZFS build.
8180
346c2072
RM
81812010-08-08 Robert Millan <rmh@gnu.org>
8182
8183 Fix path generation for sub-filesystems in ZFS.
8184
8185 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8186 missing slash.
8187
71175420
RM
81882010-08-08 Robert Millan <rmh@gnu.org>
8189
8190 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8191
0d8286f3
RM
81922010-08-08 Robert Millan <rmh@gnu.org>
8193
8194 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8195 exist, issue a proper error message (rely on `ls' for translated
8196 strings).
8197
55dd2924
RM
81982010-08-08 Robert Millan <rmh@gnu.org>
8199
8200 Fix grub-probe invocation.
8201
8202 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8203
d3dd9e80
RM
82042010-08-04 Robert Millan <rmh@gnu.org>
8205
8206 * configure.ac: Remove checks for getfsstat() and getmntany().
8207 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8208 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8209 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8210 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8211 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8212 function.
8213 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8214 via find_mount_point_from_dir() and getfsstat() / getmntany().
8215
0de22aa9
RM
82162010-08-04 Robert Millan <rmh@gnu.org>
8217
8218 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8219 (grub_find_zpool_from_mount_point): Merge into ...
8220 (grub_find_zpool_from_dir): ... this.
8221 * kern/emu/misc.c: Likewise.
8222
8223 * kern/emu/misc.c
8224 (grub_make_system_path_relative_to_its_root): Replace
8225 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8226 with grub_find_zpool_from_dir().
8227 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8228
62858144
RM
82292010-08-04 Robert Millan <rmh@gnu.org>
8230
8231 Support OpenSolaris in ZFS device resolution.
8232
8233 * configure.ac: Check for getmntany().
8234 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8235 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8236 support.
8237
9dd6fd50
RM
82382010-08-03 Robert Millan <rmh@gnu.org>
8239
8240 Fix grub-emu build.
8241
8242 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8243 * include/grub/emu/misc.h: ... here.
8244
8245 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8246 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8247
8248 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8249 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8250 (grub_get_libzfs_handle): Move to ...
8251 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8252 (grub_get_libzfs_handle): ... here.
8253
c9f7ff97
BC
82542010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8255
8256 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8257 as command name case.
8258
a870a783
CW
82592010-08-02 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * disk/raid.c (insert_array): Select unique numbers for named arrays
8262 as well, for use as keys in the disk cache.
8263
c7db243b
RM
82642010-08-01 Robert Millan <rmh@gnu.org>
8265
8266 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8267 kFreeBSD device name, except on ZFS where the filesystem label is
8268 used.
8269 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8270 `/boot/zfs/zpool.cache'.
8271 Set mountfrom kernel variable using ${kfreebsd_device}.
8272
f7abdefb
RM
82732010-08-01 Robert Millan <rmh@gnu.org>
8274
8275 Make it even harder to use uninitialized `libzfs_handle' (and
8276 make the interface a bit simpler).
8277
8278 * include/grub/util/misc.h (grub_util_init_libzfs)
8279 (libzfs_handle): Remove.
8280 (grub_get_libzfs_handle): New prototype.
8281
8282 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8283 attribute.
8284 (grub_util_init_libzfs): Remove.
8285 (grub_get_libzfs_handle): New function.
8286
8287 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8288 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8289 accessing `libzfs_handle' directly.
8290
c882acc0
RM
82912010-08-01 Robert Millan <rmh@gnu.org>
8292
8293 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8294 (grub_find_zpool_from_mount_point): New function prototypes.
8295
8296 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8297 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8298
8299 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8300 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8301 `static' attribute.
8302
8303 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8304 finding zpool from mount point into ...
8305 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8306
8307 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8308 requested path is part of a ZFS pool, use
8309 grub_find_zpool_from_mount_point() to detect its filesystem name,
8310 and generate a path with `/fsname@path' syntax.
8311
8bfe31d8
CW
83122010-08-01 Colin Watson <cjwatson@ubuntu.com>
8313
8314 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8315 (void) rather than () so that this is a proper prototype.
8316
553df63d
VS
83172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8320
8687cf07
VS
83212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8324 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8325
ea9be8ea
CW
83262010-08-01 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8329
6eea041a
CW
83302010-08-01 Colin Watson <cjwatson@ubuntu.com>
8331
8332 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8333
2cfb45df
CW
83342010-08-01 Colin Watson <cjwatson@ubuntu.com>
8335
8336 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8337 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8338 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8339 disable gfxpayload.
8340 (Shell-like scripting): Add real content.
8341 (Serial terminal): Suggest `terminal_input serial; terminal_output
8342 serial' rather than putting the two commands on separate lines,
8343 since console input will be inoperative after the first command.
8344 (menuentry): Document --class, --users, and --hotkey options.
8345 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8346 Vladimir Serbinenko).
8347
7decd202
VS
83482010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
83492010-08-01 Colin Watson <cjwatson@ubuntu.com>
8350
8351 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8352
c882acc0
RM
83532010-08-01 Robert Millan <rmh@gnu.org>
8354
8355 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8356 (grub_find_zpool_from_mount_point): New function prototypes.
8357
8358 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8359 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8360
8361 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8362 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8363 `static' attribute.
8364
8365 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8366 finding zpool from mount point into ...
8367 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8368
8369 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8370 requested path is part of a ZFS pool, use
8371 grub_find_zpool_from_mount_point() to detect its filesystem name,
8372 and generate a path with `/fsname@path' syntax.
8373
deb0caa3
RM
83742010-08-01 Robert Millan <rmh@gnu.org>
8375
8376 Prevent accidental use of uninitialized libzfs_handle.
8377
8378 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8379 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8380 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8381
ce04ef47
CW
83822010-08-01 Colin Watson <cjwatson@ubuntu.com>
8383
8384 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8385 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8386
ebf53056
RM
83872010-08-01 Robert Millan <rmh@gnu.org>
8388
8389 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 8390
3710bb6b
RM
83912010-07-31 Robert Millan <rmh@gnu.org>
8392
8393 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8394
8072efeb
RM
83952010-07-31 Robert Millan <rmh@gnu.org>
8396
8397 * kern/emu/misc.c: Add missing license header.
8398
3169f4c7
RM
83992010-07-31 Robert Millan <rmh@gnu.org>
8400
8401 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8402
8403 * include/grub/util/libnvpair.h: Include `<config.h>'.
8404 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8405 declaring libnvpair prototypes ourselves.
8406 * include/grub/util/libzfs.h: Include `<config.h>'.
8407 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8408 declaring libzfs prototypes ourselves.
8409
8410 (libzfs_handle): Moved to ...
8411 * include/grub/util/misc.h (libzfs_handle): ... here.
8412 Include `<grub/util/libzfs.h>'.
8413
c9a00aee
RM
84142010-07-30 Robert Millan <rmh@gnu.org>
8415
8416 * include/grub/emu/misc.h: Add missing license header.
8417
a184f9c8
RM
84182010-07-30 Robert Millan <rmh@gnu.org>
8419
8420 Enable `grub-probe -t device' resolution on ZFS.
8421
8422 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8423 * include/grub/util/libnvpair.h: New file.
8424 * include/grub/util/libzfs.h: New file.
8425
8426 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8427 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8428 `<grub/util/libnvpair.h>'.
8429 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8430
8431 (find_mount_point_from_dir): New static function.
8432 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8433 function.
8434 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8435 find_root_device_from_libzfs() before ressorting to find_root_device().
8436
8437 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8438 prototype.
8439 * util/misc.c: Include `<grub/util/libzfs.h>'.
8440 (grub_util_init_libzfs): New function.
8441 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8442 [HAVE_LIBZFS] (fini_libzfs): New static function.
8443 (grub_util_init_libzfs): New function.
8444 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8445
f7790cdd
RM
84462010-07-30 Robert Millan <rmh@gnu.org>
8447
8448 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8449 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8450 `warn_unused_result' attribute.
8451 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8452 (grub_xasprintf, grub_xvasprintf): Likewise.
8453 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8454
0806b63c
RM
84552010-07-29 Robert Millan <rmh@gnu.org>
8456
8457 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8458 (probe): Handle `PRINT_FS_LABEL'.
8459 (main): Handle `-t fs_label'.
8460
9f841f5c
RM
84612010-07-29 Robert Millan <rmh@gnu.org>
8462
8463 * configure.ac: Remove grub-mkisofs checks.
8464
46371121
VS
84652010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8468 Reported by: Lennart Sorensen.
8469
84702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8473 prior to terminal_input/terminal_output separation. It's been over 1.5
8474 years and those versions weren't widely deployed.
8475
a9600892
CW
84762010-07-22 Colin Watson <cjwatson@ubuntu.com>
8477
8478 * disk/raid.c (insert_array): Don't count named arrays when looking
8479 for unused array numbers.
697e053c 8480 Reported and tested by: Michael Guntsche.
a9600892 8481
c03507df
CW
84822010-07-20 Colin Watson <cjwatson@ubuntu.com>
8483
8484 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8485 implementation of this so that grub-emu links again, with a note
8486 that this should support hotplugging in the future.
8487
b26f1c11
CW
84882010-07-20 Colin Watson <cjwatson@ubuntu.com>
8489
8490 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8491
efc9d7f1
CW
84922010-07-20 Colin Watson <cjwatson@ubuntu.com>
8493
8494 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8495 handle on failure.
8496 (grub_loopback_close): Remove empty function.
8497 (grub_loopback_dev): Remove close method.
8498
dd8ff5c9
CW
84992010-07-20 Colin Watson <cjwatson@ubuntu.com>
8500
8501 Disable EFI cursor when the EFI console becomes inactive.
8502
8503 * term/efi/console.c (grub_efi_console_init): New function.
8504 (grub_efi_console_fini): New function.
8505 (grub_console_term_output): Register init and fini methods.
8506
5e3bec67
VS
85072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8510 sh script.
8511
afaec079
VS
85122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * disk/loopback.c (grub_loopback): Replace filename with file.
8515 (delete_loopback): Handle new semantics.
8516 (grub_cmd_loopback): Likewise.
8517 (grub_loopback_iterate): Likewise.
8518 (grub_loopback_close): Likewise.
8519
a6a11f3c
VS
85202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8523 with -p "".
8524 Reported by: Tito Keitel.
8525
64a638b0
VS
85262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * docs/grub.texi (Naming convention): Document new naming convention.
8529
ab8ba957
VS
85302010-07-20 Vadim Solomin <vadic052@gmail.com>
85312010-07-20 Colin Watson <cjwatson@ubuntu.com>
8532
8533 Generate device.map in something closer to the old ordering.
8534
8535 * util/deviceiter.c (struct device): New declaration.
8536 (compare_file_names): Rename to ...
8537 (compare_devices): ... this. Sort by kernel name in preference to
8538 the stable by-id name, but keep the latter as a fallback comparison.
8539 Update header comment.
8540 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8541 of `struct device' rather than of plain file names.
8542
a29d6a4b
TF
85432010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8544
8545 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8546 on i386.
8547
39d824e8
VS
85482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8551 hardcoding size.
8552 (setv1table): Likewise.
8553
f058276b
FZ
85542010-07-20 Colin Watson <cjwatson@ubuntu.com>
8555
8556 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8557 removing the homehost if present.
8558 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8559 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8560 removing the homehost if present.
8561 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8562 if possible.
8563 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8564
8565 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8566 parameter. Set its pointer target to 0.
8567 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8568 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8569 `data_offset' value from the superblock for 1.x metadata.
8570 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8571 data on the device.
8572 (insert_array): Record the start sector of data on the device.
8573 (grub_raid_register): Pass start_sector parameters to
8574 grub_raid_list->detect and insert_array.
8575 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8576 member.
8577 (struct grub_raid): Add start_sector parameter to `detect'.
8578
8579 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8580 __attribute__ ((packed)), leaving a comment.
8581 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8582 (grub_mdraid_detect_09): ... here and ...
8583 (grub_mdraid_detect_1x): ... here.
8584
85852010-07-20 Peter Henn <peter.henn@web.de>
8586
8587 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8588 chunk size and disk size, which are already given as sector counts
8589 as distinct from the 0.90 units. Fetch the correct device number
8590 from the role table instead of using the table index.
8591
85922010-07-20 Felix Zielcke <fzielcke@z-51.de>
8593
8594 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8595 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8596 (WriteMostly1): New macro.
8597 Set array->name to NULL for metadata format 0.90. Add support for
8598 metadata 1.x. Fix some comments.
8599 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8600 few comments.
8601 * util/getroot.c (grub_util_get_grub_dev): Add support for
8602 /dev/md/name style devices.
8603
4b761da9
CW
86042010-07-20 Colin Watson <cjwatson@ubuntu.com>
8605
8606 * .bzrignore: Ignore 20_linux_xen.
8607
5771289a
CW
86082010-07-17 Colin Watson <cjwatson@ubuntu.com>
8609
8610 * util/import_unicode.py: Remove unnecessary imports.
8611
5dab68df
AN
86122010-07-17 Aleš Nesrsta <starous@volny.cz>
8613
8614 Hotplugging and USB hub support.
8615
8616 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8617 (grub_ohci): Likewise.
8618 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8619 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8620 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8621 (GRUB_OHCI_CTRL_EDS): Likewise.
8622 (GRUB_OHCI_BULK_EDS): Likewise.
8623 (GRUB_OHCI_TDS): Likewise.
8624 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8625 (grub_ohci_ed_phys2virt): New function.
8626 (grub_ohci_virt_to_phys): Likewise.
8627 (grub_ohci_td_phys2virt): Likewise.
8628 (grub_ohci_td_virt2phys): Likewise.
8629 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8630 attachment.
8631 (grub_ohci_find_ed): New function.
8632 (grub_ohci_alloc_td): Likewise.
8633 (grub_ohci_free_td): Likewise.
8634 (grub_ohci_free_tds): Likewise.
8635 (grub_ohci_transfer): Use previously allocated memory.
8636 (grub_ohci_portstatus): Reset status changed bit.
8637 (grub_ohci_detect_dev): Supply status changed.
8638 (grub_ohci_fini_hw): Free memory.
8639 (grub_ohci_restore_hw): Reallocate memory.
8640 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8641 Reset status change.
8642 (grub_uhci_detect_dev): Supply status_change.
8643 * bus/usb/usb.c (attach_hooks): New var.
8644 (grub_usb_device_attach): New function.
8645 (grub_usb_register_attach_hook_class): Likewise.
8646 (grub_usb_unregister_attach_hook_class): Likewise.
8647 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8648 (grub_usb_add_hub): Reset connection changed bit.
8649 (attach_root_port): New function.
8650 (grub_usb_root_hub): Likewise.
8651 (poll_nonroot_hub): Likewise.
8652 (grub_usb_poll_devices): Likewise.
8653 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8654 * disk/usbms.c (grub_usbms_open): Use device hooks.
8655 (grub_usbms_iterate) :Poll devices.
8656 (grub_usbms_finddevs): Split into ...
8657 (grub_usbms_attach): ... this ...
8658 (grub_usbms_attach): ... and this.
8659 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8660 in detect_dev.
8661 (grub_usb_interface): New fields attached and detach_hook.
8662 (grub_usb_attach_hook_class): New type.
8663 (grub_usb_attach_desc): New struct.
8664 (grub_usb_register_attach_hook_class): New function.
8665 (grub_usb_unregister_attach_hook_class): Likewise.
8666 (grub_usb_poll_devices): Likewise.
8667 (grub_usb_device_attach): Likewise.
8668 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8669 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8670
3222efaf
VS
86712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8674 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8675 delta determination style. Works with most NetBSD partitions too.
8676
139b714a
VS
86772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8680 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8681
986aad56
VS
86822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8685
99be513c
AB
86862010-07-14 Anton Blanchard <anton@samba.org>
8687
8688 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8689 ET_DYN files.
8690
18075f62
GS
86912010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8692
8693 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8694
8d9a5b15
GS
86952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8696
8697 * kern/partition.c (grub_partition_check_containment): New function to
8698 check that a partition is physically contained in a parent. Since
8699 offsets are relative (and non-negative), this reduces to checking that
8700 the partition ends before its parent.
8701 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8702 (grub_partition_iterate): Likewise.
8703 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8704 comments.
8705 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8706 partitions that start before their parent, and add debug printfs.
8707
19563c25
CW
87082010-07-13 Colin Watson <cjwatson@ubuntu.com>
8709
8710 * Makefile.in (.SUFFIX): Spell correctly, as ...
8711 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8712 bare module name without `.mod', e.g. `test') tried to invoke a
8713 Modula-2 compiler.
8714
1a1f1e67
CW
87152010-07-13 Colin Watson <cjwatson@ubuntu.com>
8716
8717 * README: Point to the Info manual.
8718
811b0dca
JS
87192010-07-13 Jiro SEKIBA <jir@unicus.jp>
8720
8721 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8722 2nd superblock position from partition size.
8723
e4f4eafc
CW
87242010-07-10 Colin Watson <cjwatson@ubuntu.com>
8725
8726 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8727 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8728 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8729 outputs.
8730
4274c30f
VS
87312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 Restructure SCSI .id handling.
8734 Reported and tested by: Aleš Nesrsta.
8735
8736 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8737 (grub_atapi_dev): Changed .name to "ata". New field .id.
8738 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8739 (grub_usbms_dev): New field .id.
8740 * disk/scsi.c (grub_scsi_iterate): Generate name.
8741 (grub_scsi_open): Parse name.
8742 * include/grub/scsi.h (grub_make_scsi_id): New function.
8743 (grub_scsi_dev): Change iterate and open to number instead of naming
8744 busses. All users updated.
8745 (grub_scsi): Remove name. Add .bus.
8746
5bc24388
VS
87472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * commands/help.c (grub_cmd_help): Fix a typo.
8750
249975ba
VS
87512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8754 Reported and tested by: Colin Watson.
8755
3eaac1a1
VS
87562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8759 in this context.
8760
becce1b1
VS
87612010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8764
f7bf0918
CW
87652010-07-07 Colin Watson <cjwatson@ubuntu.com>
8766
8767 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8768 indentation.
8769
0b0f9620
CW
87702010-07-06 Colin Watson <cjwatson@ubuntu.com>
8771
8772 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8773 and disk/raid6_recover.c.
8774 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8775 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8776
1e545469
CW
87772010-07-06 Colin Watson <cjwatson@ubuntu.com>
8778
8779 * term/gfxterm.c (repaint_schedulded): Rename to ...
8780 (repaint_scheduled): ... this. Update all callers.
8781 (repaint_was_schedulded): Rename to ...
8782 (repaint_was_scheduled): ... this. Update all callers.
8783
5357687a
CW
87842010-07-06 Colin Watson <cjwatson@ubuntu.com>
8785
8786 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8787 which we expect to be handled by upper layers.
8788
29d7e783
BC
87892010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8790
8791 * bus/usb/usbhub.c: #include time.h header.
8792
37582066
CW
87932010-07-06 Colin Watson <cjwatson@ubuntu.com>
8794
8795 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8796 entry_name also for entries without stat blocks (e.g. ".."); fixes
8797 corruption of the first entry in a directory.
8798
c8c06953
CW
87992010-07-06 Colin Watson <cjwatson@ubuntu.com>
8800
8801 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8802 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8803 doesn't work otherwise.
8804
e75056f1
CW
88052010-07-05 Colin Watson <cjwatson@ubuntu.com>
8806
8807 * docs/grub.texi (Features): Update list of supported file systems.
8808 (GNU/Linux): Update for GRUB 2.
8809 (Serial terminal): Remove mention of --disable-serial, which was a
8810 GRUB Legacy configure option. Update instructions to use
8811 `terminal_input' and `terminal_output' rather than `terminal'.
8812 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8813 configuration' and `Installing GRUB using grub-install'.
8814 (Menu entry editor): Update for GRUB 2.
8815 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8816 Document new -a, -u, and -v options.
8817 (initrd): New section.
8818 (initrd16): New section.
8819 (linux): New section.
8820 (linux16): New section.
8821 (search): The `var' argument to `--set' is optional.
8822 (GRUB only offers a rescue shell): Go into a little more detail on
8823 drive ordering.
8824
5cf69151
CW
88252010-07-05 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8828
e3f90044
CW
88292010-07-05 Colin Watson <cjwatson@ubuntu.com>
8830
8831 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8832 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8833
38d8f4f3
CW
88342010-07-05 Colin Watson <cjwatson@ubuntu.com>
8835
8836 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8837 install_prefix, in line with install_dos_part and install_bsd_part.
8838 Add new prefix variable, which is copied to install_prefix after
8839 comparing core.img in memory with the one read from disk in the
8840 no-embedding case, and use that rather than overwriting
8841 install_prefix immediately when installing to a partition.
8842 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8843 Bicakci.
8844
57ebd41e
GS
88452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8846
8847 * configure.ac: Avoid == in test command, it's not portable.
8848 * util/grub.d/30_os-prober.in: Likewise.
8849
cb7f64b2
CW
88502010-07-04 Colin Watson <cjwatson@ubuntu.com>
8851
8852 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8853
6b654bb0
GS
88542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8855
8856 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8857 multiple (top-level) partmaps.
8858
72a2026d
VS
88592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 8862 Reported by: Tino Keitel.
72a2026d 8863
df3eb88f
VS
88642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 Bidi and diacritics support.
8867
8868 * Makefile.in (widthspec.bin): New target.
8869 (widthspec.h): Likewise.
8870 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8871 * autogen.sh: Generate unidata.c.
8872 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8873 * commands/ls.c (grub_ls_list_devices): Likewise.
8874 (grub_ls_list_files): Likewise.
8875 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8876 (grub_mini_cmd_lsmod): Likewise.
8877 * commands/read.c: Likewise.
8878 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8879 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8880 * lib/arg.c (grub_arg_show_help): Likewise.
8881 * lib/crypto.c (grub_password_get): Likewise.
8882 * normal/auth.c (grub_username_get): Likewise.
8883 * normal/misc.c (grub_normal_print_device_info): Likewise.
8884 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8885 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8886 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8887 (normal/charset.c_DEPENDENCIES): New variable.
8888 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8889 (pkglib_MODULES): Remove charset.mod.
8890 (charset_mod_SOURCES): Removed.
8891 (charset_mod_CFLAGS): Likewise.
8892 (charset_mod_LDFLAGS): Likewise.
8893 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8894 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8895 and term/tparm.c.
8896 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8897 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8898 (kernel_img_HEADERS): Add terminfo.h.
8899 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8900 Fill ->font. Reverse ascii bitmaps.
8901 (grub_font_get_xheight): New function.
8902 * font/font.c (grub_font_get_string_width): Moved from here ...
8903 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8904 * font/font.c (grub_font_draw_string): Moved from here ...
8905 * gfxmenu/font.c (grub_font_draw_string): ... here.
8906 * font/font.c (grub_font_dup_glyph): New function.
8907 (grub_font_blit_glyph): Likewise.
8908 (grub_font_blit_glyph_mirror): Likewise.
8909 (blit_comb): Likewise.
8910 (grub_font_construct_dry_run): Likewise.
8911 (grub_font_get_constructed_device_width): Likewise.
8912 (grub_font_construct_glyph): Likewise.
8913 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8914 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8915 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8916 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8917 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8918 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8919 (grub_font_get_xheight): New proto.
8920 (grub_font_get_constructed_device_width): Likewise.
8921 (grub_font_construct_glyph): Likewise.
8922 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8923 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8924 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8925 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8926 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8927 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8928 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8929 (grub_console_getcharwidth): Likewise.
8930 * include/grub/misc.h (grub_xputs): New proto.
8931 (grub_puts): Inlined.
8932 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8933 (grub_normal_get_line_counter): Removed.
8934 (grub_install_newline_hook): Likewise.
8935 (grub_normal_get_char_counter): New proto.
8936 (grub_normal_reset_more): Likewise.
8937 (grub_xputs_normal): Likewise.
8938 * include/grub/powerpc/ieee1275/console.h: Removed.
8939 * include/grub/sparc64/ieee1275/console.h: Likewise.
8940 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8941 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8942 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8943 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8944 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8945 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8946 (grub_term_input): Pass reference to self. All users updated.
8947 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8948 Pass reference to self. New fields normal_color, highlight_color and
8949 data. All users updated.
8950 (grub_putchar): Removed.
8951 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8952 (grub_unicode_estimate_width): New function.
8953 (grub_term_getcharwidth): Add defaults.
8954 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8955 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8956 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8957 (grub_cls): Remove EXPORT_FUNC.
8958 (grub_setcolorstate): Inline.
8959 (grub_newline_hook): Removed.
8960 * include/grub/terminfo.h: Rewritten. All users updated.
8961 * include/grub/unicode.h: New file.
8962 * include/grub/video.h (grub_video_signed_rect): New type.
8963 * kern/emu/console.c (grub_console_highlight_color): Removed.
8964 (grub_console_normal_color): Likewise.
8965 (grub_console_standard_color): Made static.
8966 (grub_ncurses_putchar): Remove mapping.
8967 (grub_ncurses_getcharwidth): Removed.
8968 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8969 (grub_ncurses_setcolor): Removed.
8970 (grub_ncurses_getcolor): Likewise.
8971 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8972 (grub_console_putchar): ... this.
8973 (grub_console_putchar): Handle argument difference.
8974 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8975 console_init_early and console_init_lately.
8976 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8977 * kern/misc.c (grub_puts): Removed.
8978 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8979 (grub_vsnprintf_real): Remove str = NULL support.
8980 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8981 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8982 * kern/term.c (grub_putcode): Renamed to ...
8983 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8984 (grub_putchar): Removed.
8985 (grub_xputs_dumb): New function.
8986 (grub_xputs): New variable.
8987 * lib/charset.c: Move from here ...
8988 * normal/charset.c: ... to here.
8989 (grub_ucs4_to_utf8): New function.
8990 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8991 (join_types): New variable.
8992 (unpack_join): New function.
8993 (bidi_types): New variable.
8994 (unpack_bidi): New function.
8995 (get_bidi_type): Likewise.
8996 (get_join_type): Likewise.
8997 (is_mirrored): Likewise.
8998 (grub_unicode_get_comb_type): Likewise.
8999 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
9000 (is_type_after): Likewise.
9001 (grub_unicode_aglomerate_comb): Likewise.
9002 (bidi_line_wrap): Likewise.
9003 (grub_bidi_line_logical_to_visual): Likewise.
9004 (grub_bidi_logical_to_visual): Likewise.
9005 (grub_unicode_mirror_code): Likewise.
9006 (grub_unicode_shape_code): Likewise.
9007 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
9008 Don't use grub_putchar.
9009 * normal/main.c (grub_normal_init_page): Use grub_putcode.
9010 (grub_normal_reader_init): Likewise.
9011 (grub_xputs_saved): New variable.
9012 (GRUB_MOD_INIT): Set grub_xputs.
9013 (GRUB_MOD_FINI): Restore grub_xputs.
9014 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
9015 (menu_init): Avoid printing gfxmenu error.
9016 (show_menu): Use grub_normal_get_char_counter.
9017 * normal/menu_entry.c (update_screen): Fix out-of-array.
9018 (complete): Avoid NULL dereferencing.
9019 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
9020 * normal/menu_text.c (print_spaces): Removed.
9021 (grub_print_ucs4): Likewise.
9022 (grub_print_message_indented): Use grub_print_ucs4.
9023 (print_message): Use grub_putcode.
9024 (print_entry): Hanlde diacritics.
9025 * normal/term.c (term_state): New type.
9026 (grub_more_lines): Removed.
9027 (term_states): New variable.
9028 (grub_normal_line_counter): Renamed to ..
9029 (grub_normal_char_counter): ...this. All users updated.
9030 (grub_normal_get_line_counter): Renamed to ...
9031 (grub_normal_get_char_counter): ... this.
9032 (grub_normal_reset_more): New function.
9033 (process_newline): Removed.
9034 (print_more): New function.
9035 (grub_install_newline_hook): Removed.
9036 (map_code): New function.
9037 (grub_puts_terminal): Use grub_print_ucs4.
9038 (putglyph): New function.
9039 (putcode_real): Likewise.
9040 (grub_putcode): Use putcode_real.
9041 (get_maxwidth): New function.
9042 (get_startwidth): Likewise.
9043 (print_ucs4_terminal): Likewise.
9044 (find_term_state): Likewise.
9045 (put_glyphs_terminal): Likewise.
9046 (print_backlog): Likewise.
9047 (print_ucs4_real): Likewise.
9048 (grub_print_ucs4): Likewise.
9049 (grub_xputs_normal): Likewise.
9050 * term/efi/console.c (grub_console_putchar): Output diacritics.
9051 (grub_console_getcharwidth): Removed.
9052 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9053 * term/gfxterm.c (clear_char): Free chars.
9054 (scroll_up): Avoid leaking memory.
9055 (grub_gfxterm_putchar): Support diacritics.
9056 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9057 * term/i386/pc/console.c (grub_console_term_output): Declare as
9058 GRUB_TERM_CODE_TYPE_VGA.
9059 * term/i386/pc/vga.c (grub_vga_term): Declare as
9060 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9061 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9062 GRUB_TERM_CODE_TYPE_VGA.
9063 * term/i386/vga_common.c (map_char): Removed.
9064 (grub_console_putchar): Likewise.
9065 (grub_console_getcharwidth): Likewise.
9066 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9067 (colors): Reordered to match terminfo.
9068 (grub_ofconsole_normal_color): Removed.
9069 (grub_ofconsole_writeesc): Likewise.
9070 (grub_ofconsole_highlight_color): Likewise.
9071 (grub_ofconsole_getcharwidth): Likewise.
9072 (grub_ofconsole_setcolorstate): Likewise.
9073 (grub_ofconsole_setcolor): Likewise.
9074 (grub_ofconsole_getcolor): Likewise.
9075 (grub_ofconsole_readkey): Renamed to ...
9076 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9077 key.
9078 (grub_ofconsole_checkkey): Removed.
9079 (grub_ofconsole_getkey): Likewise.
9080 (grub_ofconsole_getxy): Likewise.
9081 (grub_ofconsole_gotoxy): Likewise.
9082 (grub_ofconsole_cls): Likewise.
9083 (grub_ofconsole_refresh): Likewise.
9084 (grub_ofconsole_terminfo_input): New struct.
9085 (grub_ofconsole_terminfo_output): Likewise.
9086 (grub_ofconsole_term_input): Use terminfo.
9087 (grub_ofconsole_term_output): Likewise.
9088 (grub_console_init): Split into ...
9089 (grub_console_init_early): ...this and ...
9090 (grub_console_init_lately): ...this. Use terminfo.
9091 (grub_ofconsole_putchar): Renamed to ...
9092 (put): ... this. Remove mapping.
9093 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9094 * term/serial.c: Simplify using terminfo.
9095 (xpos): Removed.
9096 (ypos): Likewise.
9097 (keep_track): Likewise.
9098 (registered): Likewise.
9099 (input_buf): Likewise.
9100 (npending): Likewise.
9101 (serial_translate_key_sequence): Likewise.
9102 (fill_input_buf): Likewise.
9103 (grub_serial_checkkey): Likewise.
9104 (grub_serial_getkey): Likewise.
9105 (grub_serial_getxy): Likewise.
9106 (grub_serial_gotoxy): Likewise.
9107 (grub_serial_putchar): Likewise.
9108 (grub_serial_cls): Likewise.
9109 (grub_serial_setcolorstate): Likewise.
9110 (grub_serial_setcursor): Likewise.
9111 (serial_hw_init): Use serial_hw_fetch.
9112 (grub_serial_terminfo_input): New variable.
9113 (grub_serial_terminfo_output): Likewise.
9114 (grub_serial_term_input): Use terminfo.
9115 (grub_serial_term_output): Likewise.
9116 * term/terminfo.c (putstr): Use put.
9117 (grub_terminfo_all_free): New function
9118 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9119 (grub_terminfo_output_register): New function.
9120 (grub_terminfo_output_unregister): Likewise.
9121 (grub_terminfo_getxy): Likewise.
9122 (grub_terminfo_readkey): Likewise.
9123 (grub_terminfo_checkkey): Likewise.
9124 (grub_terminfo_getkey): Likewise.
9125 (grub_terminfo_input_init): Likewise.
9126 (print_terminfo): Likewise.
9127 (grub_cmd_terminfo): Handle encoding.
9128 (grub_terminfo_gotoxy): Track position.
9129 (grub_terminfo_cls): Likewise.
9130 (grub_terminfo_putchar): Likewise.
9131 (grub_terminfo_setcolorstate): Handle colors
9132 (grub_terminfo_cursor_on): This ...
9133 (grub_terminfo_cursor_off): ... and this merged into ...
9134 (grub_terminfo_setcursor): ... this.
9135 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9136 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9137 * unicode/BidiMirroring.txt: Likewise.
9138 * unicode/UnicodeData.txt: Likewise.
9139 * unicode/COPYING: Likewise.
9140 * util/grub-editenv.c (grub_putchar): Removed.
9141 (grub_xputs_real): New function.
9142 (grub_xputs): New variable.
9143 * util/grub-fstest.c (grub_putchar): Removed.
9144 (grub_xputs_real): New function.
9145 (grub_xputs): New variable.
9146 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9147 (grub_xputs_real): New function.
9148 (grub_xputs): New variable.
9149 * util/grub-probe.c (grub_putchar): Removed.
9150 (grub_xputs_real): New function.
9151 (grub_xputs): New variable.
9152 * util/grub-script-check.c (grub_putchar): Removed.
9153 (grub_xputs_real): New function.
9154 (grub_xputs): New variable.
9155 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9156 (grub_xputs_real): New function.
9157 (grub_xputs): New variable.
9158 * util/import_unicode.py: New file.
9159 * util/grub-mkfont.c (ft_errmsgs): New array.
9160 (grub_glyph_info): Make bitmap a pointer.
9161 (file_formats): New type WIDTH_SPEC.
9162 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9163 (options): Add width-spec.
9164 (help): Likewise.
9165 (add_char): Renamed to ...
9166 (add_glyph): ... this.
9167 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9168 (glyph_replace): New type.
9169 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9170 (add_char): New function.
9171 (add_subst): Likewise.
9172 (process_cursive): Likewise.
9173 (add_font): Handle GSUB.
9174 (write_font_width_spec): New function.
9175 (main): Sort glyphs.
9176 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9177 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9178 * kern/term.c (grub_cls): Moved from here...
9179 * normal/term.c (grub_cls): ... here.
9180
50f0bcda
CW
91812010-07-02 Colin Watson <cjwatson@ubuntu.com>
9182
9183 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9184 suitable for using within the format argument of printf when
9185 converting grub_size_t.
9186 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9187 "x" to convert grub_size_t arguments.
9188
40372103
VS
91892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9192 too long captions.
9193 (list_get_minimal_size): Take selection box into account.
9194
942a10c7
VS
91952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9198 NULL font.
9199
2bdb2892
CW
92002010-07-02 Colin Watson <cjwatson@ubuntu.com>
9201
9202 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9203 devices when iterating over /dev/disk/by-id; they will be handled
9204 later if appropriate, which they aren't always (e.g. LVM).
9205
e03ed6c1
CW
92062010-07-02 Colin Watson <cjwatson@ubuntu.com>
9207
9208 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9209 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9210 fails.
9211 (grub_halt): Likewise.
9212 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9213 reset-all fails.
9214 (grub_halt): Don't return, even if all of shut-down, power-off, and
9215 poweroff fail.
9216
47695765
CW
92172010-07-02 Colin Watson <cjwatson@ubuntu.com>
9218
9219 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9220 arguments, not three.
9221
507736c8
CW
92222010-07-02 Colin Watson <cjwatson@ubuntu.com>
9223
9224 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9225 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9226 LVM-on-RAID is handled correctly.
9227
e3c8cd37
CW
92282010-07-02 Colin Watson <cjwatson@ubuntu.com>
9229
9230 * docs/grub.texi (Changes from GRUB Legacy): New section.
9231 (Future): Fix typo.
9232
8d4a2fec
CW
92332010-07-02 Colin Watson <cjwatson@ubuntu.com>
9234
9235 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9236 grub.d/README accidentally ends up executable for one reason or
9237 another. Ignore it.
9238
1c4827be
VS
92392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9242 (gpt_partition_map_iterate): Support non-512B sectors.
9243
d9a0c941
VS
92442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9247 Tested by: Seth Goldberg.
9248
48f27e87
VS
92492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9252 Properly align mbi.
9253 Reported by: Seth Goldberg.
9254
b0c4f956
VS
92552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * util/grub-mkrescue.in: Avoid module duplication.
9258
105a2e8c
SF
92592010-07-01 Sean Finney <seanius@seanius.net>
9260
9261 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9262
5944958c
SF
92632010-07-01 Sean Finney <seanius@seanius.net>
9264
9265 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9266
92672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * disk/lvm.c (grub_lvm_checkvalue): New function.
9270 (grub_lvm_check_flag): Likewise.
9271
b79889ba
RM
92722010-07-01 Robert Millan <rmh@gnu.org>
9273
9274 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9275 Support 'p' as partition separator on kernel of FreeBSD (used
9276 with GPT labels).
9277 (grub_util_biosdisk_get_grub_dev): Likewise.
9278
ec1d04f1
VS
92792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Yeeloong firmware port.
9282
9283 * boot/mips/yeeloong/fwstart.S: New file.
9284 * bus/cs5536.c (gpiodump): New const.
9285 (set_io_space): New function.
9286 (set_iod): Likewise.
9287 (set_p2d): Likewise.
9288 (grub_cs5536_init_geode): Likewise.
9289 * commands/mips/yeeloong/lsspd.c: New file.
9290 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9291 (serial_mod_SOURCES): New variable.
9292 (serial_mod_CFLAGS): Likewise.
9293 (serial_mod_LDFLAGS): Likewise.
9294 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9295 term/terminfo.c and term/tparm.c.
9296 (pkglib_IMAGES): Add fwstart.img.
9297 (fwstart_img_SOURCES): New variable.
9298 (fwstart_img_CFLAGS): Likewise.
9299 (fwstart_img_ASFLAGS): Likewise.
9300 (fwstart_img_LDFLAGS): Likewise.
9301 (fwstart_img_FORMAT): Likewise.
9302 (pkglib_MODULES): Add lsspd.mod.
9303 (lsspd_mod_SOURCES): New variable.
9304 (lsspd_mod_CFLAGS): Likewise.
9305 (lsspd_mod_LDFLAGS): Likewise.
9306 (pkglib_MODULES): Add halt.mod.
9307 (halt_mod_SOURCES): New variable.
9308 (halt_mod_CFLAGS): Likewise.
9309 (halt_mod_LDFLAGS): Likewise.
9310 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9311 (serial_mod_SOURCES): Removed.
9312 (serial_mod_CFLAGS): Likewise.
9313 (serial_mod_LDFLAGS): Likewise.
9314 * disk/ata.c (check_device): New function.
9315 (grub_ata_device_initialize): Use check_device.
9316 (grub_ata_iterate): Recheck devices.
9317 (grub_ata_open): Likewise.
9318 (grub_atapi_iterate): Likewise.
9319 (grub_atapi_open): Likewise.
9320 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9321 (GRUB_ATA_CH1_PORT1): Likewise.
9322 (GRUB_ATA_CH0_PORT2): Likewise.
9323 (GRUB_ATA_CH1_PORT2): Likewise.
9324 * include/grub/mips/loongson.h: New file.
9325 * include/grub/mips/yeeloong/ec.h: Likewise.
9326 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9327 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9328 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9329 * include/grub/misc.h (grub_halt): Declare as noreturn.
9330 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9331 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9332 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9333 (UART_ENABLE_DTRRTS): Likewise.
9334 (UART_ENABLE_MODEM): Removed.
9335 (UART_ENABLE_OUT2): New const.
9336 * include/grub/term.h (grub_term_register_input_active): New function.
9337 (grub_term_register_output_active): Likewise.
9338 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9339 argument.
9340 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9341 (init_pci): New function.
9342 (grub_machine_init): Execute platform init when firmware. Init serial.
9343 (grub_halt): Implement.
9344 (grub_exit): Likewise.
9345 (grub_reboot): Likewise.
9346 * term/serial.c (serial_hw_init): Update macros.
9347 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9348 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9349 (image_targets): New target mipsel-yeeloong-flash.
9350 (generate_image): Support IMAGE_YEELOONG_FLASH.
9351 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9352 (grub_video_sm712_setup): Init card.
9353 (grub_video_sm712_set_palette): Removed.
9354 * video/sm712_init.c: New file.
9355
ff4a70d2
CW
93562010-06-30 Colin Watson <cjwatson@ubuntu.com>
9357
9358 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9359 PATH when running help2man and then run it on the unadorned
9360 executable names, rather than passing $(builddir)/* paths to
9361 help2man. This avoids the build directory ending up in generated
9362 manual pages.
9363
1246efeb
CW
93642010-06-29 Colin Watson <cjwatson@ubuntu.com>
9365
9366 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9367 to avoid accidents when debugging with 'sh -x'.
9368 * util/grub-mkrescue.in: Likewise.
9369 * util/grub.d/00_header.in: Likewise.
9370 * util/grub.d/10_hurd.in: Likewise.
9371 * util/grub.d/10_kfreebsd.in: Likewise.
9372 * util/grub.d/10_linux.in: Likewise.
9373 * util/grub.d/10_netbsd.in: Likewise.
9374 * util/grub.d/10_windows.in: Likewise.
9375 * util/grub.d/20_linux_xen.in: Likewise.
9376 * util/grub.d/30_os-prober.in: Likewise.
9377 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9378
1ba9b889
CW
93792010-06-29 Colin Watson <cjwatson@ubuntu.com>
9380
9381 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9382 last character in the buffer.
9383 Reported by: Vladimir Serbinenko.
9384
dccaf99d
RM
93852010-06-29 Robert Millan <rmh@gnu.org>
9386
9387 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9388 (Command-line and menu entry commands): Document `badram' command.
9389
d500ed12
RM
93902010-06-28 Robert Millan <rmh@gnu.org>
9391
9392 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9393 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9394 command using ${GRUB_BADRAM} as parameter.
9395
20bc84a6
CW
93962010-06-28 Colin Watson <cjwatson@ubuntu.com>
9397
9398 * docs/grub.texi (Device map): New section.
9399 (Themes): New section (stub).
9400 * Makefile.in (docs/grub.info): The info documentation now builds
9401 without errors. Make sure it stays that way.
9402
4045dee1
VS
94032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 Use normal parser for menu entries.
9406 Reported by: Thomas Frauendorfer
9407
9408 * include/grub/parser.h (grub_parser_execute): Don't export.
9409 * normal/menu.c (grub_menu_execute_entry_real): New function.
9410 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9411
bca58c7b
CW
94122010-06-28 Colin Watson <cjwatson@ubuntu.com>
9413
9414 * docs/grub.texi (Embedded configuration): New section (replacing
9415 old "Preset Menu" stub).
9416 (Images): New section.
9417 (configfile): Note that any menu entries defined in `file' are shown
9418 immediately.
9419
dec53e63
JT
94202010-06-28 Josh Triplett <josh@joshtriplett.org>
9421
9422 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9423
c06e40f7
CW
94242010-06-28 Colin Watson <cjwatson@ubuntu.com>
9425
9426 * util/grub-install.in: Add --debug-image= option.
9427
cb88052b
CW
94282010-06-28 Colin Watson <cjwatson@ubuntu.com>
9429
9430 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9431 possible on Linux.
9432
9433 * util/deviceiter.c (check_device): Rename to ...
9434 (check_device_readable_unique): ... this. Update all callers.
9435 Maintain and check a list of which devices (by canonicalized name)
9436 have already been seen.
9437 (clear_seen_devices): New function.
9438 (compare_file_names) [__linux__]: New function.
9439 (grub_util_iterate_devices): Clear the list of seen devices on exit
9440 and (just in case) on entry.
9441 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9442 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9443 seen-devices list, superseded by general code in check_device.
9444
bbe34652
CW
94452010-06-28 Colin Watson <cjwatson@ubuntu.com>
9446
9447 * commands/cat.c (options): New variable.
9448 (grub_cmd_cat): Parse options. If the --dos option is given, print
9449 DOS-style "\r\n" line endings as simple newlines (Debian bug
9450 #586358).
9451 (GRUB_MOD_INIT): Use extcmd.
9452 (GRUB_MOD_FINI): Likewise.
9453 * docs/grub.texi (cat): Document --dos.
9454
412e09f3
VS
94552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 XEN with Linux grub-mkconfig support.
9458
9459 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9460 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9461 GRUB_CMDLINE_XEN_DEFAULT.
9462 * util/grub.d/20_linux_xen.in: New file.
9463
53f3ef38 94642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
9465
9466 Initialise VGA video on qemu ourselves.
9467
9468 * boot/i386/qemu/boot.S: Don't call 0xc000.
9469 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9470 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9471 (kernel_img_HEADERS): Add pci.h.
9472 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9473 * configure.ac: Force unifont on qemu and yeeloong.
9474 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9475 (grub_vga_palette_write): Use correct register.
9476 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9477 Call grub_qemu_init_cirrus.
9478 * kern/i386/qemu/init.c: New file.
9479 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9480
9481 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9482
c75be4fb
PR
94832010-06-26 Pavel Roskin <proski@gnu.org>
9484
9485 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9486 13.
9487
d8034603
CW
94882010-06-26 Colin Watson <cjwatson@ubuntu.com>
9489
9490 * docs/grub.texi (Simple configuration): Explain that
9491 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9492 set to `true' to disable their respective recovery entries, not
9493 merely set.
9494
3fa06487
CW
94952010-06-26 Colin Watson <cjwatson@ubuntu.com>
9496
9497 Make the `source' command slightly faster.
9498
9499 * normal/main.c (grub_normal_execute): Don't re-read list files when
9500 nested.
9501
e9b29642
CW
95022010-06-23 Colin Watson <cjwatson@ubuntu.com>
9503
9504 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9505 field position and mask size to red fields from mode_info, not
9506 green.
9507 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9508 Remove redundant tag->common.framebuffer_type assignment.
9509 Reported by: Seth Goldberg.
9510
e726542f
CW
95112010-06-23 Colin Watson <cjwatson@ubuntu.com>
9512
9513 Sync up other versions of the Linux loader with Robert Millan's
9514 change of 2010-01-09, "Make loader output a bit more user-friendly".
9515
9516 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9517 grub_dprintf().
9518 (grub_cmd_linux): Likewise.
9519 (grub_cmd_initrd): Likewise.
9520 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9521 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9522
d6e98a17
CW
95232010-06-21 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9526 larger than MEMORY_MAP_SIZE.
9527
14d3f08e
BC
95282010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9529
9530 Fix parallel build.
9531
9532 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9533 dependency.
9534 * script/parser.y: #include grub_script.tab.h header.
9535
4f9613a3
VS
95362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 Support >3GiB and <16MiB RAM in i386-qemu.
9539
9540 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9541 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9542 (grub_lower_mem): Removed.
9543 (grub_upper_mem): Likewise.
9544 (mem_size): Made static.
9545 (above_4g): New variable.
9546 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9547 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9548 support.
9549
05e51879
VS
95502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Cirrus 5446 and Bochs video cards support.
9553
9554 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9555 video_bochs.mod
9556 (video_cirrus_mod_SOURCES): New variable.
9557 (video_cirrus_mod_CFLAGS): Likewise.
9558 (video_cirrus_mod_LDFLAGS): Likewise.
9559 (video_bochs_mod_SOURCES): Likewise.
9560 (video_bochs_mod_CFLAGS): Likewise.
9561 (video_bochs_mod_LDFLAGS): Likewise.
9562 * include/grub/vga.h: New file.
9563 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9564 (grub_video_fb_set_page_t): New type.
9565 (grub_video_fb_setup): New prototype.
9566 (grub_video_fb_swap_buffers): Likewise.
9567 (grub_video_fb_get_info_and_fini): Likewise.
9568 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9569 (CRTC_DATA_PORT): Likewise.
9570 (CRTC_CURSOR): Likewise.
9571 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9572 (CRTC_CURSOR_ADDR_LOW): Likewise.
9573 (CRTC_CURSOR_DISABLE): Likewise.
9574 (update_cursor): Use grub_vga_cr_write.
9575 (grub_vga_text_setcursor): Likewise.
9576 * video/bochs.c: New file.
9577 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9578 (palette): Likewise.
9579 (palette_size): Likewise.
9580 (framebuffer): New variable.
9581 (grub_video_fb_init): Use 'framebuffer'.
9582 (grub_video_fb_fini): Likewise.
9583 (grub_video_fb_get_info): Likewise.
9584 (grub_video_fb_get_palette): Likewise.
9585 (grub_video_fb_set_palette): Likewise.
9586 (grub_video_fb_set_viewport): Likewise.
9587 (grub_video_fb_get_viewport): Likewise.
9588 (grub_video_fb_map_color): Likewise.
9589 (grub_video_fb_map_rgb): Likewise.
9590 (grub_video_fb_map_rgba): Likewise.
9591 (grub_video_fb_unmap_color): Likewise.
9592 (grub_video_fb_unmap_color_int): Likewise.
9593 (grub_video_fb_fill_rect): Likewise.
9594 (grub_video_fb_blit_bitmap): Likewise.
9595 (grub_video_fb_blit_render_target): Likewise.
9596 (grub_video_fb_scroll): Likewise.
9597 (grub_video_fb_create_render_target): Likewise.
9598 (grub_video_fb_doublebuf_blit_init): Likewise.
9599 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9600 (doublebuf_pageflipping_update_screen): New function.
9601 (doublebuf_pageflipping_init): Likewise.
9602 (grub_video_fb_setup): Likewise.
9603 (grub_video_fb_swap_buffers): Likewise.
9604 (grub_video_fb_get_info_and_fini): Likewise.
9605 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9606 All users updated.
9607 (doublebuf_pageflipping_commit): Restructured into ...
9608 (doublebuf_pageflipping_set_page): ... this.
9609 (doublebuf_pageflipping_update_screen): Removed.
9610 (doublebuf_pageflipping_init): Likewise.
9611 (double_buffering_init): Likewise.
9612 (grub_video_vbe_setup): Use grub_video_fb_setup.
9613 (grub_video_vbe_swap_buffers): Removed.
9614 (grub_video_vbe_set_active_render_target): Likewise.
9615 (grub_video_vbe_get_active_render_target): Likewise.
9616 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9617 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9618 grub_video_fb_set_active_render_target and
9619 grub_video_fb_get_active_render_target.
9620 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9621 (SEQUENCER_DATA_PORT): Likewise.
9622 (MAP_MASK_REGISTER): Likewise.
9623 (CRTC_ADDR_PORT): Likewise.
9624 (CRTC_DATA_PORT): Likewise.
9625 (START_ADDR_HIGH_REGISTER): Likewise.
9626 (START_ADDR_LOW_REGISTER): Likewise.
9627 (GRAPHICS_ADDR_PORT): Likewise.
9628 (GRAPHICS_DATA_PORT): Likewise.
9629 (READ_MAP_REGISTER): Likewise.
9630 (INPUT_STATUS1_REGISTER): Likewise.
9631 (INPUT_STATUS1_VERTR_BIT): Likewise.
9632 (get_map_mask): Use grub_vga_sr_read.
9633 (set_map_mask): Use grub_vga_sr_write.
9634 (set_read_map): Use grub_vga_gr_write.
9635 (set_start_address): Use grub_vga_cr_write.
9636 * video/sm712.c (framebuffer): Remove leftover fields.
9637
4321c64a
CW
96382010-06-20 Colin Watson <cjwatson@ubuntu.com>
9639
9640 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9641 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9642 instead. Replace the gfxterm backend check with a check that
9643 ${GRUB_PREFIX}/video.lst is non-empty.
9644 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9645 again.
9646 (load_video): New generated function. Call it before loading
9647 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9648 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9649 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9650 * docs/grub.texi (Simple configuration): Document
9651 GRUB_VIDEO_BACKEND.
9652
96532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Use video functions in linux and xnu loaders.
9656
9657 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9658 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9659 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9660 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9661 loader/i386/pc/linux.c.
9662 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9663 (find_line_len): Removed.
9664 (find_framebuf): Likewise.
9665 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9666 * loader/i386/efi/xnu.c: Removed.
9667 * loader/i386/pc/xnu.c: Moved from here...
9668 * loader/i386/xnu.c: ...here.
9669
9670 Enable priorities in video drivers.
9671
9672 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9673 (grub_video_adapter): New field prio.
9674 (grub_video_register): Respect prio when inserting.
9675 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9676 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9677 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9678 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9679 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9680 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9681 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9682
9683 Fix SDL driver ID.
9684
9685 * include/grub/video.h (grub_video_driver_id_t): New value
9686 GRUB_VIDEO_DRIVER_SDL.
9687 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9688
7d24e434
CW
96892010-06-17 Colin Watson <cjwatson@ubuntu.com>
9690
9691 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9692 argument to printf.
9693 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9694
c88a83f6
CW
96952010-06-17 Colin Watson <cjwatson@ubuntu.com>
9696
9697 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9698 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9699
094dfb69
CW
97002010-06-17 Colin Watson <cjwatson@ubuntu.com>
9701
9702 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9703 directly, and recommend grub-install instead.
9704 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9705
2164da6b
CW
97062010-06-17 Colin Watson <cjwatson@ubuntu.com>
9707
9708 Fix i386-pc prefix handling with nested partitions (Debian bug
9709 #585068). Note that the case where the core image is booted using
9710 multiboot and relocated from its original location still requires
9711 more work.
9712
9713 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9714 with "(,", fill the boot drive in between those two characters, but
9715 expect that a full partition specification including partition map
9716 names will follow.
9717 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9718 specified, write a prefix without the drive name but including a
9719 full partition specification.
9720
044e2e60
CW
97212010-06-16 Colin Watson <cjwatson@ubuntu.com>
9722
9723 * util/grub-mkconfig.in: Ignore non-option arguments, for
9724 compatibility with older versions (before 2010-06-12) which did the
9725 same. In particular, this makes it easier to ship an update-grub
9726 wrapper which is compatible with that used with GRUB Legacy (Debian
9727 bug #586056).
9728
5591324f
GS
97292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9730
9731 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9732 for manual page generation.
9733
662e24d5
GS
97342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9735
9736 * po/POTFILES: Remove leftover commands/handler.c.
9737
8d70754e
CW
97382010-06-14 Colin Watson <cjwatson@ubuntu.com>
9739
9740 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9741 left this script non-functional.
9742
41160e2e
CW
97432010-06-14 Colin Watson <cjwatson@ubuntu.com>
9744
9745 * docs/man/grub-emu.h2m: New file.
9746
b5309cc1
CW
97472010-06-13 Colin Watson <cjwatson@ubuntu.com>
9748
9749 * docs/grub.texi (Commands): Document reduced command set in rescue
9750 mode.
9751 (cpuid): New section.
9752
fcb2d090
GS
97532010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9754
9755 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9756 new partition naming style.
9757 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9758
96e5c556
BC
97592010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9760
9761 Add "-o grub.iso" like cmdline options support.
9762
9763 * util/grub-install.in: Improve cmdline option parsing.
9764 * util/grub-mkconfig.in: Likewise.
9765 * util/grub-mkrescue.in: Likewise.
9766 * util/grub-reboot.in: Likewise.
9767 * util/grub-set-default.in: Likewise.
9768 * util/i386/efi/grub-install.in: Likewise.
9769 * util/ieee1275/grub-install.in: Likewise.
9770 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9771
c16be99b
CW
97722010-06-12 Colin Watson <cjwatson@ubuntu.com>
9773
9774 * .bzrignore: Ignore 41_custom.
9775
ce08a9fb
TS
97762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9777
9778 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9779
7beac90c
CW
97802010-06-12 Colin Watson <cjwatson@ubuntu.com>
9781
9782 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9783 prototype declarations.
9784
9785 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9786 generating fs, partmap, and video lists.
9787 * include/grub/fs.h (grub_fs_register): Omit prototype if
9788 GRUB_LST_GENERATOR is defined.
9789 * include/grub/partition.h (grub_partition_map_register): Likewise.
9790 * include/grub/video.h (grub_video_register): Likewise.
9791
1c8f0f8d
JM
97922010-06-12 Javier Martín <lordhabbit@gmail.com>
9793
9794 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9795
a6085973
TS
97962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9797
9798 * util/grub-mkrescue.in: Support --xorriso argument.
9799
25c56d29
VS
98002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9803 Suggested by: Thomas Schmitt.
9804
e03e4b24
VS
98052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9808 Suggested by: Thomas Schmitt.
9809
57711df6
VS
98102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 custom.cfg support.
9813
9814 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9815 * util/grub.d/41_custom.in: New file.
9816
ee62c427
CW
98172010-06-12 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9820 been merged back into normal.
9821
283af07a
CW
98222010-06-11 Colin Watson <cjwatson@ubuntu.com>
9823
9824 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9825 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9826
56a0d956
CW
98272010-06-11 Colin Watson <cjwatson@ubuntu.com>
9828
9829 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9830 when generating manual pages.
9831 * docs/man/grub-bin2h.h2m: New file.
9832 * docs/man/grub-editenv.h2m: New file.
9833 * docs/man/grub-fstest.h2m: New file.
9834 * docs/man/grub-install.h2m: New file.
9835 * docs/man/grub-macho2img.h2m: New file.
9836 * docs/man/grub-mkconfig.h2m: New file.
9837 * docs/man/grub-mkdevicemap.h2m: New file.
9838 * docs/man/grub-mkfont.h2m: New file.
9839 * docs/man/grub-mkimage.h2m: New file.
9840 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9841 * docs/man/grub-mkrelpath.h2m: New file.
9842 * docs/man/grub-mkrescue.h2m: New file.
9843 * docs/man/grub-ofpathname.h2m: New file.
9844 * docs/man/grub-pe2elf.h2m: New file.
9845 * docs/man/grub-probe.h2m: New file.
9846 * docs/man/grub-reboot.h2m: New file.
9847 * docs/man/grub-script-check.h2m: New file.
9848 * docs/man/grub-set-default.h2m: New file.
9849 * docs/man/grub-setup.h2m: New file.
9850
3a37e322
VS
98512010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 Use FOR_* macros instead of *_iterate whenever possible.
9854
9855 * commands/handler.c: Removed.
9856 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9857 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9858 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9859 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9860 (grub_probe_SOURCES): Remove kern/parser.c.
9861 (util/grub-script-check.c_DEPENDENCIES): Removed.
9862 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9863 and grub_script_check_init.c.
9864 (grub_script_check_init.lst): Removed.
9865 (grub_script_check_init.h): Likewise.
9866 (grub_script_check_init.c): Likewise.
9867 (pkglib_MODULES): Remove handler.mod and sh.mod.
9868 (handler_mod_SOURCES): Removed.
9869 (handler_mod_CFLAGS): Likewise.
9870 (handler_mod_LDFLAGS): Likewise.
9871 (normal_mod_SOURCES): Remove normal/handler.c.
9872 Add script/main.c, script/script.c, script/execute.c,
9873 script/function.c, script/lexer.c, grub_script.tab.c
9874 and grub_script.yy.c.
9875 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9876 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9877 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9878 (grub_setup_SOURCES): Remove kern/parser.c.
9879 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9880 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9881 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9882 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9883 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9884 (grub_setup_SOURCES): Remove kern/parser.c.
9885 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9886 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9887 * include/grub/command.h (grub_command_iterate): Removed.
9888 (FOR_COMMANDS): New macro.
9889 * include/grub/dl.h (grub_dl): New member next.
9890 (grub_dl_iterate): Removed.
9891 (grub_dl_head): New variable declaration.
9892 (FOR_DL_MODULES): New macro.
9893 * include/grub/fs.h: Include list.h.
9894 (grub_fs): Make next first element.
9895 (grub_fs_list): New variable declaration.
9896 (grub_fs_register): Make inline.
9897 (grub_fs_unregister): Likewise.
9898 (grub_fs_iterate): Removed.
9899 (FOR_FILESYSTEMS): New macro.
9900 * include/grub/handler.h: Removed.
9901 * include/grub/list.h (grub_list_hook_t): Removed.
9902 (grub_list_test_t): Likewise.
9903 (grub_list_pop): Likewise.
9904 (grub_list_iterate): Likewise.
9905 (grub_list_insert): Likewise.
9906 (FOR_LIST_ELEMENTS): New macro.
9907 * include/grub/parser.h (grub_parser_class): Removed.
9908 (grub_parser_register): Likewise.
9909 (grub_parser_unregister): Likewise.
9910 (grub_parser_get_current): Likewise.
9911 (grub_parser_set_current): Likewise.
9912 (grub_register_rescue_parser): Likewise.
9913 (grub_rescue_parse_line): New function.
9914 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9915 * include/grub/script_sh.h (grub_script_function_list): New variable
9916 declaration.
9917 (FOR_SCRIPT_FUNCTIONS): New macro.
9918 (grub_script_function_iterate): Removed.
9919 (grub_normal_parse_line): New prototype.
9920 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9921 (FOR_DISABLED_TERM_INPUTS): Likewise.
9922 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9923 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9924 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9925 element.
9926 (grub_video_register): Inline.
9927 (grub_video_unregister): Likewise.
9928 (grub_video_adapter_list): New variable declaration.
9929 (grub_video_iterate): Removed.
9930 (FOR_VIDEO_ADAPTERS): New macro.
9931 * kern/dl.c (grub_dl_list): Removed. All users updated.
9932 (grub_dl_iterate): Removed.
9933 * kern/fs.c (grub_fs_list): Make global.
9934 (grub_fs_register): Removed.
9935 (grub_fs_unregister): Likewise.
9936 (grub_fs_iterate): Likewise.
9937 * kern/handler.c: Removed.
9938 * kern/list.c (grub_list_pop): Removed.
9939 (grub_list_iterate): Likewise.
9940 (grub_list_insert): Likewise.
9941 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9942 (grub_prio_list_insert): Don't use grub_list_insert.
9943 * kern/main.c (grub_register_rescue_parser): Don't call
9944 grub_register_rescue_parser.
9945 * kern/parser.c (grub_parser_class): Removed.
9946 (grub_parser_execute): Use grub_rescue_parse_line.
9947 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9948 (grub_rescue_parser): Removed.
9949 (grub_register_rescue_parser): Likewise.
9950 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9951 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9952 (grub_auth_check_authentication): Likewise.
9953 * normal/completion.c (iterate_command): Removed.
9954 (grub_normal_do_completion): Use FOR_COMMANDS.
9955 * normal/handler.c: Removed.
9956 * normal/main.c (read_config_file): Remove parser changing.
9957 (grub_normal_execute): Don't call read_handler_list.
9958 (grub_normal_read_line_real): Statically allocate prompt.
9959 (grub_cmdline_run): Use grub_normal_parse_line.
9960 (GRUB_MOD_FINI): Don't call free_handler_list.
9961 * normal/menu_entry.c (run): Likewise.
9962 * script/function.c (grub_script_function_list): Make global.
9963 (grub_script_function_iterate): Removed.
9964 * script/main.c (grub_normal_parse_line): Make global.
9965 (grub_sh_parser): Removed.
9966 (GRUB_MOD_INIT): Likewise.
9967 (GRUB_MOD_FINI): Likewise.
9968 * tests/lib/functional_test.c (grub_functional_test): Use
9969 FOR_LIST_ELEMENTS.
9970 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9971 (grub_test_run): Use FOR_LIST_ELEMENTS.
9972 * tests/lib/unit_test.c (main): Likewise.
9973 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9974 grub_list_pop.
9975 * util/grub-fstest.c (grub_term_input_class): Removed.
9976 (grub_term_output_class): Likewise.
9977 * util/grub-probe.c: Likewise.
9978 * util/i386/pc/grub-setup.c: Likewise.
9979 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9980 * util/grub-script-check.c (main): Don't call grub_init_all and
9981 grub_fini_all.
9982 * video/video.c (grub_video_adapter_list): Make global.
9983 (grub_video_register): Removed.
9984 (grub_video_unregister): Likewise.
9985 (grub_video_iterate): Likewise.
9986
6289c3a7
VS
99872010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9990 reported by Henrique Ferreiro.
9991
91460247
RM
99922010-06-09 Robert Millan <rmh@gnu.org>
9993
9994 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9995 ones, when both are available.
9996
0ea7c4f9
GS
99972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9998
9999 Make --version uniform and avoid hard-coded program name.
10000
10001 * util/grub-mkimage.c (main): Use `program_name' instead of
10002 hard-coded string.
10003 * util/i386/pc/grub-setup.c (main): Likewise.
10004 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
10005 * util/grub-install.in: Save the basename of $0 in $self, and use the
10006 latter in informational messages. Use the same format for --version
10007 as the binary programs.
10008 * util/grub-mkconfig.in: Likewise.
10009 * util/grub-mkrescue.in: Likewise.
10010 * util/grub-reboot.in: Likewise.
10011 * util/grub-set-default.in: Likewise.
10012 * util/i386/efi/grub-install.in: Likewise.
10013 * util/ieee1275/grub-install.in: Likewise.
10014 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10015
e8a6f3b6
GS
100162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10017
10018 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
10019 embedding area. Use <= instead of == when checking for non-emptiness.
10020
f4d095d7
GS
100212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10022
10023 * configure.ac: Add `.' to the directories searched for unifont.
10024
50e532ca
CW
100252010-06-08 Colin Watson <cjwatson@ubuntu.com>
10026
10027 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
10028 grub_script.yy.h.
10029
d39f3dec
CW
100302010-06-08 Colin Watson <cjwatson@ubuntu.com>
10031
10032 * docs/grub.texi (History): Expand to cover GRUB 2.
10033 (Serial terminal): Refer to `terminal_input' and `terminal_output'
10034 commands, not `terminal'.
10035 (serial): Likewise.
10036 (terminal_input): New section.
10037 (terminal_output): New section.
10038 (uppermem): New section (stub).
10039 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10040
6ef0ddb4
CW
100412010-06-08 Colin Watson <cjwatson@ubuntu.com>
10042
10043 * docs/grub.texi (Security): Menu entries are unrestricted by
10044 default, not restricted to superusers as I had previously thought.
10045 Reword to account for this.
10046
e0f4c438
CW
100472010-06-07 Colin Watson <cjwatson@ubuntu.com>
10048
10049 * kern/emu/misc.c (device_mapper_null_log): New function.
10050 (grub_device_mapper_supported): New function.
10051 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10052 prototype.
10053 * kern/emu/hostdisk.c (find_partition_start): Check whether
10054 device-mapper is supported before trying to use it.
10055 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10056
da908200
CW
100572010-06-07 Colin Watson <cjwatson@ubuntu.com>
10058
10059 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10060 (File name syntax): Likewise.
10061 (help): --all is no longer supported in GRUB 2. Be more precise
10062 about pattern matching.
10063
fb55c3ac
CW
100642010-06-07 Colin Watson <cjwatson@ubuntu.com>
10065
10066 * normal/completion.c (grub_normal_do_completion): When completing
10067 arguments to "set" and the current word contains an equals sign,
10068 skip to after the equals sign before starting completion.
10069
258c2573
CW
100702010-06-07 Colin Watson <cjwatson@ubuntu.com>
10071
10072 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10073
ee75515e
CW
100742010-06-07 Colin Watson <cjwatson@ubuntu.com>
10075
10076 * docs/grub.texi (Network): New section.
10077 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10078 `(nd)' as in GRUB Legacy.
10079 (pxe_unload): New section.
10080
a6a700aa
CW
100812010-06-07 Colin Watson <cjwatson@ubuntu.com>
10082
10083 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10084 in the rescue shell, so recommend using `set' instead. Thanks,
10085 Jordan Uggla.
10086
4003dd38
CW
100872010-06-07 Colin Watson <cjwatson@ubuntu.com>
10088
10089 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10090 (password): New section.
10091 (password_pbkdf2): New section.
10092 (search): New section.
10093 (Security): New section.
10094 (Troubleshooting): New section, currently very incomplete.
10095 (Invoking grub-mkpasswd-pbkdf2): New section.
10096 (Internals): New section, currently very incomplete.
10097
e1cbcc40
CW
100982010-06-07 Colin Watson <cjwatson@ubuntu.com>
10099
10100 * util/grub.d/00_header.in: Add some more quoting (of
10101 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10102 work again.
10103 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10104
db8fa1ad
CW
101052010-06-07 Colin Watson <cjwatson@ubuntu.com>
10106
10107 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10108 to `count', fixing variable shadowing that broke the -c option.
10109
101102010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
10111
10112 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10113 in case they contain spaces.
10114
f28a9212
CW
101152010-06-04 Colin Watson <cjwatson@ubuntu.com>
10116
10117 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10118 "part_" to partmap module names, in line with grub-install.
10119 Reported by: Jindřich Makovička (Debian bug #584426).
10120
9cdfe32f
CW
101212010-06-04 Colin Watson <cjwatson@ubuntu.com>
10122
10123 * util/grub-mkimage.c: Make target-related error messages slightly
10124 more helpful; -O talks about "format". Explicitly point to the use
10125 of -O if no target is specified.
10126 Reported by: Didier Raboud (Debian bug #584415).
10127
795b593a
CW
101282010-06-03 Colin Watson <cjwatson@ubuntu.com>
10129
10130 * INSTALL: Document several build requirements for optional features
10131 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10132
9d9b5833
GS
101332010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10134
10135 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10136 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10137 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10138
0819fec8
CW
101392010-06-02 Colin Watson <cjwatson@ubuntu.com>
10140
10141 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10142 Thanks to Jordan Uggla for spotting this.
10143
49396b4f
VS
101442010-06-02 Aleš Nesrsta <starous@volny.cz>
10145
10146 Finally make USB usable.
10147
10148 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10149 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10150 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10151 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10152 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10153 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10154 (GRUB_OHCI_FSMPS): Likewise.
10155 (GRUB_OHCI_PERIODIC_START): Likewise.
10156 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10157 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10158 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10159 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10160 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10161 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10162 (grub_ohci_transaction): Likewise.
10163 (grub_ohci_transfer): Improve condition detection algorithms.
10164 Handle toggle property. Program the transactions correctly.
10165 Improve error handling. Various important fixups.
10166 (grub_ohci_portstatus): Put register writes in right order.
10167 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10168 (grub_uhci_transfer): Don't show "failed" message on success.
10169 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10170 array.
10171 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10172 determine its size.
10173 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10174 before initialization is completed. Use IN direction for empty
10175 transfers. Use last_trans and compute toggle.
10176 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10177 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10178 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10179 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10180 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10181 (grub_usb_device): Increase toggle to 256.
10182 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10183 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10184 GRUB_USBMS_SUBCLASS_SFF8070.
10185 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10186 (grub_scsi_inquiry): New member page and alloc_length.
10187 (grub_scsi_request_sense): New structure.
10188 (grub_scsi_request_sense_data): Likewise.
10189 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10190 control.
10191 * disk/scsi.c (grub_scsi_request_sense): New function.
10192 (grub_scsi_test_unit_ready): Likewise.
10193 (grub_scsi_inquiry): Fill new fields.
10194 (grub_scsi_read_capacity): Likewise.
10195 (grub_scsi_read10): Add request sense at the end.
10196 (grub_scsi_read12): Likewise.
10197 (grub_scsi_write10): Likewise.
10198 (grub_scsi_write12): Likewise.
10199 (grub_scsi_open): Add Test Unit Ready.
10200 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10201 Support additional subclasses. Con't clear halt yet. Activate the
10202 proper config. Calculate LUNs correctly.
10203 (grub_usbms_transfer): Various important fixups.
10204
102052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10208 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10209 (grub_ohci_fini_hw): New function.
10210 (grub_ohci_restore_hw): Likewise.
10211 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10212 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10213 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10214
102152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Dedicated DMA allocations.
10218
10219 * bus/pci.c (grub_memalign_dma32): New function
10220 (grub_dma_free): Likewise.
10221 (grub_dma_get_virt): Likewise.
10222 (grub_dma_get_phys): Likewise.
10223 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10224 (grub_ohci_pci_iter): Use dma32_alloc.
10225 (grub_ohci_transfer): Likewise.
10226 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10227 (grub_usb_bulk_readwrite): Likewise.
10228 * include/grub/pci.h: Add declarations.
10229
102302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 CS5536 support.
10233
10234 * bus/cs5536.c: New file.
10235 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10236 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10237 (cs5536_mod_SOURCES): New variable.
10238 (cs5536_mod_CFLAGS): Likewise.
10239 (cs5536_mod_LDFLAGS): Likewise.
10240 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10241 machine/pci.h.
10242 (kernel_img_SOURCES): Add bus/cs5536.c.
10243 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10244 usb_keyboard.mod.
10245 (usb_mod_SOURCES): New variable.
10246 (usb_mod_CFLAGS): New variable.
10247 (usb_mod_LDFLAGS): New variable.
10248 (usbtest_mod_SOURCES): New variable.
10249 (usbtest_mod_CFLAGS): New variable.
10250 (usbtest_mod_LDFLAGS): New variable.
10251 (ohci_mod_SOURCES): New variable.
10252 (ohci_mod_CFLAGS): New variable.
10253 (ohci_mod_LDFLAGS): New variable.
10254 (usbms_mod_SOURCES): New variable.
10255 (usbms_mod_CFLAGS): New variable.
10256 (usbms_mod_LDFLAGS): New variable.
10257 (usb_keyboard_mod_SOURCES): New variable.
10258 (usb_keyboard_mod_CFLAGS): New variable.
10259 (usb_keyboard_mod_LDFLAGS): New variable.
10260 * include/grub/smbus.h: New file.
10261 * include/grub/cs5536.h: New file.
10262
0b35b2a9
CW
102632010-06-02 Colin Watson <cjwatson@ubuntu.com>
10264
10265 * util/grub.d/00_header.in: Add safety check to make sure that
10266 ${locale_dir} exists before trying to probe it.
10267
ca0afd5b
CW
102682010-06-02 Colin Watson <cjwatson@ubuntu.com>
10269
10270 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10271 per the GNU Coding Standards; this is now too obscure to be worth
10272 documenting.
10273 (QNX): Likewise.
10274 (chainloader): Remove cross-reference to `SCO UnixWare'.
10275
1c41aa78
CW
102762010-06-02 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * docs/grub.texi (Chain-loading): New section.
10279 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10280 adjusted for GRUB 2.
10281 (SCO UnixWare): Likewise.
10282 (QNX): Likewise.
10283 (chainloader): Add reference to `Block list syntax'.
10284 (drivemap): New section.
10285 (parttool): New section.
10286
bb8ea0f5
CW
102872010-06-02 Colin Watson <cjwatson@ubuntu.com>
10288
10289 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10290 the grub shell'.
10291 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10292 (Installing GRUB using grub-install): Remove reference to the grub
10293 shell; mention `grub-mkimage' and `grub-setup' instead.
10294 (Invoking grub-install): Likewise.
10295 (Interface): Add reference to `Menu entry editor'.
10296 (serial): Remove `--device' option.
10297
288dd6ed
CW
102982010-06-02 Colin Watson <cjwatson@ubuntu.com>
10299
10300 * docs/grub.texi (Configuration): New section, documenting
10301 configuration file generation using grub-mkconfig. I've left a slot
10302 for documenting the full shell scripting format but have not yet
10303 started on writing that up.
10304 (Invoking grub-mkconfig): New section.
10305
34c9f0e9
CW
103062010-06-02 Colin Watson <cjwatson@ubuntu.com>
10307
10308 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10309 (GNU GRUB manual): Likewise.
10310 (General commands): Update description of `terminfo' for GRUB 2.
10311
9121567e
CW
103122010-06-02 Colin Watson <cjwatson@ubuntu.com>
10313
10314 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10315 (GRUB_MOD_INIT): Fix capitalisation.
10316 * docs/grub.texi (Command-line and menu entry commands): Document
10317 gettext and gptsync commands.
10318
ab631611
CW
103192010-06-02 Colin Watson <cjwatson@ubuntu.com>
10320
10321 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10322 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10323
bde4a9ac
CW
103242010-06-01 Colin Watson <cjwatson@ubuntu.com>
10325
10326 Add btrfs probing support, currently only in the single-device case.
10327
10328 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10329 function.
10330 (grub_guess_root_device): Call find_root_device_from_mountinfo
10331 before looking in /dev.
10332
b1d17e10
VS
103332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10336 GRUB_DISK_SIZE_UNKNOWN.
10337 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10338
dfbfe004
JS
103392010-05-31 Jiro SEKIBA <jir@unicus.jp>
10340
10341 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10342 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10343 corrupted or not synced properly.
10344
c2ffc8e9
VS
103452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10348 Reported by: Seth Goldberg.
10349
56293166
VS
103502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10353 addition of dest.
10354 Reported by: Seth Goldberg.
10355
7620e7de
VS
103562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10359 Reported by: Seth Goldberg.
10360
c837af3f
VS
103612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10364 64-bit address as signed on MIPS.
10365
c7c75cf4
CW
103662010-05-28 Colin Watson <cjwatson@ubuntu.com>
10367
10368 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10369 to the empty string.
10370
fa4b8490
BC
103712010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10372
10373 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10374
10375 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10376 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10377 * kern/misc.c (__enable_execute_stack): Disable on
10378 GRUB_MACHINE_EMU.
10379
a33075b9
CW
103802010-05-28 Colin Watson <cjwatson@ubuntu.com>
10381
10382 Make grub-probe work with symbolic links under /dev/mapper as well
10383 as with real block devices. The Linux world seems to be (at best)
10384 in transition here, and GRUB shouldn't get caught in the middle.
10385
10386 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10387 /dev/mapper.
10388
d8708134
CW
103892010-05-27 Colin Watson <cjwatson@ubuntu.com>
10390
10391 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10392 input files (in which case exit zero).
10393
db2102a0
CW
103942010-05-27 Colin Watson <cjwatson@ubuntu.com>
10395
10396 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10397 return NULL for various reasons even if it has a maximum-length
10398 buffer: for example, there might be a symlink loop, or the path
10399 might exceed PATH_MAX. If this happens, return NULL.
10400
5fdba519
RM
104012010-05-27 Robert Millan <rmh@gnu.org>
10402
10403 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10404 partmap module to handle cross-partmap setups.
10405 Reported by Orestes Mas. Gràcies!
10406
d1d368e4
CW
104072010-05-27 Colin Watson <cjwatson@ubuntu.com>
10408
10409 * util/grub-mkrescue.in: Initialise override_dir rather than
10410 assuming that it's unset or empty in the environment.
10411
95ac3c73
GS
104122010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10413
10414 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10415 variable index into p_index to suppress a warning with -Wshadow.
10416
7d8c0213
BC
104172010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10418
10419 * INSTALL: Added flex >= 2.5.35 requirement.
10420
db4d5813
VS
104212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10424
f24f4300
VS
104252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 cmostest support.
10428
10429 * commands/i386/cmostest.c: New file.
10430 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10431 (cmostest_mod_SOURCES): New variable.
10432 (cmostest_mod_CFLAGS): Likewise.
10433 (cmostest_mod_LDFLAGS): Likewise.
10434 * conf/i386-pc.rmk: Likewise.
10435 * docs/grub.texi (Vendor power-on keys): New section.
10436 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10437 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10438 and GRUB_BUTTON_CMOS_ADDRESS.
10439 * util/grub.d/00_header.in: Handle powering-on by separate button.
10440
ad603f61
VS
104412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10444 Removed drawing_scrollbar argument. All users updated
10445 Fixes #29792.
10446 Reported by Jo Shields
10447
3ecb080a
VS
104482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10451 buffer since gfxterm handles double repaint.
10452
5f2316c1
VS
104532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10456 * term/gfxterm.c (real_scroll): Likewise.
10457
9a25f885
VS
104582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10461 before calling BIOS.
10462
39fbb79a
VS
104632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * include/grub/i18n.h: Always enable grub_gettext.
10466
228cfa97
VS
104672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10470 partition naming style.
10471
21717c8f
CW
104722010-05-21 Colin Watson <cjwatson@ubuntu.com>
10473
10474 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10475 not the first option.
10476
c0f48e65
CW
104772010-05-20 Colin Watson <cjwatson@ubuntu.com>
10478
10479 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10480
96779aec
CW
104812010-05-20 Colin Watson <cjwatson@ubuntu.com>
10482
10483 * util/misc.c: Move inclusion of <limits.h> to ...
10484 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10485
fa9d256e
GS
104862010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10487
10488 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10489 Fix merge error in NetBSD code.
10490 (find_partition_start) [__NetBSD__]: Likewise.
10491
123b7a85
BC
104922010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10493
10494 Fix grub-mkrescue usage unit testing.
10495
10496 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10497
74276c0d
CF
104982010-05-18 Christian Franke <franke@computer.org>
10499
10500 * util/grub.d/10_windows.in: Use path names instead of
10501 drive letters to prevent warning from Cygwin 1.7.
10502 Add drivemap command to menuentry if needed.
10503
c4f7b523
ST
105042010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10505
10506 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10507 gnumach and gnumach.gz.
10508
95b97950
VS
105092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * include/grub/i18n.h (gettext): Inline instead of using #define.
10512 (grub_gettext): Likewise.
10513 (_): Likewise.
10514
01b8d2d7
VS
105152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10518 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10519 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10520 (main): Add a slash after pkglibdirroot.
10521
654e1d1e
VS
105222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * util/grub-install.in: Add missing "in" keyword.
10525
26966aeb
VS
105262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10529 Reported by: Seth Goldberg.
10530
75006747
VS
105312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10534
74cbf5bd
CW
105352010-05-18 Colin Watson <cjwatson@ubuntu.com>
10536
10537 * configure.ac: Check for Linux device-mapper support.
10538
10539 * util/hostdisk.c (device_is_mapped): New function.
10540 (find_partition_start): New function, partly broken out from
10541 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10542 device-mapper support added.
10543 (linux_find_partition): Use find_partition_start.
10544 (convert_system_partition_to_system_disk): Add `st' argument.
10545 Support Linux /dev/mapper/* devices if device-mapper support is
10546 available; only DM-RAID devices are understood at present.
10547 (find_system_device): Add `st' argument. Pass it to
10548 convert_system_partition_to_system_disk.
10549 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10550 find_system_device and convert_system_partition_to_system_disk. Use
10551 find_partition_start.
10552
10553 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10554 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10555 * util/deviceiter.c [__linux__]: Define MINOR.
10556 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10557 * util/mkdevicemap.c (grub_putchar): New function.
10558 (grub_getkey): New function.
10559 (grub_refresh): New function.
10560 (main): Set debug=all if -v -v is used.
10561
355b51e9
CW
105622010-05-18 Colin Watson <cjwatson@ubuntu.com>
10563
10564 Fix build with non-GNU libcs.
10565
10566 * util/misc.c (canonicalize_file_name): Move to ...
10567 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10568 grub_make_system_path_relative_to_its_root.
10569
7fb5c25f
CW
105702010-05-18 Colin Watson <cjwatson@ubuntu.com>
10571
10572 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10573 we handle finding grub-mkimage. Default to finding grub-mkimage in
10574 ${bindir} with program_transform_name applied, and provide a
10575 --grub-mkimage option to override this.
10576
1d3293d6
VS
105772010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 Remove grub-mkisofs.
10580
10581 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10582 (grub_mkisofs_SOURCES): Removed.
10583 (grub_mkisofs_CFLAGS): Removed.
10584 * util/mkisofs/defaults.h: Removed.
10585 * util/mkisofs/eltorito.c: Likewise.
10586 * util/mkisofs/exclude.h: Likewise.
10587 * util/mkisofs/hash.c: Likewise.
10588 * util/mkisofs/include/: Likewise.
10589 * util/mkisofs/include/fctldefs.h: Likewise.
10590 * util/mkisofs/include/mconfig.h: Likewise.
10591 * util/mkisofs/include/prototyp.h: Likewise.
10592 * util/mkisofs/include/statdefs.h: Likewise.
10593 * util/mkisofs/iso9660.h: Likewise.
10594 * util/mkisofs/joliet.c: Likewise.
10595 * util/mkisofs/match.c: Likewise.
10596 * util/mkisofs/match.h: Likewise.
10597 * util/mkisofs/mkisofs.c: Likewise.
10598 * util/mkisofs/mkisofs.h: Likewise.
10599 * util/mkisofs/msdos_partition.h: Likewise.
10600 * util/mkisofs/multi.c: Likewise.
10601 * util/mkisofs/name.c: Likewise.
10602 * util/mkisofs/rock.c: Likewise.
10603 * util/mkisofs/tree.c: Likewise.
10604 * util/mkisofs/write.c: Likewise.
10605
5dde9afe
VS
106062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 Unify grub-mkimage accross platforms.
10609
10610 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10611 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10612 (grub_mkelfimage_SOURCES): Removed.
10613 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10614 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10615 (bin_UTILITIES): Add grub-mkimage.
10616 (grub_mkimage_SOURCES): New variable.
10617 (kernel_img_HEADERS): Remove machine/kernel.h.
10618 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10619 (pkglib_PROGRAMS): Add kernel.img.
10620 (kernel_img_HEADERS): Add machine/kernel.h.
10621 (kernel_img_FORMAT): Removed.
10622 (bin_UTILITIES): Remove grub-mkimage.
10623 (grub_mkimage_SOURCES): Removed.
10624 (grub_mkimage_CFLAGS): Likewise.
10625 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10626 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10627 (pkglib_PROGRAMS): Add kernel.img.
10628 (bin_UTILITIES): Remove grub-mkimage.
10629 (grub_mkimage_SOURCES): Removed.
10630 (grub_mkimage_CFLAGS): Likewise.
10631 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10632 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10633 (pkglib_PROGRAMS): Add kernel.img.
10634 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10635 (pkglib_PROGRAMS): Add kernel.img.
10636 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10637 (grub_mkimage_SOURCES): Removed.
10638 (grub_mkimage_CFLAGS): Likewise.
10639 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10640 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10641 (pkglib_PROGRAMS): Add kernel.img.
10642 (bin_UTILITIES): Remove grub-mkimage.
10643 (grub_mkimage_SOURCES): Removed.
10644 (grub_mkimage_CFLAGS): Likewise.
10645 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10646 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10647 (grub_mkimage_SOURCES): Removed.
10648 (grub_mkimage_CFLAGS): Likewise.
10649 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10650 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10651 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10652 (grub_pe32_optional_header): ... this.
10653 (grub_pe64_optional_header): ... and this. All users updated.
10654 (GRUB_PE32_PE32_MAGIC): Split into ..
10655 (GRUB_PE32_PE32_MAGIC): .. this.
10656 (GRUB_PE32_PE64_MAGIC): .. and this.
10657 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10658 * include/grub/elf.h (PT_GNU_STACK): New definition.
10659 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10660 * include/grub/i386/efi/kernel.h: Likewise.
10661 * include/grub/i386/kernel.h: Likewise.
10662 * include/grub/i386/pc/kernel.h: Likewise.
10663 * include/grub/i386/qemu/boot.h: Likewise.
10664 * include/grub/mips/kernel.h: Likewise.
10665 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10666 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10667 * include/grub/powerpc/kernel.h: Likewise.
10668 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10669 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10670 * include/grub/sparc64/kernel.h: Likewise.
10671 * include/grub/x86_64/efi/kernel.h: Likewise.
10672 * include/grub/x86_64/kernel.h: Likewise.
10673 * include/grub/offsets.h: New file.
10674 * include/grub/kernel.h (grub_module_info): Split into ...
10675 (grub_module_info32): ... this.
10676 (grub_module_info64): ... and this.
10677 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10678 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10679 (grub_boot_blocklist): Moved from here ...
10680 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10681 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10682 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10683 * include/grub/types.h (grub_target_to_host16): Removed.
10684 (grub_target_to_host32): Likewise.
10685 (grub_target_to_host64): Likewise.
10686 (grub_host_to_target16): Likewise.
10687 (grub_host_to_target32): Likewise.
10688 (grub_host_to_target64): Likewise.
10689 (grub_host_to_target_addr): Likewise.
10690
10691 Support grub-mkrescue for efi, coreboot and qemu.
10692
10693 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10694 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10695 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10696 * util/grub-mkrawimage.c: Moved from here ...
10697 * util/grub-mkimage.c: ... here. All users updated.
10698 (ALIGN_ADDR): Use image_target.
10699 (TARGET_NO_FIELD): New const.
10700 (image_target_desc): New type.
10701 (image_targets): New array.
10702 (grub_target_to_host64): Use image_target.
10703 (grub_target_to_host32): Likewise.
10704 (grub_target_to_host16): Likewise.
10705 (grub_host_to_target64): Likewise.
10706 (grub_host_to_target32): Likewise.
10707 (grub_host_to_target16): Likewise.
10708 (grub_host_to_target_addr): Likewise.
10709 (generate_image): Handle multiimage.
10710 (main): Require -O parameter. All users updated.
10711 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10712 util/efi/grub-mkimage.c
10713 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10714 New option --rom-directory.
10715 Use xorriso.
10716 * util/i386/efi/grub-mkimage.c: Removed.
10717 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10718 (grub_target_to_host32): Likewise.
10719 (grub_target_to_host64): Likewise.
10720 (grub_host_to_target16): Likewise.
10721 (grub_host_to_target32): Likewise.
10722 (grub_host_to_target64): Likewise.
10723 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10724 (grub_target_to_host32): Likewise.
10725 (grub_target_to_host64): Likewise.
10726 (grub_host_to_target16): Likewise.
10727 (grub_host_to_target32): Likewise.
10728 (grub_host_to_target64): Likewise.
10729
f4fc97d0
BC
107302010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10731
10732 Source tree is reorganized for emu build.
10733
10734 * include/grub/util/console.h: Move from here...
10735 * include/grub/emu/console.h: ...to here.
10736 * include/grub/util/getroot.h: Move from here...
10737 * include/grub/emu/getroot.h: ...to here.
10738 * include/grub/util/hostdisk.h: Move from here...
10739 * include/grub/emu/hostdisk.h: ...to here.
10740 * util/console.c: Move from here...
10741 * kern/emu/console.c: ...to here.
10742 * util/getroot.c: Move from here...
10743 * kern/emu/getroot.c: ...to here.
10744 * util/grub-emu.c: Move from here...
10745 * kern/emu/main.c: ...to here.
10746 * util/hostdisk.c: Move from here...
10747 * kern/emu/hostdisk.c: ...to here.
10748 * util/hostfs.c: Move from here...
10749 * kern/emu/hostfs.c: ...to here.
10750 * util/mm.c: Move from here...
10751 * kern/emu/mm.c: ...to here.
10752 * util/pci.c: Move from here...
10753 * bus/emu/pci.c: ...to here.
10754 * util/sdl.c: Move from here...
10755 * video/emu/sdl.c: ...to here.
10756 * util/time.c: Move from here...
10757 * kern/emu/time.c: ...to here.
10758 * util/usb.c: Move from here...
10759 * bus/usb/emu/usb.c: ...to here.
10760
10761 * include/grub/emu/misc.h: New header for grub-emu functions.
10762 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10763
10764 * conf/any-emu.rmk: Rule updates for above renames.
10765 * conf/common.rmk: Likewise.
10766 * conf/i386-pc.rmk: Likewise.
10767 * conf/i386-qemu.rmk: Likewise.
10768 * conf/mips.rmk: Likewise.
10769 * conf/sparc64-ieee1275.rmk: Likewise.
10770 * conf/x86-efi.rmk: Likewise.
10771
10772 * disk/lvm.h: #include updates for above renames.
10773 * util/grub-mkrelpath.c: Likewise.
10774 * util/grub-probe.c: Likewise.
10775 * util/i386/pc/grub-setup.c: Likewise.
10776 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10777 * kern/emu/console.c: Likewise.
10778 * kern/emu/getroot.c: Likewise.
10779 * kern/emu/hostdisk.c: Likewise.
10780 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10781
10782 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10783 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10784 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10785 * util/misc.c: Remove grub-emu functions.
10786
cced9145
VS
107872010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 Fix gfxmenu crash.
10790 Reported by: Thorsten Grützmacher.
10791
10792 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10793 timeout hook.
10794 (circprog_set_property): Register and unregister timeout hook.
10795 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10796 (label_destroy): Free template. and unregister hook.
10797 (label_set_state): New function.
10798 (label_set_property): Handle templates and hooks.
10799 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10800 timeout hook.
10801 (progress_bar_set_property): Register and unregister timeout hook.
10802 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10803 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10804 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10805 (update_timeout_visit): Removed.
10806 (update_timeouts): New function.
10807 (redraw_timeouts): Likewise.
10808 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10809 (grub_gfxmenu_clear_timeout): Likewise.
10810 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10811 (grub_gfxmenu_timeout_notify): Likewise.
10812 (grub_gfxmenu_timeout_notifications): New external variable.
10813 (grub_gfxmenu_timeout_register): New function.
10814 (grub_gfxmenu_timeout_unregister): Likewise.
10815
c6e5caab
VS
108162010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 Transform (broken) vga terminal into (working) vga video driver.
10819
10820 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10821 video/i386/pc/vga.c.
10822 * include/grub/video.h (grub_video_driver_id):
10823 Add GRUB_VIDEO_DRIVER_VGA.
10824 * term/i386/pc/vga.c: Renamed to ...
10825 * video/i386/pc/vga.c: ...this
10826 (DEBUG_VGA): Removed.
10827 (CHAR_WIDTH): Likewise.
10828 (CHAR_HEIGHT): Likewise.
10829 (TEXT_WIDTH): Likewise.
10830 (TEXT_HEIGHT): Likewise.
10831 (DEFAULT_FG_COLOR): Likewise.
10832 (DEFAULT_BG_COLOR): Likewise.
10833 (colored_char): Likewise.
10834 (xpos): Likewise.
10835 (ypos): Likewise.
10836 (cursor_state): Likewise.
10837 (fg_color): Likewise.
10838 (bg_color): Likewise.
10839 (text_buf): Likewise.
10840 (page): Likewise.
10841 (font): Likewise.
10842 (framebuffer): New variable.
10843 (set_read_map): Disabled.
10844 (setup): New variable.
10845 (is_target): Likewise.
10846 (grub_vga_mod_init): Likewise.
10847 (grub_vga_mod_fini): Likewise.
10848 (check_vga_mem): Likewise.
10849 (write_char): Likewise.
10850 (write_cursor): Likewise.
10851 (scroll_up): Likewise.
10852 (grub_vga_putchar): Likewise.
10853 (grub_vga_getcharwidth): Likewise.
10854 (grub_vga_getwh): Likewise.
10855 (grub_vga_getxy): Likewise.
10856 (grub_vga_gotoxy): Likewise.
10857 (grub_vga_cls): Likewise.
10858 (grub_vga_setcolorstate): Likewise.
10859 (grub_vga_setcursor): Likewise.
10860 (grub_video_vga_init): New function.
10861 (grub_video_vga_setup): Likewise.
10862 (grub_video_vga_fini): Likewise.
10863 (update_target): Likewise.
10864 (grub_video_vga_blit_bitmap): Likewise.
10865 (grub_video_vga_blit_render_target): Likewise.
10866 (grub_video_vga_set_active_render_target): Likewise.
10867 (grub_video_vga_get_active_render_target): Likewise.
10868 (grub_video_vga_swap_buffers): Likewise.
10869 (grub_video_vga_set_palette): Likewise.
10870 (grub_video_vga_get_info_and_fini): Likewise.
10871 (grub_vga_term): Removed.
10872 (grub_video_vga_adapter): New variable.
10873 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10874 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10875
2bf61a98
VS
108762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * video/readers/jpeg.c: Indented.
10879
09ddcd11
VS
108802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 Various jpeg cleanups.
10883
10884 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10885 (grub_jpeg_decode_quan_table): Use sizeof.
10886 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10887
e5507505
PH
108882010-05-05 Peter Hurley <No e-mail available> (tiny change)
10889
10890 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10891 tables. Ignore non-last ac bit.
10892 (grub_jpeg_decode_quan_table): Likewise.
10893
7e720a9b
VS
108942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10897 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10898 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10899 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10900 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10901 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10902
a7fc080b
VS
109032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10906 error.
10907
2bf6012d
VS
109082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10911
265d68cd
VS
109122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10915 condition.
10916
109172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
10918
10919 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10920 part.
10921
265d68cd 109222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
10923
10924 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10925 pointers.
10926
265d68cd 109272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
10928
10929 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10930
d1b61374
CF
109312010-05-01 Christian Franke <franke@computer.org>
10932
10933 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10934 Remove broken Cygwin path conversion.
10935 * util/misc.c: [__CYGWIN__] Add include and define.
10936 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10937 for Cygwin 1.7.
10938 (make_system_path_relative_to_its_root): Simplify loop, replace early
10939 return by break.
10940 [__CYGWIN__] Add conversion to win32 path.
10941 Include "/" case in trailing slash removal.
10942
3558c6e9
VS
109432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10946 Reported by: Seth Goldberg
10947
f5f3ff93
VS
109482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * commands/help.c (grub_cmd_help): Fix a typo.
10951 Reported by: Seth Goldberg
10952
d8b5cd40
VS
109532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10956 name and add N_.
10957 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10958 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10959 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10960 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10961 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10962 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10963 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10964 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10965 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10966 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10967 * normal/context.c (GRUB_MOD_INIT): Likewise.
10968 * normal/main.c (GRUB_MOD_INIT): Likewise.
10969 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10970 * term/serial.c (GRUB_MOD_INIT): Likewise.
10971 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10972
88c14915
VS
109732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10976 extra == 0.
10977
165134bc
VS
109782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * commands/iorw.c: New file.
10981 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10982 (iorw_mod_SOURCES): New variable.
10983 (iorw_mod_CFLAGS): Likewise.
10984 (iorw_mod_LDFLAGS): Likewise.
10985
c5ac9b32
VS
109862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 Hotkey support
10989
10990 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10991 * normal/main.c (hotkey_aliases): New variable.
10992 (grub_normal_add_menu_entry): Parse "--hotkey".
10993 * normal/menu_text.c (run_menu): Handle hotkeys.
10994
ce60689c
VS
109952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * kern/i386/coreboot/init.c (grub_machine_init): Call
10998 grub_machine_mmap_init on qemu.
10999
0359d006
VS
110002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * boot/i386/qemu/boot.S: Add a missing .code16.
11003
7819a456
VS
110042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 Use LBIO on coreboot.
11007
11008 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
11009 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
11010 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
11011 New declaration.
11012 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
11013 grub_machine_mmap_init on coreboot.
11014 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
11015 GRUB_LINUXBIOS_MEMBER_LINK.
11016 (grub_machine_mmap_iterate): Fix declaration.
11017 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
11018
7210dca9
VS
110192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 Split coreboot and multiboot ports.
11022
11023 * conf/i386-multiboot.rmk: New file.
11024 * configure.ac: Add multiboot port.
11025 * include/grub/i386/multiboot/boot.h: New file.
11026 * include/grub/i386/multiboot/console.h: Likewise.
11027 * include/grub/i386/multiboot/init.h: Likewise.
11028 * include/grub/i386/multiboot/kernel.h: Likewise.
11029 * include/grub/i386/multiboot/loader.h: Likewise.
11030 * include/grub/i386/multiboot/memory.h: Likewise.
11031 * include/grub/i386/multiboot/serial.h: Likewise.
11032 * include/grub/i386/multiboot/time.h: Likewise.
11033 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
11034 * loader/multiboot.c: Likewise.
11035 * loader/multiboot_mbi2.c: Likewise.
11036 * util/grub-mkrescue.in: Generate multiboot rescue.
11037
6f8aaf68
VS
110382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11039
3080f7a7
VS
11040 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11041
110422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
11045
11046 * commands/terminal.c (abstract_terminal): New struct.
11047 (handle_command): New function. Based on grub_cmd_terminal_input.
11048 (grub_cmd_terminal_input): Use handle_command.
11049 (grub_cmd_terminal_output): Use handle_command.
11050
a8ebb841
BC
110512010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11052
11053 Fix comment handling.
11054
11055 * tests/grub_script_comments.in: New testcase.
11056 * conf/tests.rmk: Rules for new testcase.
11057 * script/yylex.l: Updated flex rules.
11058
bb06ba08
ST
110592010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11060
11061 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
11062 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11063 if argc is 1.
bb06ba08 11064
cc9d2425
VS
110652010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11068 autogen issues.
11069
460d8402
CF
110702010-04-26 Christian Franke <franke@computer.org>
11071
11072 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11073 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11074 (grub_get_prefix): Remove function.
11075 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11076 make_system_path_relative_to_its_root ().
11077 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11078
553c01f9
CF
110792010-04-24 Christian Franke <franke@computer.org>
11080
11081 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11082 (kernel_img_LDFLAGS): Remove -static-libgcc.
11083
2aec1692
CF
110842010-04-24 Christian Franke <franke@computer.org>
11085
11086 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11087 and CHECK_END_SYMBOL if grub-emu is built.
11088 Unset TARGET_OBJ2ELF if grub-emu is built
11089 without module support.
11090
f67dc308
JS
110912010-04-24 Jiro SEKIBA <jir@unicus.jp>
11092
11093 Nilfs2 support.
11094
11095 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11096 (grub_fstest_SOURCES): Likewise.
11097 (pkglib_MODULES): Add nilfs2.mod.
11098 (nilfs2_mod_SOURCES): New variable.
11099 (nilfs2_mod_CFLAGS): Likewise.
11100 (nilfs2_mod_LDFLAGS): Likewise.
11101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11102 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11103 * fs/nilfs2.c: New file.
11104
4ba8d354
VS
111052010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11108 is not supported.
11109
0d2c20c6
GS
111102010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11111
11112 Add grub-mkconfig support for NetBSD.
11113
11114 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11115 * util/grub-mkconfig.in: export new NetBSD specific variables.
11116 * po/POTFILES-shell: added 10_netbsd.in.
11117 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11118
bc4a2d83
BC
111192010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11120
11121 Fix emu build with grub-emu-pci and grub-emu-modules.
11122
11123 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11124 functions.
11125 * include/grub/libpciaccess.h: New file.
11126 * conf/any-emu.rmk: Update kernel headers for emu build.
11127
f48c87aa
VS
111282010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11131
18959385
VS
111322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11135
0037de3f
VS
111362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11139 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11140 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11141 util/ieee1275/ofpath.c.
11142 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11143 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11144 * include/grub/sparc64/ieee1275/boot.h
11145 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11146 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11147 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11148 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11149 const char *.
11150 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11151 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11152 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11153 install.
11154
38e55e90
GS
111552010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11156
11157 * util/grub-mkconfig.in: Corrected two == equality tests.
11158 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11159 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11160 expect a number appended to it.
11161 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11162 expects a number appended to it.
11163
a9e6ff28
VS
111642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11167
0b830b8f
VS
111682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * util/hostdisk.c (make_device_name): Change to new partition naming.
11171
0973daeb
VS
111722010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11175
460d8402 111762010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
11177
11178 * Makefile.in: Add missing localedir setting.
11179
0b456309
CW
111802010-04-14 Colin Watson <cjwatson@ubuntu.com>
11181
11182 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11183 mistake in r2156. Noticed by Anthony Fok.
11184
11185 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11186 @localedir@.
11187 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11188
08f46d62
BC
111892010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11190
11191 Fix a spurious, uninitialized variable warning.
11192
11193 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11194 Initialize variable, shdr.
11195 (grub_freebsd_load_elfmodule): Likewise.
11196 (grub_freebsd_load_elf_meta): Likewise.
11197
8c4a72d4
BC
111982010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11199
11200 Fix for escaped dollar in double quoted strings.
11201
11202 * script/yylex.l: Updated flex rules.
11203 * conf/tests.rmk: Rule for new testcase.
11204 * tests/grub_script_dollar.in: New testcase.
11205
ce44826e
CPE
112062010-04-13 Carles Pina i Estany <carles@pina.cat>
112072010-04-13 Colin Watson <cjwatson@ubuntu.com>
11208
11209 Enclose all translated strings in grub.cfg in single quotes, and
11210 escape them appropriately (Ubuntu bug #552921).
11211
11212 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11213 * util/grub.d/10_hurd.in: Use it.
11214 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11215 * util/grub.d/10_linux.in (linux_entry): Likewise.
11216
4b0cd8f8
VS
112172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 Fix cygwin compilation.
11220
11221 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11222 * include/grub/misc.h (__register_frame_info)
11223 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11224 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11225 * kern/misc.c (__register_frame_info)
11226 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11227 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11228
01fcf061
VS
112292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11232
5d04b11e
VS
112332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Unify libgcc processing.
11236
11237 * Makefile.in (kernel_img_LDFLAGS): New variable.
11238 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11239 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11240 overwriting.
11241 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11242 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11243 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11244 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11245 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11246 overwriting. Remove -lgcc and -static-libgcc
11247 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11248 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11249 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11250 (kernel_img_LDFLAGS): Append instead of overwriting.
11251 Remove -lgcc and -static-libgcc
11252 * conf/sparc64-ieee1275.rmk: Likewise.
11253 * include/grub/powerpc/libgcc.h: Move to ...
11254 * include/grub/libgcc.h: .. this.
11255 * include/grub/libgcc.h: Don't export most of the function on x86.
11256 (__bswapsi2): New export.
11257 (__bswapdi2): Likewise.
11258 * include/grub/mips/libgcc.h: Removed.
11259 * include/grub/sparc64/libgcc.h: Likewise.
11260
b7f3ac29
VS
112612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11264 disk_info_msg (conflicts with gettexting into languages with cases).
11265
2c7031b1
GS
112662010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11267
11268 Add grub-probe support for NetBSD.
11269
11270 * util/getroot.c (find_root_device): Convert block device to
11271 character device on NetBSD.
11272 * util/probe.c (probe): Require character device on NetBSD.
11273 * util/hostdisk.c: NetBSD specific headers.
11274 (configure_device_driver): new function to tune device driver
11275 parameters (currently only for NetBSD floppy driver).
11276 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11277 via disklabel ioctl).
11278 (open_device): call configure_device_driver on NetBSD.
11279 (convert_system_partition_to_system_disk): NetBSD specific code.
11280 (device_is_wholedisk): Likewise.
11281 (grub_util_biosdisk_get_grub_dev): Likewise.
11282 (make_device_name): Fixed a typo in bsd_part_str.
11283 * configure.ac: check for opendisk() and getrawpartition() on
11284 NetBSD and set LIBUTIL.
11285 * Makefile.in: add LIBUTIL to LIBS.
11286
f516290c
BC
112872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11288
11289 Documentation fix.
11290
11291 * util/grub-script-check.c: Better help message.
11292
d8dcc0df
BC
112932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11294
11295 Fix FreeBSD build.
11296
11297 * configure.ac: Flex version check.
11298 * conf/common.rmk: Add -Wno-error to sh.mod.
11299 * script/yylex.l: Remove all #pragma.
11300
6734334a
VS
113012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11304 prototype.
11305 Reported by: Seth Goldberg.
11306
daea6abd
VS
113072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11310 Rename "module" to "module2".
11311 Reported by: Seth Goldberg.
11312
f2fd9d2b
VS
113132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11316 EXPORT_FUNC.
11317 Reported by: Seth Goldberg.
11318
be124579
VS
113192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * lib/posix_wrap/locale.h: Add missing file.
11322 Reported by: Seth Goldberg.
11323
ef5da797
VS
113242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 grub-emu module load support.
11327
11328 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11329 NO_DYNAMIC_MODULES switched to this.
11330 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11331 (CFLAGS): Likewise.
11332 * conf/any-emu.rmk: Generate symlist.
11333 (kernel_img_HEADERS): Add util/datetime.h.
11334 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11335 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11336 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11337 kern/$(target_cpu)/cache.S.
11338 * configure.ac (grub-emu-modules): New option.
11339 * genmk.rb: Handle multiple source lists.
11340 * include/grub/sdl.h: New file.
11341 * include/grub/libusb.h: Likewise.
11342 * util/grub-emu.c (main): Hanle (host) root.
11343 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11344 GRUB_ERR_UNKNOWN_DEVICE.
11345 * util/misc.c: Move mm functions to ...
11346 * util/mm.c: ... here. All users updated.
11347
47822096
VS
113482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11351 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11352 missing files.
11353 (maintainer-clean): Remove libgcrypt-grub.
11354
5d7e7445
VS
113552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11358
25f4e252
EC
113592010-04-09 EFI Coder <eficoder@hotmail.com>
11360
11361 * normal/menu_text.c (print_message): Clean up the message and show
11362 the Fn information when on EFI
11363 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11364
027de555
VS
113652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11368 All users updated.
11369 * normal/crypto.c (read_crypto_list): Likewise.
11370 * normal/dyncmd.c (read_command_list): Likewise.
11371 * normal/term.c (read_terminal_list): Likewise.
11372 * normal/main.c (read_lists): Use explicit prefix.
11373 (read_lists_hook): Use read_lists.
11374 (grub_normal_execute): Likewise.
11375
47779711
VS
113762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11379 Reported by: Thomas Schmitt.
11380 Add -no-emul-boot to grub-mkisofs parameters.
11381
1118c32e
VS
113822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * font/font.c: Indented.
11385
7d652447
BC
113862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11387
11388 Elif support to GRUB script (by Deepak Vankadaru).
11389
11390 * tests/grub_script_if.in: New testcase.
11391 * conf/tests.rmk: Rule for new testcase.
11392 * script/parser.y: Grammar rules for elif.
11393
34bb22df
BC
113942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11395
11396 While and until loops support to GRUB script.
11397
11398 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11399 (grub_script_create_cmdwhile): New function prototype.
11400 (grub_script_execute_cmdwhile): New function prototype.
11401 * script/execute.c (grub_script_execute_cmdwhile): New function.
11402 * script/parser.y (command): New commands.
11403 (whilecmd): New grammar rule.
11404 (untilcmd): New grammar rule.
11405 * script/script.c (grub_script_create_cmdwhile): New function.
11406 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11407 function.
11408
11409 * tests/grub_script_while1.in: New testcase.
11410 * conf/tests.rmk: Rule for new testcase.
11411
e215d8e0
VS
114122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11415 as *.jpg.
11416
d7c43ba1
MV
114172010-04-09 Mario Vazquez <mariovazq@gmail.com>
11418
11419 GRUB_BACKGROUND support.
11420
11421 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11422 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11423
d64795c0
VS
114242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 11427 Idea by: Mario Vazquez
d64795c0
VS
11428
11429 * util/grub.d/00_header.in: Load pf2 and image modules.
11430
f267f83a
VS
114312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 grub-mkconfig multiple terminal support.
11434
11435 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11436 * util/grub.d/00_header.in: Likewise.
11437
b7841ceb
VS
114382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11441 we use cd $(srcdir).
11442
df60998c
CW
114432010-04-08 Colin Watson <cjwatson@ubuntu.com>
11444
11445 * util/grub.d/10_linux.in: Only use the first word of
11446 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11447 spaces in GRUB_DISTRIBUTOR.
11448 * util/grub.d/10_kfreebsd.in: Likewise.
11449 * util/grub.d/10_hurd.in: Likewise.
11450
fa09c82e
BC
114512010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11452
14e18ae3 11453 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
11454
11455 * tests/util/grub-shell.in: Remove -serial stdio option.
11456
daf892b3
BC
114572010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 POSIX header file wrappers.
11460
11461 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11462 equivalents.
11463 * lib/posix_wrap/ctype.h: Likewise.
11464 * lib/posix_wrap/errno.h: Likewise.
11465 * lib/posix_wrap/langinfo.h: Likewise.
11466 * lib/posix_wrap/limits.h: Likewise.
11467 * lib/posix_wrap/localcharset.h: Likewise.
11468 * lib/posix_wrap/stdint.h: Likewise.
11469 * lib/posix_wrap/stdio.h: Likewise.
11470 * lib/posix_wrap/stdlib.h: Likewise.
11471 * lib/posix_wrap/string.h: Likewise.
11472 * lib/posix_wrap/sys/types.h: Likewise.
11473 * lib/posix_wrap/unistd.h: Likewise.
11474 * lib/posix_wrap/wchar.h: Likewise.
11475 * lib/posix_wrap/wctype.h: Likewise.
11476 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11477 (grub_script.yy.h): Likewise.
11478 * script/yylex.l: Remove POSIX emulation #defines.
11479 * Makefile.in (POSIX_CFLAGS): New variable.
11480 (GNULIB_UTIL_CFLAGS): Likewise.
11481
11482 Regexp support.
11483
11484 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11485 (regexp_mod_SOURCES): New variable.
11486 (regexp_mod_CFLAGS): Likewise.
11487 (regexp_mod_LDFLAGS): Likewise.
11488 * commands/regexp.c: New file.
11489 * gnulib/regcomp.c: New file. Imported from gnulib.
11490 * gnulib/regex.c: Likewise.
11491 * gnulib/regex_internal.c: Likewise.
11492 * gnulib/regex_internal.h: Likewise.
11493 * gnulib/regexec.c: Likewise.
11494 * gnulib/regex.h: Likewise.
11495
974ac4f7
VS
114962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11499 unsupported video mode types.
11500
2622c3ff
VS
115012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11504
064cb524
VS
115052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11508 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11509
a8c3b552
VS
115102010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 Remove unused grub_vga_get_font.
11513
11514 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11515 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11516
187bbe3d
GS
115172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11518
11519 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11520 * include/grub/misc.h: Likewise.
11521
b9396631
GS
115222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11523
11524 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11525 for which failure is fatal.
11526
50479feb
GS
115272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11528
11529 * util/grub-install.in: Use mkdir -p to create grub directory.
11530 * util/i386/efi/grub-install.in: Likewise.
11531 * util/ieee1275/grub-install.in: Likewise.
11532
b1654fdf
GS
115332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11534
11535 * Makefile.in (LEX): new variable.
11536
bd5a6415
GS
115372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11538
11539 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11540 `=' and added double quotes on operands of this equality test.
11541
3db3a82b
VS
115422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * Makefile.in (uninstall): Remove a leftover debug echo.
11545 Reported by: Grégoire Sutre
11546
38023412
VS
115472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 MIPS multiboot2 support.
11550
11551 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11552 (multiboot2_mod_SOURCES): New variable.
11553 (multiboot2_mod_CFLAGS): Likewise.
11554 (multiboot2_mod_LDFLAGS): Likewise.
11555 (multiboot2_mod_ASFLAGS): Likewise.
11556 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11557 definition.
11558 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11559 (MULTIBOOT_MBI_REGISTER): Likewise.
11560 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11561 (MULTIBOOT_ELF32_MACHINE): Likewise.
11562 (MULTIBOOT_ELF64_MACHINE): Likewise.
11563 * include/grub/mips/multiboot.h: New file.
11564 * include/grub/video.h (grub_video_driver_id): New type
11565 GRUB_VIDEO_DRIVER_SM712.
11566 (grub_video_get_info_and_fini): Export.
11567 (grub_video_get_palette): Likewise.
11568 (grub_video_get_driver_id): Likewise.
11569 * include/multiboot2.h: Resynced with spec.
11570 * loader/i386/multiboot.c: Moved from here ...
11571 * loader/multiboot.c: ... here. All users updated.
11572 (grub_multiboot_boot): Use platform-specific macros.
11573 * loader/i386/multiboot_elfxx.c: Moved from here ...
11574 * loader/multiboot_elfxx.c: ... here. All users updated.
11575 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11576 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11577 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11578
47674667
VS
115792010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Import gnulib argp module.
11582
11583 * gnulib/argp-ba.c: New file.
11584 * gnulib/argp-eexst.c: Likewise.
11585 * gnulib/argp-fmtstream.c: Likewise.
11586 * gnulib/argp-fmtstream.h: Likewise.
11587 * gnulib/argp-fs-xinl.c: Likewise.
11588 * gnulib/argp-help.c: Likewise.
11589 * gnulib/argp-namefrob.h: Likewise.
11590 * gnulib/argp-parse.c: Likewise.
11591 * gnulib/argp-pin.c: Likewise.
11592 * gnulib/argp-pv.c: Likewise.
11593 * gnulib/argp-pvh.c: Likewise.
11594 * gnulib/argp-version-etc.c: Likewise.
11595 * gnulib/argp-version-etc.h: Likewise.
11596 * gnulib/argp-xinl.c: Likewise.
11597 * gnulib/argp.h: Likewise.
11598
495442ed
VS
115992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * kern/device.c (grub_device_iterate): Clear errors after failed
11602 opening device.
11603
f9fd65df
VS
116042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11607 returned by firmware.
11608
af09641e
VS
116092010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11612 compilation on coreboot and qemu
11613
016883a5
VS
116142010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * include/multiboot2.h: Resync with spec.
11617
f97e1f7d
VS
116182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Multiboot2 tag support
11621
11622 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11623 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11624 Remove loader/multiboot_loader.c.
11625 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11626 (grub_multiboot2_real_boot): Likewise.
11627 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11628 (grub_get_multiboot_mmap_count): New proto.
11629 (grub_fill_multiboot_mmap): Likewise.
11630 (grub_multiboot_set_video_mode): Likewise.
11631 (grub_multiboot_set_console): Likewise.
11632 (grub_multiboot_load): Likewise.
11633 (grub_multiboot_load_elf): Likewise.
11634 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11635 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11636 * include/multiboot.h: Resynced with specification.
11637 * include/multiboot2.h: Resynced with specification.
11638 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11639 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11640 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11641 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11642 users updated.
11643 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11644 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11645 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11646 Removed.
11647 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11648 Moved from here...
11649 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11650 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11651 Moved from here...
11652 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11653 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11654 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11655 All users updated.
11656 * loader/i386/multiboot_mbi2.c: New file.
11657
3506b90b
VS
116582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 Resync with gnulib.
11661
11662 * Makefile.in (GNULIB_CFLAGS): New variable.
11663 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11664 (grub_script_check_CFLAGS): New variable.
11665 * gnulib/alloca.h: Resync with gnulib.
11666 * gnulib/error.c: Likewise.
11667 * gnulib/error.h: Likewise.
11668 * gnulib/fnmatch.c: Likewise.
11669 * gnulib/fnmatch_loop.c: Likewise.
11670 * gnulib/getdelim.c: Likewise.
11671 * gnulib/getline.c: Likewise.
11672 * gnulib/getopt.c: Likewise.
11673 * gnulib/getopt1.c: Likewise.
11674 * gnulib/getopt_int.h: Likewise.
11675 * gnulib/gettext.h: Likewise.
11676 * gnulib/progname.c: Likewise.
11677 * gnulib/progname.h: Likewise.
11678
394a3120
GS
116792010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11680
11681 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11682 which is the case with --disabled-nls.
11683
11684 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11685 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11686 * util/misc.c: Likewise.
11687 * util/mkisofs/mkisofs.c: Likewise.
11688 * util/mkisofs/mkisofs.h: Likewise.
11689
969d1c78
VS
116902010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Simplify Apple CC support.
11693
11694 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11695 Add 0 byte at the end not to have a symbol with empty target.
11696 * mmap/i386/pc/mmap_helper.S: Likewise.
11697 * genmk.rb: Ignore errors 2030 and 2050.
11698 * kern/i386/pc/startup.S: Use LOCAL when possible.
11699
8d2977bb
BC
117002010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11701
11702 Testcase and the fix for final semicolon on cmdline.
11703
11704 * tests/grub_script_final_semicolon.in: New testcase.
11705 * conf/tests.rmk: Rules for the new testcase.
11706 * script/parser.y: Grammar fix.
11707
a7bd6915
BC
117082010-03-26 BVK Chaitanya <bvk@localhost>
11709
11710 Blank lines testcase for GRUB script.
11711
11712 * tests/grub_script_blanklines.in: New testcase.
11713 * conf/tests.rmk: Rules for the new testcase.
11714
e4ff6628
VS
117152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 Don't use __FILE__.
11718
11719 * genmk.rb: Add -DGRUB_FILE to all C targets.
11720 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11721 * include/grub/list.h: Likewise.
11722 * include/grub/misc.h: Likewise.
11723 * include/grub/mm.h: Likewise.
11724 * include/grub/test.h: Likewise.
11725 * kern/mm.c: Likewise.
11726 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11727
6a5cf6b6
VS
117282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 Sunpc partitions support.
11731
11732 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11733 (grub_fstest_SOURCES): Likewise.
11734 (pkglib_MODULES): Add part_sunpc.mod.
11735 (part_sunpc_mod_SOURCES): New variable.
11736 (part_sunpc_mod_CFLAGS): Likewise.
11737 (part_sunpc_mod_LDFLAGS): Likewise.
11738 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11739 * partmap/sunpc.c: New file.
11740
746d9045
BC
117412010-03-26 BVK Chaitanya <bvk@localhost>
11742
11743 For loop support to GRUB script.
11744
11745 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11746 (grub_script_create_cmdfor): New function prototype.
11747 (grub_script_execute_cmdfor): New function prototype.
11748 * script/execute.c (grub_script_execute_cmdfor): New function.
11749 * script/parser.y (command): New for command.
11750 (forcmd): New grammar rule.
11751 * script/script.c (grub_script_create_cmdfor): New function.
11752 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11753 function.
11754 * tests/grub_script_for1.in: New testcase.
11755 * conf/tests.rmk: Rules for new testcase.
11756
18486b18
VS
117572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 Nested partitions
11760
11761 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11762 'partition' is NULL, grub_partition_get_start already does that.
11763 * commands/loadenv.c (check_blocklists): Likewise.
11764 (write_blocklists): Likewise.
11765 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11766 (grub_fstest_SOURCES): Likewise.
11767 (pkglib_MODULES): Add part_bsd.mod.
11768 (part_bsd_mod_SOURCES): New variable.
11769 (part_bsd_mod_CFLAGS): Likewise.
11770 (part_bsd_mod_LDFLAGS): Likewise.
11771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11772 (grub_emu_SOURCES): Likewise.
11773 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11774 * include/grub/bsdlabel.h: New file.
11775 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11776 'get_name'.
11777 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11778 (grub_partition_map_list): New variable.
11779 (grub_partition_map_register): Inline.
11780 (grub_partition_map_unregister): Likewise.
11781 (FOR_PARTITION_MAPS): New macro.
11782 (grub_partition_map_iterate): Removed.
11783 (grub_partition_get_start): Handle nested partitions.
11784 * include/grub/msdos_partition.h: Remove bsd-related entries.
11785 (grub_pc_partition): Remove.
11786 * kern/disk.c (grub_disk_close): Free partition data.
11787 (grub_disk_adjust_range): Handle nested partitions.
11788 * kern/partition.c (grub_partition_map_probe): New function.
11789 (grub_partition_probe): Parse name to number, handle subpartitions.
11790 (get_partmap): New function.
11791 (grub_partition_iterate): Handle subpartitions.
11792 (grub_partition_get_name): Likewise.
11793 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11794 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11795 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11796 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11797 Set 'number'.
11798 (acorn_partition_map_probe): Remove.
11799 (acorn_partition_map_get_name): Likewise.
11800 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11801 Set 'number'.
11802 Set 'index' to 0 since there can be only one partition entry per sector.
11803 (amiga_partition_map_probe): Remove.
11804 (amiga_partition_map_get_name): Likewise.
11805 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11806 Set 'number'.
11807 Set 'offset' and 'index' to real positions of partitions.
11808 (apple_partition_map_probe): Remove.
11809 (apple_partition_map_get_name): Likewise.
11810 * partmap/bsdlabel.c: New file.
11811 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11812 Set 'number'.
11813 Allocate 'data' so it can be correctly freed.
11814 Set 'index' to offset inside sector.
11815 (gpt_partition_map_probe): Remove.
11816 (gpt_partition_map_get_name): Likewise.
11817 * partmap/msdos.c (grub_partition_parse): Remove.
11818 (pc_partition_map_iterate): Don't force raw access.
11819 Set 'number'.
11820 Make 'ext_offset' a local variable.
11821 (pc_partition_map_probe): Remove.
11822 (pc_partition_map_get_name): Remove.
11823 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11824 Set 'number'.
11825 (sun_partition_map_probe): Remove.
11826 (sun_partition_map_get_name): Likewise.
11827 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11828 (grub_pcpart_type): Likewise.
11829 * util/hostdisk.c (open_device): Handle new numbering scheme.
11830 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11831 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11832 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11833 * util/grub-install.in: Insert all subpartition modules.
11834 * util/ieee1275/grub-install.in: Likewise.
11835
a3940f88
AG
118362010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11837
11838 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11839 grammar.
11840
21b99926 118412010-03-24 Colin Watson <cjwatson@ubuntu.com>
11842
11843 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11844
bed1d352
CW
118452010-03-21 Colin Watson <cjwatson@ubuntu.com>
11846
11847 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11848 match where 'make install' puts them.
11849 * util/i386/efi/grub-install.in: Likewise.
11850
c9f58427
CW
118512010-03-19 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * .bzrignore: Add gentrigtables, grub-script-check,
11854 grub_script_check_init.c, grub_script_check_init.h, and
11855 trigtables.c.
11856
f84afb27
VS
118572010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * kern/parser.c: Indented.
11860
ed0e3d30
VS
118612010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11864
0ea81d98
VS
118652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11868 alpha_mask_size == 0 case.
11869
0cdc2a09
BC
118702010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11871
11872 GRUB shell lexer and parser improvements.
11873
11874 * conf/any-emu.rmk: Build rule updates.
11875 * conf/common.rmk: Likewise.
11876 * conf/i386-coreboot.rmk: Likewise.
11877 * conf/i386-efi.rmk: Likewise.
11878 * conf/i386-ieee1275.rmk: Likewise.
11879 * conf/i386-pc.rmk: Likewise.
11880 * conf/powerpc-ieee1275.rmk: Likewise.
11881 * conf/x86_64-efi.rmk: Likewise.
11882
11883 * configure.ac: Configure check for flex.
11884
11885 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11886 types.
11887 (grub_lexer_param): Struct member updates.
11888 (grub_parser_param): Likewise.
11889 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11890 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11891 (grub_script_lexer_init): Prototype update.
11892 (grub_script_lexer_record_start): Likewise.
11893 (grub_script_lexer_record_stop): Likewise.
11894 (grub_script_lexer_yywrap): New function prototype.
11895 (grub_script_lexer_fini): Likewise.
11896 (grub_script_execute_argument_to_string): Removed by...
11897 (grub_script_execute_argument_to_argv): ...better version.
11898
11899 * script/execute.c (ROUND_UPTO): New macro.
11900 (grub_script_execute_cmdline): Out of memory fixes.
11901 (grub_script_execute_menuentry): Likewise.
11902 (grub_script_execute_argument_to_string): Removed. Update all
11903 users by...
11904 (grub_script_execute_argument_to_argv): ...better version.
11905 * script/function.c (grub_script_function_create): Use
11906 grub_script_execute_argument_to_argv instead of
11907 grub_script_execute_argument_to_string.
11908
11909 * script/lexer.c (check_varstate): Removed.
11910 (check_textstate): Removed.
11911 (grub_script_lexer_record_start): Likewise.
11912 (grub_script_lexer_record_stop): Likewise.
11913 (recordchar): Replaced with...
11914 (grub_script_lexer_record): ...new function.
11915 (nextchar): Removed.
11916 (grub_script_lexer_init): Rewritten.
11917 (grub_script_yylex): Rewritten.
11918 (append_newline): New function.
11919 (grub_script_lexer_yywrap): New function.
11920 (grub_script_lexer_fini): New function.
11921 (grub_script_yyerror): Sets error flag.
11922
11923 * script/yylex.l: New file.
11924 (grub_lexer_yyfree): Wrapper for flex yyffre.
11925 (grub_lexer_yyalloc): Likewise.
11926 (grub_lexer_yyrealloc): Likewise.
11927 * script/parser.y: Refactored.
11928
11929 * script/script.c (grub_script_arg_add): Out of memory fixes.
11930 (grub_script_add_arglist): Likewise.
11931 (grub_script_create_cmdline): Likewise.
11932 (grub_script_create_cmdmenu): Likewise.
11933 (grub_script_add_cmd): Likewise.
11934 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11935 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11936 unnecessary code.
11937
11938 * tests/grub_script_echo1.in: New testcase.
11939 * tests/grub_script_vars1.in: New testcase.
11940 * tests/grub_script_echo_keywords.in: New testcase.
11941
1d63a066
VS
119422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Remove some redundancy in build system.
11945
11946 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11947 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11948 (TARGET_LDFLAGS): Add -nostdlib.
11949 (TARGET_IMG_LDFLAGS): Likewise.
11950 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11951 anything since mmap isn't available.
11952 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11953 Add util/time.c.
11954 (pkglib_MODULES): Remove reboot.mod.
11955 (reboot_mod_SOURCES): Removed.
11956 (reboot_mod_CFLAGS): Likewise.
11957 (reboot_mod_LDFLAGS): Likewise.
11958 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11959 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11960 (DEFSYMFILES): Add kernel_syms.lst.
11961 (kernel_img_HEADERS): Add common headers.
11962 (symlist.c): New target.
11963 (kernel_syms.lst): Likewise.
11964 (pkglib_MODULES): Add memdisk.mod.
11965 (memdisk_mod_SOURCES): New variable.
11966 (memdisk_mod_CFLAGS): Likewise.
11967 (memdisk_mod_LDFLAGS): Likewise.
11968 (pkglib_MODULES): Add reboot.mod.
11969 (reboot_mod_SOURCES): New variable.
11970 (reboot_mod_CFLAGS): Likewise.
11971 (reboot_mod_LDFLAGS): Likewise.
11972 (pkglib_MODULES): Add date.mod.
11973 (date_mod_SOURCES): New variable.
11974 (date_mod_CFLAGS): Likewise.
11975 (date_mod_LDFLAGS): Likewise.
11976 (pkglib_MODULES): Add datehook.mod.
11977 (datehook_mod_SOURCES): New variable.
11978 (datehook_mod_CFLAGS): Likewise.
11979 (datehook_mod_LDFLAGS): Likewise.
11980 (pkglib_MODULES): Add lsmmap.mod.
11981 (lsmmap_mod_SOURCES): New variable.
11982 (lsmmap_mod_CFLAGS): Likewise.
11983 (lsmmap_mod_LDFLAGS): Likewise.
11984 (pkglib_MODULES): Add boot.mod.
11985 (boot_mod_SOURCES): New variable.
11986 (boot_mod_CFLAGS): Likewise.
11987 (boot_mod_LDFLAGS): Likewise.
11988 * conf/i386-coreboot.rmk: Removed redundant parts.
11989 * conf/i386-ieee1275.rmk: Likewise.
11990 * conf/i386-pc.rmk: Likewise.
11991 * conf/mips-yeeloong.rmk: Likewise.
11992 * conf/mips.rmk: Likewise.
11993 * conf/powerpc-ieee1275.rmk: Likewise.
11994 * conf/sparc64-ieee1275.rmk: Likewise.
11995 * conf/x86_64-efi.rmk: Likewise.
11996 * conf/i386-coreboot.rmk: Moved qemu parts ..
11997 * conf/i386-qemu.rmk: ... here
11998 * conf/i386-efi.rmk: Moved common parts to...
11999 * conf/x86-efi.rmk: ... here.
12000 * conf/i386.rmk: Added modules common to all x86 variants.
12001 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
12002 * disk/memdisk.c: Remove grub/machine/kernel.h.
12003 * gensymlist.sh.in: Include symbol.h.
12004 * hook/datehook.c: Correct module name.
12005 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
12006 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
12007 * include/grub/i386/efi/serial.h: New file.
12008 * include/grub/x86_64/efi/serial.h: Likewise.
12009 * util/time.c: Likewise.
12010 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
12011
463ac55f
CK
120122010-03-14 Colin King <colin.king@ubuntu.com>
120132010-03-14 Colin Watson <cjwatson@ubuntu.com>
12014
12015 Shrink the pre-partition-table part of boot.img by eight bytes.
12016
12017 * boot/i386/pc/boot.S (ERR): New macro.
12018 (chs_mode): Use ERR.
12019 (geometry_error): Likewise.
12020 (hd_probe_error): Remove. This is only used once, so we wrwite
12021 it inline instead.
12022 (read_error): Instead of printing read_error_string, just set up
12023 %si and fall through to ...
12024 (error_message): ... this new function, also used by ERR.
12025
08e46ede
CW
120262010-03-14 Colin Watson <cjwatson@ubuntu.com>
12027
12028 Speed up consecutive hostdisk operations on the same device.
12029
12030 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
12031 (grub_util_biosdisk_open): Initialise disk->data.
12032 (struct linux_partition_cache): New structure.
12033 (linux_find_partition): Cache partition start positions; these are
12034 expensive to compute on every read and write.
12035 (open_device): Cache open file descriptor in disk->data, so that we
12036 don't have to reopen it and flush the buffer cache for consecutive
12037 operations on the same device.
12038 (grub_util_biosdisk_close): New function.
12039 (grub_util_biosdisk_dev): Set `close' member.
12040
12041 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12042 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12043 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12044 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12045 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12046
4a6d2d06
VS
120472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 Compile parts of grub-emu as modules.
12050
12051 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12052 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12053 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12054 (all-local): Add $(GRUB_EMU).
12055 (install-local): Install $(GRUB_EMU).
12056 (uninstall): Uninstall $(GRUB_EMU).
12057 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12058 * kern/dl.c: Likewise.
12059 * commands/sleep.c: Not include machine/time.h.
12060 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12061 (COMMON_CFLAGS): Likewise.
12062 (sbin_UTILITIES): Remove grub-emu.
12063 (grub_emu_SOURCES): Removed.
12064 (kernel_img_RELOCATABLE): New variable.
12065 (pkglib_PROGRAMS): Add kernel.img.
12066 (kernel_img_SOURCES): New variable
12067 (kernel_img_CFLAGS): Likewise.
12068 (kernel_img_LDFLAGS): Likewise.
12069 (TARGET_NO_STRIP): Likewise.
12070 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12071 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12072 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12073 (grub-emu): New target.
12074 (GRUB_EMU): New variable.
12075 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12076 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12077 * loader/xnu.c: Likewise.
12078 * include/grub/pci.h: Likewise.
12079 * genemuinit.sh: New file.
12080 * genemuinitheader.sh: Likewise.
12081 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12082 Support TARGET_NO_DYNAMIC_MODULES.
12083 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12084 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12085 * disk/loopback.c: Likewise.
12086 * font/font_cmd.c: Likewise.
12087 * partmap/acorn.c: Likewise.
12088 * partmap/amiga.c: Likewise.
12089 * partmap/apple.c: Likewise.
12090 * partmap/gpt.c: Likewise.
12091 * partmap/msdos.c: Likewise.
12092 * partmap/sun.c: Likewise.
12093 * parttool/msdospart.c: Likewise.
12094 * term/gfxterm.c: Likewise.
12095 * video/bitmap.c: Likewise.
12096 * video/readers/jpeg.c: Likewise.
12097 * video/readers/png.c: Likewise.
12098 * video/readers/tga.c: Likewise.
12099 * video/video.c: Likewise.
12100 * util/grub-emu.c (read_command_list): Removed.
12101 (main): Don't call util_init_nls.
12102 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12103 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12104
91fdd2ed
VS
121052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12108 date.mod, datehook.mod.
12109 (datetime_mod_SOURCES): New variable.
12110 (datetime_mod_CFLAGS): Likewise.
12111 (datetime_mod_LDFLAGS): Likewise.
12112 (date_mod_SOURCES): Likewise.
12113 (date_mod_CFLAGS): Likewise.
12114 (date_mod_LDFLAGS): Likewise.
12115 (datehook_mod_SOURCES): Likewise.
12116 (datehook_mod_CFLAGS): Likewise.
12117 (datehook_mod_LDFLAGS): Likewise.
12118 * conf/sparc64-ieee1275.rmk: Likewise.
12119 * lib/ieee1275/datetime.c: New file.
12120
873ccae6
VS
121212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12124 (ieee1275_fb_mod_SOURCES): New variable.
12125 (ieee1275_fb_mod_CFLAGS): Likewise.
12126 (ieee1275_fb_mod_LDFLAGS): Likewise.
12127 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12128 New proto.
12129 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12130 (HEAP_MAX_ADDR): Likewise.
12131 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12132 type.
12133 Correct stop condition.
12134 (grub_ieee1275_devices_iterate): New function.
12135 * video/ieee1275.c: New file.
12136
601c97c0
VS
121372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12140
12141 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12142 as scratch.
12143 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12144 SCRATCH_PAD_DISKBOOT as scratch.
12145 (bootit): Pass Openfirmware pointer in %o4.
12146 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12147 of 0x200000.
12148 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12149 with util/grub-mkrawimage.c.
12150 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12151 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12152 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12153 (grub_aout_load) [GRUB_UTIL]: Likewise.
12154 * include/grub/kernel.h (grub_modules_get_end): New proto.
12155 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12156 (SCRATCH_PAD_BOOT): New definition.
12157 (SCRATCH_PAD_DISKBOOT): Likewise.
12158 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12159 * include/grub/sparc64/ieee1275/ieee1275.h
12160 (grub_ieee1275_original_stack): New variable
12161 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12162 New definition
12163 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12164 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12165 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12166 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12167 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12168 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12169 (grub_platform_image_format_t): New type.
12170 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12171 * kern/main.c (grub_modules_get_end)
12172 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12173 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12174 (codestart): Switch stacks.
12175 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12176 variable.
12177 (grub_heap_init): Use grub_modules_get_end.
12178 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12179 stack.
12180 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12181 (main): Likewise.
12182 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12183
d68b491e
TG
121842010-03-14 Thorsten Glaser <tg@mirbsd.org>
12185
12186 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12187
4e02ed50
MK
121882010-03-08 Matt Kraai <kraai@ftbfs.org>
12189
12190 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12191 bug #559005).
12192
1f15fc1e
VS
121932010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 * genmoddep.awk: Output all missing symbols and not only first.
12196
fce5d8ff
VS
121972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * NEWS: Put the date of 1.98 release.
12200
d1e8a02f
VS
122012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12204 ft2build.h.
12205
696fd607
VS
122062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12209 completition in the middle of string.
12210
33e2e6f3
VS
122112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * util/grub-mkrescue.in: Use mktemp with explicit template.
12214
b1f6d291
VS
122152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12218
2ac227c7
VS
122192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12222 right pointer.
12223
8f9a632b
VS
122242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 Fix FreeBSD compilation.
12227
12228 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12229 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12230
60b03859
VS
122312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12234
48a5a769
VS
122352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12238
3ab4bd77
VS
122392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12242
d116e0d8
RM
122432010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12244
12245 Support relative image path in theme file.
12246
12247 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12248 (image_set_property): Handle theme_dir and relative path.
12249
c7ef54aa
VS
122502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * configure.ac: Alias amd64 to x86_64.
12253
fcee14ed
VS
122542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * NEWS: mention multiboot on EFI.
12257
d0780363
VS
122582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * kern/main.c (grub_load_modules): Handle errors from init functions of
12261 embeded modules.
12262
41168ea4
VS
122632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * normal/autofs.c (autoload_fs_module): Handle errors.
12266
b54d93ac
VS
122672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 Disable linux.mod on qemu-mips since it's not functional and leads
12270 to compilation failure.
12271
12272 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12273 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12274 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12275 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12276 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12277 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12278 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12279 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12280 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12281 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12282 Reported by: BVK Chaitanya
12283
fc8345da
JU
122842010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12285
12286 * INSTALL: Add gettext as a dependency and add qemu to a new section
12287 "Prerequisites for make-check".
12288
4760f979
CF
122892010-03-04 Christian Franke <franke@computer.org>
12290
12291 * util/grub-pe2elf.c: Add missing include "progname.h".
12292
f209b5b2
VS
122932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * normal/crypto.c (read_crypto_list): Fix a typo.
12296 Reported by: Seth Goldberg.
12297
b4b7be98
VS
122982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 12301 Reported by: Seth Goldberg.
b4b7be98 12302
c0ee0385
VS
123032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12306 ascii.bitmaps.
12307
a8efbf64
VS
123082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 12311 Reported by: Seth Goldberg.
a8efbf64 12312
08dcd913
VS
123132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * util/i386/efi/grub-install.in: Copy gettext files.
12316
c4d0b332
VS
123172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12320
c6f2fe52
VS
123212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 Wait for user entry basing on presence of output rather than on errors.
12324
12325 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12326 (grub_install_newline_hook): Likewise.
12327 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12328 * normal/menu.c (show_menu): Check line_counter to determine presence
12329 of output.
12330 * normal/term.c (grub_normal_line_counter): New variable.
12331 (grub_normal_get_line_counter): New function.
12332 (grub_install_newline_hook): Likewise.
12333
5382b1e4
VS
123342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12337
5519963b
VS
123382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * configure.ac: Update version to 1.98.
12341
72b28631
VS
123422010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * util/grub.d/10_linux.in (linux_entry): Don't default to
12345 gfxpayload=keep if Linux doesn't support video handover.
12346
c140a180
VS
123472010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 Don't compile video modules on yeeloong since video subsystem is part
12350 of kernel.
12351
12352 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12353 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12354 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12355 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12356 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12357 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12358 * include/grub/bitmap_scale.h: Likewise.
12359 * include/grub/bufio.h: Likewise.
12360 * include/grub/font.h: Likewise.
12361 * include/grub/gfxterm.h: Likewise.
12362 * include/grub/video.h: Likewise.
12363 * include/grub/vbe.h: Don't include video_fb.h.
12364 * video/i386/pc/vbe.c: Include video_fb.h.
12365 * commands/i386/pc/vbetest.c: Include video.h.
12366
a0ca21c2
CW
123672010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12368
12369 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12370 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12371 default entry if GRUB_SAVEDEFAULT=true. This allows using
12372 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12373 saving a new default on every boot.
12374
4a8a763c
VS
123752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12378 * normal/term.c (read_terminal_list): Likewise.
12379 * normal/main.c (grub_normal_init_page): Likewise.
12380 (grub_normal_read_line_real): Likewise.
12381
607ffde2
VS
123822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12385 memory leak.
12386 Reported by: Seth Goldberg.
12387
2b8fa975
CW
123882010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12389
12390 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12391 duplicate declaration of `start'.
12392
618307dd
VS
123932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12396 filename.
12397 Reported by: Georgy Buranov
12398
7dd05b96 123992010-02-20 Carles Pina i Estany <carles@pina.cat>
12400
12401 * util/grub-mkrawimage.c (usage): Change string formatting to
12402 improve gettext.
12403
d1484a42
MRA
124042010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12405
12406 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12407 backspace keys.
12408
42b1d186
VS
124092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12412 Reported by: Michael Suchanek.
12413
124142010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
12415
12416 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12417 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12418
d9f31a41
VS
124192010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 Remove any reference to non-free fonts.
12422
12423 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12424 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12425 uses non-free components.
12426 * font/font.c (grub_font_get_name): Remove example name.
12427 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12428 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12429 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12430 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12431
2793c71e
GB
124322010-02-16 Georgy Buranov <gburanov@gmail.com>
12433
12434 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12435
402e3779
VS
124362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12439 Double divisor.
12440 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12441 features.
12442 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12443
0dd1e0dd
VS
124442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12447
6fa7cfce
ST
124482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12449
12450 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12451 * docs/grub.texi (Command-line and menu entry commands): Document play
12452 command.
12453
37c8483b
ST
124542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12455
12456 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12457 parse arguments as inline tempo and notes. Move code for playing notes
12458 to...
12459 (play): ... new function.
12460
14da0fb7
ST
124612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12462
12463 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12464 grub_uint16_t instead of short.
12465 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12466 disk from little endian to cpu endianness.
12467
04459e70
ST
124682010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12469
12470 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12471 GRUB_TICKS_PER_SECOND instead of 120.
12472
a0876943
VS
124732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12476 escape sequence after \e.
12477
e29f95dc
VS
124782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12481 non-ASCII characters.
12482
d27859b2
VS
124832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12486 set root in single quotes to prevent \, from being unescaped.
12487
bc028f2f
VS
124882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 Prevent unknown commands from stopping menuentry execution.
12491
12492 * script/execute.c (grub_script_execute_cmdline): Print error after
12493 unknown command.
12494
095f5f82
VS
124952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12498 Reported by: Pavel Pisa.
12499
8c717950
VS
125002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12503
904935c3
VS
125042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 Merge grub_ieee1275_map_physical into grub_map and rename to
12507 grub_ieee1275_map
12508
12509 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12510 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12511 Remove.
12512 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12513 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12514 necessary.
12515 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12516
5b59a4e3
VS
125172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12520 opening and not after.
12521
69e137e8
VS
125222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12525 constants.
12526
2c0fcc36
VS
125272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12530 (alloc_phys): Use ALIGN_UP instead of align_addr.
12531
8c6052ce
VS
125322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12535
17cec782
VS
125362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12539
e0128bbd
VS
125402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12543 verbose dprintf.
12544
ca62070b
VS
125452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Fix over-4GiB seek on sparc64.
12548
12549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12550 Replace pos_i and pos_lo with pos. All users updated.
12551 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12552 New constant.
12553 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12554 Likewise.
12555 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12556 and pos_lo.
12557
bdca2607
VS
125582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * util/grub-mkrawimage.c (main): Call set_program_name.
12561
da278c4d
VS
125622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Properly align 64-bit targets.
12565
12566 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12567 (generate_image): Use ALIGN_ADDR.
12568
b274d734
VS
125692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Properly create cross-endian images.
12572
12573 * include/grub/types.h (grub_host_to_target_addr): New macro
12574 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12575
82da2062
VS
125762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12579
7cae4377
VS
125802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12583
12584 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12585 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12586 (grub_linux_boot): Divide by 64K when on VESA.
12587
65a533e7
VS
125882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 Support GRUB_GFXPAYLOAD_LINUX.
12591
12592 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12593 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12594
dd01d397
VS
125952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12598 to show messages instead of discarding them.
12599 Process errors after executing command and not before. Keep old method
12600 too as precaution.
12601
660960d6
VS
126022010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * configure.ac: Check for ft2build.h.
12605
62509f04
VS
126062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12609
473df63d
VS
126102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * genkernsyms.sh.in: Use TARGET_CC.
12613
c98d2a13
CW
126142010-02-07 Colin Watson <cjwatson@ubuntu.com>
12615
12616 * NEWS: Update.
12617
6e14234c
VS
126182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
12621 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12622 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 12623
b255e9cf
YB
126242010-02-07 Yves Blusseau <blusseau@zetam.org>
12625
6e14234c 12626 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 12627
98e6959d
VS
126282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Fix warnings in grub-emu when compiling with maximum warning options.
12631
12632 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12633 (grub_arch_modules_addr): Return 0 and not NULL.
12634 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 12635 (xstrdup): Use newstr instead of dup.
f88d801b
VS
12636 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12637 of disk to dsk to avoid shadowing.
74e4934e
VS
12638 (find_free_slot): Fix prototype.
12639 * util/getroot.c (grub_util_is_dmraid): Make static.
12640 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12641 Add missing prototype.
12642 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 12643
74e31b5c
VS
126442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12647 appropriately.
12648
6b2ad14b
VS
126492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12652 code out.
12653
8f891adc
VS
126542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12657 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12658 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12659 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12660 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12661 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12662
74b45184
VS
126632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * include/grub/err.h (grub_err_printf): Don't export.
12666
a4bced77
VS
126672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12670
007d0695
VS
126712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12674 * kern/misc.c (grub_gettext_dummy): Make static.
12675
b6c0d9c2
VS
126762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12679 by non-valid ones.
12680 * kern/term.c (grub_putchar): Likewise.
12681
f51a90d0
VS
126822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12685 buggy hook call and memory leak.
12686
6846cec5
VS
126872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12690
468d69fe
VS
126912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12694
51906b8c
VS
126952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12698 modevar.
12699 Return grub_errno on allocation error.
12700
09706ce5
VS
127012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12704
911df80c
YB
127052010-02-06 Yves Blusseau <blusseau@zetam.org>
12706
12707 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12708 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12709
3746a6bc
VS
127102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12713 non-pxe disk.
12714 (grub_pxefs_open): Likewise.
12715
09706ce5
VS
127162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12717
12718 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12719 * util/grub.d/10_kfreebsd.in: Likewise.
12720 * util/grub.d/10_linux.in: Likewise.
12721
7cc192d9
VS
127222010-02-06 Colin D Bennett <colin@gibibit.com>
12723
12724 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12725 (gfxmenu_mod_SOURCES): New variable.
12726 (gfxmenu_mod_CFLAGS): Likewise.
12727 (gfxmenu_mod_LDFLAGS): Likewise.
12728 * include/grub/term.h (grub_term_set_current_output): Declare
12729 argument as const.
12730 * docs/gfxmenu-theme-example.txt: New file.
12731 * gfxmenu/gfxmenu.c: Likewise.
12732 * gfxmenu/gui_box.c: Likewise.
12733 * gfxmenu/gui_canvas.c: Likewise.
12734 * gfxmenu/gui_circular_progress.c: Likewise.
12735 * gfxmenu/gui_image.c: Likewise.
12736 * gfxmenu/gui_label.c: Likewise.
12737 * gfxmenu/gui_list.c: Likewise.
12738 * gfxmenu/gui_progress_bar.c: Likewise.
12739 * gfxmenu/gui_string_util.c: Likewise.
12740 * gfxmenu/gui_util.c: Likewise.
12741 * gfxmenu/icon_manager.c: Likewise.
12742 * gfxmenu/model.c: Likewise.
12743 * gfxmenu/named_colors.c: Likewise.
12744 * gfxmenu/theme_loader.c: Likewise.
12745 * gfxmenu/view.c: Likewise.
12746 * gfxmenu/widget-box.c: Likewise.
12747 * include/grub/gfxmenu_model.h: Likewise.
12748 * include/grub/gfxmenu_view.h: Likewise.
12749 * include/grub/gfxwidgets.h: Likewise.
12750 * include/grub/gui.h: Likewise.
12751 * include/grub/gui_string_util.h: Likewise.
12752 * include/grub/icon_manager.h: Likewise.
12753
127542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Agglomerate scrolling in gfxterm.
12757
12758 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12759 (grub_virtual_screen_setup): Initialise 'total_screen'.
12760 (write_char): Split to ...
12761 (paint_char): ... this ...
12762 (write_char): ... and this.
12763 (paint_char): Handle delayed scrolling.
12764 (draw_cursor): Likewise.
12765 (scroll_up): Split to ...
12766 (real_scroll): ... this ...
12767 (scroll_up): ... and this.
12768 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12769 characters.
12770 (grub_gfxterm_refresh): Call real_scroll.
12771
127722010-02-06 Colin D Bennett <colin@gibibit.com>
12773
12774 * include/grub/misc.h (grub_iscntrl): New inline function.
12775 (grub_isalnum): Likewise.
12776 (grub_strtol): Likewise.
12777
127782010-02-06 Colin D Bennett <colin@gibibit.com>
12779
12780 * normal/menu_text.c (get_entry_number): Move from here ...
12781 * normal/menu.c (get_entry_number): ... moved here.
12782 * include/grub/menu.h (grub_menu_get_default_entry_index):
12783 New prototype.
12784 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12785 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12786 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12787 (grub_menu_viewer_should_return): Likewise.
12788 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12789 * normal/menu_text.c (run_menu): Enable menu switching.
12790 * normal/menu_viewer.c (should_return): New variable.
12791 (menu_viewer_changed): Likewise.
12792 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12793 (grub_menu_viewer_should_return): New function.
12794 (menuviewer_write_hook): Likewise.
12795 (grub_menu_viewer_init): Likewise.
12796
127972010-02-06 Colin D Bennet <colin@gibibit.com>
127982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Support for gfxterm in a window.
12801
12802 * include/grub/gfxterm.h: New file.
12803 * include/grub/video.h (struct grub_video_rect): New declaration.
12804 (grub_video_rect_t): Likewise.
12805 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12806 (refcount): New variable.
12807 (render_target): Likewise.
12808 (window): Likewise.
12809 (repaint_callback): Likewise.
12810 (grub_virtual_screen_setup): Use 'render_target'.
12811 (init_window): New function.
12812 (grub_gfxterm_init_window): Likewise.
12813 (grub_gfxterm_init): Check reference counter.
12814 Use init_window.
12815 (destroy_window): New function.
12816 (grub_gfxterm_destroy_window): Likewise.
12817 (grub_gfxterm_fini): Check reference counter.
12818 Use destroy_window.
12819 (redraw_screen_rect): Restore viewport.
12820 Use 'render_target' and 'window'.
12821 Call 'repaint_callback'.
12822 (write_char): Use 'render_target'.
12823 (draw_cursor): Likewise.
12824 (scroll_up): Restore viewport.
12825 Use 'render_target' and 'window'.
12826 Call 'repaint_callback'.
12827 (grub_gfxterm_cls): Likewise.
12828 (grub_gfxterm_refresh): Use 'window'.
12829 (grub_gfxterm_set_repaint_callback): New function.
12830 (grub_gfxterm_background_image_cmd): Use 'window'.
12831 (grub_gfxterm_get_term): New function.
12832 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12833
128342010-02-06 Colin D Bennett <colin@gibibit.com>
12835
12836 Bitmap scaling support.
12837
12838 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12839 (bitmap_scale_mod_SOURCES): New variable.
12840 (bitmap_scale_mod_CFLAGS): Likewise.
12841 (bitmap_scale_mod_LDFLAGS): Likewise.
12842 * include/grub/bitmap_scale.h: New file.
12843 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12844 (background_image_cmd_options): New variable.
12845 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12846 (cmd): Rename and change type to ...
12847 (background_image_cmd_handle): ... this. All users updated.
12848 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12849 * video/bitmap_scale.c: New file.
12850
128512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 SDL support.
12854
12855 * Makefile.in (LIBSDL): New variable.
12856 (enable_grub_emu_sdl): Likewise.
12857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12858 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12859 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12860 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12861 * util/sdl.c: New file.
12862
128632010-02-06 Colin D Bennett <colin@gibibit.com>
128642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Double buffering support.
12867
12868 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12869 * include/grub/video.h: Update comment.
12870 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12871 New type.
12872 (grub_video_fb_doublebuf_blit_init): New prototype.
12873 * term/gfxterm.c (scroll_up): Support double buffering.
12874 (grub_gfxterm_refresh): Likewise.
12875 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12876 (grub_video_fb_doublebuf_blit_init): Likewise.
12877 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12878 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12879 'displayed_page', 'render_page' and 'update_screen'.
12880 (grub_video_vbe_fini): Free offscreen buffer.
12881 (doublebuf_pageflipping_commit): New function.
12882 (doublebuf_pageflipping_update_screen): Likewise.
12883 (doublebuf_pageflipping_init): Likewise.
12884 (double_buffering_init): Likewise.
12885 (grub_video_vbe_setup): Enable doublebuffering.
12886 (grub_video_vbe_swap_buffers): Implement.
12887 (grub_video_vbe_set_active_render_target): Handle double buffering.
12888 (grub_video_vbe_get_active_render_target): Likewise.
12889 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12890 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12891 (grub_video_vbe_enable_double_buffering): Likewise.
12892 (grub_video_vbe_swap_buffers): Use update_screen.
12893 (grub_video_set_mode): Use double buffering.
12894
128952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12896
12897 * maintainance/gentrigtables.py: Remove.
12898 * lib/trig.c: Likewise.
12899
12900 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12901
12902 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12903 `trigtables.c'.
12904 (trigtables.c): New rule.
12905 (gentrigtables): Likewise.
12906 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12907
129082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12909
12910 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12911 integer constants.
12912
129132010-02-06 Colin D Bennet <colin@gibibit.com>
12914
12915 Trigonometry support.
12916
12917 * include/grub/trig.h: New file.
12918 * lib/trig.c: Likewise.
12919 * maintainance/gentrigtables.py: Likewise.
12920 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12921 (trig_mod_SOURCES): New variable.
12922 (trig_mod_CFLAGS): Likewise.
12923 (trig_mod_LDFLAGS): Likewise.
12924
5562834e
VS
129252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12928 disk devices.
12929
4f8528fc
VS
129302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12933 error.
12934
2b4068e9
VS
129352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * util/hostdisk.c (open_device): Don't use partition device when reading
12938 before the partition.
12939 (grub_util_biosdisk_read): Don't read from partition and before the
12940 partition in single operation.
12941 (grub_util_biosdisk_write): Don't write to partition and before the
12942 partition in single operation.
12943
399f6e4d
TL
129442010-02-03 Torsten Landschoff <torsten@debian.org>
12945
12946 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12947 last sectors.
12948
996649b0
VS
129492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12952 CDROM reads.
12953 (grub_biosdisk_write): Refuse to write to CDROM.
12954
3b205d4d
VS
129552010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12958
61e89d9d
VS
129592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * font/font.c (find_glyph): Check that bmp_idx is available before
12962 using it.
12963 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12964 with (font == NULL).
12965
bf7fcba2
CS
129662010-01-28 Christian Schmitt <chris@ilovelinux.de>
12967
12968 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12969
f45d2663
BC
129702010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12971
12972 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12973 * util/grub-script-check.c (getline): Fix empty lines case.
12974
ec1444e6
RM
129752010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12976
12977 * Makefile.in (check): Exit with fail status when one of the tests
12978 fails.
12979 * tests/example_functional_test.c (example_test): Fix reversed assert.
12980 * tests/example_unit_test.c (example_test): Likewise.
12981
2e1cb9bb
CW
129822010-01-28 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * util/grub.d/10_linux.in: This script does not use any of the
12985 contents of gettext.sh, only the external command `gettext', so stop
12986 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12987 the same prefix as GRUB.)
12988 * util/grub.d/10_kfreebsd.in: Likewise.
12989
63533ab0
VS
129902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12993 of the line.
12994
989e1f93
VS
129952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12998 last sectors.
12999
e709ebe2
VS
130002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
13003 having a 4KiB and not 32KiB buffer size.
13004
27dea7ed
RM
130052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13006
13007 * util/hostfs.c: Include `<errno.h>'.
13008 (grub_hostfs_read): Handle errors from fseeko() and fread().
13009
67667b9c
RM
130102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13011
13012 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
13013 loop when using read hooks on files whose size isn't sector-aligned.
13014
c294d9d8
RM
130152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13016
13017 Remove unused parameter.
13018
13019 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
13020 (grub_iso9660_open): Remove initialization of `data->length'.
13021
af75a9f1
RM
130222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13023
13024 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
13025 memleak conditions.
13026
254e2ce5 130272010-01-27 Carles Pina i Estany <carles@pina.cat>
13028
13029 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
13030 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
13031
b510928c 130322010-01-26 Carles Pina i Estany <carles@pina.cat>
13033
13034 * util/bin2h.c (usage): Fix warning (space after backslash).
13035
aa2f9dd2 130362010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 13037
13038 * font/font.c: Include `grub/fontformat.h.
13039 Remove font file format constants.
13040 (grub_font_load): Use the new macros.
13041 * include/grub/fontformat.h: New file.
13042 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13043 (write_font_pf2): Use the new macros.
13044
94e7e712
RM
130452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13046
13047 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13048 does.
13049
3973a59a
RM
130502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13051
13052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13053
13054 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13055 (_start): Macroify `0x7F'.
13056
13057 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13058 (make_install_device): Use "(pxe)" as fallback prefix when booting
13059 via PXE.
13060
42e0cba3
GS
130612010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 * configure.ac: Reset LIBS after check for libgcc symbols.
13064
847effd8
CW
130652010-01-25 Colin Watson <cjwatson@ubuntu.com>
13066
13067 * util/hostdisk.c (open_device): Add trailing newline to debug
13068 message.
13069
ea4a7e35
GS
130702010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13071
13072 * configure.ac: Check for `limits.h'.
13073 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13074
67951a53
RM
130752010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13076
13077 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13078 capitalize error strings.
13079
c273d4ce
ST
130802010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13081
13082 * util/grub.d/10_hurd.in: Add a recovery mode.
13083
69be5b74
VS
130842010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * configure.ac: Check for libgcc symbols with -nostdlib.
13087
fc9e5810
BC
130882010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13089
13090 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13091
4b358c0a
VS
130922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13095 stack since heap may be unavailable at that point.
13096 (grub_ofconsole_gotoxy): Likewise.
13097
454fcd1c
VS
130982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * configure.ac: Check for _restgpr_14_x.
13101 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13102 and _savegpr_* prototypes.
13103
566863ca
RM
131042010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13105
13106 Use generic grub_reboot() for i386-efi.
13107
13108 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13109 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13110 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13111
bf86e59a
VS
131122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13115 presence of "prefix" variable as it breaks when normal.mod is
13116 embedded.
13117
d645e0f8
VS
131182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13121 stack since heap is unavailable at that point.
13122
f9ab2e25
VS
131232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13126 (grub_freebsd_bootinfo): Rewritten.
13127 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13128
01fc7054
VS
131292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13132
caab4fd6
RM
131332010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13134
13135 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13136 domain now.
13137
67eb1427
FZ
131382010-01-20 Felix Zielcke <fzielcke@z-51.de>
13139
13140 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13141 around for handling "/" to the correct fix. Fix a memory leak. Use
13142 xstrdup instead of strdup.
13143
a9ed4ff3
VS
131442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13147
131482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
13149
13150 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13151
13152 * font/font.c (struct grub_font): New member 'bmp_idx'.
13153 (font_init): Initialise 'bmp_idx'.
13154 (load_font_index): Fill 'bmp_idx'.
13155 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13156
48209f4f
VS
131572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13160 unnecessary calls.
13161
9f0a4bb7
VS
131622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 Move context handling out of the kernel.
13165
13166 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13167 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13168 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13169 * conf/i386-efi.rmk: Likewise.
13170 * conf/i386-ieee1275.rmk: Likewise.
13171 * conf/i386-pc.rmk: Likewise.
13172 * conf/powerpc-ieee1275.rmk: Likewise.
13173 * conf/sparc64-ieee1275.rmk: Likewise.
13174 * conf/x86_64-efi.rmk: Likewise.
13175 * include/grub/env.h: Include grub/menu.h.
13176 (grub_env_var_type): Removed.
13177 (grub_env_var): Replaced field 'type' with 'global'.
13178 (grub_env_find): New prototype.
13179 (grub_env_context_open): Remove EXPORT_FUNC.
13180 (grub_env_context_close): Likewise.
13181 (grub_env_export): Likewise.
13182 (grub_env_set_data_slot): Removed.
13183 (grub_env_get_data_slot): Likewise.
13184 (grub_env_unset_data_slot): Likewise.
13185 (grub_env_unset_menu): New prototype.
13186 (grub_env_set_menu): Likewise.
13187 (grub_env_get_menu): Likewise.
13188 * include/grub/env_private.h: New file.
13189 * include/grub/normal.h (grub_context_init): New prototype.
13190 (grub_context_fini): Likewise.
13191 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13192 * normal/context.c (grub_cmd_export): ... to here.
13193 * kern/env.c: Include env_private.h.
13194 (HASHSZ): Moved to include/grub/env_private.h.
13195 (grub_env_context): Likewise.
13196 (grub_env_sorted_var): Likewise.
13197 (current_context): Renamed from this ...
13198 (grub_current_context): ...to this. 'static' removed. All users updated.
13199 (grub_env_find): Removed 'static'.
13200 (grub_env_context_open): Moved to normal/context.c.
13201 (grub_env_context_close): Likewise.
13202 (grub_env_export): Likewise.
13203 (mangle_data_slot_name): Removed.
13204 (grub_env_set_data_slot): Likewise.
13205 (grub_env_get_data_slot): Likewise.
13206 (grub_env_unset_data_slot): Likewise.
13207 * kern/main.c (grub_set_root_dev): Don't export root.
13208 It will be done later.
13209 (grub_main): Don't export prefix.
13210 It will be done later.
13211 * normal/context.c: New file.
13212 * normal/main.c (free_menu): Use grub_env_unset_menu.
13213 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13214 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13215 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13216 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13217
8dd35b8c
VS
132182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 setpci support.
13221
13222 * commands/setpci.c: New file.
13223 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13224 (setpci_mod_SOURCES): New variable.
13225 (setpci_mod_CFLAGS): Likewise.
13226 (setpci_mod_LDFLAGS): Likewise.
13227
449193d5
VS
132282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 Byte-addressable PCI configuration space.
13231
13232 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13233 dword address.
13234 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13235 GRUB_PCI_REG_CACHELINE.
13236 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13237 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13238 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13239 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13240 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13241 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13242 grub_pci_make_address.
13243 (lock_rom_area): Likewise.
13244 * commands/lspci.c (grub_lspci_iter): Use macroses
13245 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13246 of grub_pci_make_address.
13247 * disk/ata.c (grub_ata_pciinit): Likewise.
13248 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13249 (GRUB_PCI_REG_VENDOR): Likewise.
13250 (GRUB_PCI_REG_DEVICE): Likewise.
13251 (GRUB_PCI_REG_COMMAND): Likewise.
13252 (GRUB_PCI_REG_STATUS): Likewise.
13253 (GRUB_PCI_REG_REVISION): Likewise.
13254 (GRUB_PCI_REG_CLASS): Likewise.
13255 (GRUB_PCI_REG_CACHELINE): Likewise.
13256 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13257 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13258 (GRUB_PCI_REG_BIST): Likewise.
13259 (GRUB_PCI_REG_ADDRESSES): Likewise.
13260 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13261 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13262 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13263 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13264 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13265 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13266 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13267 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13268 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13269 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13270 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13271 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13272 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13273 (GRUB_PCI_REG_MIN_GNT): Likewise.
13274 (GRUB_PCI_REG_MAX_LAT): Likewise.
13275 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13276 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13277 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 13278 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
13279 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13280 space.
13281
96d73208
RM
132822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13283
13284 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13285 can be reliably determined to be supported.
13286
d4484482
RM
132872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13288
13289 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13290 that VESA is supported.
13291 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13292 supported.
13293
00308ecf
VS
132942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13297
f66924a4
RM
132982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13299
13300 * util/misc.c (make_system_path_relative_to_its_root): Work around
13301 special-casing of "/", as previous incarnation of this routine did.
13302
cbca0ada
VS
133032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Fix any-emu compilation.
13306
13307 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13308 * grub_bin2h_SOURCES: New variable.
13309
34a66d99
RM
133102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13311
13312 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13313
94fabf58
RM
133142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13315
13316 * util/grub.d/00_header.in: Fix handling of locale_dir.
13317
02cf98ca
VS
133182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13321 as possible unifont location (Gentoo).
13322 Reported by: Alexander Brüning
13323
327dbcd7
VS
133242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 Don't try to generate lists for kernel.img.
13327
13328 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13329 (pkglib_MODULES): Remove kernel.img.
13330 (kernel_img_EXPORTS): Removed.
13331 (kernel_img_RELOCATABLE): New variable.
13332 * conf/x86_64-efi.rmk: Likewise.
13333 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13334
ca467290
VS
133352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13338 grub_xasprintf or grub_snprintf.
13339 (grub_vsprintf): Likewise.
13340 (grub_snprintf): New proto.
13341 (grub_vsnprintf): Likewise.
13342 (grub_xasprintf): Likewise.
13343 (grub_xvasprintf): Likewise.
13344 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13345 (grub_sprintf): Removed.
13346 (grub_vsnprintf): New function.
13347 (grub_snprintf): Likewise.
13348 (grub_xvasprintf): Likewise.
13349 (grub_xasprintf): Likewise.
13350 (grub_vsprintf): Renamed to ...
13351 (grub_vsnprintf_real): ...this. New argument max_len.
13352
aca655fd
BC
133532010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13354
13355 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13356 fix grub-script-check warning.
13357
7ee92c32
VS
133582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * include/grub/font.h (grub_font_load): Fix prototype.
13361
f80927ca
VS
133622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13365
119c50ea
VS
133662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * include/grub/x86_64/at_keyboard.h: New file.
13369
47d5f3c1
VS
133702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * loader/mips/linux.c: Include missing grub/i18n.h.
13373
55ff5266
RM
133742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13375
13376 * normal/menu.c (notify_execution_failure): Clarify error message.
13377
c893cc87
RM
133782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13379
13380 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13381 return value (and revert all return statements). Update users.
13382
917dd370
CW
133832010-01-20 Dan Merillat <debian@dan.merillat.org>
13384
13385 * kern/device.c (grub_device_iterate): Allocate new part_ent
13386 structure based on sizeof (*p) rather than sizeof (p->next), to
13387 account for structure padding.
13388
13389 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13390 disk is NULL, which might happen for LVM physical volumes with no
13391 LVM signature.
13392
d4a4ee57
RM
133932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13394
13395 * loader/mips/linux.c (grub_cmd_initrd)
13396 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13397
133982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13399
13400 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13401 (grub_video_video_init, grub_video_bitmap_init)
13402 (grub_font_manager_init, grub_term_gfxterm_init)
13403 (grub_at_keyboard_init): New extern declarations.
13404 (grub_machine_init): Initialize gfxterm and at_keyboard.
13405
13406 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13407
13408 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13409 `gfxterm.mod' into core image.
13410
13411 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13412 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13413 (kernel_img_FORMAT): Copy to ...
13414
13415 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13416 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13417 (kernel_img_FORMAT): ... here, and ...
13418
13419 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13420 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13421 (kernel_img_FORMAT): ... here.
13422
13423 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13424 and input (at_keyboard) terminals in kernel.
13425 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13426
13427 (pkglib_MODULES): Remove `pci.mod'.
13428 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13429 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13430 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13431 (at_keyboard_mod_LDFLAGS): Remove variables.
13432
134332010-01-11 Felix Zielcke <fzielcke@z-51.de>
13434
13435 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13436
134372009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13438
13439 * include/grub/mips/libgcc.h: Only export symbols for functions
13440 that libgcc provides.
13441
134422009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 MIPS support.
13445
13446 * bus/bonito.c: New file.
13447 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13448 GRUB_PCI_NUM_DEVICES.
13449 * term/i386/pc/serial.c: Move to ...
13450 * term/serial.c: ... here. All users updated.
13451 * util/i386/pc/grub-mkimage.c: Move to ...
13452 * util/grub-mkrawimage.c: ... here. All users updated.
13453 * term/i386/pc/at_keyboard.c: Move to ...
13454 * term/at_keyboard.c: ... here. All users updated.
13455 * conf/mips-qemu-mips.rmk: New file.
13456 * conf/mips-yeeloong.rmk: Likewise.
13457 * conf/mips.rmk: Likewise.
13458 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13459 mipsel-qemu-mips.
13460 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13461 to port addresses.
13462 (grub_ata_pciinit): Support CS5536.
13463 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13464 * font/font_cmd.c (loadfont_command): Open file before passing it to
13465 grub_font_load.
13466 (pseudo_file_read): New function.
13467 (pseudo_file_close): Likewise.
13468 (pseudo_fs): New structure.
13469 (load_font_module): New function.
13470 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13471 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13472 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13473 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13474 * include/grub/i386/at_keyboard.h: Split into ...
13475 * include/grub/at_keyboard.h: ... this ...
13476 * include/grub/i386/at_keyboard.h: ... and this.
13477 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13478 New prototype.
13479 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13480 updated.
13481 (grub_elf64_size): Likewise.
13482 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13483 filename.
13484 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13485 * include/grub/i386/coreboot/serial.h: Rewritten.
13486 * include/grub/i386/ieee1275/serial.h: Include
13487 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13488 * include/grub/i386/pc/serial.h: Moved from here ...
13489 * include/grub/serial.h: ... to here. All users updated.
13490 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13491 (GRUB_PCI_NUM_BUS): Likewise.
13492 (GRUB_PCI_NUM_DEVICES): Likewise.
13493 (grub_pci_device_map_range): Add missing volatile keyword.
13494 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13495 * include/grub/mips/at_keyboard.h: New file.
13496 * include/grub/mips/cache.h: Likewise.
13497 * include/grub/mips/io.h: Likewise.
13498 * include/grub/mips/kernel.h: Likewise.
13499 * include/grub/mips/libgcc.h: Likewise.
13500 * include/grub/mips/pci.h: Likewise.
13501 * include/grub/mips/qemu-mips/boot.h: Likewise.
13502 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13503 * include/grub/mips/qemu-mips/loader.h: Likewise.
13504 * include/grub/mips/qemu-mips/memory.h: Likewise.
13505 * include/grub/mips/qemu-mips/serial.h: Likewise.
13506 * include/grub/mips/qemu-mips/time.h: Likewise.
13507 * include/grub/mips/relocator.h: Likewise.
13508 * include/grub/mips/time.h: Likewise.
13509 * include/grub/mips/types.h: Likewise.
13510 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13511 * include/grub/mips/yeeloong/boot.h: Likewise.
13512 * include/grub/mips/yeeloong/kernel.h: Likewise.
13513 * include/grub/mips/yeeloong/loader.h: Likewise.
13514 * include/grub/mips/yeeloong/memory.h: Likewise.
13515 * include/grub/mips/yeeloong/pci.h: Likewise.
13516 * include/grub/mips/yeeloong/serial.h: Likewise.
13517 * include/grub/mips/yeeloong/time.h: Likewise.
13518 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13519 * kern/elf.c (grub_elf32_size): New parameter. All users
13520 updated.
13521 (grub_elf64_size): Likewise.
13522 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13523 Load modules before saying "Welcome to GRUB!".
13524 Call grub_refresh after saying "Welcome to GRUB!".
13525 * kern/mips/cache.S: New file.
13526 * kern/mips/cache_flush.S: Likewise.
13527 * kern/mips/dl.c: Likewise.
13528 * kern/mips/init.c: Likewise.
13529 * kern/mips/qemu-mips/init.c: Likewise.
13530 * kern/mips/startup.S: Likewise.
13531 * kern/mips/yeeloong/init.c: Likewise.
13532 * kern/term.c (grub_putcode): Handle NULL terminal.
13533 (grub_getcharwidth): Likewise.
13534 (grub_getkey): Likewise.
13535 (grub_checkkey): Likewise.
13536 (grub_getkeystatus): Likewise.
13537 (grub_getxy): Likewise.
13538 (grub_getwh): Likewise.
13539 (grub_gotoxy): Likewise.
13540 (grub_cls): Likewise.
13541 (grub_setcolorstate): Likewise.
13542 (grub_setcolor): Likewise.
13543 (grub_getcolor): Likewise.
13544 (grub_refresh): Likewise.
13545 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13546 (write_jump): Add hatch nop.
13547 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13548 * lib/mips/setjmp.S: New file.
13549 * loader/mips/linux.c: Likewise.
13550 * term/i386/pc/at_keyboard.c: Move from here ...
13551 * term/at_keyboard.c: ... to here.
13552 * term/i386/pc/serial.c: Moved from here ...
13553 * term/serial.c: ... to here. All users updated.
13554 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13555 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13556 (serial_translate_key_sequence): Avoid deadlock.
13557 (grub_serial_getkey): Handle backspace.
13558 (grub_serial_putchar): Fix newline handling.
13559 * util/i386/pc/grub-mkimage.c: Move from here ...
13560 * util/grub-mkrawimage.c: ... to here. All users updated.
13561 (generate_image): New parameters 'font_path' and 'format'.
13562 Support embedding font.
13563 Use grub_host_to_target* instead of grub_cpu_to_le*.
13564 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13565 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13566 (options): New option "--font".
13567 (usage): Likewise.
13568 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13569 (main): Handle "--font".
13570 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13571 (grub_virtual_screen_setup): Set bg_color_display.
13572 (redraw_screen_rect): Use bg_color_display instead of incorrect
13573 bg_color.
13574 (grub_gfxterm_cls): Likewise.
13575 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13576 Support embedding config file.
13577 (add_segments): Likewise.
13578 (options): New option "--config".
13579 (main): Handle "--config".
13580 * video/sm712.c: New file.
13581
25c2b5b3
RM
135822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13583
13584 Fix parallel builds.
13585
13586 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13587 font.c depend on ascii.h).
13588
135892010-01-12 Carles Pina i Estany <carles@pina.cat>
13590
13591 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13592
135932010-01-11 Carles Pina i Estany <carles@pina.cat>
13594
13595 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13596 By default: disabled.
13597 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13598 parameter.
13599
136002010-01-10 Carles Pina i Estany <carles@pina.cat>
13601
13602 * font/font.c: Update copyright years.
13603 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13604
136052010-01-10 Carles Pina i Estany <carles@pina.cat>
13606
13607 * font/font.c: Include `ascii.h'.
13608 (ASCII_BITMAP_SIZE): New macro.
13609 (ascii_font_glyph): Define.
13610 (ascii_glyph_lookup): New function.
13611 (grub_font_get_string_width): Change comment. If glyph not found, use
13612 ascii_glyph_lookup.
13613 (grub_font_get_glyph_with_fallback): If glyph not available returns
13614 ascii_glyph_lookup.
13615 * util/grub-mkfont.c (file_formats): New enum.
13616 (options): Add `ascii-bitmaps' new option.
13617 (usage): Add `asii-bitmaps' new option.
13618 (write_font_ascii_bitmap): New function.
13619 (write_font): Rename to ...
13620 (write_font_p2): ... this. Remove print_glyphs call.
13621 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13622 used. Call print_glyphs.
13623 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13624
136252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13626
13627 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13628 (grub_bin2h_SOURCES): New variable.
13629 * util/bin2h.c: New file.
13630
915fc1b8
VS
136312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * include/multiboot.h: Resynced with spec.
13634 * include/multiboot2.h: Likewise.
13635 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13636 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13637
9444b678
RM
136382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13639
13640 * include/grub/term.h (grub_term_register_input,
13641 grub_term_register_output): Check return of terminal init()
13642 routines, and abort if errors are raised.
13643
13644 * commands/terminal.c: Update copyright year.
13645
cba98e8d
RM
136462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13647
13648 * commands/terminal.c (grub_cmd_terminal_input)
13649 (grub_cmd_terminal_output): Check return of terminal init()
13650 routines, and abort if errors are raised.
13651
6f7db5d6
VS
136522010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * include/grub/i386/bsd.h: Fix include pathes.
13655
262bff8d
VS
136562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 Add missing *BSD copyright headers.
13659
13660 * include/grub/aout.h: Add BSD licence.
13661 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13662 * include/grub/i386/freebsd_linker.h: ... here,
13663 * include/grub/i386/freebsd_reboot.h: ... here,
13664 * include/grub/i386/netbsd_bootinfo.h: ... here,
13665 * include/grub/i386/netbsd_reboot.h: ... here,
13666 * include/grub/i386/openbsd_bootarg.h: ... here,
13667 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13668 licence to each file.
13669
b2cab848
RM
136702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13671
13672 * acinclude.m4: Remove `nop' assembly instruction; it's not
13673 implemented by all architectures.
13674
2cb6be4b
RM
136752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13676
13677 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13678 ELILO. This is no longer necessary.
13679
a2eaee15
BC
136802010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13681
13682 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13683
13684 * util/grub-script-check.c: grub-script-check tool.
13685 * conf/common.rmk: Make rules for grub-script-check.
13686
88d17012
RM
136872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13688
13689 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13690 spotting it back in 2008. Shame on me for forgetting he did.
13691
13692 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13693
8040619d
RM
136942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13695
13696 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13697 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13698 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13699 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13700 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13701 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13702
a0c2a0f6
RM
137032010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13704
13705 * include/grub/test.h: Add license header.
13706 * tests/example_functional_test.c: Likewise.
13707 * tests/example_unit_test.c: Likewise.
13708 * tests/lib/functional_test.c: Likewise.
13709 * tests/lib/test.c: Likewise.
13710 * tests/lib/unit_test.c: Likewise.
13711
b0b13907
VS
137122010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 Use flag-based instead of hook-based video mode selection and "auto"
13715 keyword.
13716
13717 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13718 (grub_video_set_mode): Changed prototype. All users updated.
13719 (grub_video_check_mode_flag): New inline function.
13720 * video/video.c (parse_modespec): New function.
13721 (grub_video_set_mode): Parse flags and keywords.
13722
ea379330 137232010-01-17 Carles Pina i Estany <carles@pina.cat>
13724
13725 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13726 fprintf call.
13727
e15c215e
FZ
137282010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13729
13730 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13731
409ae1c9 137322010-01-16 Carles Pina i Estany <carles@pina.cat>
13733
13734 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13735 string.
13736 * util/grub-emu.c (usage): Likewise.
13737 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13738 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13739 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13740 * util/i386/pc/grub-setup.c (usage): Likewise.
13741
70a14d3d 137422010-01-16 Carles Pina i Estany <carles@pina.cat>
13743
13744 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13745 the message.
13746 (grub_util_info): Likewise.
13747 (grub_util_error): Likewise.
13748 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13749 and/or new lines in `grub_util_warna', `grub_util_info',
13750 `grub_util_error' calls.
13751 * util/getroot.c: Likewise.
13752 * util/grub-editenv.c: Likewise.
13753 * util/grub-emu.c: Likewise.
13754 * util/grub-fstest.c: Likewise.
13755 * util/grub-mkdevicemap.c: Likewise.
13756 * util/grub-mkfont.c: Likewise.
13757 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13758 * util/grub-mkrelpath.c: Likewise.
13759 * util/grub-pe2elf.c: Likewise.
13760 * util/grub-probe.c: Likewise.
13761 * util/hostdisk.c: Likewise.
13762 * util/i386/efi/grub-mkimage.c: Likewise.
13763 * util/i386/pc/grub-mkimage.c: Likewise.
13764 * util/i386/pc/grub-setup.c: Likewise.
13765 * util/ieee1275/ofpath.c: Likewise.
13766 * util/mkisofs/eltorito.c: Likewise.
13767 * util/mkisofs/rock.c: Likewise.
13768 * util/mkisofs/write.c: Likewise.
13769 * util/raid.c: Likewise.
13770 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13771 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13772
a0b766fc
VS
137732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Enable multiboot on non-pc.
13776
13777 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13778 multiboot.mod and multiboot2.mod to ...
13779 * conf/i386.rmk (pkglib_MODULES): ... here.
13780 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13781 Moved to ...
13782 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13783 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13784 Moved to ...
13785 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13786 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13787 Moved to ...
13788 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13789 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13790 Moved to ...
13791 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13792 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13793 relocator.mod.
13794 (ata_mod_SOURCES): Removed.
13795 (ata_mod_CFLAGS): Likewise.
13796 (ata_mod_LDFLAGS): Likewise.
13797 (relocator_mod_SOURCES): Removed.
13798 (relocator_mod_CFLAGS): Likewise.
13799 (relocator_mod_ASFLAGS): Likewise.
13800 (relocator_mod_LDFLAGS): Likewise.
13801 Include i386.mk.
13802 * include/grub/x86_64/multiboot.h: New file.
13803 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13804 Terminate EFI.
13805
884ade56
VS
138062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 Video multiboot support.
13809
13810 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13811 New prototype.
13812 * include/multiboot.h: Resynced with multiboot specification.
13813 * include/multiboot2.h: Likewise.
13814 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13815 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13816 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13817 (HAS_VGA_TEXT): Likewise.
13818 (accepts_video): New variable.
13819 (grub_multiboot_set_accepts_video): New function.
13820 (grub_multiboot_get_mbi_size): Account for video structures.
13821 (set_video_mode): New function.
13822 (retrieve_video_parameters): Likewise.
13823 (grub_multiboot_make_mbi): Fill video fields.
13824
0d90e8a6
VS
138252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 Video driver ids.
13828
13829 * include/grub/video.h (grub_video_driver_id): New type.
13830 (grub_video_adapter): New member 'id'. All users updated.
13831 (grub_video_get_driver_id): New proto.
13832 * video/video.c (grub_video_get_driver_id): New function.
13833
5c71db1b 138342010-01-14 Carles Pina i Estany <carles@pina.cat>
13835
13836 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13837 `var=val'.
13838
cca15b52 138392010-01-14 Carles Pina i Estany <carles@pina.cat>
13840
13841 * normal/cmdline.c (print_completion): Gettextizze.
13842
c586fbb2 138432001-01-14 Carles Pina i Estany <carles@pina.cat>
13844
13845 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13846
ba2f6848 138472010-01-14 Carles Pina i Estany <carles@pina.cat>
13848
13849 * gettext/gettext.c (grub_gettext_translate): Push and pop
13850 grub_errno.
13851 (grub_gettext_delete_list): Change comment style.
13852 * kern/err.c (grub_error): Gettextizze.
13853 (grub_fatal): Gettextizze.
13854
0a46429a
RM
138552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13856
13857 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13858 (grub_linux16_real_boot): ... this.
13859 * kern/i386/loader.S: Likewise.
13860 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13861 (grub_linux16_boot): New function. Switches to text mode and calls
13862 grub_linux16_real_boot().
13863
13864 * loader/i386/bsd.c: Include `<grub/video.h>'.
13865 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13866 text mode before calling grub_unix_real_boot().
13867
13868 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13869 (grub_multiboot_boot): Switch to text mode before calling
13870 grub_relocator32_boot().
13871
13872 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13873 (grub_chainloader_boot): Switch to text mode before calling
13874 grub_chainloader_real_boot().
13875
d6f93a66
RM
138762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138772010-01-05 Colin Watson <cjwatson@ubuntu.com>
13878
13879 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13880 non-empty value.
13881
138822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138832010-01-05 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * util/grub.d/00_header.in: Define a "savedefault" function for use
13886 in menu entries.
13887 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13888
138892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138902010-01-05 Colin Watson <cjwatson@ubuntu.com>
13891
13892 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13893 saved_entry if boot_once is unset.
13894 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13895 previous saved entry (i.e. grub-reboot).
13896
138972009-12-08 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13900
139012009-12-08 Colin Watson <cjwatson@ubuntu.com>
13902
13903 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13904 `var=val'.
13905 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13906
139072009-12-08 Colin Watson <cjwatson@ubuntu.com>
13908
13909 * util/grub-reboot.in: Fix --version output.
13910 * util/grub-set-default.in: Likewise.
13911
139122009-12-08 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13915 blocks.
13916
139172009-12-08 Colin Watson <cjwatson@ubuntu.com>
13918
13919 * util/grub.d/00_header.in: Quote the value assigned to `default',
13920 in case it contains spaces.
13921
139222009-12-08 Colin Watson <cjwatson@ubuntu.com>
13923
13924 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13925 `save_default_entry' call from the macosx case to the linux case.
13926
139272009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
139282009-10-25 Colin Watson <cjwatson@ubuntu.com>
13929
13930 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13931 in `chosen' environment variable.
13932 * normal/menu_text.c (get_entry_number): Check if the variable
13933 matches the title of a menu entry.
13934 (run_menu): Pass menu to get_entry_number.
13935
13936 * util/grub-reboot.in: New file.
13937 * util/grub-set-default.in: New file.
13938 * conf/common.rmk (grub-reboot): New utility.
13939 (grub-set-default): New utility.
13940
13941 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13942 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13943 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13944 move it to `saved_entry' for the next boot. Load environment on
13945 initialisation.
13946 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13947 * util/grub.d/10_hurd.in: Likewise.
13948 * util/grub.d/10_linux.in (linux_entry): Likewise.
13949 * util/grub.d/10_windows.in: Likewise.
13950 * util/grub.d/30_os-prober.in: Likewise.
13951
13952 * util/grub-install.in: Create environment block.
13953 * util/i386/efi/grub-install.in: Likewise.
13954 * util/ieee1275/grub-install.in: Likewise.
13955 * util/sparc64/ieee1275/grub-install.in: Likewise.
13956
0934d184
BC
139572010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13958
13959 Unit testing framework for GRUB.
13960
13961 * Makefile.in: Test framework build rules for 'make check'.
13962 * conf/tests.rmk: Build rules for individual tests and framework.
13963
13964 * include/grub/test.h: Header file for whitebox tests.
13965 * tests/lib/functional_test.c: Framework support for whitebox
13966 functional tests.
13967 * tests/lib/test.c: Common whitebox testing code for unit and
13968 functional tests.
13969 * tests/lib/unit_test.c: Framework support for whitebox unit
13970 tests.
13971
13972 * tests/util/grub-shell-tester.in: Support utility for grub-script
13973 tests.
13974 * tests/util/grub-shell.in: Utility to execute grub-script
13975 commands in a Qemu instance.
13976
13977 * tests/example_functional_test.c: Example whitebox functional
13978 test.
13979 * tests/example_grub_script_test.in: Example grub-script test.
13980 * tests/example_scripted_test.in: Example scripted test.
13981 * tests/example_unit_test.c: Example whitebox unit test.
13982
9c4ffeeb
VS
139832010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13986 Add loader/i386/multiboot_mbi.c.
13987 (multiboot2_mod_SOURCES): Likewise.
13988 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13989 (multiboot2_mod_SOURCES): Likewise.
13990 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13991 (grub_multiboot_make_mbi): Likewise.
13992 (grub_multiboot_free_mbi): Likewise.
13993 (grub_multiboot_init_mbi): Likewise.
13994 (grub_multiboot_add_module): Likewise.
13995 (grub_multiboot_set_bootdev): Likewise.
13996 * loader/i386/multiboot.c (mbi): Removed.
13997 (mbi_dest): Likewise.
13998 (alloc_mbi): New variable.
13999 (grub_multiboot_payload_size): Removed. All users updated.
14000 (grub_multiboot_pure_size): New variable.
14001 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
14002 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
14003 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
14004 (grub_fill_multiboot_mmap): Likewise.
14005 (grub_multiboot_get_bootdev): Likewise.
14006 (grub_multiboot): Use multiboot_mbi functions.
14007 * loader/i386/multiboot_mbi.c: New file.
14008
17383dfe
VS
140092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
14012 it would result in module crash.
14013
c1f28820
VS
140142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
14017 (grub_ofconsole_getwh): Split to ...
14018 (grub_ofconsole_getwh): ... this.
14019 (grub_ofconsole_dimensions): ...and this.
14020 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
14021
58655a16
RM
140222010-01-13 Robert Millan <rmh.grub@aybabtu.com>
14023
14024 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
14025
10891398
VS
140262010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * loader/i386/pc/multiboot2.c: Removed stalled file.
14029
0b8a223c
VS
140302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
14033 Reported by: Grégoire Sutre
14034
92ab12b0
RM
140352010-01-11 Robert Millan <rmh.grub@aybabtu.com>
14036
14037 * util/misc.c (canonicalize_file_name): New function.
14038 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14039 instead of realpath().
14040
a788afb6
CW
140412010-01-11 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14044 and make it clearer that it's optional. Based on confusion
14045 witnessed on IRC.
14046
ffa8e3d2
VS
140472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14050 in premature implicit newline.
14051
e9060a9d
VS
140522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14055 which resulted in garbled command line at the end of screen.
14056
f0d0c0b7
RM
140572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14058
14059 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14060 initialization with similar approach as with other Linux loaders.
14061
0e60bae7
RM
140622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14063
14064 Fix i386-ieee1275 build.
14065
14066 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14067 and grub_term_height() for video_{width,height} initialization.
14068
140692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
14070
14071 Fix grub-emu build.
14072
14073 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14074
cdb3f378
RM
140752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
140762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14077
14078 Support for multiple terminals.
14079
14080 * Makefile.in (pkglib_DATA): terminal.lst.
14081 (terminal.lst): New target.
14082 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14083 (GRUB_MOD_INIT(handler)): Likewise.
14084 (GRUB_MOD_FINI(handler)): Likewise.
14085 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14086 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14087 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14088 (grub_cmd_sleep): Use grub_term_save_pos.
14089 * commands/terminal.c: New file.
14090 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14091 commands/terminal.c and lib/charset.c.
14092 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14093 (pkglib_MODULES): Add terminal.mod.
14094 (terminal_mod_SOURCES): New variable.
14095 (terminal_mod_CFLAGS): Likewise.
14096 (terminal_mod_LDFLAGS): Likewise.
14097 * genhandlerlist.sh: Don't handle terminals.
14098 * genmk.rb: Generate terminal-*.lst.
14099 * genterminallist.sh: New file.
14100 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14101 (grub_is_valid_utf8): Likewise.
14102 (grub_utf8_to_ucs4_alloc): Likewise.
14103 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14104 (grub_menu_register_viewer): Changed argument.
14105 (grub_menu_try_text): New proto.
14106 (grub_gfxmenu_try_hook): New declaration.
14107 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14108 (grub_menu_init_page): Additional argument term.
14109 (grub_normal_init_page): Likewise.
14110 (grub_cmdline_get): Arguments simplified.
14111 (grub_utf8_to_ucs4_alloc): Removed.
14112 (grub_print_ucs4): Additional argument term.
14113 (grub_getstringwidth): Likewise.
14114 (grub_print_message_indented): Likewise.
14115 (grub_menu_text_register_instances): New proto.
14116 (grub_show_menu): Likewise.
14117 (read_terminal_list): Likewise.
14118 (grub_set_more): Likewise.
14119 * include/grub/parser.h: Include handler.h.
14120 * include/grub/reader.h: Rewritten.
14121 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14122 (GRUB_TERM_WIDTH): Changed to function.
14123 (GRUB_TERM_HEIGHT): Likewise.
14124 (GRUB_TERM_BORDER_WIDTH): Likewise.
14125 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14126 (GRUB_TERM_NUM_ENTRIES): Likewise.
14127 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14128 (GRUB_TERM_CURSOR_X): Likewise.
14129 (grub_term_input_class): Likewise.
14130 (grub_term_output_class): Likewise.
14131 (grub_term_outputs_disabled): New declaration.
14132 (grub_term_inputs_disabled): Likewise.
14133 (grub_term_outputs): Likewise.
14134 (grub_term_inputs): Likewise.
14135 (grub_term_register_input): Rewritten.
14136 (grub_term_register_output): Likewise.
14137 (grub_term_unregister_input): Likewise.
14138 (grub_term_unregister_output): Likewise.
14139 (FOR_ACTIVE_TERM_INPUTS): New macro.
14140 (FOR_DISABLED_TERM_INPUTS): Likewise.
14141 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14142 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14143 * include/grub/terminfo.h: Add oterm argument to all protypes.
14144 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14145 Use grub_rescue_run.
14146 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14147 All users updated.
14148 * kern/reader.c: Removed. All users updated.
14149 * kern/rescue_reader.c (grub_rescue_init): Removed.
14150 (grub_rescue_reader): Likewise.
14151 (grub_register_rescue_reader): Likewise.
14152 (grub_rescue_run): New function based on kern/reader.c.
14153 * kern/term.c: Adapted for multiterm.
14154 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14155 (grub_is_valid_utf8): Likewise.
14156 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14157 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14158 right terminal.
14159 * loader/i386/linux.c (grub_linux_boot): Likewise.
14160 * normal/auth.c (grub_username_get): New function.
14161 (grub_auth_check_authentication): Use grub_username_get.
14162 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14163 * normal/color.c: Adapt for multiterm.
14164 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14165 (grub_normal_init_page): Additional argument term.
14166 (read_lists): Call read_terminal_lists.
14167 (grub_enter_normal_mode): Call grub_cmdline_run.
14168 Handle grub_normal_exit_level.
14169 (grub_cmd_normal): Make reentrant.
14170 (grub_cmd_normal_exit): New function.
14171 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14172 * normal/menu.c: Adapt for multiterm.
14173 * normal/menu_entry.c: Likewise.
14174 * normal/menu_text.c: Likewise.
14175 * normal/menu_viewer.c: Removed. All users updated.
14176 * normal/term.c: New file.
14177 * util/console.c: Change order of includes to workaround a bug in
14178 ncurses headers.
14179 * term/terminfo.c: New argument oterm on all exported functions.
14180 All users updated.
14181 * util/grub-editenv.c (grub_term_input_class): Removed.
14182 (grub_term_output_class): Likewise.
14183
1a064917
RM
141842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14185
14186 Make loader output a bit more user-friendly.
14187
14188 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14189 is being loaded. Likewise for the Hurd.
14190
14191 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14192 that kernel of FreeBSD ${version} is being loaded.
14193
14194 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14195 grub_dprintf().
14196 (grub_cmd_initrd): Likewise.
14197 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14198 that Linux ${version} is being loaded. Likewise for initrd.
14199
5ce0a83a 142002010-01-09 Carles Pina i Estany <carles@pina.cat>
14201
14202 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14203
809bbfeb 142042010-01-08 Carles Pina i Estany <carles@pina.cat>
14205
14206 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14207 (GRUB_MOD_INIT): Gettextizze.
14208 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14209 (GRUB_MOD_INIT): Gettextizze.
14210 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14211 (grub_cmd_linux): Capitalise Linux.
14212 (GRUB_MOD_INIT): Gettextizze.
14213 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14214 (grub_cmd_linux): Capitalise Linux.
14215 (GRUB_MOD_INIT): Gettextizze.
14216 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14217 (grub_cmd_linux): Capitalise Linux.
14218 (GRUB_MOD_INIT): Gettextizze.
14219 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14220 (GRUB_MOD_INIT): Gettextizze.
14221 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14222 (grub_cmd_linux): Capitalise Linux.
14223 (GRUB_MOD_INIT): Gettextizze.
14224 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14225 (grub_cpu_xnu_init): Gettextizze.
14226 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14227 (GRUB_MOD_INIT): Gettextizze.
14228 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14229 (GRUB_MOD_INIT): Gettextizze.
14230 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14231 (grub_linux_load64): Capitalise Linux.
14232 (GRUB_MOD_INIT): Gettextizze.
14233 * loader/xnu.c: Include `<grub/i18n.h>'.
14234 (GRUB_MOD_INIT): Gettextizze.
14235 * po/POTFILES: Add `loader/efi/appleloader.c',
14236 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14237 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14238 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14239 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14240 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14241 and `loader/xnu.c'.
14242
b394b2ca
RM
142432010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14244
14245 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14246
142472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
14248
14249 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14250 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14251 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14252
bc8b32b3
RM
142532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14254
14255 Reset Multiboot 2 support. New loader implements the draft in
14256 /branches/multiboot2 and shares as much code as possible with the
14257 production Multiboot 1 implementation.
14258
14259 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14260 * loader/multiboot2.c: Likewise.
14261 * loader/i386/multiboot_helper.S: Likewise.
14262 * include/multiboot2.h: Replace with latest version from the draft
14263 in /branches/multiboot2.
14264
14265 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14266 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14267 and `loader/multiboot2.c'.
14268 (pkglib_MODULES): Add `multiboot2.mod'.
14269 (multiboot2_mod_SOURCES): New variable.
14270 (multiboot2_mod_LDFLAGS): Likewise.
14271 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14272
14273 * conf/i386-pc.rmk: Likewise.
14274
14275 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14276 (multiboot_mod_SOURCES): Remove variable.
14277 (multiboot_mod_LDFLAGS): Likewise.
14278 (multiboot_mod_CFLAGS): Likewise.
14279
14280 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14281 `<multiboot2.h>' instead of `<multiboot.h>'.
14282 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14283 (MULTIBOOT_HEADER_MAGIC): New macros.
14284
14285 * loader/multiboot_loader.c (module_version_status): Remove variable.
14286 (find_multi_boot2_header): Remove function.
14287 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14288 logic. Always check for the Multiboot version we're compiling for.
14289 (grub_cmd_module_loader): Likewise.
14290 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14291 command instead of `multiboot'.
14292
5d2c52b8
RM
142932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14294
14295 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14296 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14297 all users.
14298
53108d92
RM
142992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
143002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 Fix breakage introduced with previous commit.
14303
14304 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14305 commands.
14306 * normal/handler.c (read_handler_list): Revert part of previous commit
14307 affecting this file.
14308 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14309 (grub_normal_execute): ... here.
14310
e2e936b2
RM
143112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14312
14313 Merge prefix-redefinition-fix branch.
14314
14315 * normal/autofs.c (read_fs_list): Make function capable of being
14316 run multiple times, gracefuly replacing the previous data
14317 structures.
14318 * normal/dyncmd.c (read_command_list): Likewise.
14319 * normal/handler.c (read_handler_list): Likewise.
14320 * normal/main.c (read_lists): New function. Calls all the
14321 list reading functions.
14322 (grub_normal_execute): Use read_lists() instead of calling all
14323 list reading functions explicitly. Register read_lists() as a
14324 variable hook attached to ${prefix}.
14325
607a3701
VS
143262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 Merge crypto branch.
14329
14330 * Makefile.in (pkglib_DATA): Add crypto.lst.
14331 (crypto.lst): New target.
14332 * commands/hashsum.c: New file.
14333 * commands/password.c (check_password): Use grub_crypto_memcmp.
14334 * commands/password_pbkdf2.c: New file.
14335 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14336 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14337 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14338 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14339 -I$(srcdir)/lib/libgcrypt_wrap.
14340 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14341 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14342 password_pbkdf2.mod.
14343 (crypto_mod_SOURCES): New variable.
14344 (crypto_mod_CFLAGS): Likewise.
14345 (crypto_mod_LDFLAGS): Likewise.
14346 (hashsum_mod_SOURCES): New variable.
14347 (hashsum_mod_CFLAGS): Likewise.
14348 (hashsum_mod_LDFLAGS): Likewise.
14349 (pbkdf2_mod_SOURCES): New variable.
14350 (pbkdf2_mod_CFLAGS): Likewise.
14351 (pbkdf2_mod_LDFLAGS): Likewise.
14352 (password_pbkdf2_mod_SOURCES): New variable.
14353 (password_pbkdf2_mod_CFLAGS): Likewise.
14354 (password_pbkdf2_mod_LDFLAGS): Likewise.
14355 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14356 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14357 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14358 Include conf/gcry.rmk.
14359 * include/grub/auth.h: Rewritten.
14360 * include/grub/crypto.h: New file.
14361 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14362 * include/grub/normal.h (read_crypto_list): New prototype.
14363 * lib/crypto.c: New file.
14364 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14365 * lib/pbkdf2.c: Likewise.
14366 * normal/auth.c (grub_auth_strcmp): Removed.
14367 (grub_iswordseparator): Likewise.
14368 (grub_auth_strword): Likewise.
14369 (is_authenticated): Use grub_strword.
14370 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14371 and grub_strword. Pass entered password to authentication callback.
14372 * normal/crypto.c: New file.
14373 * normal/main.c: Call read_crypto_list.
14374 * util/grub-mkpasswd-pbkdf2.c: New file.
14375 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14376
42841caa
VS
143772010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 Fix descent and ascent calculation.
14380
14381 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14382 (options): New option "asce".
14383 (usage): Likewise.
14384 (add_char): Ignore invalid glyphs for descent calculation.
14385 Calculate ascent from actual content.
14386 (print_glyphs): Use 'asce'.
14387 (write_font): Likewise. Allow ascent override.
14388 (main): Handle "asce" option.
14389
e7730de7 143902010-01-06 Carles Pina i Estany <carles@pina.cat>
14391
14392 * kern/err.c: Include `<grub/i18n.h>'.
14393 (grub_print_error): Add full stop. Gettextizze.
14394 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14395 (grub_bsd_load_elf): Capitalise ELF.
14396 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14397 (grub_cmd_freebsd_module): Likewise.
14398 (grub_cmd_freebsd_module_elf): Likewise.
14399 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14400
40e3a41f 144012010-01-06 Carles Pina i Estany <carles@pina.cat>
14402
14403 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14404 * commands/search_file.c (HELP_MESSAGE): New macro.
14405 * commands/search_label.c (HELP_MESSAGE): Likewise.
14406 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14407 * po/POTFILES: Add `commands/search_file.c',
14408 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14409 `commands/search.c'.
14410
83507e68
RM
144112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14412
14413 * config.rpath: Update from Gnulib.
14414
465c787b
YB
144152010-01-05 Yves Blusseau <blusseau@zetam.org>
14416
14417 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14418
6581dd3a
YB
144192010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14420
14421 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14422
3bff18c5
CW
144232010-01-05 Colin Watson <cjwatson@ubuntu.com>
14424
14425 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14426 arguments to fread so that we get a return value in bytes, rather
14427 than something that will normally be rounded down to 0.
14428 Adjust error handling to avoid producing garbage when size_t is not
14429 the same size as long long.
14430
a1368118
CW
144312010-01-05 Colin Watson <cjwatson@ubuntu.com>
14432
14433 * util/mkisofs/write.c (padblock_write): Check return value of
14434 fread.
14435
7c302978
RM
144362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14437
14438 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14439 floppy images now.
14440
14441 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14442
e33ace06
RM
144432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14444
14445 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14446 instead of manual alignment.
14447 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14448 verbose). Avoid attempts to read past end of the device
14449 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14450 but GRUB_DISK_CACHE_SIZE may exceed that).
14451
4b856776
RM
144522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14453
14454 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14455 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14456 it to upper layer.
14457
52c2d97f
VS
144582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14461 New constant.
14462 (grub_efi_piwg_device_path): New structure
14463 (grub_efi_piwg_device_path_t): New type.
14464 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14465 (devpath_1): Transform to a structure. All users updated.
14466 (devpath_2): Likewise.
14467 (devpath_3): Likewise.
14468 (devpath_4): Likewise.
14469 (devpath_5): Likewise.
14470
98ff6a54
VS
144712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * loader/efi/appleloader.c: Restored. Update all users.
14474
3a73dcb6
RM
144752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14476
14477 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14478
14479 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14480 (struct boot_blocklist): Move from here ...
14481 * include/grub/i386/pc/boot.h [ASM_FILE]
14482 (struct grub_boot_blocklist): ... to here. Update all users.
14483 (setup): Only initialize `start' member of `first_block'
14484 structure. Add assert() calls to verify the other members.
14485
14486 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14487 (generate_image): Fix broken blocklist length initialization.
14488 Add assert() call to verify blocklist `segment' field.
14489
ab0eeb0c
RM
144902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14491
14492 * loader/efi/appleloader.c: Remove. Update all users.
14493
58bc8bd5
RM
144942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14495
14496 * boot/i386/pc/boot.S: Update copyright year.
14497 * boot/i386/pc/cdboot.S: Likewise.
14498 * boot/i386/pc/diskboot.S: Likewise.
14499 * boot/i386/pc/lnxboot.S: Likewise.
14500 * boot/i386/pc/pxeboot.S: Likewise.
14501 * bus/pci.c: Likewise.
14502 * commands/cmp.c: Likewise.
14503 * commands/help.c: Likewise.
14504 * commands/hexdump.c: Likewise.
14505 * commands/i386/pc/halt.c: Likewise.
14506 * commands/i386/pc/play.c: Likewise.
14507 * commands/i386/pc/vbeinfo.c: Likewise.
14508 * commands/ls.c: Likewise.
14509 * commands/test.c: Likewise.
14510 * disk/dmraid_nvidia.c: Likewise.
14511 * disk/i386/pc/biosdisk.c: Likewise.
14512 * disk/ieee1275/nand.c: Likewise.
14513 * disk/ieee1275/ofdisk.c: Likewise.
14514 * disk/lvm.c: Likewise.
14515 * disk/raid.c: Likewise.
14516 * disk/raid6_recover.c: Likewise.
14517 * disk/scsi.c: Likewise.
14518 * fs/affs.c: Likewise.
14519 * fs/cpio.c: Likewise.
14520 * fs/ext2.c: Likewise.
14521 * fs/hfs.c: Likewise.
14522 * fs/iso9660.c: Likewise.
14523 * fs/ntfs.c: Likewise.
14524 * fs/sfs.c: Likewise.
14525 * fs/udf.c: Likewise.
14526 * fs/ufs.c: Likewise.
14527 * fs/xfs.c: Likewise.
14528 * gencmdlist.sh: Likewise.
14529 * genmk.rb: Likewise.
14530 * include/grub/disk.h: Likewise.
14531 * include/grub/efi/api.h: Likewise.
14532 * include/grub/efi/efi.h: Likewise.
14533 * include/grub/efi/pe32.h: Likewise.
14534 * include/grub/elf.h: Likewise.
14535 * include/grub/fs.h: Likewise.
14536 * include/grub/i386/at_keyboard.h: Likewise.
14537 * include/grub/i386/pc/memory.h: Likewise.
14538 * include/grub/i386/pc/vbe.h: Likewise.
14539 * include/grub/i386/pci.h: Likewise.
14540 * include/grub/i386/tsc.h: Likewise.
14541 * include/grub/ieee1275/ieee1275.h: Likewise.
14542 * include/grub/ntfs.h: Likewise.
14543 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14544 * include/grub/sparc64/libgcc.h: Likewise.
14545 * include/grub/symbol.h: Likewise.
14546 * include/grub/types.h: Likewise.
14547 * include/multiboot2.h: Likewise.
14548 * io/gzio.c: Likewise.
14549 * kern/device.c: Likewise.
14550 * kern/disk.c: Likewise.
14551 * kern/efi/efi.c: Likewise.
14552 * kern/efi/mm.c: Likewise.
14553 * kern/elf.c: Likewise.
14554 * kern/file.c: Likewise.
14555 * kern/i386/dl.c: Likewise.
14556 * kern/i386/pc/init.c: Likewise.
14557 * kern/i386/pc/startup.S: Likewise.
14558 * kern/ieee1275/ieee1275.c: Likewise.
14559 * kern/ieee1275/init.c: Likewise.
14560 * kern/main.c: Likewise.
14561 * kern/mm.c: Likewise.
14562 * kern/powerpc/dl.c: Likewise.
14563 * kern/sparc64/dl.c: Likewise.
14564 * kern/x86_64/dl.c: Likewise.
14565 * lib/hexdump.c: Likewise.
14566 * loader/efi/appleloader.c: Likewise.
14567 * loader/i386/ieee1275/linux.c: Likewise.
14568 * loader/i386/pc/chainloader.c: Likewise.
14569 * loader/i386/pc/linux.c: Likewise.
14570 * loader/i386/pc/multiboot2.c: Likewise.
14571 * loader/ieee1275/multiboot2.c: Likewise.
14572 * loader/multiboot2.c: Likewise.
14573 * loader/multiboot_loader.c: Likewise.
14574 * loader/powerpc/ieee1275/linux.c: Likewise.
14575 * normal/completion.c: Likewise.
14576 * normal/menu_entry.c: Likewise.
14577 * partmap/apple.c: Likewise.
14578 * util/grub.d/10_hurd.in: Likewise.
14579 * util/hostfs.c: Likewise.
14580 * video/readers/png.c: Likewise.
14581
e2d70b5c
CW
145822010-01-03 Colin Watson <cjwatson@ubuntu.com>
14583
14584 * include/grub/misc.h (GNUC_PREREQ): New macro.
14585 (ATTRIBUTE_ERROR): New macro.
14586 * include/grub/list.h (grub_bad_type_cast_real): Use
14587 ATTRIBUTE_ERROR.
14588
a173283f 145892010-01-03 Carles Pina i Estany <carles@pina.cat>
14590
14591 * normal/menu_text.c (print_message): Change messages.
14592
7fa7ff74 145932010-01-03 Carles Pina i Estany <carles@pina.cat>
14594
14595 * normal/menu_entry.c (store_completion): Gettextizze.
14596
136d24f6 145972010-01-03 Carles Pina i Estany <carles@pina.cat>
14598
14599 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14600
f936862e 146012010-01-03 Carles Pina i Estany <carles@pina.cat>
14602
14603 * po/POTFILES: Sort correctly.
14604
29c44ad1 146052010-01-03 Carles Pina i Estany <carles@pina.cat>
14606
14607 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14608 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14609 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14610 full stop.
14611 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14612 summary. Gettextizze the strings.
14613 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14614 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14615 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14616 full stop.
14617 (GRUB_MOD_INIT): Remove command name from summary.
14618 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14619 summary.
14620 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14621 * term/i386/pc/serial.c (options): Add full stops.
14622 (GRUB_MOD_INIT): Remove command name from the summary.
14623
77a79592 146242010-01-03 Carles Pina i Estany <carles@pina.cat>
14625
14626 * commands/acpi.c: Gettextizze help strings and/or options. Include
14627 `grub/i18n.h' if needed.
14628 * commands/blocklist.c: Likewise.
14629 * commands/boot.c: Likewise.
14630 * commands/cat.c: Likewise.
14631 * commands/cmp.c: Likewise.
14632 * commands/configfile.c: Likewise.
14633 * commands/crc.c: Likewise.
14634 * commands/date.c: Likewise.
14635 * commands/echo.c: Likewise.
14636 * commands/efi/fixvideo.c: Likewise.
14637 * commands/efi/loadbios.c: Likewise.
14638 * commands/gptsync.c: Likewise.
14639 * commands/halt.c: Likewise.
14640 * commands/handler.c: Likewise.
14641 * commands/hdparm.c: Likewise.
14642 * commands/hexdump.c: Likewise.
14643 * commands/i386/cpuid.c: Likewise.
14644 * commands/i386/pc/drivemap.c: Likewise.
14645 * commands/i386/pc/halt.c: Likewise.
14646 * commands/i386/pc/pxecmd.c: Likewise.
14647 * commands/i386/pc/vbeinfo.c: Likewise.
14648 * commands/i386/pc/vbetest.c: Likewise.
14649 * commands/ieee1275/suspend.c: Likewise.
14650 * commands/keystatus.c: Likewise.
14651 * commands/loadenv.c: Likewise.
14652 * commands/ls.c: Likewise.
14653 * commands/lsmmap.c: Likewise.
14654 * commands/lspci.c: Likewise.
14655 * commands/memrw.c: Likewise.
14656 * commands/minicmd.c: Likewise.
14657 * commands/parttool.c: Likewise.
14658 * commands/password.c: Likewise.
14659 * commands/probe.c: Likewise.
14660 * commands/read.c: Likewise.
14661 * commands/reboot.c: Likewise.
14662 * commands/search.c: Likewise.
14663 * commands/sleep.c: Likewise.
14664 * commands/test.c: Likewise.
14665 * commands/true.c: Likewise.
14666 * commands/usbtest.c: Likewise.
14667 * commands/videotest.c: Likewise.
14668 * commands/xnu_uuid.c: Likewise.
14669 * disk/loopback.c: Likewise.
14670 * hello/hello.c: Likewise.
14671 * loader/i386/bsd.c: Likewise.
14672 * term/i386/pc/serial.c: Likewise.
14673 * po/POTFILES: Add new files.
14674
da8d5c53
CW
146752010-01-02 Colin Watson <cjwatson@ubuntu.com>
14676
14677 * term/i386/pc/at_keyboard.c
14678 (keyboard_controller_wait_untill_ready): Rename to ...
14679 (keyboard_controller_wait_until_ready): ... this. Update all users.
14680
33937904 146812010-01-01 Carles Pina i Estany <carles@pina.cat>
14682
14683 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14684 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14685 string using string width.
14686 * normal/menu_text.c (grub_print_message_indented): Use
14687 grub_print_spaces and not print_spaces.
14688 (print_timeout): Likewise.
14689 (print_spaces): Move to...
14690 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14691
3fd3b8d8
RM
146922010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14693
14694 Import from Gnulib.
14695
14696 * gnulib/getdelim.c: New file.
14697 * gnulib/getline.c: Likewise.
14698
33433555
VS
146992009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14700
14701 * include/grub/list.h (grub_assert_fail): Removed.
14702 (grub_bad_type_cast_real): New function.
14703 (grub_bad_type_cast): New macro.
14704 (GRUB_AS_LIST): Use grub_bad_type_cast.
14705 (GRUB_AS_LIST_P): Likewise.
e44721e8 14706 (GRUB_AS_NAMED_LIST): Likewise.
33433555 14707 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 14708 (GRUB_AS_PRIO_LIST): Likewise.
33433555 14709 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 14710 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 14711
f5a51306
VS
147122009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14715 Fix syntax error.
14716
90d1e879
RM
147172009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14718
14719 * configure.ac: Check for TARGET_CFLAGS initialization before we
14720 initialize it ourselves (sigh).
14721 Move a few modifications to TARGET_CFLAGS to be unconditional
14722 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14723 eh_frame)
14724
14725 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14726 * term/i386/pc/at_keyboard.c
14727 (keyboard_controller_wait_untill_ready): Likewise.
14728 (keyboard_controller_led): Rename `led_status' paramter to avoid
14729 name conflict.
14730
465b5a81 147312009-12-28 Carles Pina i Estany <carles@pina.cat>
14732
14733 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14734 quotes.
14735
c181849b
VS
147362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14739
9c8739a4
VS
147402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * normal/menu_text.c (grub_print_message_indented): Prevent
14743 past-the-end-of-array dereference.
14744
3e74249c
VS
147452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14748 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14749
64fd18ed 147502009-12-27 Carles Pina i Estany <carles@pina.cat>
14751
14752 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14753 * normal/main.c (grub_normal_read_line): Remove a space from the
14754 default prompt.
14755
714af9b9 147562009-12-27 Carles Pina i Estany <carles@pina.cat>
14757
14758 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14759 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14760 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14761 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14762 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14763 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14764 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14765
82f3e412 147662009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 14767
14768 * video/readers/jpeg.c (cmd): Declare.
14769 (grub_cmd_jpegtest): Use `grub_command_t' type.
14770 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14771 Assign to `cmd'.
14772 (GRUB_MOD_FINI): Use `cmd' to unregister.
14773 * video/readers/png.c (cmd): Declare.
14774 (grub_cmd_pngtest): Use `grub_command_t' type.
14775 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14776 Assign to `cmd'.
14777 (GRUB_MOD_FINI): Use `cmd' to unregister.
14778 * video/readers/tga.c (cmd): Declare.
14779 (grub_cmd_tgatest): Use `grub_command_t' type.
14780 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14781 Assign to `cmd'.
14782 (GRUB_MOD_FINI): Use `cmd' to unregister.
14783
82f3e412 147842009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 14785
14786 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14787 stops.
14788 * kern/corecmd.c (grub_register_core_commands): Likewise.
14789 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14790 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14791 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14792 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14793 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14794 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14795 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14796 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14797 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14798 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14799 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14800 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14801 * normal/handler.c (insert_handler): Likewise.
14802 * normal/main.c (GRUB_MOD_INIT): Likewise.
14803 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14804
fdcdbb66 148052009-12-26 Carles Pina i Estany <carles@pina.cat>
14806
14807 * commands/help.c (grub_cmd_help): Print the command name before the
14808 summary.
14809 (GRUB_MOD_INIT): Remove command name from the summary.
14810 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 14811 string as summary.
fdcdbb66 14812 * lib/arg.c (find_long): Print the command name before the summary.
14813 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14814 summary.
14815 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14816 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14817 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14818 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14819 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14820 * commands/date.c (GRUB_MOD_INIT): Likewise.
14821 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14822 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14823 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14824 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14825 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14826 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14827 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14828 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14829 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14830 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14831 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14832 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14833 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14834 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14835 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14836 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14837 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14838 * commands/password.c (GRUB_MOD_INIT): Likewise.
14839 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14840 * commands/read.c (GRUB_MOD_INIT): Likewise.
14841 * commands/search.c (GRUB_MOD_INIT): Likewise.
14842 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14843 * commands/test.c (GRUB_MOD_INIT): Likewise.
14844 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14845 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14846 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14847 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14848 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14849 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14850 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14851 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14852 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14853 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14854 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14855 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14856 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14857 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14858
9c288be2
VS
148592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 Use search command for preliminar UUID search.
14862
14863 * commands/search.c: Split into ...
14864 * commands/search_wrap.c: ...this
14865 * commands/search.c: ...and this.
14866 * commands/search_file.c: New file.
14867 * commands/search_label.c: New file.
14868 * commands/search_uuid.c: New file.
14869 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14870 Add commands/search_wrap.c, commands/search_file.c,
14871 commands/search_label.c and commands/search_uuid.c.
14872 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14873 (search_mod_SOURCES): Set to commands/search_wrap.c.
14874 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14875 search_label.mod.
14876 (search_fs_file_mod_SOURCES): New variable.
14877 (search_fs_file_mod_CFLAGS): Likewise.
14878 (search_fs_file_mod_LDFLAGS): Likewise.
14879 (search_label_mod_SOURCES): Likewise.
14880 (search_label_mod_CFLAGS): Likewise.
14881 (search_label_mod_LDFLAGS): Likewise.
14882 (search_fs_uuid_mod_SOURCES): New variable.
14883 (search_fs_uuid_mod_CFLAGS): Likewise.
14884 (search_fs_uuid_mod_LDFLAGS): Likewise.
14885 (fs_file_mod_SOURCES): Removed.
14886 (fs_file_mod_CFLAGS): Likewise.
14887 (fs_file_mod_LDFLAGS): Likewise.
14888 (fs_uuid_mod_SOURCES): Removed.
14889 (fs_uuid_mod_CFLAGS): Likewise.
14890 (fs_uuid_mod_LDFLAGS): Likewise.
14891 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14892 Set to util/grub-install.in.
14893 * disk/fs_file.c: Removed.
14894 * disk/fs_uuid.c: Likewise.
14895 * include/grub/search.h: New file.
14896 * util/grub-install.in: Handle sparc64.
14897 Create and use load.cfg.
14898 * util/sparc64/ieee1275/grub-install.in: Removed.
14899
db943399
VS
149002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14903 Ignore return status if CF is cleared.
14904 (grub_biosdisk_get_diskinfo_standard): Likewise.
14905
3fdae612
RM
149062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14907
14908 * term/i386/pc/at_keyboard.c
14909 (keyboard_controller_wait_untill_ready): New function.
14910 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14911 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14912 for keyboard polling, rather than duplicate the same loop. This
14913 saves a few bytes in code size.
14914
7ebaa2b4
VS
149152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 Support for (pxe[:server[:gateway]]) syntax and
14918 use environment variable for PXE.
14919
14920 * commands/i386/pc/pxecmd.c (options): Removed.
14921 (print_ip): Removed.
14922 (grub_cmd_pxe): Removed
14923 (grub_cmd_pxe_unload): New function.
14924 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14925 (grub_pxe_your_ip): Made static.
14926 (grub_pxe_default_server_ip): Likewise.
14927 (grub_pxe_default_gateway_ip): Likewise.
14928 (grub_pxe_blksize): Likewise.
14929 (parse_ip): New function.
14930 (grub_pxe_open): Support server and gateway specification.
14931 (grub_pxe_close): Free disk->data.
14932 (grub_pxefs_open): Use disk->data.
14933 (grub_pxefs_read): Likewise.
14934 (grub_env_write_readonly): New function.
14935 (set_mac_env): Likewise.
14936 (set_env_limn_ro): Likewise.
14937 (parse_dhcp_vendor): Likewise.
14938 (grub_pxe_detect): Set the environment variables.
14939 (set_ip_env): New function.
14940 (write_ip_env): Likewise.
14941 (grub_env_write_pxe_default_server): Likewise.
14942 (grub_env_write_pxe_default_gateway): Likewise.
14943 (grub_env_write_pxe_blocksize): Likewise.
14944 (GRUB_MOD_INIT(pxe)): Set environment variables.
14945 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14946 (grub_pxe_mac_addr_t): ... this. All users updated.
14947 (grub_pxe_your_ip): Removed.
14948 (grub_pxe_server_ip): Likewise.
14949 (grub_pxe_gateway_ip): Likewise.
14950 (grub_pxe_blksize): Likewise.
14951
ec5f98ab 149522009-12-25 Carles Pina i Estany <carles@pina.cat>
14953
14954 * commands/help.c: Include `<grub/i18n.h>'.
14955 (grub_cmd_help): Gettextizze.
14956 (GRUB_MOD_INIT): Likewise.
14957 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14958 (GRUB_MOD_INIT): Gettextizze.
14959 * commands/search.c: Include `<grub/i18n.h>'.
14960 (options): Gettextizze.
14961 (GRUB_MOD_INIT): Gettextizze.
14962 * lib/arg.c: Include `<grub/i18n.h>'.
14963 (help_options): Gettextizze.
14964 (find_long): Likewise.
14965 (grub_arg_show_help): Likewise.
14966 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14967 (read_command_list): Gettextizze.
14968 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 14969 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 14970
22815526
RM
149712009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14972
14973 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14974 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14975 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14976 (led_status): New variable.
14977 (keyboard_controller_led): New function.
14978 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14979 update led status for caps lock, num lock and scroll lock.
14980
0ad46fd7
FZ
149812009-12-25 Felix Zielcke <fzielcke@z-51.de>
14982
14983 * util/hostdisk.c (open_device): Fix a comment.
14984
d0e158c2
RM
149852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 * util/grub-install.in (host_os): New variable.
14988 * util/i386/efi/grub-install.in (host_os): Likewise.
14989
401c0ad6
RM
149902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14991
14992 * util/mkisofs/write.c (padblock_write): Abort when given an
14993 excedingly large embed image, instead of silently truncating it.
14994
d14d3370
RM
149952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 * include/multiboot.h: Indentation fixes.
14998
eeed10b4
RM
149992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15000
15001 * include/multiboot.h (struct multiboot_aout_symbol_table)
15002 (struct multiboot_elf_section_header_table): New structure
15003 declarations (stolen from GRUB Legacy).
15004 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
15005 table information.
15006
15007 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
15008 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
15009 type aliases.
15010
681c70ab
RM
150112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15012
15013 * include/multiboot.h: Make comments src2texi-friendly.
15014
e4d47d8d
RM
150152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15016
15017 For consistency with [multiboot]/docs/boot.S.
15018
15019 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
15020 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
15021 (MULTIBOOT_MAGIC2): Rename from this ...
15022 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
15023
a0b70bda
RM
150242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15025
15026 * include/multiboot.h: Remove `<grub/types.h>'.
15027 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
15028 types. Update all users.
15029
61ba42be 150302009-12-25 Carles Pina i Estany <carles@pina.cat>
15031
15032 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
15033 `couldn't' and `can not' by `cannot'.
15034 * commands/i386/pc/drivemap.c: Likewise.
15035 * disk/ata.c: Likewise.
15036 * disk/ieee1275/nand.c: Likewise.
15037 * fs/affs.c: Likewise.
15038 * fs/fat.c: Likewise.
15039 * fs/hfs.c: Likewise.
15040 * fs/hfsplus.c: Likewise.
15041 * fs/iso9660.c: Likewise.
15042 * fs/jfs.c: Likewise.
15043 * fs/minix.c: Likewise.
15044 * fs/reiserfs.c: Likewise.
15045 * fs/sfs.c: Likewise.
15046 * fs/udf.c: Likewise.
15047 * fs/ufs.c: Likewise.
15048 * fs/xfs.c: Likewise.
15049 * loader/powerpc/ieee1275/linux.c: Likewise.
15050 * loader/sparc64/ieee1275/linux.c: Likewise.
15051 * util/grub-probe.c: Likewise.
15052 * util/misc.c: Likewise.
15053
7fd0baee 150542009-12-24 Carles Pina i Estany <carles@pina.cat>
15055
15056 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15057 grub_errno calls.
15058 * commands/acpi.c: Likewise.
15059 * commands/blocklist.c: Likewise.
15060 * commands/efi/loadbios.c: Likewise.
15061 * commands/i386/pc/drivemap.c: Likewise.
15062 * commands/loadenv.c: Likewise.
15063 * commands/memrw.c: Likewise.
15064 * commands/password.c: Likewise.
15065 * commands/videotest.c: Likewise.
15066 * disk/ata.c: Likewise.
15067 * disk/ata_pthru.c: Likewise.
15068 * disk/dmraid_nvidia.c: Likewise.
15069 * disk/ieee1275/nand.c: Likewise.
15070 * disk/ieee1275/ofdisk.c: Likewise.
15071 * disk/loopback.c: Likewise.
15072 * disk/lvm.c: Likewise.
15073 * disk/mdraid_linux.c: Likewise.
15074 * disk/raid.c: Likewise.
15075 * disk/raid6_recover.c: Likewise.
15076 * disk/scsi.c: Likewise.
15077 * efiemu/main.c: Likewise.
15078 * efiemu/mm.c: Likewise.
15079 * efiemu/pnvram.c: Likewise.
15080 * efiemu/symbols.c: Likewise.
15081 * font/font.c: Likewise.
15082 * fs/cpio.c: Likewise.
15083 * fs/hfsplus.c: Likewise.
15084 * fs/iso9660.c: Likewise.
15085 * fs/jfs.c: Likewise.
15086 * fs/minix.c: Likewise.
15087 * fs/ntfs.c: Likewise.
15088 * fs/ntfscomp.c: Likewise.
15089 * fs/reiserfs.c: Likewise.
15090 * fs/ufs.c: Likewise.
15091 * fs/xfs.c: Likewise.
15092 * gettext/gettext.c: Likewise.
15093 * include/grub/auth.h: Likewise.
15094 * kern/elf.c: Likewise.
15095 * kern/file.c: Likewise.
15096 * kern/ieee1275/init.c: Likewise.
15097 * kern/ieee1275/mmap.c: Likewise.
15098 * kern/ieee1275/openfw.c: Likewise.
15099 * kern/powerpc/dl.c: Likewise.
15100 * kern/sparc64/dl.c: Likewise.
15101 * lib/arg.c: Likewise.
15102 * loader/i386/bsd.c: Likewise.
15103 * loader/i386/bsdXX.c: Likewise.
15104 * loader/i386/efi/linux.c: Likewise.
15105 * loader/i386/efi/xnu.c: Likewise.
15106 * loader/i386/ieee1275/linux.c: Likewise.
15107 * loader/i386/linux.c: Likewise.
15108 * loader/i386/multiboot.c: Likewise.
15109 * loader/i386/pc/linux.c: Likewise.
15110 * loader/i386/pc/multiboot2.c: Likewise.
15111 * loader/i386/xnu.c: Likewise.
15112 * loader/ieee1275/multiboot2.c: Likewise.
15113 * loader/macho.c: Likewise.
15114 * loader/machoXX.c: Likewise.
15115 * loader/multiboot2.c: Likewise.
15116 * loader/multiboot_loader.c: Likewise.
15117 * loader/powerpc/ieee1275/linux.c: Likewise.
15118 * loader/sparc64/ieee1275/linux.c: Likewise.
15119 * loader/xnu.c: Likewise.
15120 * loader/xnu_resume.c: Likewise.
15121 * mmap/i386/pc/mmap.c: Likewise.
15122 * normal/menu_viewer.c: Likewise.
15123 * partmap/acorn.c: Likewise.
15124 * partmap/amiga.c: Likewise.
15125 * partmap/apple.c: Likewise.
15126 * script/lexer.c: Likewise.
15127 * term/gfxterm.c: Likewise.
15128 * term/i386/pc/serial.c: Likewise.
15129 * term/i386/pc/vga.c: Likewise.
15130 * term/ieee1275/ofconsole.c: Likewise.
15131 * term/terminfo.c: Likewise.
15132 * video/bitmap.c: Likewise.
15133 * video/efi_gop.c: Likewise.
15134 * video/efi_uga.c: Likewise.
15135 * video/fb/video_fb.c: Likewise.
15136 * video/i386/pc/vbe.c: Likewise.
15137 * video/readers/tga.c: Likewise.
15138 * video/video.c: Likewise.
15139
0ad46fd7 151402009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
15141
15142 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15143 * commands/lspci.c: Likewise.
15144 * commands/probe.c: Likewise.
15145 * commands/xnu_uuid.c: Likewise.
15146 * conf/i386-coreboot.rmk: Likewise.
15147 * conf/i386-efi.rmk: Likewise.
15148 * conf/i386-ieee1275.rmk: Likewise.
15149 * conf/i386-pc.rmk: Likewise.
15150 * conf/powerpc-ieee1275.rmk: Likewise.
15151 * conf/sparc64-ieee1275.rmk: Likewise.
15152 * conf/x86_64-efi.rmk: Likewise.
15153 * fs/i386/pc/pxe.c: Likewise.
15154 * gettext/gettext.c: Likewise.
15155 * include/grub/efi/graphics_output.h: Likewise.
15156 * include/grub/i386/pc/memory.h: Likewise.
15157 * kern/env.c: Likewise.
15158 * kern/i386/qemu/startup.S: Likewise.
15159 * lib/i386/pc/biosnum.c: Likewise.
15160 * lib/i386/relocator.c: Likewise.
15161 * lib/i386/relocator_asm.S: Likewise.
15162 * lib/relocator.c: Likewise.
15163 * loader/i386/bsd.c: Likewise.
15164 * loader/i386/multiboot.c: Likewise.
15165 * loader/i386/pc/chainloader.c: Likewise.
15166 * loader/i386/xnu.c: Likewise.
15167 * loader/xnu.c: Likewise.
15168 * normal/main.c: Likewise.
15169 * normal/menu_text.c: Likewise.
15170 * util/getroot.c: Likewise.
15171 * util/grub-mkconfig_lib.in: Likewise.
15172 * util/grub.d/00_header.in: Likewise.
15173 * util/i386/pc/grub-mkimage.c: Likewise.
15174 * util/mkisofs/eltorito.c: Likewise.
15175 * util/mkisofs/exclude.h: Likewise.
15176 * util/mkisofs/hash.c: Likewise.
15177 * util/mkisofs/iso9660.h: Likewise.
15178 * util/mkisofs/joliet.c: Likewise.
15179 * util/mkisofs/mkisofs.c: Likewise.
15180 * util/mkisofs/mkisofs.h: Likewise.
15181 * util/mkisofs/multi.c: Likewise.
15182 * util/mkisofs/name.c: Likewise.
15183 * util/mkisofs/rock.c: Likewise.
15184 * util/mkisofs/tree.c: Likewise.
15185 * util/mkisofs/write.c: Likewise.
15186 * video/efi_gop.c: Likewise.
15187
009ec743
VS
151882009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15191 size counting.
15192
0ad46fd7 151932009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
15194
15195 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15196 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15197
d3d30ea0
VS
151982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15201 (GRUB_MOD_INIT(memrw)): Update help line.
15202
a34f5c70
VS
152032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15206 Use grub_extcmd_t. All users updated.
15207 (options): New variable.
15208 (grub_cmd_read): Restructure for readability. Support "-v" option.
15209 (grub_cmd_write): Restructure for readability.
15210
0ad46fd7 152112009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
15212
15213 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15214
0ad46fd7 152152009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
15216
15217 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15218 with the actual contents of the correspondending make variable.
15219 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15220 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15221 specifying `*.lst' and `efiemu??.o'
15222
0ad46fd7 152232009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
15224
15225 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15226 after function name.
15227 Noticed by Rene Engelhard <rene@debian.org>.
15228
dc77a799
VS
152292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15232 (options): New variable.
15233 (iospace): Likewise.
15234 (grub_lspci_iter): List IO spaces if "-i" was given.
15235 (grub_cmd_lspci): Parse options.
15236 (GRUB_MOD_INIT(lspci)): Use extcmd.
15237 (GRUB_MOD_FINI(lspci)): Likewise.
15238
0ad46fd7 152392009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
15240
15241 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15242 `function' keyword.
15243 Patch by Tony Mancill <tmancill@debian.org>.
15244
b5d5993b
VS
152452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15248 (grub_uhci_portstatus): Likewise.
15249 (grub_uhci_portstatus): Add necessary delay.
11d18281 15250 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 15251
941903f2 152522009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 15253
941903f2 15254 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15255 (GRUB_MOD_INIT): Likewise.
15256 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 15257 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15258 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 15259 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15260 (enable_rom_area): Likewise.
15261 (GRUB_MOD_INIT): Likewise.
15262 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15263 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15264 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15265 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15266 * commands/hexdump.c (options): Likewise.
15267 * commands/i386/cpuid.c (options): Likewise.
15268 (GRUB_MOD_INIT): Likewise.
15269 * commands/i386/pc/drivemap.c (options): Likewise.
15270 (GRUB_MOD_INIT): Likewise.
15271 * commands/i386/pc/halt (options): Likewise.
15272 (GRUB_MOD_INIT): Likewise.
15273 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15274 * commands/i386/pc/pxecmd.c (options): Likewise.
15275 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15276 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15277 * commands/keystatus.c (options): Likewise.
15278 (GRUB_MOD_INIT): Likewise.
15279 * commands/loadenv.c (options): Likewise.
15280 * commands/ls.c (options): Likewise.
15281 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15282 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15283 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15284 * commands/parttool.c (helpmsg): Likewise.
15285 * commands/probe.c (options): Likewise.
15286 * commands/read.c (GRUB_MOD_INIT): Likewise.
15287 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15288 * commands/search.c (options): Likewise.
15289 * commands/sleep.c (options): Likewise.
15290 * commands/test.c (GRUB_MOD_INIT): Likewise.
15291 * commands/true.c (GRUB_MOD_INIT): Likewise.
15292 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15293 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15294 * lib/arg.c (help_options): Likewise.
e9bbb4e7 15295 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15296 `$(XGETTEXT)'.
98a50553 15297 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 15298
0ad46fd7 152992009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 15300
ef3c2c3a 15301 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
15302 instead of specifying them explicit.
15303
7922f68b
RM
153042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15305
15306 * NEWS: Add grub-probe support for GNU/Hurd.
15307
537ce47f
RM
153082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15309
15310 * NEWS: gettext was added after 1.97.
15311
9b214e3a
RM
153122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15313
15314 * util/mkisofs/msdos_partition.h: New file (based on
15315 include/grub/msdos_partition.h).
15316 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15317 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15318 (ld_options, main): Recognize --protective-msdos-label.
15319 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15320 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15321 (padblock_write): If `use_protective_msdos_label' is set, patch a
15322 protective DOS-style label in the output image.
15323
15324 * util/grub-mkrescue.in: Use --protective-msdos-label.
15325
e9309813
RM
153262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15327
15328 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15329 boot.
15330
0ae56929
RM
153312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15332
15333 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15334 variables.
15335 (ld_options, main): Recognize `--embedded-boot'.
15336 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15337 declarations.
15338 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15339 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15340 (padblock_write): Likewise. Rewrite to support embedded boot image.
15341
15342 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15343 for BIOS-based disk boot instead of only ElTorito.
15344
b15937b1
RM
153452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15346
15347 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15348 build (not needed for bootstrap).
15349
52cc3ce0
RM
153502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15351
15352 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15353 from i386-pc build (not needed for bootstrap).
15354 Rewrite a pair of strings.
15355
36f5ff04
RM
153562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15357
15358 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15359
973c6c85 153602009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
15361
15362 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15363
05d21547
AB
153642009-12-21 Andreas Born <futur.andy@googlemail.com>
15365
15366 * kern/env.c (grub_env_context_open): Mark exported variable for
15367 reexport.
15368
0175d51f
AB
153692009-12-21 Andreas Born <futur.andy@googlemail.com>
15370
15371 * kern/env.c (grub_env_export): Create nonexistent variables before
15372 exporting.
15373
7f39d92f 153742009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 15375
7f39d92f 15376 * include/grub/auth.h: Include `<grub/i18n.h>'.
15377 (GRUB_GET_PASSWORD): Gettextizze string.
15378 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15379 menu_text.c.
15380 (grub_utf8_to_ucs4_alloc): Fix indentation.
15381 (grub_print_ucs4): Likewise.
15382 (grub_getstringwidth): Likewise.
15383 (print_message_indented): New declaration.
15384 * normal/auth.c: Include `<grub/i18n.h>'.
15385 (grub_auth_check_authentication): Gettexttize string.
15386 * normal/cmdline.c: Include `<grub/i18n.h>'.
15387 (grub_cmdline_get): Gettextizze.
15388 * normal/color.c: Include `<grub/i18n.h>'.
15389 (grub_parse_color_name_pair): Gettexttize strings.
15390 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15391 string (use `print_message_indented').
15392 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15393 `include/grub/normal.h'.
15394 (print_message_indented): Renamed to ...
15395 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15396 used in normal/main.c).
15397 (print_message): Use `grub_print_message_indented' instead of
15398 `print_message_indented'.
15399 (print_timeout): Likewise.
15400 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15401 (grub_normal_print_device_info): Gettexttize strings.
15402 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15403
3041d898
VS
154042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15407 of arguments. Return number of tokens and not arguments. All users
15408 updated.
15409
de15bf8e
VS
154102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15413 non-MSDOS paritions.
15414
e0a6ca52
VS
154152009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * include/grub/types.h (UNUSED): Removed since it conflicts with
15418 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15419 Reported by Grégoire Sutre.
15420
b99518d1 154212009-12-19 Carles Pina i Estany <carles@pina.cat>
15422
15423 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15424 (grub_print_ucs4_alloc): Likewise.
15425 (grub_getstringwidth): Likewise.
15426 * normal/main.c (grub_normal_init_page): Gettextize version string.
15427 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15428 (getstringwidth): Renamed to ...
15429 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15430 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15431 (grub_print_ucs4): Remove `static' qualifer (now used in
15432 normal/main.c).
15433 * po/POTFILES: Add normal/main.c.
15434
bfd5e52b 154352009-12-19 Carles Pina i Estany <carles@pina.cat>
15436
15437 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15438 (print_message_indented): Add `margin_left' and `margin_right'
15439 parameters.
15440 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15441 strings.
15442 (print_timeout): Use `print_message_indented' to print the message.
15443 Deletes `second_stage' parameter.
15444 (run_menu): Update `print_timeout' calls.
15445
5a1ad2b9
VS
154462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 Fix console palette on OpenFirmware.
15449
15450 * term/ieee1275/ofconsole.c (MAX): Removed.
15451 (colors): Redone based on VGA palette.
15452 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15453 colors are supported.
15454 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15455
b045f00a
VS
154562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 Fix potential EfiEmu double prepare.
15459
15460 * efiemu/main.c (prepared): New variable
15461 (grub_efiemu_unload): Set prepare to '0'.
15462 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15463
15464 set_virtual_address_map support.
15465
15466 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15467 prototype.
15468 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15469 prototype.
15470 (grub_efiemu_crc32): Likewise.
15471 (grub_efiemu_crc64): Likewise.
15472 (grub_efiemu_set_virtual_address_map): Likewise.
15473 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15474 New definition.
15475 (grub_autoefi_set_virtual_address_map): Likewise.
15476 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15477 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15478 Restructure flow to accomodate it.
15479 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15480 (grub_efiemu_crc): Recompute CRC32.
15481 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15482 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15483 * efiemu/symbols.c (relocated_handle): New variable.
15484 (grub_efiemu_free_syms): Free relocated_handle.
15485 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15486 (grub_efiemu_write_sym_markers): New function.
15487 (grub_efiemu_set_virtual_address_map): Likewise.
15488
15489 Newer XNU parameters.
15490
15491 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15492 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15493 (grub_xnu_fill_devicetree): New prototype.
15494 (grub_xnu_heap_real_start): New variable.
15495 * loader/xnu.c (get_name_ptr): New function.
15496 (grub_xnu_load_driver): Fill namelen and name.
15497
15498 64-bit xnu support.
15499
15500 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15501 and 'loader/macho64.c'.
15502 * conf/i386-pc.rmk: Likewise.
15503 * conf/x86_64-efi.rmk: Likewise.
15504 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15505 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15506 * include/grub/macho.h (grub_macho_segment64): New structure.
15507 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15508 (grub_macho_size32): ... to this.
15509 (grub_macho32_get_entry_point): Renamed from ...
15510 (grub_macho_get_entry_point32): ... to this.
15511 (grub_macho_contains_macho64): New prototype.
15512 (grub_macho_size64): Likewise.
15513 (grub_macho_get_entry_point64): Likewise.
15514 (grub_macho32_load): Renamed from ...
15515 (grub_macho_load32): ... to this.
15516 (grub_macho32_filesize): Renamed from ...
15517 (grub_macho_filesize32): ... to this.
15518 (grub_macho32_readfile): Renamed from ...
15519 (grub_macho_readfile32): ... to this.
15520 (grub_macho_filesize64): New prototype.
15521 (grub_macho_readfile64): Likewise.
15522 (grub_macho_parse32): Likewise.
15523 (grub_macho_parse64): Likewise.
15524 * loader/macho.c: Split into ...
15525 * loader/machoXX.c: ... and this. Replace 32 with XX.
15526 * loader/macho32.c: New file.
15527 * loader/macho64.c: Likewise.
15528 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15529 (grub_cmd_xnu_kernel): Make 32-bit only.
15530 (grub_cmd_xnu_kernel64): New function.
15531 (grub_xnu_load_driver): Support Mach-O 64.
15532 (grub_cmd_xnu_mkext): Likewise.
15533 * util/grub.d/30_os-prober.in (osx_entry): New function.
15534 Generate entries for 64-bit boot too.
15535
15536 Eliminate ad-hoc tree format in XNU and EfiEmu.
15537
15538 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15539 * efiemu/pnvram.c: Rewritten to use environment variables.
15540 All users updated.
15541
15542 Inline utf16_to_utf8.
15543
15544 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15545 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15546 All users updated.
15547 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15548
15549 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15550 * commands/usbtest.c (grub_usb_get_string): ... move here.
15551 (usb_print_str): Fix error handling.
15552 * include/grub/usb.h (grub_usb_get_string): Remove.
15553
15554 UTF-8 to UTF-16 transformation.
15555
15556 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15557 (charset_mod_SOURCES): New variable.
15558 (charset_mod_CFLAGS): Likewise.
15559 (charset_mod_LDFLAGS): Likewise.
15560 * include/grub/utf.h: New file.
15561 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15562
15563 Support for device properties.
15564
15565 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15566 (grub_xnu_devprop_device_header): Likewise.
15567 (grub_xnu_devprop_device_descriptor): Likewise.
15568 (grub_xnu_devprop_add_device): New prototype.
15569 (grub_xnu_devprop_remove_device): Likewise.
15570 (grub_xnu_devprop_remove_property): Likewise.
15571 (grub_xnu_devprop_add_property_utf8): Likewise.
15572 (grub_xnu_devprop_add_property_utf16): Likewise.
15573 (grub_cpu_xnu_init): Likewise.
15574 (grub_cpu_xnu_fini): Likewise.
15575 (grub_cpu_xnu_unload): Likewise.
15576 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15577 (property_descriptor): Likewise.
15578 (devices): New variable.
15579 (grub_xnu_devprop_remove_property): New function.
15580 (grub_xnu_devprop_add_device): Likewise.
15581 (grub_xnu_devprop_remove_device): Likewise.
15582 (grub_xnu_devprop_add_property): Likewise.
15583 (grub_xnu_devprop_add_property_utf8): Likewise.
15584 (grub_xnu_devprop_add_property_utf16): Likewise.
15585 (hextoval): Likewise.
15586 (grub_cpu_xnu_fill_devprop): Likewise.
15587 (grub_cmd_devprop_load): Likewise.
15588 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15589 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15590 (cmd_devprop_load): New variable.
15591 (grub_cpu_xnu_init): New function.
15592 (grub_cpu_xnu_fini): Likewise.
15593 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15594 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15595 (grub_cmd_xnu_devtree): Likewise.
15596 (hextoval): New function.
15597 (unescape): Likewise.
15598 (grub_xnu_fill_devicetree): Likewise.
15599
15600 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15601 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15602
0945f181
VS
156032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 Workaround for broken ATI VBE.
15606
15607 * video/i386/pc/vbe.c (last_set_mode): New variable.
15608 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15609 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15610 (grub_video_vbe_setup): Don't check for reserved flag.
15611
0ad46fd7 156122009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
15613
15614 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15615 the `find' command.
15616
c179ebe4
VS
156172009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 UUID support for HFS.
15620
15621 * fs/hfs.c (grub_hfs_uuid): New function.
15622 (grub_hfs_fs): New value .uuid.
15623 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15624
0ad46fd7 156252009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
15626
15627 Fix a segfault with parsing unknown long options.
15628
15629 * util/grub-mkrelpath.c (options): Zero terminate it.
15630
c4a3e41a
CPE
156312009-12-13 Carles Pina i Estany <carles@pina.cat>
15632
15633 * include/grub/misc.h (grub_puts): New declaration.
15634 (grub_puts_): Likewise.
a22008a6 15635 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
15636 (grub_puts_): Likewise.
15637
2e8a7602
RM
156382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15639
15640 * util/grub-probe.c (probe): Improve error message.
15641
b50b77b9
RM
156422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15643
15644 * loader/i386/multiboot_elfxx.c
15645 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15646 initialization.
15647
156482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 Relocator framework
15651
15652 * loader/i386/xnu_helper.S: Removed. All users updated.
15653 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15654 (relocator_mod_SOURCES): New variable.
15655 (relocator_mod_CFLAGS): Likewise.
15656 (relocator_mod_LDFLAGS): Likewise.
15657 (relocator_mod_ASFLAGS): Likewise.
15658 * conf/x86_64.rmk: Likewise.
15659 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15660 (grub_multiboot_payload_entry_offset): Likewise.
15661 (grub_multiboot_forward_relocator): Likewise.
15662 (grub_multiboot_forward_relocator_end): Likewise.
15663 (grub_multiboot_backward_relocator): Likewise.
15664 (grub_multiboot_backward_relocator_end): Likewise.
15665 (grub_multiboot_payload_eip): New variable.
15666 (grub_multiboot_payload_orig): Likewise.
15667 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15668 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15669 * include/grub/i386/memory.h
15670 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15671 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15672 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15673 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15674 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15675 * include/grub/i386/relocator.h: New file.
15676 * include/grub/x86_64/relocator.h: Likewise.
15677 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15678 (XNU_RELOCATOR): New macro.
15679 (grub_xnu_launcher_start): Remove.
15680 (grub_xnu_launcher_end): Likewise.
15681 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15682 (grub_xnu_heap_real_start): Remove.
15683 (grub_xnu_heap_start): Change to void *. All users updated.
15684 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15685 * lib/i386/relocator.c: New file.
15686 * lib/i386/relocator_asm.S: Likewise.
15687 * lib/i386/relocator_backward.S: Likewise.
15688 * lib/mips/relocator.c: Likewise.
15689 * lib/mips/relocator_asm.S: Likewise.
15690 * lib/relocator.c: Likewise.
15691 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15692 (entry): Removed.
15693 (playground): Likewise.
15694 (grub_multiboot_payload_orig): New variable.
15695 (grub_multiboot_payload_dest): Likewise.
15696 (grub_multiboot_payload_size): Likewise.
15697 (grub_multiboot_payload_eip): Likewise.
15698 (grub_multiboot_payload_esp): Likewise.
15699 (grub_multiboot_boot): Use grub_relocator32_boot.
15700 (grub_multiboot_unload): Free relocators.
15701 (grub_multiboot): Setup stack. Use relocators.
15702 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15703 (grub_multiboot_load_elfXX): Use relocators.
15704 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15705 (grub_multiboot_payload_size): Likewise.
15706 (grub_multiboot_payload_dest): Likewise.
15707 (grub_multiboot_payload_entry_offset): Likewise.
15708 (grub_multiboot_forward_relocator): Likewise.
15709 (grub_multiboot_backward_relocator): Likewise.
15710 (grub_multiboot_real_boot): Likewise.
15711 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15712 (grub_xnu_entry_point): Likewise.
15713 (grub_xnu_arg1): Likewise.
15714 (grub_xnu_stack): Likewise.
15715 (grub_xnu_launch): Removed.
15716 (grub_xnu_boot_resume): New function.
15717 (grub_xnu_boot): Use relocators.
15718 * loader/i386/xnu_helper.S: Removed.
15719 * loader/xnu.c (grub_xnu_heap_start): New variable.
15720 (grub_xnu_heap_size): Likewise.
15721 (grub_xnu_heap_malloc): Use relocators.
15722 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15723
29eb90c6
VS
157242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15727 anything.
15728
31027430
CPE
157292009-12-13 Carles Pina i Estany <carles@pina.cat>
15730
15731 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15732 GRUB_ERR_NONE before calling grub_env_set.
15733
dc0c71d9
RM
157342009-12-12 Robert Millan <rmh@aybabtu.com>
15735
15736 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15737 * genmk.rb (video): New variable.
15738 (CLEANFILES, VIDEOFILES): Add #{video}.
15739 (#{video}): New target rule.
15740 * genvideolist.sh: New file.
15741 * Makefile.in (pkglib_DATA): Add video.lst.
15742 (video.lst): New target rule.
15743 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15744 `video.lst'.
15745 * util/grub.d/30_os-prober.in: Replace `vbe' with
15746 ${GRUB_VIDEO_BACKEND}.
15747
2a4bfcf0
RM
157482009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15749
15750 * THANKS: Add David Miller.
15751
2a3aa4d5
RM
157522009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 libpciaccess support.
15755
15756 * Makefile.in (LIBPCIACCESS): New variable.
15757 (enable_grub_emu_pci): Likewise.
15758 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15759 util/pci.c and commands/lspci.c.
15760 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15761 * configure.ac (grub-emu-pci): New option.
15762 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15763 (grub_pci_device_unmap_range): Likewise.
15764 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15765 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15766 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15767 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15768 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15769 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15770 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15771 * include/grub/pciutils.h: New file.
15772 * util/pci.c: Likewise.
15773
0ad46fd7 157742009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
15775
15776 * util/misc.c: Don't include <errno.h> twice.
15777
0ad46fd7 157782009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
15779
15780 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15781 name in an error message.
15782 (grub_biosdisk_rw): Likewise.
15783
2e59983c
VS
157842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 Eliminate NTFS 4Gib barrier.
15787
15788 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15789 (read_run_data): Likewise.
15790 (grub_ntfs_read_run_list): Likewise.
15791 (grub_ntfs_read_block): Likewise.
15792 (grub_ntfs_iterate_dir): Likewise.
15793 (read_mft): Likewise.
15794 (read_data): Likewise.
15795 Use COM_LOG_LEN.
15796 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15797 to avoid 64-bit division
15798 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15799 (grub_ntfs_rlst): Use grub_disk_addr_t.
15800
71ee178a
VS
158012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 Eliminate grub-fstest 4Gib barrier.
15804
15805 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15806 (read_file): Fix error reporting.
15807
2520d4b8
VS
158082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 Eliminate hexdump 4Gib barrier.
15811
15812 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15813 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15814
e1f27065
VS
158152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15818 Fixes amarsh bug.
15819
1a0f7f45
RM
158202009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15821
15822 Remove miscellaneous files in distclean target.
15823
15824 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15825
c631d9fb
CW
158262009-12-09 Colin Watson <cjwatson@ubuntu.com>
15827
15828 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15829 if they're already set. This resolves the conflict between my
15830 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15831 fixing the --grub-probe option again.
15832 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15833 change on 2009-10-06, so that we now once again source
15834 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15835
7c7b6106
RM
158362009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15837
15838 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15839 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15840 `util/devicemap.c'.
15841
e3069ec1
CPE
158422009-12-08 Carles Pina i Estany <carles@pina.cat>
15843
15844 * include/grub/misc.h (grub_printf_): New declaration.
15845 * kern/misc.c (grub_printf_): New definition.
15846 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15847 instead of `grub_printf' and `_'.
15848 * normal/menu_entry.c (store_completion): Likewise.
15849 (run): Likewise.
15850 (grub_menu_entry_run): Likewise.
15851 * normal/menu_text.c (grub_wait_after_message): Likewise.
15852 (notify_booting): Likewise.
15853 (notify_fallback): Likewise.
15854 (notify_execution_failure): Likewise.
15855
d6ceebf1
CW
158562009-12-07 Colin Watson <cjwatson@ubuntu.com>
15857
15858 * configure.ac: Check for vasprintf.
15859 * util/misc.c (asprintf): Move allocation from here ...
15860 (vasprintf): ... to here. New function.
15861 (xasprintf): New function.
15862 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15863 prototypes.
15864 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15865 * util/grub-mkfont.c (write_font): Likewise.
15866 * util/grub-probe.c (probe): Likewise.
15867 * util/hostdisk.c (make_device_name): Likewise.
15868
de6daa8b
DM
158692009-12-06 David S. Miller <davem@sunset.davemloft.net>
15870
15871 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15872 anything even prefixed with 'cdrom' as a cdrom.
15873
0ad46fd7 158742009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
15875
15876 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15877 mount points.
15878
98d3dc02
CPE
158792009-12-05 Carles Pina i Estany <carles@pina.cat>
15880
15881 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15882 grub_gettext_msg_list.
15883 (grub_gettext_gettranslation_from_position): Return const char *
15884 and not char *.
a2c1332b 15885 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
15886 returns from the list if existing there.
15887 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15888 (grub_gettext_delete_list): Delete the list.
15889 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15890 lang environment variable is changed.
15891 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15892
b283f108
VS
158932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 Rename kernel.mod to kernel.img.
15896
15897 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15898 (kernel_mod_EXPORTS): Rename to ...
15899 (kernel_img_EXPORTS): ... this.
15900 (kernel_mod_SOURCES): Rename to ...
15901 (kernel_img_SOURCES): ... this.
15902 (kernel_mod_HEADERS): Rename to ...
15903 (kernel_img_HEADERS): ... this. All users updated.
15904 (kernel_mod_CFLAGS): Rename to ...
15905 (kernel_img_CFLAGS): ... this.
15906 (kernel_mod_ASFLAGS): Rename to ...
15907 (kernel_img_ASFLAGS): ... this.
15908 (kernel_mod_LDFLAGS): Rename to ...
15909 (kernel_img_LDFLAGS): ... this.
15910 * conf/x86_64-efi.rmk: Likewise.
15911 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15912 (read_kernel_image): ... this. All users updated.
15913 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15914
69055f8a
CPE
159152009-12-05 Carles Pina i Estany <carles@pina.cat>
15916
15917 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15918 (print_spaces): New function.
15919 (grub_print_ucs4): New function.
15920 (getstringwidth): New function.
15921 (print_message_indented): New function.
15922 (print_message): Gettexttize strings using print_message_indented.
15923 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15924 width.
15925 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 15926 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
15927 Gettextize.
15928 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15929 string.
15930 (run): Likewise.
15931 (grub_menu_entry_run): Likewise.
15932 * PO/POTFILES: Add normal/menu_entry.c.
15933
f616f51c
VS
159342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15937
57bbe3be
CPE
159382009-12-05 Carles Pina i Estany <carles@pina.cat>
15939
15940 * util/grub-install.in: Install gettext .mo files.
15941 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15942
013d67a1
CPE
159432009-12-05 Carles Pina i Estany <carles@pina.cat>
15944
15945 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15946 grub_dprintf.
15947
fb954db0
RM
159482009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15949
15950 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15951 non-firmware-dependant one in realmode.S takes precedence.
15952
6b8474f8
RM
159532009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15954
15955 * commands/halt.c: Replace misc arch-specific headers with
15956 `<grub/misc.h>'.
15957 * commands/reboot.c: Likewise.
15958 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15959 `<grub/misc.h>'.
15960 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15961 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15962 (kernel_img_SOURCES): ... to here.
15963
15964 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15965 * include/grub/i386/pc/init.h: Likewise.
15966 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15967 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15968
15969 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15970
15971 * include/grub/i386/halt.h: Remove.
15972 * include/grub/i386/reboot.h: Likewise.
15973
15974 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15975
4b2e6ca2
DM
159762009-12-03 David S. Miller <davem@sunset.davemloft.net>
15977
15978 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15979 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15980 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15981 "progname.h"
15982 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15983 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15984 (usage): Add missing comma in printf.
15985
5239348f
RM
159862009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15987
15988 Use the same reboot approach on i386 coreboot and qemu as we do on
15989 BIOS.
15990
15991 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15992 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15993 * kern/i386/reboot.c: Remove.
15994 * include/grub/i386/reboot.h (grub_reboot): Export function.
15995 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15996 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15997 0xf000:0xfff0 instead of 0xffff:0x0000.
15998 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15999 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
16000
ef34cbd4
RM
160012009-11-30 Robert Millan <rmh.grub@aybabtu.com>
16002
16003 Fix $srcdir != $objdir build.
16004
16005 * Makefile.in (po/%.po): Rewrite as ...
16006 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
16007
dc9837ea
ST
160082009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
16009
16010 Fix GNU/Hurd grub-install crash.
16011 * util/grub-probe.c (probe): Try to access `path' only when it is not
16012 NULL.
16013
2f857f98
VS
160142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 Correct module naming.
16017
16018 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16019 (GRUB_MOD_INIT(efi_uga)): ... to this
16020 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16021 (GRUB_MOD_FINI(efi_uga)): ... to this
16022 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16023 (GRUB_MOD_INIT(efi_gop)): ... to this
16024 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16025 (GRUB_MOD_FINI(efi_gop)): ... to this
16026
c5448046
RM
160272009-11-28 Robert Millan <rmh.grub@aybabtu.com>
16028
16029 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
16030 translatable.
16031 (usage): Translate `arg' strings using gettext().
16032 Thanks to Jordi Mallach for the suggestion.
16033
c85184ad
VS
160342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 GOP support. Based on patch from Bean
16037 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16038
16039 * video/efi_gop.c: New file.
16040 * include/grub/efi/graphics_output.h: Likewise.
16041 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16042 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16043 variables.
16044 * conf/x86_64-efi.rmk: Likewise.
16045
8a4c48d8
VS
160462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Rename efi_fb to efi_uga.
16049
16050 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16051 'efi_uga.mod'.
16052 (efi_fb_mod_SOURCES): Rename this ...
16053 (efi_uga_mod_SOURCES): ... to this.
16054 (efi_fb_mod_CFLAGS): Rename this ...
16055 (efi_uga_mod_CFLAGS): ... to this.
16056 (efi_fb_mod_LDFLAGS): Rename this ...
16057 (efi_uga_mod_LDFLAGS): ... to this.
16058 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16059 'efi_uga.mod'.
16060 (efi_fb_mod_SOURCES): Rename this ...
16061 (efi_uga_mod_SOURCES): ... to this.
16062 (efi_fb_mod_CFLAGS): Rename this ...
16063 (efi_uga_mod_CFLAGS): ... to this.
16064 (efi_fb_mod_LDFLAGS): Rename this ...
16065 (efi_uga_mod_LDFLAGS): ... to this.
16066 * video/efi_fb.c: Move this ...
16067 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16068
fb6c1a7b
RM
160692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16070
16071 * po/README: New file. Explain our PO file workflow.
16072
3bc7896c
RM
160732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16074
16075 * po/ChangeLog: Remove. Move relevant entries back to ...
16076 * ChangeLog: ... here.
16077 * po/ca.po: Remove (now handled by TLP).
16078 * po/id.po: Likewise.
16079 * po/zh_CN.po: Likewise.
16080 * Makefile.in (LINGUAS): Initialize in a way that supports
16081 empty set.
16082
9ed4841d
RM
160832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16084
16085 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16086 reliing on po/LINGUAS.
16087 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16088 (po/%.po): ... this.
16089
0ad46fd7 160902009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
16091
16092 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16093 (main): Use `program_name' instead of nonexistent `progname'.
16094
e30dd392
FZ
160952009-11-26 Felix Zielcke <fzielcke@z-51.de>
16096
16097 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16098 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16099
7656de4f
RM
161002009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16101
16102 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16103 commit.
16104 * conf/i386-efi.rmk: Likewise.
16105 * conf/i386-ieee1275.rmk: Likewise.
16106 * conf/powerpc-ieee1275.rmk: Likewise.
16107 * conf/sparc64-ieee1275.rmk: Likewise.
16108 * conf/x86_64-efi.rmk: Likewise.
16109
db77c4d4
FZ
161102009-11-26 Felix Zielcke <fzielcke@z-51.de>
16111
16112 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16113
a755bb04
FZ
161142009-11-26 Felix Zielcke <fzielcke@z-51.de>
16115
16116 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16117
8a4c07fd
RM
161182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16119
16120 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16121 (grub_mkdevicemap_SOURCES): New variable.
16122 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16123 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16124 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16125 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16126 (grub_mkdevicemap_SOURCES): Remove.
16127 * conf/i386-efi.rmk: Likewise.
16128 * conf/i386-ieee1275.rmk: Likewise.
16129 * conf/i386-pc.rmk: Likewise.
16130 * conf/powerpc-ieee1275.rmk: Likewise.
16131 * conf/sparc64-ieee1275.rmk: Likewise.
16132 * conf/x86_64-efi.rmk: Likewise.
16133 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16134 (usage): Fix strings to use `program_name'.
16135 (main): Initialize gettext.
16136 * util/grub-editenv.c: Likewise.
16137 * util/grub-emu.c: Likewise.
16138 * util/grub-fstest.c: Likewise.
16139 * util/grub-mkdevicemap.c: Likewise.
16140 * util/grub-mkfont.c: Likewise.
16141 * util/grub-mkrelpath.c: Likewise.
16142 * util/grub-pe2elf.c: Likewise.
16143 * util/grub-probe.c: Likewise.
16144 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16145 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16146 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16147
16148 * util/misc.c: Include `"progname.h"'.
16149 (progname): Remove variable.
16150 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16151
6f61ed55
FZ
161522009-11-25 Felix Zielcke <fzielcke@z-51.de>
16153
16154 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16155 printf and print a newline after the menuentry header line.
16156 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16157
f022876b
FZ
161582009-11-25 Felix Zielcke <fzielcke@z-51.de>
16159
16160 autoconf >= 2.60 support $(localedir).
16161
16162 * INSTALL: Note that autoconf 2.60 is required.
16163 * configure.ac (AC_PREREQ): Bump to 2.60.
16164 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16165 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16166
6717926e
YB
161672009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16168
16169 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16170 aclocal is run.
16171
08806a54
RM
161722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16173
16174 * normal/main.c (grub_normal_read_line): Fix off-by-one
16175 buffer overflow.
16176
13b33fba
RM
161772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16178
16179 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16180 "parser.grub" in grub_command_execute() call.
16181
4a8572e9
CPE
161822009-11-24 Carles Pina i Estany <carles@pina.cat>
16183
16184 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16185 * conf/i386-efi.rmk: Likewise.
16186 * conf/i386-ieee1275.rmk: Likewise.
16187 * conf/i386-pc.rmk: Likewise.
16188 * conf/powerpc-ieee1275.rmk: Likewise.
16189 * conf/sparc64-ieee1275.rmk: Likewise.
16190 * conf/x86_64-efi.rmk: Likewise.
16191 * gettext/gettex.c: Include <grub/i18n.h>.
16192 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16193 here ...
16194 * include/grub/i18n.h: ... to here
16195 * include/grub/i18n.h: ... to here.
16196 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 16197 (grub_gettext_dummy): Move above user.
4a8572e9 16198
bee48093
FZ
161992009-11-24 Felix Zielcke <fzielcke@z-51.de>
16200
16201 * util/Makefile.in (install-local): Convert a `for' into a normal
16202 shell expansion.
16203
a031e91c
RM
162042009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16205
16206 * autogen.sh: Add automake call.
16207 * config.guess: Remove.
16208 * config.sub: Likewise.
16209 * install-sh: Likewise.
16210
26bec39d
FZ
162112009-11-24 Felix Zielcke <fzielcke@z-51.de>
16212
16213 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16214
8e2532fd
FZ
162152009-11-24 Felix Zielcke <fzielcke@z-51.de>
16216
16217 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16218 function to a normal shell `for'.
16219
fefa1b7d
FZ
162202009-11-24 Felix Zielcke <fzielcke@z-51.de>
16221
16222 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16223
4501250b
FZ
162242009-11-24 Felix Zielcke <fzielcke@z-51.de>
16225
16226 * util/grub-mkrelpath.c: New file.
16227 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16228 (grub_mkrelpath_SOURCES): New variable.
16229 * include/grub/util/misc.h: New function prototype.
16230 * util/misc.c (make_system_path_relative_to_its_root): New function.
16231
16232 * util/grub-mkconfig_lib.in (bindir): New variable.
16233 (grub_mkrelpath): Likewise.
16234 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16235
16236 * util/probe.c (probe): Make the file path relative to its root.
16237 Change a info message to use the GRUB path. Enable again the
16238 check if we can read the file with GRUB facilities.
16239
16240 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16241 to its root.
16242
11d9778b
FZ
162432009-11-24 Felix Zielcke <fzielcke@z-51.de>
16244
16245 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16246 platform.
16247
4465287d
FZ
162482009-11-24 Felix Zielcke <fzielcke@z-51.de>
16249
16250 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16251 strncmp().
16252
62b47f22
FZ
162532009-11-24 Felix Zielcke <fzielcke@z-51.de>
16254
16255 * util/getroot.c (grub_util_is_dmraid): New function.
16256 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16257 devices as normal ones, not as LVM.
16258
1eafb9b9 162592009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
16260
16261 * conf/common.rmk: Add grub-gettext_lib target and updates
16262 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16263 LDFLAGS.
16264 * gettext/gettext.c: New file. (Reads mo files).
16265 * include/grub/file.h (grub_file_pread): New prototype.
16266 * include/grub/i18n.h (_): New prototype.
16267 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16268 prototypes.
16269 * kern/misc.c (grub_gettext_dummy): New function.
16270 * normal/menu_text.c: Include <grub/i18n.h>.
16271 * normal/menu_text.c (print_timeout): Gettexttize string.
16272 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
16273 * po/POTFILES: Add `normal/menu_text.c'.
16274 * po/ca.po: Add new translations.
c3ea6bd4
CPE
16275 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16276 gettext module and defines locale_dir and lang in grub.cfg.
16277 * NEWS: Add gettext support.
16278
0fdb2568
RM
162792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16280
16281 * util/hostdisk.c: Include `<grub/i18n.h>'.
16282 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16283 (make_device_name): Rewrite using asprintf.
16284 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16285 (find_system_device): If a device is not found, generate one just
16286 by reusing the OS path name.
16287 (read_device_map): Make it permissible for device.map not to exist.
16288
f515aa62
RM
162892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16290
16291 * script/sh/execute.c: Move from here ...
16292 * script/execute.c: ... to here. Update all users.
16293 * script/sh/function.c: Move from here ...
16294 * script/function.c: ... to here. Update all users.
16295 * script/sh/lexer.c: Move from here ...
16296 * script/lexer.c: ... to here. Update all users.
16297 * script/sh/main.c: Move from here ...
16298 * script/main.c: ... to here. Update all users.
16299 * script/sh/parser.y: Move from here ...
16300 * script/parser.y: ... to here. Update all users.
16301 * script/sh/script.c: Move from here ...
16302 * script/script.c: ... to here. Update all users.
16303
f84b481b
RM
163042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16305
16306 * configure.ac: Detect all `emu' platforms. Define
16307 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16308 --enable-grub-emu logic. Disable include/grub/machine
16309 symlink on `emu' platforms.
16310
16311 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16312 * gensymlist.sh.in: Likewise.
16313
16314 * include/grub/i386/coreboot/machine.h: Remove file.
16315 * include/grub/i386/efi/machine.h: Likewise.
16316 * include/grub/i386/ieee1275/machine.h: Likewise.
16317 * include/grub/i386/pc/machine.h: Likewise.
16318 * include/grub/i386/qemu/machine.h: Likewise.
16319 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16320 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16321 * include/grub/x86_64/efi/machine.h: Likewise.
16322
16323 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16324 * commands/halt.c: Likewise.
16325 * commands/reboot.c: Likewise.
16326 * include/grub/autoefi.h: Likewise.
16327 * include/grub/i386/at_keyboard.h: Likewise.
16328 * include/grub/i386/kernel.h: Likewise.
16329 * include/grub/i386/loader.h: Likewise.
16330 * include/grub/i386/pc/memory.h: Likewise.
16331 * kern/dl.c: Likewise.
16332 * kern/i386/coreboot/init.c: Likewise.
16333 * loader/i386/bsd.c: Likewise.
16334 * loader/i386/linux.c: Likewise.
16335 * loader/multiboot_loader.c: Likewise.
16336 * term/i386/pc/serial.c: Likewise.
16337 * term/usb_keyboard.c: Likewise.
16338
16339 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16340 `<grub/machine/machine.h>'
16341 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16342 * util/misc.c: Remove `<grub/machine/machine.h>' and
16343 `<grub/machine/time.h>'.
16344
16345 * Makefile.in (enable_grub_emu): Remove variable.
16346 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16347
16348 * conf/any-emu.rmk: New file.
16349 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16350 (grub_emu_init.c): Move from here ...
16351 * conf/any-emu.rmk: ... to here.
16352
16353 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16354 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16355 * conf/any-emu.rmk: ... to here.
16356
4efeab03
RM
163572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16358
16359 * include/grub/parser.h (grub_parser_register): Document need
16360 of `name' parameter.
16361 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16362 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16363 "sh" to "grub".
16364
ea1dd8bf
RM
163652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16366
16367 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16368 `$(XGETTEXT)'.
16369 * include/grub/i18n.h (N_): New macro.
16370 * util/mkisofs/mkisofs.h: Likewise.
16371 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16372 around N_().
16373 (usage): Use gettext() to translate help strings when printing them.
16374
0c140626
RM
163752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16376
16377 Based on patch from Bean
16378 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16379
16380 * video/efi_fb.c: New file.
16381 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16382 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16383 variables.
16384 * conf/x86_64-efi.rmk: Likewise.
16385
87d58298
RM
163862009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16387
16388 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16389 * util/i386/pc/grub-setup.c: Likewise.
16390
994cc3a3
ST
163912009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16392
16393 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16394 <hurd/fs.h>
16395 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16396 file_get_storage_info to implement grub_guess_root_device.
16397
26a61d6a
FZ
163982009-11-21 Felix Zielcke <fzielcke@z-51.de>
16399
16400 * Makefile.in (target): Use make's builtin $(shell) function
16401 instead of calling directly $(SHELL) to create the locale directories,
16402 inside the $(foreach) function.
16403
74ff1dd5
FZ
164042009-11-21 Felix Zielcke <fzielcke@z-51.de>
16405
16406 * util/grub-mkrescue.in: Print an error and usage if output option
16407 has not been given.
16408
0b787d0e
FZ
164092009-11-21 Felix Zielcke <fzielcke@z-51.de>
16410
16411 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16412 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16413 root and /boot are on different devices.
16414
1164b270
RM
164152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16416
16417 Fix build for srcdir != objdir.
16418
16419 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16420 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16421 $(srcdir).
16422 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16423 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16424 reference for input.
16425
13774a2f
RM
164262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16429 or hardlinking it). Remove -J option, Joliet is not compatible with
16430 multiple source directories.
16431
efda854e
RM
164322009-11-21 Carles Pina i Estany <carles@pina.cat>
164332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16434
16435 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16436 (process_input_dir): New function. Process an arbitrary input
16437 directory.
16438 Misc adjustments to support both "override mode" and system-wide mode.
16439
6c09890c
FZ
164402009-11-20 Felix Zielcke <fzielcke@z-51.de>
16441
16442 * configure.ac (UNIFONT_BDF): Rename to ...
16443 (FONT_SOURCE): ... this. Update all users.
16444
a797824f
FZ
164452009-11-20 Felix Zielcke <fzielcke@z-51.de>
16446
16447 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16448 to the list of unifont files to look for.
16449
cd4f42b0
RM
164502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16451
16452 Patch from Joe Auricchio <jauricchio@gmail.com>
16453 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16454 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16455 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16456
393c783d
FZ
164572009-11-19 Felix Zielcke <fzielcke@z-51.de>
16458
16459 * Makefile.in (install-local): Add a missing backslash.
16460
b2f1e327
FZ
164612009-11-19 Felix Zielcke <fzielcke@z-51.de>
16462
16463 * include/grub/x86_64/io.h: New file.
16464
f577f7a0
RM
164652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16466
16467 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16468 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16469 Include `"progname.h"'.
16470 (main): Initialize gettext.
16471 * util/i386/pc/grub-setup.c: Gettexttize.
16472 * util/i386/pc/grub-mkimage.c: Likewise.
16473
16474 * Makefile.in (po/*.po): Redefine as ...
16475 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16476
3bc7896c
RM
16477 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16478
c37943b6
RM
164792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16482 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16483 (program_name): Remove.
16484 (main): Initialize gettext support.
6323f705
RM
16485 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16486 Include `<libintl.h>'.
16487 (_): New macro.
c37943b6
RM
16488
16489 * util/mkisofs/eltorito.c: Gettexttize.
16490 * util/mkisofs/joliet.c: Likewise.
16491 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
16492 * util/mkisofs/multi.c: Likewise.
16493 * util/mkisofs/rock.c: Likewise.
16494 * util/mkisofs/tree.c: Likewise.
16495 * util/mkisofs/write.c: Likewise.
16496
3bc7896c
RM
16497 * po/POTFILES: Update with new files.
16498
5ce77c6e
RM
164992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16500
16501 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16502 * util/mkisofs/iso9660.h: Likewise.
16503 * util/mkisofs/joliet.c: Likewise.
16504 * util/mkisofs/mkisofs.c: Likewise.
16505 * util/mkisofs/mkisofs.h: Likewise.
16506 * util/mkisofs/rock.c: Likewise.
16507 * util/mkisofs/tree.c: Likewise.
16508 * util/mkisofs/write.c: Likewise.
16509
16510 * util/mkisofs/eltorito.c (rcsid): Remove.
16511 * util/mkisofs/hash.c: Likewise.
16512 * util/mkisofs/joliet.c: Likewise.
16513 * util/mkisofs/name.c: Likewise.
16514 * util/mkisofs/rock.c: Likewise.
16515 * util/mkisofs/tree.c: Likewise.
16516 * util/mkisofs/write.c: Likewise.
16517
1dabbc77
RM
165182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16519
16520 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16521 instead of static allocation.
16522 * util/mkisofs/match.h: Likewise.
16523
633877cb
RM
165242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16525
3bc7896c
RM
16526 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16527 and `util/grub.d/10_linux.in'.
633877cb
RM
16528 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16529 translatable Shell files.
16530
af1c0c85
RM
165312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16532
16533 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16534
769ae37b
RM
165352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16536
16537 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 16538 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
16539 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16540 Add gettext initialization.
16541 (kfreebsd_entry): Make menuentry output translatable.
16542
165432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16544
16545 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16546 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16547 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16548 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16549 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 16550 * po/LINGUAS: New file.
769ae37b
RM
16551
165522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16553
16554 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16555 other things).
16556 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16557 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16558 bindtextdomain() calls for gettext initialization.
16559
165602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * gnulib/progname.c: New file (imported from Gnulib).
16563 * gnulib/progname.h: Likewise.
16564 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16565 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16566 (usage): Replace `progname' with `program_name'.
16567 (main): Use set_program_name() for program name initialization.
16568
165692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16570
16571 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16572 from here ...
16573 * Makefile.in (CPPFLAGS): ... to here.
16574
165752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16576
16577 * aclocal.m4: Move from here ...
16578 * acinclude.m4: ... to here.
16579 * autogen.sh: Add call to `aclocal'.
16580 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16581
165822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16583
16584 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16585 (LINGUAS): New variable.
16586 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16587 (install-local): Install MO files.
16588 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16589 * include/grub/i18n.h: New file.
3bc7896c
RM
16590 * po/POTFILES: New file.
16591 * po/ca.po: New file.
769ae37b
RM
16592 * util/grub.d/10_linux.in (bindir): New variable.
16593 Add gettext initialization.
16594 (linux_entry): Make menuentry output translatable.
16595 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16596 (usage): Make --help output translatable.
16597 (main): Initialize gettext.
16598
02c0a6ad
RM
165992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16600
16601 * import_gcry.py: New file (written by Vladimir with minor
16602 adjustments).
16603 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16604 ciphers.
16605 * INSTALL: Document that Python is required for bootstrap.
16606
166072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16608
16609 Import ciphers from libgcrypt 1.4.4.
16610
16611 * lib/libgcrypt/cipher/ChangeLog
16612 * lib/libgcrypt/cipher/ac.c
16613 * lib/libgcrypt/cipher/arcfour.c
16614 * lib/libgcrypt/cipher/bithelp.h
16615 * lib/libgcrypt/cipher/blowfish.c
16616 * lib/libgcrypt/cipher/camellia-glue.c
16617 * lib/libgcrypt/cipher/camellia.c
16618 * lib/libgcrypt/cipher/camellia.h
16619 * lib/libgcrypt/cipher/cast5.c
16620 * lib/libgcrypt/cipher/cipher.c
16621 * lib/libgcrypt/cipher/crc.c
16622 * lib/libgcrypt/cipher/des.c
16623 * lib/libgcrypt/cipher/dsa.c
16624 * lib/libgcrypt/cipher/ecc.c
16625 * lib/libgcrypt/cipher/elgamal.c
16626 * lib/libgcrypt/cipher/hash-common.c
16627 * lib/libgcrypt/cipher/hash-common.h
16628 * lib/libgcrypt/cipher/hmac-tests.c
16629 * lib/libgcrypt/cipher/md.c
16630 * lib/libgcrypt/cipher/md4.c
16631 * lib/libgcrypt/cipher/md5.c
16632 * lib/libgcrypt/cipher/primegen.c
16633 * lib/libgcrypt/cipher/pubkey.c
16634 * lib/libgcrypt/cipher/rfc2268.c
16635 * lib/libgcrypt/cipher/rijndael-tables.h
16636 * lib/libgcrypt/cipher/rijndael.c
16637 * lib/libgcrypt/cipher/rmd.h
16638 * lib/libgcrypt/cipher/rmd160.c
16639 * lib/libgcrypt/cipher/rsa.c
16640 * lib/libgcrypt/cipher/seed.c
16641 * lib/libgcrypt/cipher/serpent.c
16642 * lib/libgcrypt/cipher/sha1.c
16643 * lib/libgcrypt/cipher/sha256.c
16644 * lib/libgcrypt/cipher/sha512.c
16645 * lib/libgcrypt/cipher/tiger.c
16646 * lib/libgcrypt/cipher/twofish.c
16647 * lib/libgcrypt/cipher/whirlpool.c
16648
af2f93ac
RM
166492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 Fix build for systems without error().
16652
16653 * gnulib/error.c: New file (imported from Gnulib).
16654 * gnulib/error.h: Likewise.
16655 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16656 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16657 (this variable is now used by error()).
16658
73fb3dd5
FZ
166592009-11-16 Felix Zielcke <fzielcke@z-51.de>
16660
814f5e96
FZ
16661 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16662 instead of relying that char is signed.
73fb3dd5 16663
a691ca33
VS
166642009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16667 blocksize different from specified.
16668 (grub_pxefs_read): Likewise.
16669
2af8f0f4
FZ
166702009-11-16 Felix Zielcke <fzielcke@z-51.de>
16671
16672 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16673
16674 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16675 (grub_ata_readwrite): Likewise. Update 2 format strings.
16676 (grub_atapi_read): Likewise.
16677
16678 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16679 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16680 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16681 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16682 (ata_mod_LDFLAGS): Move from here ...
16683 * conf/i386.rmk: ... to here ...
16684 * conf/x86_64-efi.rmk: ... and here.
16685 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16686 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16687
83bdecaf
RM
166882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16689
16690 Relicense multiboot.h, with RMS' blessing.
16691
16692 * include/multiboot.h: Change to X11 license.
16693
fd6fd3d7
RM
166942009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16695
16696 Support --version in grub-mkisofs.
16697
16698 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16699 (OPTION_VERSION): New macro.
16700 (ld_options): Recognize --version.
16701 (usage): Move `program_name' from here ...
16702 (program_name): ... to here. Add `static' qualifier.
16703 (main): Recognize `OPTION_VERSION'.
16704
16a88c49
FZ
167052009-11-15 Felix Zielcke <fzielcke@z-51.de>
16706
16707 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16708 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16709
a4158476
RM
167102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16711
16712 Fix help2man generation for mkisofs.
16713
16714 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16715 (usage): Send output to stdout (rather than stderr).
16716
fc2208b0
RM
167172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16718
16719 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16720 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16721 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16722 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16723 (bin_SCRIPTS): Add `grub-mkfloppy'.
16724 (grub_mkfloppy_SOURCES): New variable.
16725
16726 * util/grub-mkrescue.in: New file.
16727 * util/i386/pc/grub-mkfloppy.in: New file.
16728
16729 * util/i386/coreboot/grub-mkrescue.in: Remove.
16730 * util/i386/pc/grub-mkrescue.in: Remove.
16731
8d0edf4a
RM
167322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16733
16734 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16735 from here ...
16736 * include/multiboot.h (struct multiboot_header): ... to here. Update
16737 all users.
16738 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16739 from here ...
16740 * include/multiboot.h (struct multiboot_info): ... to here. Update
16741 all users.
16742 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16743 from here ...
16744 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16745 Update all users.
16746 * include/grub/multiboot.h (struct grub_mod_list): Move
16747 from here ...
16748 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16749 Update all users.
16750
a73f5969
RM
167512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16752
16753 * include/multiboot2.h (multiboot_word): Rename from this ...
16754 (multiboot2_word): ... to this. Update all users.
16755 (multiboot_header): Rename from this ...
16756 (multiboot2_header): ... to this. Update all users.
16757 (multiboot_tag_header): Rename from this ...
16758 (multiboot2_tag_header): ... to this. Update all users.
16759 (multiboot_tag_start): Rename from this ...
16760 (multiboot2_tag_start): ... to this. Update all users.
16761 (multiboot_tag_name): Rename from this ...
16762 (multiboot2_tag_name): ... to this. Update all users.
16763 (multiboot_tag_module): Rename from this ...
16764 (multiboot2_tag_module): ... to this. Update all users.
16765 (multiboot_tag_memory): Rename from this ...
16766 (multiboot2_tag_memory): ... to this. Update all users.
16767 (multiboot_tag_unused): Rename from this ...
16768 (multiboot2_tag_unused): ... to this. Update all users.
16769 (multiboot_tag_end): Rename from this ...
16770 (multiboot2_tag_end): ... to this. Update all users.
16771
1c8927f0
RM
167722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16773
16774 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16775 this platform we should support Multiboot1 first.
16776
16777 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16778 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16779 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16780
6e1e0d89
RM
167812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16782
16783 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16784 of write calls (converting them to fwrite() if they aren't already).
16785 (get_torito_desc): Likewise.
16786 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16787
7f2b34d8
RM
167882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16789
16790 * util/i386/pc/grub-install.in: Move from here ...
16791 * util/grub-install.in: ... to here. Update all users.
16792
c0ef3311
CW
167932009-11-11 Colin Watson <cjwatson@ubuntu.com>
16794
16795 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16796
e1f240ff
RM
167972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16798
16799 Support for El Torito without floppy emulation.
16800
16801 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16802 (init_boot_catalog): Improve error handling.
16803 (get_torito_desc): Don't use floppy emulation unless requested by
16804 user. Patch boot information table when requested via
16805 `-boot-info-table'.
16806 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16807 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16808 (use_boot_info_table): New variables.
16809 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16810 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16811 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16812 `--eltorito-emul-floppy'.
16813 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16814 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16815 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16816 (use_boot_info_table, get_731): New prototypes.
16817 * util/mkisofs/write.c (get_731): New function.
16818
af7d4de5
FZ
168192009-11-11 Felix Zielcke <fzielcke@z-51.de>
16820
16821 Fix the generation of the man page.
16822
16823 * util/pc/i386/grub-install.in: Source
16824 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16825
2c55dbc0
RM
168262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16827
16828 Large file support for grub-mkisofs.
16829
16830 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16831 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16832 (session_start): Upgrade type to `uint64_t'. Update all users.
16833 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16834 (struct directory_entry): Upgrade type of `starting_block' and
16835 `size' to `uint64_t'. Update all users.
16836 (struct deferred): Remove unused structure.
16837 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16838 Update all users.
16839 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16840 file is larger than `UINT32_MAX'.
16841 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16842 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16843 return value.
16844 (struct deferred_write): Upgrade type of `extent' and `size' to
16845 `uint64_t'. Update all users.
16846 (last_extent_written): Upgrade type to `uint64_t'. Update all
16847 users.
16848 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16849 Update all users. Upgrade type of `remain' to `int64_t' and
16850 `use' to `size_t'. Use error() to handle fread() errors.
16851 (write_files): Rely on write_one_file() rather than calling
16852 xfwrite() directly.
16853
6a9cead5
FZ
168542009-11-09 Felix Zielcke <fzielcke@z-51.de>
16855
16856 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16857
4825d790
RM
168582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16859
16860 * util/mkisofs/fnmatch.c: Remove.
16861 * util/mkisofs/getopt1.c: Likewise.
16862 * util/mkisofs/getopt.c: Likewise.
16863 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16864 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16865 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16866 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16867 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16868
16869 * configure.ac: Detect `mingw32msvc' host_os.
16870 Check for lstat(), getuid() and getgid().
16871
16872 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16873 instances of `u_char' with `uint8_t'.
16874
16875 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16876 [!HAVE_GETUID] (getuid): New function (stub).
16877 [!HAVE_GETGID] (getgid): Likewise.
16878 [!HAVE_LSTAT] (lstat): Likewise.
16879 [!S_IROTH] (S_IROTH): New macro (dummy).
16880 [!S_IRGRP] (S_IRGRP): Likewise.
16881
84b860d8
RM
168822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16883
16884 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16885 conditional expression).
16886
66e9b712
RM
168872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16888
16889 Import from Gnulib.
16890
16891 * gnulib/fnmatch.c: New file.
16892 * gnulib/fnmatch.h: Likewise.
16893 * gnulib/fnmatch_loop.c: Likewise.
16894 * gnulib/getopt.c: Likewise.
16895 * gnulib/getopt.h: Likewise.
16896 * gnulib/getopt1.c: Likewise.
16897 * gnulib/getopt_int.h: Likewise.
16898 * gnulib/gettext.h: Likewise.
16899
34f4a5b0
RM
169002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16901
16902 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16903 * normal/handler.c (read_handler_list): Likewise.
16904
ac451143
RM
169052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16906
16907 Misc cleanup.
16908
16909 * kern/command.c (grub_register_command_prio): Use
16910 grub_zalloc() instead of explicitly zeroing data.
16911 * kern/list.c: Include `<grub/mm.h>'.
16912 (grub_named_list_find): Replace `0' with `NULL'.
16913 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16914 (fs_module_list): Change type to `grub_named_list_t'. Update all
16915 users.
16916 * normal/dyncmd.c (read_command_list): Add space between function
16917 call and parenthesis.
16918 * normal/handler.c (read_handler_list): Likewise.
16919
4089b167
RM
169202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16921
16922 * normal/auth.c (punishment_delay): Moved from here ...
16923 (grub_auth_strcmp): ... to here (inside function).
16924
325f5037
RM
169252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16926
16927 * include/grub/list.h (struct grub_named_list): Remove `const'
16928 qualifier from `name'.
16929 (struct grub_prio_list): Likewise.
16930
7aea29a3
RM
169312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16932
16933 * normal/auth.c: Include `<grub/time.h>'.
16934 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16935
3fd6f044
RM
169362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16937
16938 * normal/auth.c (punishment_delay): New variable.
16939 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16940 (grub_auth_check_authentication): Punish failed login attempts with
16941 an incremental (2^N) delay.
16942
a4cd68e4
RM
169432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16944
16945 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16946 path with $(srcdir).
16947
7ad12f43
VS
169482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16951
c1129f03
RM
169522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16953
16954 * util/i386/coreboot/grub-mkrescue.in: New file.
16955 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16956 variables.
16957
16958 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16959 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16960 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16961 requirements.
16962 * util/mkisofs/defaults.h: New file.
16963 * util/mkisofs/eltorito.c: Likewise.
16964 * util/mkisofs/exclude.h: Likewise.
16965 * util/mkisofs/fnmatch.c: Likewise.
16966 * util/mkisofs/getopt.c: Likewise.
16967 * util/mkisofs/getopt1.c: Likewise.
16968 * util/mkisofs/hash.c: Likewise.
16969 * util/mkisofs/include/fctldefs.h: Likewise.
16970 * util/mkisofs/include/mconfig.h: Likewise.
16971 * util/mkisofs/include/prototyp.h: Likewise.
16972 * util/mkisofs/include/statdefs.h: Likewise.
16973 * util/mkisofs/iso9660.h: Likewise.
16974 * util/mkisofs/joliet.c: Likewise.
16975 * util/mkisofs/match.c: Likewise.
16976 * util/mkisofs/match.h: Likewise.
16977 * util/mkisofs/mkisofs.c: Likewise.
16978 * util/mkisofs/mkisofs.h: Likewise.
16979 * util/mkisofs/multi.c: Likewise.
16980 * util/mkisofs/name.c: Likewise.
16981 * util/mkisofs/rock.c: Likewise.
16982 * util/mkisofs/tree.c: Likewise.
16983 * util/mkisofs/write.c: Likewise.
16984
ec8bb77d
VS
169852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16988 being insecure.
16989
3716b12c
RM
169902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16991
16992 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16993 `grub-mkimage' (and use $0 when possible).
16994
b97b7b91
RM
169952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16996
16997 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16998 error message for excessively large memory map.
16999
04114812
RM
170002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17001
17002 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
17003 executable bit.
17004
e4eb2373
RM
170052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17006
17007 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
17008 message for coreboot users.
17009
c926e1d5 170102009-11-07 Robert Millan <rmh.grub@aybabtu.com>
17011
17012 Fix build with GNU gold.
17013
17014 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
17015 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
17016 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
17017 link addresses.
17018 * aclocal.m4: Likewise.
17019
86e5b1db 170202009-11-04 Felix Zielcke <fzielcke@z-51.de>
17021
17022 * configure.ac (AC_PREREQ): Bump to 2.59d.
17023 * INSTALL: Make it more clear when Autoconf and Ruby are
17024 needed and when to run `./autogen.sh'.
17025
246cd78f 170262009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
17027
17028 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
17029 OSes.
17030
4f9dfb37 170312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17032
17033 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
17034
b82bd5e1 170352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17036
17037 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
17038 giving it to GNU Mach.
17039
ff1a9bca 170402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17041
17042 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17043 GNU partition number to get internal GRUB partition number.
17044
61697d9c 170452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17046
17047 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17048 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17049
a50569e1 170502009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17051
17052 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17053 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17054 case.
17055
5b153867 170562009-11-01 Felix Zielcke <fzielcke@z-51.de>
17057
17058 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17059
d9e2cd70 170602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17061
17062 Fix build problem.
17063
17064 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17065 `-isystem=$(srcdir)/include'.
17066
805111a4 170672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17068
17069 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17070 checked (grub-install doesn't currently rely on it).
17071
fa6e945f 170722009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17073
17074 Revert SVN r2660.
17075
17076 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17077 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17078 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17079 * conf/i386-ieee1275.rmk: Likewise.
17080 * conf/i386-pc.rmk: Likewise.
17081 * conf/powerpc-ieee1275.rmk: Likewise.
17082 * conf/sparc64-ieee1275.rmk: Likewise.
17083 * conf/x86_64-efi.rmk: Likewise.
17084
cee15086 170852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17086
17087 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17088
95b9239e 170892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17090
17091 * include/grub/misc.h: Stop checking for APPLE_CC.
17092
2ed19dfd 170932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17094
17095 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17096 doesn't cause an infinite call loop.
17097
fdcdde19 170982009-10-28 Felix Zielcke <fzielcke@z-51.de>
17099
17100 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17101 strings.
17102
cefabfe1 171032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17104
17105 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17106 variable.
17107 * Makefile.in: Likewise.
17108
ed96ab6d 171092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17110
17111 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17112
0579b753 171132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17114
17115 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17116
478df409 171172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17118
17119 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17120
083d1679 171212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17122
17123 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17124 from here ...
17125 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17126
5947ae32 171272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17128
17129 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17130 in $(MAKEINFO) invocation. This makes it clear in output that
17131 errors are being ignored.
17132
94180ff6 171332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17134
17135 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17136 from here ...
17137 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17138 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17139 * conf/i386-ieee1275.rmk: Likewise.
17140 * conf/i386-pc.rmk: Likewise.
17141 * conf/powerpc-ieee1275.rmk: Likewise.
17142 * conf/sparc64-ieee1275.rmk: Likewise.
17143 * conf/x86_64-efi.rmk: Likewise.
17144
9031b03a 171452009-10-26 Colin Watson <cjwatson@ubuntu.com>
17146
17147 * util/grub-editenv.c (main): If only a command is given, use
17148 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17149 (usage): FILENAME is now optional and has a default.
17150
e4f6809b 171512009-10-26 Colin Watson <cjwatson@ubuntu.com>
17152
17153 Improve grub-mkconfig performance when there are several menu
17154 entries on a single filesystem.
17155
17156 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17157 prepare_grub_to_access_device.
17158 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17159 * util/grub.d/30_os-prober.in: Likewise.
17160
67937d4d 171612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17162
17163 * util/grub.d/10_freebsd.in: Remove.
17164 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17165 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17166
ee3756cc 171672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17168
5c35048e 17169 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 17170
4dea1c6f 171712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17172
17173 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17174 grub_util_error() call.
17175
042484d7 171762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17177
17178 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17179 `reserved_first_sector' member.
17180 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17181 `reserved_first_sector' to 1.
17182 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17183 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17184 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17185 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17186 filesystems which begin at first sector.
17187 (options): New option --skip-fs-probe.
17188 (main): Handle --skip-fs-probe and pass it to setup().
17189
d64448a7 171902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17191
17192 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17193 (memset): Fix function prototype.
17194
508d42ec 171952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
171962009-10-25 Vasily Averin <vvs@parallels.com>
17197
17198 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17199 `dirent.direntlen == 0'.
17200
b240e30c 172012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17202
17203 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17204 `cpio'.
17205 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17206
346e7fbe 172072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17208
17209 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17210 `__trampoline_setup' and `__ucmpdi2'.
17211 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17212 that libgcc provides.
17213
cdb308b0 172142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17215
17216 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17217 * include/grub/sparc64/libgcc.h (memset): Likewise.
17218 * include/grub/misc.h (memset, memcmp): New function prototypes.
17219
fb26abc2 172202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17221
17222 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17223 `cpio'.
17224 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17225
f6693890 172262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17227
17228 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17229 * docs/grub.cfg: Compensate for recent change in multiboot
17230 loader (since 2009-08-14 it won't pass filename to payload).
17231 * util/grub.d/10_hurd.in: Likewise.
17232
0933cdc0 172332009-10-21 Felix Zielcke <fzielcke@z-51.de>
17234
17235 * config.guess: Update to latest version from config git
17236 repository.
17237 * config.sub: Likewise.
17238
3b2fe8c2 172392009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17240
17241 Fix build on sparc64.
17242
17243 * configure.ac: Perform checks for libgcc symbols before
17244 adding `-nostdlib' to LDFLAGS.
17245
46695a62 172462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 Let user specify OpenBSD root device.
17249
17250 * loader/i386/bsd.c (openbsd_root): New variable.
17251 (openbsd_opts): New option 'root'.
17252 (OPENBSD_ROOT_ARG): New macro.
17253 (grub_openbsd_boot): Use 'openbsd_root'.
17254 (grub_cmd_openbsd): Fill 'openbsd_root'.
17255
d2b6b7fc 172562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17257
17258 * NEWS: Misc adjustments.
17259
421bd7ac 172602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17263
f1d29d87 172642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17265
17266 * configure.ac: Bump version to 1.97.
17267
6f3cd880 172682009-10-16 Colin Watson <cjwatson@ubuntu.com>
17269
17270 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17271 -mno-3dnow on x86 architectures. Some toolchains enable these
17272 features by default, but they rely on registers that aren't enabled
17273 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17274
035f7122 172752009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17276
17277 Make entry text a bit more readable.
17278
17279 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17280
44998e58 172812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17284
cd2851b3 172852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17288 operations.
17289
c6f3b249 172902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * configure.ac: Add missing dollar.
17293
6b5886ba 172942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17297
17298 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17299 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17300 exports.
17301 * include/grub/sparc64/libgcc.h: Likewise. Use
17302 preprocessor conditionals.
17303
e9d66f6d 173042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17305
17306 * conf/common.rmk (grub-dumpbios): Remove rule.
17307 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17308 * util/grub-dumpbios.in: Remove file.
17309
9155bc17 173102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17311
17312 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17313 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17314
17315 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17316 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17317 users.
17318
17319 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17320 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17321 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17322 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17323 users.
17324
bf7f7a18 173252009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17326
17327 * term/tparm.c: Switch to GPLv3.
17328
86564c26 173292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17330
17331 * include/grub/i386/cpuid.h: Add header protection.
17332
5c936493 173332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17334
17335 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17336
17337 * include/grub/i386/cpuid.h: New file.
17338 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17339 (has_longmode): Rename to ...
17340 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17341 `static' attribute.
17342 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17343 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17344 on a CPU that doesn't implement AMD64 instruction set.
17345
186e7cf2 173462009-10-06 Colin Watson <cjwatson@ubuntu.com>
17347
17348 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17349 that version.texi is rebuilt on version number changes.
17350
83b65c4a 173512009-10-06 Colin Watson <cjwatson@ubuntu.com>
17352
17353 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17354 Fixes bug #27602.
17355
d244281c 173562009-10-06 Colin Watson <cjwatson@ubuntu.com>
17357
17358 * util/i386/pc/grub-install.in: Source
17359 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17360 that the --grub-probe option will work.
17361 * util/sparc64/ieee1275/grub-install.in: Likewise.
17362
da25306d 173632009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 * configure.ac: Bump version to 1.97~beta4.
17366
e8ee83c0 173672009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17368
17369 Resync grub-mkdevicemap in x86_64-efi.
17370
17371 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17372 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17373 `util/devicemap.c'.
17374
50dcabcf 173752009-10-01 Colin Watson <cjwatson@ubuntu.com>
17376
17377 * util/grub-editenv.c (create_envblk_file): Write new block with a
17378 .new suffix and then rename it into place, to ensure atomic
17379 creation.
17380
0e51c3a7 173812009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17382
17383 Do not automatically install headers.
17384
17385 * Makefile.in (include_DATA): Remove. Update all users.
17386
31299a95 173872009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17388
17389 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17390 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17391
17392 * util/osdetect.lua: Remove.
17393 * script/lua/lauxlib.c: Likewise.
17394 * script/lua/ldebug.c: Likewise.
17395 * script/lua/grub_main.c: Likewise.
17396 * script/lua/lauxlib.h: Likewise.
17397 * script/lua/ldebug.h: Likewise.
17398 * script/lua/ltablib.c: Likewise.
17399 * script/lua/liolib.c: Likewise.
17400 * script/lua/lstrlib.c: Likewise.
17401 * script/lua/lualib.h: Likewise.
17402 * script/lua/ldo.c: Likewise.
17403 * script/lua/ldump.c: Likewise.
17404 * script/lua/ldo.h: Likewise.
17405 * script/lua/loslib.c: Likewise.
17406 * script/lua/lundump.c: Likewise.
17407 * script/lua/grub_lib.c: Likewise.
17408 * script/lua/ldblib.c: Likewise.
17409 * script/lua/lundump.h: Likewise.
17410 * script/lua/lmem.c: Likewise.
17411 * script/lua/grub_lib.h: Likewise.
17412 * script/lua/lmathlib.c: Likewise.
17413 * script/lua/lstate.c: Likewise.
17414 * script/lua/ltm.c: Likewise.
17415 * script/lua/lvm.c: Likewise.
17416 * script/lua/lmem.h: Likewise.
17417 * script/lua/lstate.h: Likewise.
17418 * script/lua/ltm.h: Likewise.
17419 * script/lua/ltable.c: Likewise.
17420 * script/lua/lvm.h: Likewise.
17421 * script/lua/llex.c: Likewise.
17422 * script/lua/lgc.c: Likewise.
17423 * script/lua/grub_lua.h: Likewise.
17424 * script/lua/loadlib.c: Likewise.
17425 * script/lua/lfunc.c: Likewise.
17426 * script/lua/lopcodes.c: Likewise.
17427 * script/lua/lparser.c: Likewise.
17428 * script/lua/ltable.h: Likewise.
17429 * script/lua/llex.h: Likewise.
17430 * script/lua/lgc.h: Likewise.
17431 * script/lua/lfunc.h: Likewise.
17432 * script/lua/lbaselib.c: Likewise.
17433 * script/lua/lopcodes.h: Likewise.
17434 * script/lua/lparser.h: Likewise.
17435 * script/lua/lzio.c: Likewise.
17436 * script/lua/linit.c: Likewise.
17437 * script/lua/lobject.c: Likewise.
17438 * script/lua/llimits.h: Likewise.
17439 * script/lua/lstring.c: Likewise.
17440 * script/lua/lzio.h: Likewise.
17441 * script/lua/lapi.c: Likewise.
17442 * script/lua/lcode.c: Likewise.
17443 * script/lua/lua.h: Likewise.
17444 * script/lua/lobject.h: Likewise.
17445 * script/lua/lstring.h: Likewise.
17446 * script/lua/lapi.h: Likewise.
17447 * script/lua/lcode.h: Likewise.
17448 * script/lua/luaconf.h: Likewise.
17449
cb8a2c38 174502009-09-26 Colin Watson <cjwatson@ubuntu.com>
17451
17452 * docs/grub.texi (Command-line and menu entry commands): Document
17453 date and echo commands.
17454
6b9b6276 174552009-09-24 Pavel Roskin <proski@gnu.org>
17456
17457 * include/grub/kernel.h (struct grub_module_header): Remove
17458 `grub_module_header_types'. Make `type' unsigned. Make `size'
17459 32-bit on all platforms.
17460 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17461 8-bit field. Use grub_host_to_target32() for `size'.
17462 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17463 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17464 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17465
4e5a02a7 174662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17467
17468 Fix "lost keypress" bug in at_keyboard.
17469
17470 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17471 Checks for readyness of input buffer (without flushing it).
17472 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17473 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17474
c6dcedf6 174752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17476
17477 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17478 size check within GRUB_MACHINE_PCBIOS section.
17479
74c958b1 174802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17481
17482 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17483 return value.
17484 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17485 KEYBOARD_ISREADY check.
17486 (grub_at_keyboard_checkkey): Rename to ...
17487 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17488 Remove gratuitous cast.
17489
ff420223 174902009-09-23 Colin Watson <cjwatson@ubuntu.com>
17491
17492 * configure.ac: Call AC_PROG_MKDIR_P.
17493 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17494 version.texi in $(builddir) rather than $(srcdir).
17495 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17496 to makeinfo's @include search path.
17497
d96875df 174982009-09-23 Felix Zielcke <fzielcke@z-51.de>
17499
17500 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17501
9b3f8365 175022009-09-23 Felix Zielcke <fzielcke@z-51.de>
17503
17504 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17505 for `*.dpkg-new'.
17506
c44c90db 175072009-09-21 Colin Watson <cjwatson@ubuntu.com>
17508
17509 Build info documentation. Some code borrowed from Automake.
17510
17511 * configure.ac: Check for makeinfo.
17512 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17513 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17514 docs/version.texi.
17515 (MOSTLYCLEANFILES): Add vti.tmp.
17516 (docs/version.texi, docs/stamp-vti): Update automatically.
17517 (docs/grub.info): Build info documentation. Use --force and ignore
17518 errors for now.
17519 (all-local): Add $(INFOS).
17520 (install-local): Install info files.
17521 (uninstall): Uninstall info files.
17522 * docs/version.texi: Remove from revision control. This file is
17523 automatically generated on build now.
17524 * gendistlist.sh: Add `*.info'.
17525
e0b37bb5 175262009-09-21 Felix Zielcke <fzielcke@z-51.de>
17527
17528 * kern/term.c: Fix indentation.
17529
5a78865b 175302009-09-21 Felix Zielcke <fzielcke@z-51.de>
17531
17532 * util/hostdisk.c: Fix a comment.
17533
dace7e8a 175342009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17535
17536 Fix regression introduced in r2539.
17537
17538 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17539 to 0xA1.
17540
a83d079b 175412009-09-19 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 17544 os-prober. Under normal operation, it does not print anything to
17545 stderr; if it does, we need to debug it, and throwing away stderr
17546 makes that excessively difficult.
a83d079b 17547
be94a509 175482009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17551
63f745e8 175522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17553
17554 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17555 AC_LANG_PROGRAM from autoconf.
17556 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17557 prototypes (fixes warning).
17558
17559 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17560 `--disable-werror' was used.
17561
bbb2a70f 175622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17563
17564 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17565 uninitialized `lastaddr'.
17566
77c24f1d 175672009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17568
0f0b8c87 17569 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 17570
07197f23 175712009-09-14 Colin Watson <cjwatson@ubuntu.com>
17572
17573 * commands/test.c (get_fileinfo): Return immediately if
17574 grub_fs_probe fails.
17575
dabf1798 175762009-09-14 José Martínez <xosemp@gmail.com>
17577
17578 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17579
d52109a7 175802009-09-14 Colin Watson <cjwatson@ubuntu.com>
17581
17582 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17583 output.
17584
56532179 175852009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17586
17587 * configure.ac: Remove --enable-grub-pe2elf. Only build
17588 grub-pe2elf when needed by the build system itself.
17589 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17590
8ef070f5 175912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17592
17593 * configure.ac: Bump version to 1.97~beta3.
17594 * docs/version.texi: Likewise.
17595
61229557 175962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17597
17598 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17599 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17600 from here ...
17601 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17602 (grub_linux_setup_video): ... to here (with some adjustments).
17603
5c9f8d84 176042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17605
17606 Fix memory corruption issue (spotted by Colin Watson).
17607
17608 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17609 causing returned size to be stored in an incorrect memory location.
17610 Fix use of uninitialized value when storing the returned size.
17611
e8f5d6e9 176122009-09-12 Yves Blusseau <blusseau@zetam.org>
17613
17614 Change clean rules to properly remove files
17615
17616 * genmk.rb: add new clean rules
17617 * Makefile.in (clean): add the new targets
17618 (mostlyclean): likewise
17619
cda2a409 176202009-09-11 Colin Watson <cjwatson@ubuntu.com>
17621
17622 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17623 to grub_uint64_t.
17624 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17625 non-resident files.
17626
86695375 176272009-09-11 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17630 part of bug #27349.
17631
8aa1541a 176322009-09-10 Felix Zielcke <fzielcke@z-51.de>
17633
17634 * util/grub-mkconfig.in: Make the created config mode 400 and
17635 print a warning if it fails.
17636
48d9bb0a 176372009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17638
17639 * util/grub.d/40_custom.in: Ask user to type custom entries below
17640 comment, rather than below 'exec tail' line.
17641
3b0521be 176422009-09-10 Colin Watson <cjwatson@ubuntu.com>
17643
17644 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17645 visible in grub.cfg.
17646
50051d55 176472009-09-10 Colin Watson <cjwatson@ubuntu.com>
17648
17649 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17650 file.
17651
c0d34387 176522009-09-10 Felix Zielcke <fzielcke@z-51.de>
17653
17654 * docs/grub.cfg: Add an example menu entry for memtest86+.
17655
80a608f3 176562009-09-09 Felix Zielcke <fzielcke@z-51.de>
17657
a2094832 17658 * config.guess: Update to latest version from config git.
80a608f3 17659 * config.sub: Likewise.
17660
99423078 176612009-09-08 Colin Watson <cjwatson@ubuntu.com>
17662
17663 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17664 unknown-command case. Fixes bug #27320.
17665
44454e4c 176662009-09-08 Felix Zielcke <fzielcke@z-51.de>
17667
17668 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17669 `help' if the command exists.
17670
e30d87ad 176712009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17672
17673 * INSTALL: Require GCC 4.1.3 or later.
17674
9a86f1ec 176752009-09-06 Yves Blusseau <blusseau@zetam.org>
17676
17677 * Makefile.in (RMKFILES): add i386-qemu.rmk
17678 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17679 $(srcdir)/stamp-h.in
17680
7f26d466 176812009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17682
17683 * util/grub-probe.c (probe): Comment out buggy codepath, which
17684 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17685 should be re-enabled after 1.97.
17686
3a613259 176872009-09-05 Felix Zielcke <fzielcke@z-51.de>
17688
17689 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17690 find searches for.
17691
197f76c7 176922009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17695 unnecessary calls to grub_error.
17696
70ba68ce 176972009-09-04 Colin Watson <cjwatson@ubuntu.com>
17698
17699 * NEWS: Mention `keystatus' and Unicode fonts.
17700
4ff0d7a4 177012009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17702
17703 * configure.ac: Bump version to 1.97~beta2.
17704 * docs/version.texi: Likewise.
17705
77c55a87 177062009-09-03 Colin Watson <cjwatson@ubuntu.com>
17707
17708 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17709 containing unwind information in some cases where it previously did
17710 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17711 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17712 discussion.
17713
f79572cd 177142009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17715
17716 Embedding loadenv module into grub-emu
17717
17718 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17719 commands/loadenv.c
17720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17721 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17722 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17726
93a81088 177272009-09-03 Magnus Granberg <zorry@ume.nu>
17728
17729 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17730 include -fPIE in the default specs.
17731 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17732 to TARGET_CFLAGS.
17733
160034b2 177342009-09-03 Felix Zielcke <fzielcke@z-51.de>
17735
17736 * INSTALL: Note that GNU Bison 2.3 or later is required.
17737
087c07c4 177382009-09-03 Colin Watson <cjwatson@ubuntu.com>
17739
17740 * kern/i386/pc/startup.S: Fix typo.
17741
cbf978c0 177422009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17745 according to GCS.
17746
177472009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 17748
17749 * docs/grub.texi (Naming convention): Describe one-based partition
17750 numbering.
17751 (Device syntax): Likewise.
17752 (File name syntax): Likewise.
17753 (Block list syntax): Likewise.
17754 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17755 menu.lst.
17756 (File name syntax): Likewise.
17757 (Command-line and menu entry commands): Document acpi, blocklist,
17758 crc, export, insmod, keystatus, ls, set, and unset commands.
17759
f3e8cdfd 177602009-09-02 Colin Watson <cjwatson@ubuntu.com>
17761
17762 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17763 to avoid implying that only one of --shift, --ctrl, or --alt may be
17764 used.
17765
c0bc232b 177662009-09-02 Colin Watson <cjwatson@ubuntu.com>
17767
17768 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17769 rather than comparing against S_IFREG, which will almost never work.
17770
aa0f752d 177712009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17774 (write_blocklists): Likewise.
17775
ecb3166a 177762009-09-01 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17779 argument to grub_printf.
17780
c403a125 177812009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 17782
17783 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 17784 non GNU test.
31aba781 17785
b5e7312c 177862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * kern/file.c (grub_file_read): Spelling fix
17789
fe00f472 177902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17793 loading of headers in some cases.
17794
cc55302e 177952009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17796
17797 * configure.ac: Bump version to 1.97~beta1.
17798 * docs/version.texi: Likewise.
17799
5c90cdd2 178002009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 17801
17802 * include/grub/i386/xnu.h: Add license header.
17803 include grub/err.h explicitly.
17804
c90edae4 178052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17806
17807 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17808 to `ufs' in the vfs.root.mountfrom kernel parameter.
17809
d8888b5c 178102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17811
17812 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17813
17814 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17815 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17816
17817 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17818 `ARRAY_SIZE' macro.
17819
6f07b921 178202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * kern/file.c (grub_file_read): Check offset.
17823 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17824 * fs/jfs.c (grub_jfs_read_file): Likewise.
17825 * fs/ntfs.c (grub_ntfs_read): Likewise.
17826 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17827 * fs/minix.c (grub_minix_read_file): Correct offset check.
17828 * fs/ufs.c (grub_ufs_read_file): Likewise.
17829
b4f34077 178302009-08-28 Colin Watson <cjwatson@ubuntu.com>
17831
17832 * term/i386/pc/console.c (bios_data_area): Cast
17833 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17834
e7c69859 178352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 1-bit optimised blitters.
17838
17839 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17840 prototype.
17841 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17842 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17843 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17844 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17845 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17846 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17847 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17848 function.
17849 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17850 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17851 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17852 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17853 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17854 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17855 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17856 when possible.
17857 * video/video.c (grub_video_get_blit_format): Return
17858 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17859
a57da43f 178602009-08-28 Colin Watson <cjwatson@ubuntu.com>
17861
17862 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17863 the first argument to grub_printf.
17864
4cbe67e5 178652009-08-28 Colin Watson <cjwatson@ubuntu.com>
178662009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17867
17868 Add `getkeystatus' terminal method. Add a new `keystatus' command
17869 to query it.
17870
17871 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17872 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17873 modifier key bitmasks.
17874 (struct grub_term_input): Add `getkeystatus' member.
17875 (grub_getkeystatus): Add prototype.
17876 * kern/term.c (grub_getkeystatus): New function.
17877
17878 * include/grub/i386/pc/memory.h
17879 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17880 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17881 Data Area layout.
17882 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17883 (grub_console_term_input): Set `getkeystatus' member.
17884 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17885 constants.
17886 (grub_usb_keyboard_getreport): Likewise.
17887 (grub_usb_keyboard_checkkey): Likewise.
17888 (grub_usb_keyboard_getkeystatus): New function.
17889 (grub_usb_keyboard_term): Set `getkeystatus' member.
17890
17891 * commands/keystatus.c: New file.
17892 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17893 (keystatus_mod_SOURCES): New variable.
17894 (keystatus_mod_CFLAGS): Likewise.
17895 (keystatus_mod_LDFLAGS): Likewise.
17896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17897 commands/keystatus.c.
17898 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17902 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17903 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 17904
6e2a9085 179052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 Split befs.mod and afs.mod into *_be.mod and *.mod
17908
17909 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17910 (grub_fstest_SOURCES): Likewise.
17911 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17912 (afs_be_mod_SOURCES): New variable.
17913 (afs_be_mod_CFLAGS): Likewise.
17914 (afs_be_mod_LDFLAGS): Likewise.
17915 (befs_be_mod_SOURCES): Likewise.
17916 (befs_be_mod_CFLAGS): Likewise.
17917 (befs_be_mod_LDFLAGS): Likewise.
17918 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17921 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17922 (grub_emu_SOURCES): Likewise.
17923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17924 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17925 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17926 * fs/afs_be.c: New file.
17927 * fs/befs_be.c: New file.
17928 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17929 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17930 (U16): Replaced with ...
17931 (grub_afs_to_cpu16): ...this. All users updated.
17932 (U32): Replaced with ...
17933 (grub_afs_to_cpu32): ...this. All users updated.
17934 (U64): Replaced with ...
17935 (grub_afs_to_cpu64): ...this. All users updated.
17936 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17937 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 17938 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 17939 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17940 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17941 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17942 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17943 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17944 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17945 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17946 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17947
32a71655 179482009-08-26 Bean <bean123ch@gmail.com>
17949
17950 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17951 64-bit number.
17952 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17953 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17954 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17955
552bf6c5 179562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17957
17958 NetBSD memory map support.
17959
17960 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17961 (grub_netbsd_btinfo_mmap_header): New structure.
17962 (grub_netbsd_btinfo_mmap_entry): Likewise.
17963 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17964
1ae2078c 179652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 Enable bsd.mod on coreboot.
17968
17969 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17970 (bsd_mod_SOURCES): New variable.
17971 (bsd_mod_CFLAGS): Likewise.
17972 (bsd_mod_LDFLAGS): Likewise.
17973 (bsd_mod_ASFLAGS): Likewise.
17974 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17975 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17976
beefc598 179772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17978
17979 Cleanup NetBSD root support.
17980
17981 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17982 grub_bsd_get_device.
17983 Fix typo.
17984
3b76e68b 179852009-08-25 Felix Zielcke <fzielcke@z-51.de>
17986
17987 * util/grub.d/00_header.in: Move check for the video backend of
17988 gfxterm from here ...
17989 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17990 a suitable video backend.
17991
aea664ea 179922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 Fix breakage in grub-setup.
17995
17996 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17997 "msdos_partition_map".
17998
ff747d50 179992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 Fix breakage in normal/auth.c.
18002
18003 * normal/auth.c (grub_iswordseparator): New function.
18004
e7e1f93f 180052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 Authentication support.
18008
18009 * commands/password.c: New file.
18010 * conf/common.rmk (pkglib_MODULES): Add password.mod.
18011 (password_mod_SOURCES): New variable.
18012 (password_mod_CFLAGS): Likewise.
18013 (password_mod_LDFLAGS): Likewise.
18014 (normal_mod_SOURCES): Add normal/auth.c.
18015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
18016 normal/auth.c.
18017 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18018 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18019 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18021 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18022 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18023 * include/grub/auth.h: New file.
18024 * include/grub/err.h (grub_err_t): New enum value
18025 GRUB_ERR_ACCESS_DENIED.
18026 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
18027 'users'.
18028 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
18029 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
18030 users updated.
18031 * normal/auth.c: New file.
18032 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
18033 (grub_cmdline_run): Don't allow to go to command line without
18034 authentication.
18035 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
18036 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
18037 menuentry without superuser rights.
18038 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18039 user isn't a superuser.
18040
70f1161d 180412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Save space by inlining misc.c functions.
18044
18045 * kern/misc.c (grub_iswordseparator): Made static.
18046 * kern/misc.c (grub_strcat): Moved from here ...
18047 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18048 * kern/misc.c (grub_strncat): Moved from here ...
18049 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18050 * kern/misc.c (grub_strcasecmp): Moved from here ...
18051 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18052 * kern/misc.c (grub_strncasecmp): Moved from here ...
18053 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18054 * kern/misc.c (grub_isalpha): Moved from here ...
18055 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18056 * kern/misc.c (grub_isdigit): Moved from here ...
18057 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18058 * kern/misc.c (grub_isgraph): Moved from here ...
18059 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18060 * kern/misc.c (grub_tolower): Moved from here ...
18061 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18062
48e40bff 180632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18064
18065 * script/sh/function.c (grub_script_function_find): Cut error message
18066 not to flood terminal.
18067 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18068 limit.
18069 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18070
c385bfc3 180712009-08-24 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18074 `report' grub_uint8_t *.
18075 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18076 Use a 50-millisecond timeout rather than just repeating
18077 grub_usb_keyboard_getreport 50 times.
18078 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18079
2d21e3e8 180802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Rename *_partition_map to part_*
18083
18084 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18085 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18086 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18087 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18088 All users updated.
18089 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18090 All users updated.
18091 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18092 * util/grub-probe.c (probe_partmap): Don't transform partition name
18093 to get module name.
18094
dd103c4e 180952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 Fix OpenBSD and NetBSD support.
18098
18099 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18100 memory address conflict.
18101 (OPENBSD_MMAP_ACPI): New definition.
18102 (OPENBSD_MMAP_NVS): Likewise.
18103 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18104 and OPENBSD_MMAP_NVS.
18105 Add memory map terminator
18106 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 18107 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 18108
16c84d74 181092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 Let user specify NetBSD root device.
18112
18113 * loader/i386/bsd.c (netbsd_root): New variable.
18114 (netbsd_opts): New option 'root'.
18115 (NETBSD_ROOT_ARG): New macro.
18116 (grub_netbsd_boot): Use 'netbsd_root'.
18117 (grub_bsd_unload): Free 'netbsd_root'.
18118 (grub_cmd_netbsd): Fill 'netbsd_root'.
18119
adb29902 181202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 Support for 64-bit NetBSD.
18123
18124 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18125 point when booting non-FreeBSD.
18126
f5ae9f74 181272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 Support --no-smp and --no-acpi for NetBSD.
18130
18131 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18132 (NETBSD_AB_NOACPI): Likewise.
18133 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18134 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18135
de74f136 181362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18139 errors.
18140 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18141 errors. Call grub_error when needed.
18142
e9a925da 181432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * commands/search.c (search_fs): Try searching without autoload first.
18146 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18147 filesystem module explicitly for faster booting.
18148
5174302b 181492009-08-23 Colin Watson <cjwatson@ubuntu.com>
18150
18151 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18152
c8c80635 181532009-08-23 Colin Watson <cjwatson@ubuntu.com>
18154
18155 * util/grub.d/30_os-prober.in: Disable os-prober if
18156 `GRUB_DISABLE_OS_PROBER' was set to true.
18157
71acf5e5 181582009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18159
18160 * partmap/pc.c: Rename to ...
18161 * partmap/msdos.c: ... this. Update all users.
18162 (grub_pc_partition_map): Rename to ...
18163 (grub_msdos_partition_map): ... this. Update all users.
18164
18165 * parttool/pcpart.c: Rename to ...
18166 * parttool/msdospart.c: ... this. Update all users.
18167
18168 * include/grub/pc_partition.h: Rename to ...
18169 * include/grub/msdos_partition.h: ... this. Update all users.
18170 (grub_pc_partition_bsd_entry): Rename to ...
18171 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18172 (grub_pc_partition_disk_label): Rename to ...
18173 (grub_msdos_partition_disk_label): ... this. Update all users.
18174 (grub_pc_partition_entry): Rename to ...
18175 (grub_msdos_partition_entry): ... this. Update all users.
18176 (grub_pc_partition_mbr): Rename to ...
18177 (grub_msdos_partition_mbr): ... this. Update all users.
18178 (grub_pc_partition): Rename to ...
18179 (grub_msdos_partition): ... this. Update all users.
18180 (grub_pc_partition_is_empty): Rename to ...
18181 (grub_msdos_partition_is_empty): ... this. Update all users.
18182 (grub_pc_partition_is_extended): Rename to ...
18183 (grub_msdos_partition_is_extended): ... this. Update all users.
18184 (grub_pc_partition_is_bsd): Rename to ...
18185 (grub_msdos_partition_is_bsd): ... this. Update all users.
18186
18187 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18188 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18189 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18190 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18191 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18192 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18193 (gpt_mod_LDFLAGS): Rename to ...
18194 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18195 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18196 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18197 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18198 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18199 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18200 (part_gpt_mod_LDFLAGS): ... this.
18201 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18202 `pcpart.mod' to `msdospart.mod'.
18203 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18204 to ...
18205 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18206 (msdospart_mod_LDFLAGS): ... this.
18207
c11fded5 182082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18211 (openbsd_opts): Likewise.
18212 (netbsd_opts): Likewise.
18213 (freebsd_flags): Added 0 terminator.
18214 (openbsd_flags): Likewise.
18215 (netbsd_flags): Likewise.
18216 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18217 (grub_cmd_freebsd): Transformed into extended command.
18218 (grub_cmd_openbsd): Likewise.
18219 (grub_cmd_netbsd): Likewise.
18220 (cmd_freebsd): Changed type to grub_extcmd_t.
18221 (cmd_openbsd): Likewise.
18222 (cmd_netbsd): Likewise.
18223 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18224 grub_cmd_openbsd as extended commands.
18225 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18226 cmd_netbsd and cmd_openbsd
18227
11d1c769 182282009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18231
7a9094e5 182322009-08-21 Pavel Roskin <proski@gnu.org>
18233
5496c37e 18234 * Makefile.in (install-local): When checking if a file is in the
18235 build directory, use "test -e" to detect symlinks.
18236
7a9094e5 18237 * Makefile.in (install-local): Remove all files in
18238 $(DESTDIR)$(pkglibdir) before installing new files there.
18239
e53cea11 182402009-08-18 Felix Zielcke <fzielcke@z-51.de>
18241
18242 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18243 grub-mkelfimage.
18244
9aced544 182452009-08-18 Felix Zielcke <fzielcke@z-51.de>
18246
18247 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18248 explicitly specified by the user.
18249
b7da6bab 182502009-08-18 Pavel Roskin <proski@gnu.org>
18251
18252 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18253 grub_uint8_t pointer for data.
18254 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18255 Likewise.
18256 * video/fb/fbutil.c: Remove unnecessary casts.
18257
19f1b335 182582009-08-17 Michal Suchanek <hramrach@centrum.cz>
18259
18260 VBE cleanup.
18261
18262 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18263 (grub_vbe_set_video_mode): Save active mode info
18264 only after setting the mode.
18265 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18266 second argument.
18267
2f467aa9 182682009-08-17 Michal Suchanek <hramrach@centrum.cz>
18269
18270 Rename variables for clarity.
18271
18272 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18273 (active_vbe_mode_info): ... this. All users updated.
18274 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18275 All users updated.
18276 (initial_mode): Rename to ...
18277 (initial_vbe_mode): ... this. All users updated.
18278 (mode_in_use): Rename to ..
18279 (vbe_mode_in_use): ... this. All users updated.
18280 (mode_list): Rename to ..
18281 (vbe_mode_list): ... this. All users updated.
18282 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18283 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18284 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18285 'mode_list_size' to 'vbe_mode_list_size'.
18286 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18287 'best_mode_info' to 'best_vbe_mode_info' and
18288 'best_mode' to 'best_vbe_mode'
18289
6025fcd7 182902009-08-17 Michal Suchanek <hramrach@centrum.cz>
18291
18292 Remove duplicate grub_video_fb_get_video_ptr.
18293
18294 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18295 (grub_video_fb_get_video_ptr): ... this.
18296 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18297 * video/fb/fbutil.c: Add comment about addressing.
18298 (get_data_ptr): Rename to ...
18299 (grub_video_fb_get_video_ptr): ... this. All users updated.
18300 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18301
cc8c6faf 183022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18303
18304 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18305 grub_dprintf() that was just added.
18306
08aa61f0 183072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18308
18309 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18310 (DEFAULT_VIDEO_MODE): Remove macros.
18311 (grub_linux_boot): Remove assumption that Linux has FB support,
18312 and use "text" as default video mode.
18313
7cef4f75 183142009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18315
18316 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18317 grub_dprintf.
18318 * fs/fat.c (grub_fat_read_data): Likewise.
18319
e1f39873 183202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18323 payload.
18324 (grub_module): Likewise.
18325
c166d79e 183262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18329 mbi->cmdline but free playground.
18330
c60cee8e 183312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 Handle group offset on UFS1.
18334
18335 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18336 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18337
c0d8b5d4 183382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 Split ufs.mod into ufs1.mod and ufs2.mod.
18341
18342 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18343 (grub_fstest_SOURCES): Likewise.
18344 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18345 (ufs_mod_SOURCES): Remove.
18346 (ufs_mod_CFLAGS): Likewise.
18347 (ufs_mod_LDFLAGS): Likewise.
18348 (ufs1_mod_SOURCES): New variable.
18349 (ufs1_mod_CFLAGS): Likewise.
18350 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 18351 (ufs2_mod_SOURCES): New variable.
18352 (ufs2_mod_CFLAGS): Likewise.
18353 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 18354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18355 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18356 Likewise.
18357 (grub_emu_SOURCES): Likewise.
18358 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18359 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18360 (grub_setup_SOURCES): Likewise.
18361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18362 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18363 (grub_setup_SOURCES): Likewise.
18364 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18365 Likewise.
18366 * fs/ufs2.c: New file.
18367 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18368
d3539132 183692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 Framebuffer split.
18372
18373 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18374 subsystem at the end.
18375 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18376 (video_fb_mod_SOURCES): New variable.
18377 (video_fb_mod_CFLAGS): Likewise.
18378 (video_fb_mod_LDFLAGS): Likewise.
18379 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18380 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18381 * video/i386/pc/vbeblit.c: Moved from here ...
18382 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18383 * video/i386/pc/vbefill.c: Moved from here ...
18384 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18385 * video/i386/pc/vbeutil.c: Moved from here ...
18386 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18387 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18388 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18389 * include/grub/i386/pc/vbefill.h: Moved from here ...
18390 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18391 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18392 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18393 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18394 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18395 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18396 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18397 (grub_video_adapter): Added 'get_info_and_fini'.
18398 (grub_video_get_info_and_fini): New prototype.
18399 (grub_video_set_mode): make modestring const char *.
18400 * loader/i386/linux.c (grub_linux_setup_video): Use
18401 grub_video_get_info_and_fini.
18402 (grub_linux_boot): Move modesetting just before booting.
18403 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18404 grub_video_get_info_and_fini.
18405 * video/i386/pc/vbe.c: Moved framebuffer part ...
18406 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18407 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18408 grub_video_fbstd_colors and grub_video_fb_set_palette.
18409 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18410 grub_video_fb_init.
18411 (grub_video_vbe_fini): Use grub_video_fb_fini.
18412 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18413 render_target and use grub_video_fb_set_active_render_target and
18414 grub_video_fb_set_palette.
18415 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18416 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18417 (grub_video_vbe_adapter): Use framebuffer.
18418 * video/video.c (grub_video_get_info_and_fini): New function.
18419 (grub_video_set_mode): Make modestring const char *.
18420 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18421 values are already initialised.
18422
d404ee56 184232009-08-14 Pavel Roskin <proski@gnu.org>
18424
18425 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18426 ABS and APPLE_CC.
18427 * boot/i386/pc/diskboot.S: Likewise.
18428 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18429 sectors allow compilation on MacOSX.
18430 * conf/i386-pc.rmk: Enable unconditional compilation of
18431 lnxboot.img.
18432
9a10df16 184332009-08-13 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18436 * util/grub.d/00_header.in: Enter interruptible sleep if
18437 GRUB_HIDDEN_TIMEOUT is set.
18438
be3c9ca7 184392009-08-13 Yves Blusseau <blusseau@zetam.org>
18440
18441 * include/grub/symbol.h: Add the LOCAL macro.
18442 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18443 starting with "L_".
18444
1f9e557e 184452009-08-13 Pavel Roskin <proski@gnu.org>
18446
9ca62843 18447 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18448 any modern compilers we support.
18449
1f9e557e 18450 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18451 Use local labels starting with "L_" so that Apple assembler
18452 knows they are local.
18453
81623db6 184542009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18455
18456 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18457 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18458 (bsd_kernel_types): ... this enum.
18459
18460 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18461 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18462 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18463
18464 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18465 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18466 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18467 messages.
18468
f5d35e7a 184692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18470
18471 * util/grub-dumpdevtree: Moved from here ...
18472 * util/i386/efi/grub-dumpdevtree: ... to here.
18473 (hexify): New function. Converts a string to its hex version.
18474 Generate hex versions of "efi" and "device-properties" by calling
18475 hexify() on the ASCII strings rather than by hardcoding numbers.
18476
d1e1d527 184772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18478
18479 * fs/jfs.c: Update copyright year.
18480
1ebbe064 184812009-08-08 Felix Zielcke <fzielcke@z-51.de>
18482
18483 * util/grub.d/00_header.in: Fix a comment.
18484 * util/grub.d/10_linux.in: Likewise.
18485 * util/grub.d/10_windows.in: Likewise.
18486 * util/grub.d/10_hurd.in: Likewise.
18487
a78c8d24 184882009-08-08 Felix Zielcke <fzielcke@z-51.de>
18489
18490 * util/grub-mkconfig.in: Allow the user to specify the used font
18491 with GRUB_FONT.
18492
29a6b9e8 184932009-08-08 Pavel Roskin <proski@gnu.org>
18494
b5f16cc4 18495 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18496 available, xfs.mod needs it now.
18497
2f5cb827 18498 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18499 the "g" modifier in sed when the intention is to strip something
18500 once. This fixes comparison of kernels with multiple dashes.
18501
29a6b9e8 18502 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18503 on it. Add missing space before closing bracket. Fix
18504 misleading formatting.
18505
892a3d98 185062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18507
18508 * docs/grub.texi: Major overhaul. Remove all sections that are
18509 specific to GRUB Legacy, or mostly composed of Legacy-specific
18510 information.
18511
ed94253f 185122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18513
18514 * docs/version.texi: New file. Provides version information for
18515 grub.texi.
18516
126d6628 185172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18518
18519 * docs/grub.texi: Update CVS information to SVN.
18520 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18521
998b5aa9 185222009-08-07 Felix Zielcke <fzielcke@z-51.de>
18523
18524 * util/grub-mkconfig.in: Remove a wrong `fi'.
18525
818e094a 185262009-08-07 Felix Zielcke <fzielcke@z-51.de>
18527
18528 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18529 (grub_jfs_uuid): New function.
18530 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18531
b969c52f 185322009-08-07 Felix Zielcke <fzielcke@z-51.de>
18533
18534 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18535 of it to ...
18536 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18537 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18538
7a4894cc 185392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18540
18541 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18542 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18543 Update all users.
18544
18545 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18546 not just "vmlinu[zx]".
18547 Moved from here ...
18548 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18549 all users.
18550
18551 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18552 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18553 all users.
18554
4e2171f8 185552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18556
18557 * util/grub.d/10_freebsd.in: Use an absolute device path for
18558 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18559
6dcfcb32 185602009-08-06 Felix Zielcke <fzielcke@z-51.de>
18561
18562 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18563 handling of multiple abstraction modules.
18564
f56a8756 185652009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18566
18567 Fix a bug resulting in black screen when loading Linux using a
18568 packed video mode.
18569
18570 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18571 function.
18572
18573 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18574 (grub_vbe_bios_getset_dac_palette_width): New function.
18575 (grub_vbe_bios_get_dac_palette_width)
18576 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18577 grub_vbe_bios_getset_dac_palette_width()).
18578
18579 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18580 check for return status.
18581 (grub_vbe_get_video_mode_info): When getting information for a packed
18582 mode (<= 8 bpp), obtain DAC palette width using
18583 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18584 {red,green,blue}_mark_size.
18585
222671b2 185862009-08-04 Felix Zielcke <fzielcke@z-51.de>
18587
ecb1a6d9 18588 * commands/search.c (options): Fix help output to match actual code.
222671b2 18589
f84114f5 185902009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18593 of homegrown code.
18594
bd288a20 185952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 18596
18597 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18598 on XFS or ReiserFS.
18599
8aab5e25 186002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 Support Apple partition map with sector size different from 512 bytes.
18603
18604 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18605 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18606 and 'apart.partmap_size'.
18607
6ad6258a 186082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
186092009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18610
18611 Fix cpuid command.
18612
18613 * commands/i386/cpuid.c (options): New variable.
18614 (grub_cmd_cpuid): Return real error.
18615 (GRUB_MOD_INIT(cpuid)): Declare options.
18616
67459bc6 186172009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18620 valid.
18621
fbc6ab54 186222009-07-31 Bean <bean123ch@gmail.com>
18623
18624 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18625 log2_inode.
18626 (grub_fshelp_node): Move inode field to the end.
18627 (grub_xfs_data): Remove inode field.
18628 (grub_xfs_inode_block): Calculate inode size using sblock.
18629 (grub_xfs_inode_offset): Likewise.
18630 (grub_xfs_read_inode): Calculate inode size using sblock.
18631 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18632 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18633 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18634 to match inode size.
18635 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18636 not accessible when data is null.
18637 (grub_xfs_open): Likewise.
18638
f45d6cfc 186392009-07-31 Bean <bean123ch@gmail.com>
18640
18641 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18642 Don't change pv->disk if it's already set.
18643
18644 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18645 (grub_raid_register): ... here.
18646 (grub_raid_rescan): Removed.
18647
18648 * include/grub/raid.h (grub_raid_rescan): Removed.
18649
18650 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18651 (fstest): Replace grub_raid_rescan with module fini function followed
18652 by init function.
18653
18654 * util/grub-probe.c: Add include file <grub/raid.h>.
18655 (probe_raid_level): New function.
18656 (probe): Detect abstraction by walking the disk device, support two
18657 level of abstraction (LVM on RAID) when detecting partition map.
18658
24443b5a 186592009-07-31 Pavel Roskin <proski@gnu.org>
18660
18661 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18662 to grub_zalloc(), it was erroneous.
18663 Reported by Bean <bean123ch@gmail.com>
18664
a275d9e7 186652009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 18668 embedding zone, not only the first one.
a275d9e7 18669
56c5a47f 186702009-07-29 Joe Auricchio <jauricchio@gmail.com>
18671
18672 * term/gfxterm.c (clear_char): New function.
18673 (grub_virtual_screen_setup): Use clear_char.
18674 (scroll_up): Likewise.
18675 (grub_virtual_screen_cls): Likewise.
18676
67bb323a 186772009-07-29 Felix Zielcke <fzielcke@z-51.de>
18678
18679 * util/deviceiter.c (get_acceleraid_disk_name): New static
18680 function.
18681 (grub_util_iterate_devices): Handle Accelraid devices.
18682 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18683
388a7c75 186842009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18685
18686 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18687 separator for the suggested gfxpayload string (';' collides with the
18688 parser and needs escaping).
18689
3bb7abcf 186902009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18693 Clear direction flag before jumping to OS.
18694 (grub_multiboot2_real_boot): Likewise.
18695
2ddd36d7 186962009-07-28 Felix Zielcke <fzielcke@z-51.de>
18697
18698 * util/i386/pc/grub-install: Fix parsing of --disk-module
18699 option.
18700
c521b62b 187012009-07-28 Felix Zielcke <fzielcke@z-51.de>
18702
18703 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18704 when embedding.
18705
880e0a0c 187062009-07-26 Felix Zielcke <fzielcke@z-51.de>
18707
18708 * util/grub-mkconfig.in (package_version): New variable.
18709 Use it do display the version.
18710
2366e356 187112009-07-25 Felix Zielcke <fzielcke@z-51.de>
18712
18713 * kern/file.c (grub_file_open): Revert to previous check with
18714 grub_errno.
18715
7ad8c80e 187162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18719 from help line. It's out of sync with code.
18720
72b9658b 187212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18724 entries on failed boot.
18725
77435277 187262009-07-25 Felix Zielcke <fzielcke@z-51.de>
18727
18728 * kern/file.c (grub_file_open): Fix an error check.
18729
fcaa8b21 187302009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18731
35d16c74 18732 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18733 partition map couldn't be identified.
fcaa8b21 18734
48904cd1 187352009-07-23 Pavel Roskin <proski@gnu.org>
18736
ef3c317f 18737 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18738 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18739 case of little endian words becomes just an optimization.
18740 Respect const modifier.
ad8ea1f4 18741 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 18742
48904cd1 18743 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18744 to avoid loss of upper bits if align is unsigned and shorter
18745 than addr.
18746
260c9a89 187472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 UUID support for UFS
18750
18751 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18752 (grub_ufs_uuid): New function.
18753 (grub_ufs_fs): add .uuid
18754
f76ce889 187552009-07-21 Pavel Roskin <proski@gnu.org>
18756
18757 * kern/dl.c (grub_dl_check_header): Make static.
18758
6a6cbcaf 187592009-07-21 Felix Zielcke <fzielcke@z-51.de>
18760
18761 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18762 add drivemap for Vista. It breaks Windows 7.
18763
cffcddb2 187642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18765
18766 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18767 128 bytes
18768
1ef44b80 187692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Add BFS support
18772
18773 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18774 (grub_fstest_SOURCES): Likewise.
18775 (pkglib_MODULES): Add befs.mod.
18776 (befs_mod_SOURCES): New variable.
18777 (befs_mod_CFLAGS): Likewise.
18778 (befs_mod_LDFLAGS): Likewise.
18779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18781 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18782 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18783 (grub_setup_SOURCES): Likewise.
18784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18785 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18786 (grub_setup_SOURCES): Likewise.
18787 * fs/befs.c: New file.
18788 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18789 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18790 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18791 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18792 (B_KEY_INDEX_ALIGN): New declaration.
18793 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18794 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18795 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18796 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18797 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18798 (grub_afs_mount) [MODE_BFS]: Likewise.
18799 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18800 (grub_afs_fs): Use GRUB_AFS_FSNAME
18801 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18802 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18803 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18804 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18805
4f253044 188062009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18807
18808 * util/getroot.c (find_root_device): Add support for MacOSX.
18809 * util/hostdisk.c: Likewise.
18810
57a55913 188112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * font/font.c (find_glyph): Check whether a font is present to avoid
18814 segmentation fault.
75421ca9 18815
188162009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 18817
18818 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18819
e98cd0c2 188202009-07-20 Pavel Roskin <proski@gnu.org>
18821
18822 * configure.ac: Trim excessively wordy excuses.
18823
1d2d169a 188242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 Add symlink, mtime and label support to AtheFS.
18827
18828 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18829 (grub_afs_iterate_dir): Handle symlinks.
18830 (grub_afs_open): Use grub_afs_read_symlink.
18831 (grub_afs_dir): Likewise.
18832 Pass mtime.
18833 (grub_afs_label): New function.
18834 (grub_afs_fs): Add grub_afs_label.
18835 (grub_afs_read_symlink): New function.
18836
186f3189 188372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 Fix AtheFS support.
18840
18841 * fs/afs.c: Fix comments style.
18842 (grub_afs_blockrun): Declare as packed.
18843 (grub_afs_datastream): Likewise.
18844 (grub_afs_bnode): Likewise.
18845 (grub_afs_btree): Likewise.
18846 (grub_afs_sblock): Likewise.
18847 Declare `name' as char.
18848 (grub_afs_inode): Declare as packed.
18849 Change void *vnode to grub_uint32_t unused.
18850 (grub_afs_iterate_dir): Check that key_size is positive.
18851 (grub_afs_mount): Don't read superblock twice.
75421ca9 18852 (grub_afs_dir): Don't free node in case of error,
186f3189 18853 grub_fshelp_find_file already handles this.
18854 (grub_afs_open): Likewise.
18855
5680109e 188562009-07-19 Pavel Roskin <proski@gnu.org>
18857
18858 * Makefile.in: Remove LIBLZO and enable_lzo.
18859 * conf/i386-pc.rmk: Remove lzo support.
18860 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18861 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18862 support.
18863 * kern/i386/pc/lzo1x.S: Remove.
18864 * kern/i386/pc/startup.S: Remove lzo support.
18865 * util/i386/pc/grub-mkimage.c: Likewise.
18866
ac70fa32 188672009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18870 * fs/xfs.c (grub_xfs_dir): Likewise.
18871 * fs/afs.c (grub_afs_dir): Likewise.
18872 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18873 (grub_iso9660_open): Likewise.
18874 * fs/jfs.c (grub_jfs_open): Likewise.
18875 * fs/ext2.c (grub_ext2_dir): Likewise.
18876 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18877 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 18878
eab58da2 188792009-07-16 Pavel Roskin <proski@gnu.org>
18880
d2838156 18881 * configure.ac: Never add "-c" to CFLAGS.
18882
55c70904 18883 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18884
43e6200c 18885 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18886 grub_cv_cc_efiemu should be used.
18887
ce7a733d 18888 * configure.ac: Typo fixes.
18889
eab58da2 18890 * kern/mm.c (grub_zalloc): New function.
18891 (grub_debug_zalloc): Likewise.
18892 * include/grub/mm.h: Declare grub_zalloc() and
18893 grub_debug_zalloc().
18894 * util/misc.c (grub_zalloc): New function.
18895 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18896 instead of grub_malloc(), remove unneeded initializations.
18897 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18898 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18899 * commands/parttool.c (grub_cmd_parttool): Likewise.
18900 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18901 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18902 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18903 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18904 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18905 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18906 (grub_cmd_efiemu_pnvram): Likewise.
18907 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18908 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18909 (grub_iso9660_iterate_dir): Likewise.
18910 * fs/jfs.c (grub_jfs_opendir): Likewise.
18911 * fs/ntfs.c (list_file): Likewise.
18912 (grub_ntfs_mount): Likewise.
18913 * kern/disk.c (grub_disk_open): Likewise.
18914 * kern/dl.c (grub_dl_load_core): Likewise.
18915 * kern/elf.c (grub_elf_file): Likewise.
18916 * kern/env.c (grub_env_context_open): Likewise.
18917 (grub_env_set): Likewise.
18918 (grub_env_set_data_slot): Likewise.
18919 * kern/file.c (grub_file_open): Likewise.
18920 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18921 * loader/i386/multiboot.c (grub_module): Likewise.
18922 * loader/xnu.c (grub_xnu_create_key): Likewise.
18923 (grub_xnu_create_value): Likewise.
18924 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18925 (read_config_file): Likewise.
18926 * normal/menu_entry.c (make_screen): Likewise.
18927 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18928 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18929 * script/sh/script.c (grub_script_parse): Likewise.
18930 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18931 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18932 * video/readers/png.c (grub_png_output_byte): Likewise.
18933 (grub_video_reader_png): Likewise.
18934
830afef7 189352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 18936
18937 Enable all targets that can be built by default
18938
830afef7 18939 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 18940 grub-mkfont and grub-fstest if they can be built
18941
ee293aee 189422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 Fix hang and segmentation fault in grub-emu-usb
18945
18946 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18947 * util/usb.c (grub_libusb_devices): likewise
18948 (grub_libusb_init): rename to ...
18949 (GRUB_MOD_INIT (libusb)):...this
18950 (grub_libusb_fini): rename to ..
18951 (GRUB_MOD_FINI (libusb)):...this
18952 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18953 * include/grub/disk.h (grub_raid_init): removed, it's useless
18954 (grub_raid_fini): likewise
18955 (grub_lvm_init): likewise
18956 (grub_lvm_fini): likewise
18957 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18958 by grub_init_all
18959
94414221 189602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 Fix libusb
18963
18964 * Makefile.in (LIBUSB): new macro
18965 * genmk.rb (Utility/print_tail): new method
18966 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18967 (top level): call util.print_tail at the end.
18968
59ade63d 189692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 Make FreeBSD accept zpool.cache
18972
18973 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18974 type is /boot/zfs/zpool.cache
18975
a58da8c7 189762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18977
18978 Fix 64-bit efiemu
18979
18980 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18981 correct wrong typedef
18982 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18983
20591577 189842009-07-15 Pavel Roskin <proski@gnu.org>
18985
560ca572 18986 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18987 * kern/disk.c (struct grub_disk_cache): Likewise.
18988
e8e8e4fd 18989 * commands/probe.c (options): Typo fix.
18990
fde24e10 18991 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18992 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18993 accordingly.
18994 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18995
379c54c1 18996 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18997 the end of "Error" to make the message more readable.
18998
7bd8f5bf 18999 * boot/i386/pc/boot.S (kernel_segment): Remove.
19000 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
19001 for destination.
19002
40b132c5 19003 * boot/i386/pc/boot.S (boot_version): Remove.
19004 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
19005 Remove.
19006
20591577 19007 * include/grub/i386/pc/boot.h: Sort all offsets.
19008 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
19009 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
19010 * boot/i386/pc/boot.S: Assert location of every offset listed in
19011 include/grub/i386/pc/boot.h.
19012
2df32b2c 190132009-07-13 Pavel Roskin <proski@gnu.org>
19014
44b5d879 19015 * include/grub/i386/coreboot/machine.h: Rename
19016 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
19017 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
19018 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
19019
17dc3751 19020 * kern/dl.c: Force native word size to suppress warnings when
19021 compiling grub-emu.
19022
2df32b2c 19023 * kern/device.c (grub_device_iterate): Change struct part_ent to
19024 hold the name, not a pointer to it. Use one grub_malloc() per
19025 partition, not two. Free partition_name if grub_malloc() fails.
19026 Set ents to NULL only before grub_partition_iterate() is called.
19027
75c59f59 190282009-07-11 Bean <bean123ch@gmail.com>
19029
19030 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
19031 childname.
19032
0ae1bf88 190332009-07-10 Bean <bean123ch@gmail.com>
190342009-07-10 Robert Millan <rmh.grub@aybabtu.com>
19035
19036 * kern/ieee1275/openfw.c (grub_children_iterate)
19037 (grub_devalias_iterate): Fix size evaluation for property or path
19038 strings, which was broken since r2132.
19039
8279cade 190402009-07-07 Pavel Roskin <proski@gnu.org>
19041
7d8a52d3 19042 * commands/search.c (search_file): Merge into ...
19043 (search_fs): ... this. Accept search type as argument.
19044 (grub_cmd_search): Pass search type to search_fs().
19045
25f9a05a 19046 * include/grub/util/console.h: New file.
19047 * util/console.c: Use it instead of grub/machine/console.h.
19048 * util/grub-emu.c: Likewise.
19049
8279cade 19050 * lib/arg.c (find_long_option): Remove.
19051 (find_long): Add `len' argument, make `s' const char *.
19052 (grub_arg_parse): Parse long options in place, not in a
19053 temporary buffer.
19054
4a11b60f 190552009-07-06 Pavel Roskin <proski@gnu.org>
19056
99f68041 19057 * commands/search.c (search_fs): Fix potential NULL pointer
19058 dereference.
19059
4a11b60f 19060 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19061 function pointer.
19062
e110f4de 190632009-07-06 Daniel Mierswa <impulze@impulze.org>
19064
19065 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19066 comparison.
19067
46eeb6a2 190682009-07-05 Pavel Roskin <proski@gnu.org>
19069
bab74958 19070 * include/grub/i386/linux.h (struct linux_kernel_params):
19071 Restore padding3, it's still needed.
19072
46eeb6a2 19073 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19074 FreeBSD.
19075 * util/osdetect.lua: Likewise.
19076
b4a1dc79 190772009-07-05 Bean <bean123ch@gmail.com>
19078
19079 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19080
19081 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19082 (grub_lua_getenv): Likewise.
19083 (grub_lua_setenv): Likewise.
19084 (save_errno): New function.
19085 (push_result): Likewise.
19086 (grub_lua_enum_device): Likewise.
19087 (grub_lua_enum_file): Likewise.
19088 (grub_lua_file_open): Likewise.
19089 (grub_lua_file_close): Likewise.
19090 (grub_lua_file_seek): Likewise.
19091 (grub_lua_file_read): Likewise.
19092 (grub_lua_file_getline): Likewise.
19093 (grub_lua_file_getsize): Likewise.
19094 (grub_lua_file_getpos): Likewise.
19095 (grub_lua_file_eof): Likewise.
19096 (grub_lua_file_exist): Likewise.
19097 (grub_lua_add_menu): Likewise.
19098
19099 * script/lua/grub_lua.h (isupper): New inline function.
19100 (islower): Likewise.
19101 (ispunct): Likewise.
19102 (isxdigit): Likewise.
19103 (strcspn): Change to normal function.
19104 (strpbkr): New function declaration.
19105 (memchr): Likewise.
19106
19107 * script/lua/grub_main.c (scan_str): New function.
19108 (strcspn): Likewise.
19109 (strpbrk): Likewise.
19110 (memchr): Likewise.
19111
19112 * script/lua/linit.c (lualibs): Enable the string library.
19113
19114 * util/osdetect.lua: New file.
19115
2da92295 191162009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19117
19118 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19119 `capabilities' member.
19120
b2582ec9 191212009-07-02 Pavel Roskin <proski@gnu.org>
19122
19123 * genparttoollist.sh: Add missing newline at the end.
19124
32622956 191252009-07-01 Pavel Roskin <proski@gnu.org>
19126
87a7339e 19127 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19128
d23af54e 19129 * util/hostdisk.c (open_device): Remove `const' from
19130 `sysctl_size', as sysctlbyname() can change it (in this case it
19131 doesn't actually happen).
19132
c94b18a9 19133 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19134 using signed long int constants.
19135
c6cd3ef0 19136 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19137 constant to avoid a warning on FreeBSD.
19138
0df63420 19139 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19140 where it's needed.
19141
999577f1 19142 * Makefile.in: Install include/grub/machine symlink.
19143
6f41557f 19144 * Makefile.in: When installing symlinks, use "cp -fR", which
19145 works on FreeBSD and MacOSX.
19146 From Yves Blusseau <cl7m42e02@sneakemail.com>
19147
c8d22988 19148 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19149 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19150
1b96e952 19151 * util/misc.c: Move grub_reboot() and grub_halt() ...
19152 * util/grub-emu.c: ... here. Make main_env static.
19153 * include/grub/util/misc.h: Remove main_env.
19154
2ef0084d 19155 * kern/mm.c: Use correct format to print size_t.
19156
32622956 19157 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19158 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19159 * kern/powerpc/dl.c: Likewise.
19160 * kern/sparc64/dl.c: Likewise.
19161 * kern/x86_64/dl.c: Likewise.
19162
3f7f0cd0 191632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19164
19165 Fix grub-emu build on sparc64-ieee1275.
19166
75421ca9 19167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 19168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19169
211d06b5 191702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19171
19172 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19173 (grub_reboot, grub_halt): New functions.
19174
19175 * util/i386/pc/misc.c: Delete. Update all users.
19176 * util/sparc64/ieee1275/misc.c: Likewise.
19177 * util/powerpc/ieee1275/misc.c: Likewise.
19178
aaf53e3c 191792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19180
19181 * conf/i386.rmk (setjmp_mod_SOURCES)
19182 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19183 * conf/common.rmk (setjmp_mod_SOURCES)
19184 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19185 to use $(target_cpu).
19186 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19187 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19188 * conf/powerpc-ieee1275.rmk: Likewise.
19189 * conf/sparc64-ieee1275.rmk: Likewise.
19190
19191 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19192 $(target_cpu) for kern/$(target_cpu)/dl.c.
19193 * conf/i386-efi.rmk: Likewise.
19194 * conf/i386-ieee1275.rmk: Likewise.
19195 * conf/x86_64-efi.rmk: Likewise.
19196 * conf/i386-coreboot.rmk: Likewise.
19197 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19198 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19199 kern/$(target_cpu)/cache.S.
19200 * conf/sparc64-ieee1275.rmk: Likewise.
19201
a337130b 192022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19203
19204 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19205 type to `grub_uint8_t', and adjust `padding9' accordingly.
19206
c6fe4d53 192072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19208
b09db61d 19209 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19210
c6fe4d53 19211 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19212 assembly in final jump, using register constraints.
19213
b09db61d 19214 (grub_linux_boot): For text mode, initialize `have_vga' using
19215 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19216
19217 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19218 right before the final jump.
19219
19220 Set `video_mode' to 0x3.
19221
19222 Document initialization of `video_page', `video_mode' and
19223 `video_ega_bx'.
19224
28333ad0 192252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19226
19227 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19228 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 19229 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 19230
02164e1b 192312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19232
19233 Fix build on Debian / sparc.
19234
19235 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19236
18b6c557 192372009-06-28 Pavel Roskin <proski@gnu.org>
19238
85f2aab6 19239 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19240 fix a warning.
19241
18b6c557 19242 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19243
ad760f81 192442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19245
19246 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19247 `err'.
19248
87a4623b 192492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19250
19251 Revert r2338.
19252
19253 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19254 file can't be opened. grub_file_open() is already supposed to set
75421ca9 19255 grub_errno / grub_errmsg appropriately.
87a4623b 19256 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19257
8231fb77 192582009-06-27 Pavel Roskin <proski@gnu.org>
192592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19260
19261 * include/grub/dl.h: Include grub/elf.h.
19262 (struct grub_dl): Add symtab field.
19263 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19264 GRUB_MODULES_MACHINE_READONLY.
19265 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19266 of the header for read-only modules.
19267 (grub_dl_unload): Free mod->symtab for read-only modules.
19268 * kern/i386/dl.c: Use mod->symtab.
19269 * kern/powerpc/dl.c: Likewise.
19270 * kern/sparc64/dl.c: Likewise.
19271 * kern/x86_64/dl.c: Likewise.
19272
19273 * conf/i386-qemu.rmk: New file.
19274 * kern/i386/qemu/startup.S: Likewise.
19275 * kern/i386/qemu/mmap.c: Likewise.
19276 * boot/i386/qemu/boot.S: Likewise.
19277 * include/grub/i386/qemu/time.h: Likewise.
19278 * include/grub/i386/qemu/serial.h: Likewise.
19279 * include/grub/i386/qemu/kernel.h: Likewise.
19280 * include/grub/i386/qemu/console.h: Likewise.
19281 * include/grub/i386/qemu/boot.h: Likewise.
19282 * include/grub/i386/qemu/init.h: Likewise.
19283 * include/grub/i386/qemu/machine.h: Likewise.
19284 * include/grub/i386/qemu/loader.h: Likewise.
19285 * include/grub/i386/qemu/memory.h: Likewise.
19286
19287 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19288 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19289 [qemu] (pkglib_IMAGES): Add `boot.img'.
19290 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19291 [qemu] (boot_img_FORMAT): New variables.
19292 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19293 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19294 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19295 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19296 [qemu] (kernel_img_FORMAT): New variables.
19297
19298 * configure.ac: Recognise `i386-qemu'.
19299
19300 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19301 (for no compression).
19302 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19303 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19304 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19305 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19306 ifdefs).
19307
97fe384e 193082009-06-27 Pavel Roskin <proski@gnu.org>
19309
19310 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19311 read.
19312 * efiemu/prepare32.c: Likewise.
19313 * efiemu/prepare64.c: Likewise.
19314
c402ab17 193152009-06-26 Pavel Roskin <proski@gnu.org>
19316
19317 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19318 * include/grub/elf.h: Define symbols without "32" or "64" based
19319 on GRUB_TARGET_WORDSIZE.
19320 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19321 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19322 ELF definitions.
19323 * efiemu/loadcore64.c: Likewise.
19324 * loader/i386/bsd32.c: Likewise.
19325 * loader/i386/bsd64.c: Likewise.
19326 * kern/dl.c: Remove own ELF definitions.
19327 * util/i386/efi/grub-mkimage.c: Likewise.
19328
9bbdfd4d 193292009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19330
19331 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19332 segment 0x0 unconditionally, because the reference generated by
19333 GAS is an absolute address.
19334
a42ce6e9 193352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19336
19337 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19338 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19339
c952cf92 193402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19341
19342 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19343 indexes. Check for -f explicitly.
cc3752ad 19344 (search_file): Improve error message.
19345 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 19346
132a0a59 193472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19348
19349 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19350 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19351
387a140c 193522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19353
19354 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19355 * conf/i386-ieee1275.rmk: Likewise.
19356 * conf/i386-coreboot.rmk: Likewise.
19357
19358 * kern/i386/pc/startup.S (grub_stop): Remove function.
19359 * kern/i386/ieee1275/startup.S: Likewise.
19360 * kern/i386/coreboot/startup.S: Likewise.
19361 * kern/i386/misc.S (grub_stop): New function.
19362
41da9665 193632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19364
19365 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19366 * kern/i386/realmode.S (real_to_prot): ... to here.
19367
bf337234 193682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19369
19370 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19371 with `kernel.img'.
19372 (kernel_elf_SOURCES): Rename to ...
19373 (kernel_img_SOURCES): ... this.
19374 (kernel_elf_HEADERS): Rename to ...
19375 (kernel_img_HEADERS): ... this. Update all users.
19376 (kernel_elf_ASFLAGS): Rename to ...
19377 (kernel_img_ASFLAGS): ... this.
19378 (kernel_elf_CFLAGS): Rename to ...
19379 (kernel_img_CFLAGS): ... this.
19380 (kernel_elf_LDFLAGS): Rename to ...
19381 (kernel_img_LDFLAGS): ... this.
19382 * conf/i386-coreboot.rmk: Likewise.
19383 * conf/powerpc-ieee1275.rmk: Likewise.
19384
19385 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19386 with "kernel.img".
19387
f52196ff 193882009-06-21 Pavel Roskin <proski@gnu.org>
19389
c3cee413 19390 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19391 to match nested functions.
19392 * loader/sparc64/ieee1275/linux.c: Likewise.
19393
f52196ff 19394 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19395
58750afc 193962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19397
19398 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19399 all i386 platforms.
19400
15355c7d 194012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19402
19403 Fix asm file handling on ELF, and remove workarounds.
19404
19405 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 19406 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 19407 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19408 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19409
3f3ec72b 194102009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 Load BSD ELF modules
19413
19414 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19415 and loader/i386/bsd64.c
19416 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19417 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19418 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19419 (grub_freebsd_load_elfmodule32): New declaration
19420 (grub_freebsd_load_elfmoduleobj64): Likewise
19421 (grub_freebsd_load_elf_meta32): Likewise
19422 (grub_freebsd_load_elf_meta64): Likewise
19423 (grub_freebsd_add_meta): Likewise
19424 (grub_freebsd_add_meta_module): Likewise
19425 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19426 (grub_freebsd_add_meta_module): Likewise and move module-specific
19427 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19428 (grub_cmd_freebsd): Add elf-kernel specific parts
19429 based on grub_freebsd_add_meta_module
19430 (grub_cmd_freebsd_module): Add type parsing moved from
19431 grub_freebsd_add_meta_module
19432 (grub_cmd_freebsd_module_elf): New function
19433 (cmd_freebsd_module_elf): New variable
19434 (GRUB_MOD_INIT): Register freebsd_module_elf
19435 * loader/i386/bsd32.c: New file
19436 * loader/i386/bsd64.c: Likewise
19437 * loader/i386/bsdXX.c: Likewise
19438 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19439 (grub_elf64_load): Likewise
19440 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19441 All users updated
19442 (grub_elf64_load_hook_t): Likewise
19443
0db15301 194442009-06-21 Colin Watson <cjwatson@ubuntu.com>
19445
19446 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19447 variable.
19448 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19449 don't write a menu entry for recovery mode.
19450
546796c1 194512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19452
19453 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19454 after it's no longer needed.
19455
cd7310d5 194562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19457
19458 * include/grub/i386/loader.h (grub_linux_prot_size)
19459 (grub_linux_tmp_addr, grub_linux_real_addr)
19460 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19461 GRUB_MACHINE_PCBIOS.
19462 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19463 common grub_util_info() call to ...
19464 (generate_image): ... here.
19465 Fix use of uninitialized memory, comparison of signed with
19466 unsigned integers and memory leak.
19467 Remove bogus module address message.
19468
ab32d3b5 194692009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19472 grub_raid_register
19473 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19474
024ef597 194752009-06-19 Pavel Roskin <proski@gnu.org>
19476
19477 * configure.ac: Remove stray AC_MSG_CHECKING.
19478
3ac72b51 194792009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 19482
e14cd814 194832009-06-18 Pavel Roskin <proski@gnu.org>
19484
19485 * conf/common.rmk: Add fs_file.mod.
19486 * disk/fs_file.c: New file.
19487 * include/grub/disk.h (enum grub_disk_dev_id): Add
19488 GRUB_DISK_DEVICE_FILE_ID.
19489
26586d98 194902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 Fix build with Apple's toolchain. Part 2
19493
19494 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19495 a fake start
19496
26de2bcd 194972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 Fix build with Apple's toolchain. Part 1
19500
19501 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19502 for long calls
19503 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 19504 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 19505 Apple's toolchain
19506
09b3490b 195072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 Fix warnings
19510
19511 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19512 (decomp_block): initialize ch
19513 use grub_memcpy instead of memcpy
19514
c22a006a 195152009-06-17 Pavel Roskin <proski@gnu.org>
19516
d3638678 19517 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19518 version, use declarations needed to use vga_text as the startup
19519 console.
19520
c22a006a 19521 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19522 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19523 the kernel.
19524 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19525 and grub_at_keyboard_fini(), it's done on module load and
19526 unload.
19527
05b129e0 195282009-06-17 Felix Zielcke <fzielcke@z-51.de>
19529
19530 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19531 file can't be found.
19532 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19533
cf24ed9e 195342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 Fix newline handling
19537
19538 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 19539 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 19540 (grub_script_yylex): don't segfault on unterminated script
19541 newline terminates command and variable
19542
74aa8e4b 195432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 avoid double grub_adjust_range call. Bug reported by David Simner
19546
19547 * kern/disk.c (grub_disk_write): change to raw disk access before
19548 calling disk_read
19549
1bd265f3 195502009-06-17 Colin Watson <cjwatson@ubuntu.com>
19551
19552 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19553 spaces, for the benefit of help2man.
19554 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19555
a2d08c06 195562009-06-16 Pavel Roskin <proski@gnu.org>
19557
19558 * kern/i386/halt.c: Include grub/machine/init.h.
19559 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19560
b97bcb19 195612009-06-16 Felix Zielcke <fzielcke@z-51.de>
19562
19563 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19564 drivemap menuentry.
19565
0644f96c 195662009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19567
19568 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19569 `echo' command.
19570
3ef17a2e 195712009-06-16 Pavel Roskin <proski@gnu.org>
19572
19573 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19574 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19575 save %dx, we only need %dl and we never change it.
19576 * boot/i386/pc/cdboot.S: Don't set the root drive.
19577 * boot/i386/pc/pxeboot.S: Likewise.
19578 * include/grub/i386/pc/boot.h: Remove
19579 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19580 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19581 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19582 * kern/i386/pc/init.c (make_install_device): Remove references
19583 to grub_root_drive.
19584 * kern/i386/pc/startup.S: Likewise.
19585 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19586
693fe637 195872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19588
19589 xnu_uuid command
19590
19591 * commands/xnu_uuid.c: new file
19592 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19593 (xnu_uuid_mod_SOURCES): new variable
19594 (xnu_uuid_mod_CFLAGS): likewise
19595 (xnu_uuid_mod_LDFLAGS): likewise
19596 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19597 * conf/i386-ieee1275.rmk: likewise
19598 * conf/i386-pc.rmk: likewise
19599 * conf/powerpc-ieee1275.rmk: likewise
19600 * conf/sparc64-ieee1275.rmk: likewise
19601 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19602
c9da87d0 196032009-06-16 Pavel Roskin <proski@gnu.org>
19604
19605 * configure.ac: Avoid '==' in test command, it's not portable.
19606
9c6f4596 196072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 Probe command
19610
19611 * commands/probe.c: new file
19612 * conf/common.rmk (pkglib_MODULES): add probe.mod
19613 (probe_mod_SOURCES): new variable
19614 (probe_mod_CFLAGS): likewise
19615 (probe_mod_LDFLAGS): likewise
19616 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19617 * conf/i386-ieee1275.rmk: likewise
19618 * conf/i386-pc.rmk: likewise
19619 * conf/powerpc-ieee1275.rmk: likewise
19620 * conf/sparc64-ieee1275.rmk: likewise
19621
70b7f9fd 196222009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 Fix handling of string like \"hello\" and "a
19625 b"
19626
19627 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19628 (grub_script_yylex): fix parsing of quoting, escaping and newline
19629
71c79a6b 196302009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19631
dd74360c 19632 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 19633 handling
dd74360c 19634
0644f96c 196352009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 19636
19637 * util/grub-mkconfig.in: Fix parsing of --output option.
19638
e40893c3 196392009-06-12 Pavel Roskin <proski@gnu.org>
19640
19641 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19642 genmk.rb don't need to be generated or installed.
19643
3a1acfe2 196442009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 * commands/i386/pc/drivemap_int13h.S: add more comments
19647
3a4575d4 196482009-06-11 Pavel Roskin <proski@gnu.org>
19649
0658e928 19650 * Makefile.in (uninstall): Uninstall manuals.
19651
ca0388f0 19652 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19653 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19654 and update-grub_lib in two places.
19655 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19656
e3b27c39 19657 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19658 a compiler warning.
19659
3a4575d4 19660 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19661 `entry_lo' to fix variable shadowing.
19662
af1f4f55 196632009-06-11 Christian Franke <franke@computer.org>
19664
19665 * kern/misc.c (__enable_execute_stack): Add missing return type
19666 to prevent gcc warning.
19667
5225e649 196682009-06-11 Felix Zielcke <fzielcke@z-51.de>
19669
19670 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19671
7d83bd47 196722009-06-11 Pavel Roskin <proski@gnu.org>
19673
c1cb63ba 19674 * Makefile.in: Don't rely on any scripts being executable.
19675 Always use $(SHELL) to run shell scripts.
19676
7d83bd47 19677 * configure.ac: Always define ___main if using -nostdlib. This
19678 fixes tests on Cygwin.
19679
948f48e7 196802009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19681
19682 UDF fix
19683
7d83bd47 19684 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 19685 is in bytes and not in blocks
7d83bd47 19686
8ada9bc1 196872009-06-11 Pavel Roskin <proski@gnu.org>
19688
19689 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19690 warning.
19691
25ad2323 196922009-06-11 Felix Zielcke <fzielcke@z-51.de>
19693
19694 * util/grub.d/30_os-prober.in: Fix a comment. Source
19695 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19696 to set the root device. Place drivemap command in the generated
19697 chain entry.
19698
e65acb0c 196992009-06-11 Pavel Roskin <proski@gnu.org>
19700
19701 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19702 have long been resolved.
19703
f285fe2d 197042009-06-11 Colin Watson <cjwatson@ubuntu.com>
19705
bd47b0b5 19706 * util/grub.d/10_linux.in: Capitalise "Linux".
19707
f285fe2d 19708 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19709
a0c62e4e 197102009-06-11 Pavel Roskin <proski@gnu.org>
19711
b6783cb2 19712 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19713 fix a gcc warning and ensure that the function won't ever exit.
19714
dde032e8 19715 * kern/i386/ieee1275/init.c: Add missing prototype for
19716 grub_stop_floppy().
19717
22cd079d 19718 * loader/ieee1275/multiboot2.c [__i386__]: Include
19719 grub/cpu/multiboot.h.
19720
a0c62e4e 19721 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19722 casts to short - they are not portable and cause warnings. Fix
19723 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19724
63963d17 197252009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 Drivemap fixes
19728
19729 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19730 new function
19731 (grub_get_root_biosnumber_saved): new variable
19732 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19733 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 19734 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 19735 %dx after the call if necessary
19736 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19737 (boot_mod_SOURCES): remove
19738 (boot_mod_CFLAGS): remove
19739 (boot_mod_LDFLAGS): remove
19740 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19741 (boot_mod_SOURCES): new variable
19742 (boot_mod_CFLAGS): likewise
19743 (boot_mod_LDFLAGS): likewise
19744 * conf/i386-efi.rmk: likewise
19745 * conf/i386-ieee1275.rmk: likewise
19746 * conf/i386-pc.rmk: likewise
19747 * conf/powerpc-ieee1275.rmk: likewise
19748 * conf/sparc64-ieee1275.rmk: likewise
19749 * conf/x86_64-efi.rmk: likewise
19750 * include/grub/i386/pc/biosnum.h: new file
19751 * lib/i386/pc/biosnum.c: likewise
19752 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19753 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19754 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 19755
33abf7ae 197562009-06-10 Pavel Roskin <proski@gnu.org>
19757
5ac35b35 19758 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19759 Use separate variables. Read only the file size at the end, but
19760 not the checksum that we don't use.
19761
5c5215d5 19762 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19763 Adjust all callers.
19764
27d5fef7 19765 * kern/ieee1275/openfw.c: Remove libc includes.
19766 * kern/ieee1275/cmain.c: Likewise.
19767 * include/grub/ieee1275/ieee1275.h: Likewise.
19768
33abf7ae 19769 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19770 compiler warnings.
19771
19d50c2b 197722009-06-10 Felix Zielcke <fzielcke@z-51.de>
19773
19774 * Makefile.in: Remove all trailing whitespace.
19775 * conf/i386-pc.rmk: Likewise.
19776 * conf/powerpc-ieee1275.rmk: Likewise.
19777 * conf/sparc64-ieee1275.rmk: Likewise.
19778 * docs/grub.texi: Likewise.
19779 * docs/texinfo.tex: Likewise.
19780 * disk/fs_uuid.c: Likewise.
19781 * disk/lvm.c: Likewise.
19782 * disk/scsi.c: Likewise.
19783 * disk/ata.c: Likewise.
19784 * disk/ieee1275/ofdisk.c: Likewise.
19785 * disk/i386/pc/biosdisk.c: Likewise.
19786 * disk/host.c: Likewise.
19787 * disk/raid.c: Likewise.
19788 * disk/efi/efidisk.c: Likewise.
19789 * disk/usbms.c: Likewise.
19790 * disk/memdisk.c: Likewise.
19791 * disk/loopback.c: Likewise.
19792 * kern/powerpc/dl.c: Likewise.
19793 * kern/device.c: Likewise.
19794 * kern/dl.c: Likewise.
19795 * kern/sparc64/dl.c: Likewise.
19796 * kern/ieee1275/ieee1275.c: Likewise.
19797 * kern/term.c: Likewise.
19798 * kern/fs.c: Likewise.
19799 * kern/i386/dl.c: Likewise.
19800 * kern/i386/pc/startup.S: Likewise.
19801 * kern/i386/pc/init.c: Likewise.
19802 * kern/i386/pc/mmap.c: Likewise.
19803 * kern/i386/pc/lzo1x.S: Likewise.
19804 * kern/i386/ieee1275/init.c: Likewise.
19805 * kern/i386/realmode.S: Likewise.
19806 * kern/i386/tsc.c: Likewise.
19807 * kern/partition.c: Likewise.
19808 * kern/corecmd.c: Likewise.
19809 * kern/file.c: Likewise.
19810 * kern/efi/efi.c: Likewise.
19811 * kern/efi/init.c: Likewise.
19812 * kern/efi/mm.c: Likewise.
19813 * kern/main.c: Likewise.
19814 * kern/err.c: Likewise.
19815 * kern/env.c: Likewise.
19816 * kern/disk.c: Likewise.
19817 * kern/generic/millisleep.c: Likewise.
19818 * kern/generic/rtc_get_time_ms.c: Likewise.
19819 * kern/misc.c: Likewise.
19820 * kern/parser.c: Likewise.
19821 * genmk.rb: Likewise.
19822 * configure.ac: Likewise.
19823 * boot/i386/pc/diskboot.S: Likewise.
19824 * boot/i386/pc/pxeboot.S: Likewise.
19825 * boot/i386/pc/boot.S: Likewise.
19826 * boot/i386/pc/lnxboot.S: Likewise.
19827 * boot/i386/pc/cdboot.S: Likewise.
19828 * parttool/pcpart.c: Likewise.
19829 * video/readers/tga.c: Likewise.
19830 * video/video.c: Likewise.
19831 * video/bitmap.c: Likewise.
19832 * lib/envblk.c: Likewise.
19833 * lib/i386/setjmp.S: Likewise.
19834 * fs/xfs.c: Likewise.
19835 * fs/afs.c: Likewise.
19836 * fs/fat.c: Likewise.
19837 * fs/ntfs.c: Likewise.
19838 * fs/udf.c: Likewise.
19839 * fs/affs.c: Likewise.
19840 * fs/iso9660.c: Likewise.
19841 * fs/hfs.c: Likewise.
19842 * fs/fshelp.c: Likewise.
19843 * fs/ext2.c: Likewise.
19844 * fs/jfs.c: Likewise.
19845 * fs/reiserfs.c: Likewise.
19846 * fs/hfsplus.c: Likewise.
19847 * fs/minix.c: Likewise.
19848 * fs/cpio.c: Likewise.
19849 * fs/sfs.c: Likewise.
19850 * fs/ufs.c: Likewise.
19851 * efiemu/prepare.c: Likewise.
19852 * efiemu/loadcore_common.c: Likewise.
19853 * efiemu/runtime/efiemu.sh: Likewise.
19854 * efiemu/runtime/efiemu.S: Likewise.
19855 * efiemu/runtime/efiemu.c: Likewise.
19856 * efiemu/pnvram.c: Likewise.
19857 * efiemu/main.c: Likewise.
19858 * efiemu/i386/pc/cfgtables.c: Likewise.
19859 * efiemu/i386/loadcore64.c: Likewise.
19860 * efiemu/i386/loadcore32.c: Likewise.
19861 * efiemu/loadcore.c: Likewise.
19862 * efiemu/symbols.c: Likewise.
19863 * efiemu/mm.c: Likewise.
19864 * include/grub/autoefi.h: Likewise.
19865 * include/grub/datetime.h: Likewise.
19866 * include/grub/term.h: Likewise.
19867 * include/grub/hfs.h: Likewise.
19868 * include/grub/lvm.h: Likewise.
19869 * include/grub/i386/tsc.h: Likewise.
19870 * include/grub/i386/linux.h: Likewise.
19871 * include/grub/i386/xnu.h: Likewise.
19872 * include/grub/i386/efiemu.h: Likewise.
19873 * include/grub/i386/pc/biosdisk.h: Likewise.
19874 * include/grub/i386/pc/memory.h: Likewise.
19875 * include/grub/i386/pc/vbe.h: Likewise.
19876 * include/grub/parttool.h: Likewise.
19877 * include/grub/video.h: Likewise.
19878 * include/grub/memory.h: Likewise.
19879 * include/grub/fs.h: Likewise.
19880 * include/grub/partition.h: Likewise.
19881 * include/grub/xnu.h: Likewise.
19882 * include/grub/efi/api.h: Likewise.
19883 * include/grub/efi/pe32.h: Likewise.
19884 * include/grub/efi/memory.h: Likewise.
19885 * include/grub/multiboot.h: Likewise.
19886 * include/grub/usbdesc.h: Likewise.
19887 * include/grub/multiboot2.h: Likewise.
19888 * include/grub/acpi.h: Likewise.
19889 * include/grub/efiemu/efiemu.h: Likewise.
19890 * include/grub/disk.h: Likewise.
19891 * include/grub/ieee1275/ieee1275.h: Likewise.
19892 * include/grub/net.h: Likewise.
19893 * include/grub/machoload.h: Likewise.
19894 * include/grub/macho.h: Likewise.
19895 * include/multiboot.h: Likewise.
19896 * genmoddep.awk: Likewise.
19897 * normal/main.c: Likewise.
19898 * normal/menu_entry.c: Likewise.
19899 * normal/menu_viewer.c: Likewise.
19900 * normal/completion.c: Likewise.
19901 * normal/cmdline.c: Likewise.
19902 * normal/misc.c: Likewise.
19903 * normal/datetime.c: Likewise.
19904 * bus/usb/usbtrans.c: Likewise.
19905 * bus/usb/ohci.c: Likewise.
19906 * bus/usb/uhci.c: Likewise.
19907 * bus/usb/usb.c: Likewise.
19908 * mmap/efi/mmap.c: Likewise.
19909 * mmap/i386/pc/mmap_helper.S: Likewise.
19910 * mmap/i386/pc/mmap.c: Likewise.
19911 * mmap/i386/mmap.c: Likewise.
19912 * mmap/i386/uppermem.c: Likewise.
19913 * mmap/mmap.c: Likewise.
19914 * commands/acpi.c: Likewise.
19915 * commands/echo.c: Likewise.
19916 * commands/blocklist.c: Likewise.
19917 * commands/loadenv.c: Likewise.
19918 * commands/usbtest.c: Likewise.
19919 * commands/boot.c: Likewise.
19920 * commands/parttool.c: Likewise.
19921 * commands/search.c: Likewise.
19922 * commands/cat.c: Likewise.
19923 * commands/i386/pc/play.c: Likewise.
19924 * commands/i386/pc/drivemap.c: Likewise.
19925 * commands/i386/pc/vbeinfo.c: Likewise.
19926 * commands/i386/pc/acpi.c: Likewise.
19927 * commands/i386/pc/vbetest.c: Likewise.
19928 * commands/ls.c: Likewise.
19929 * commands/cmp.c: Likewise.
19930 * commands/test.c: Likewise.
19931 * commands/efi/acpi.c: Likewise.
19932 * commands/gptsync.c: Likewise.
19933 * commands/help.c: Likewise.
19934 * partmap/amiga.c: Likewise.
19935 * partmap/apple.c: Likewise.
19936 * partmap/acorn.c: Likewise.
19937 * partmap/pc.c: Likewise.
19938 * partmap/sun.c: Likewise.
19939 * partmap/gpt.c: Likewise.
19940 * script/sh/lexer.c: Likewise.
19941 * script/sh/function.c: Likewise.
19942 * font/font.c: Likewise.
19943 * font/font_cmd.c: Likewise.
19944 * loader/powerpc/ieee1275/linux.c: Likewise.
19945 * loader/efi/chainloader.c: Likewise.
19946 * loader/multiboot_loader.c: Likewise.
19947 * loader/macho.c: Likewise.
19948 * loader/i386/multiboot.c: Likewise.
19949 * loader/i386/linux.c: Likewise.
19950 * loader/i386/pc/linux.c: Likewise.
19951 * loader/i386/pc/multiboot2.c: Likewise.
19952 * loader/i386/pc/chainloader.c: Likewise.
19953 * loader/i386/pc/xnu.c: Likewise.
19954 * loader/i386/bsd_trampoline.S: Likewise.
19955 * loader/i386/efi/linux.c: Likewise.
19956 * loader/i386/multiboot_elfxx.c: Likewise.
19957 * loader/i386/bsd_helper.S: Likewise.
19958 * loader/i386/bsd.c: Likewise.
19959 * loader/i386/linux_trampoline.S: Likewise.
19960 * loader/i386/xnu_helper.S: Likewise.
19961 * loader/i386/xnu.c: Likewise.
19962 * loader/i386/bsd_pagetable.c: Likewise.
19963 * loader/i386/multiboot_helper.S: Likewise.
19964 * loader/xnu.c: Likewise.
19965 * loader/xnu_resume.c: Likewise.
19966 * io/gzio.c: Likewise.
19967 * term/efi/console.c: Likewise.
19968 * term/terminfo.c: Likewise.
19969 * term/ieee1275/ofconsole.c: Likewise.
19970 * term/i386/pc/serial.c: Likewise.
19971 * term/i386/pc/vesafb.c: Likewise.
19972 * term/i386/pc/vga.c: Likewise.
19973 * term/usb_keyboard.c: Likewise.
19974 * term/gfxterm.c: Likewise.
19975 * aclocal.m4: Likewise.
19976 * util/lvm.c: Likewise.
19977 * util/grub.d/30_os-prober.in: Likewise.
19978 * util/grub.d/10_hurd.in: Likewise.
19979 * util/console.c: Likewise.
19980 * util/grub-macho2img.c: Likewise.
19981 * util/grub-probe.c: Likewise.
19982 * util/hostfs.c: Likewise.
19983 * util/i386/pc/grub-mkimage.c: Likewise.
19984 * util/i386/pc/grub-setup.c: Likewise.
19985 * util/i386/efi/grub-mkimage.c: Likewise.
19986 * util/grub-mkconfig.in: Likewise.
19987 * util/raid.c: Likewise.
19988 * util/resolve.c: Likewise.
19989 * util/grub-mkdevicemap.c: Likewise.
19990 * util/grub-emu.c: Likewise.
19991 * util/getroot.c: Likewise.
19992 * util/hostdisk.c: Likewise.
19993 * util/usb.c: Likewise.
19994 * util/grub-editenv.c: Likewise.
19995 * util/misc.c: Likewise.
19996
d2d49665 199972009-06-10 Felix Zielcke <fzielcke@z-51.de>
19998
19999 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
20000 `genparttoollist.sh'.
20001 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
20002 Add `*.sh' to the list find searches for and change `mdate.sh'
20003 to `mdate-sh'.
20004
fe052e37 200052009-06-10 Pavel Roskin <proski@gnu.org>
20006
2763ac18 20007 * include/grub/multiboot2.h: Provide compatibility defines for
20008 multiboot2.h.
20009 * include/multiboot2.h: Include stdint.h only if needed, using
20010 angle brackets.
20011 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
20012 grub/multiboot2.h.
20013 * loader/ieee1275/multiboot2.c: Likewise.
20014 * loader/multiboot2.c: Likewise.
20015 * loader/multiboot_loader.c: Likewise.
20016
437e6adc 20017 * configure.ac: Use -nostdlib when probing for the target. It
20018 should not be required to have libc for the target.
20019
06a6836c 20020 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
20021 they fail without libc headers for the target.
20022 * include/grub/powerpc/libgcc.h: Use weak attribute for all
20023 exports.
20024 * include/grub/sparc64/libgcc.h: Likewise. Don't use
20025 preprocessor conditionals.
20026
fe052e37 20027 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
20028 build system doesn't need to be aware of the tar.c internals.
20029
afd22553 200302009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 20031
afd22553 20032 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 20033
6b787c4f 200342009-06-09 Robert Millan <rmh.grub@aybabtu.com>
20035
20036 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
20037 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20038
200392009-06-09 Felix Zielcke <fzielcke@z-51.de>
20040
20041 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 20042 aren't available if ata.mod gets used.
6b787c4f 20043
473d1e45 200442009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 20045
473d1e45 20046 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 20047 initialising controller.
473d1e45 20048 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 20049
255a27d4 200502009-06-08 Felix Zielcke <fzielcke@z-51.de>
20051
20052 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20053 to choose between ata and biosdisk module on i386-pc.
20054
473d1e45 200552009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 20056
d55842d8 20057 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20058 Subclass and Programming Interface fields in terms of the 3 byte
20059 Class Code register.
20060 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20061
fa5db0b1 20062 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20063 interface is OHCI. Add grub_dprintf for symmetry with
20064 bus/usb/uhci.c.
20065 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20066 interface is UHCI. Add interf variable for programming
20067 interface. Print interface with class/subclass.
20068
c0947beb 20069 * bus/usb/ohci.c: Set interf with correct field.
20070
69da8877 20071 * bus/usb/uhci.c: Remove unneeded doubled lines.
20072 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20073 Remove whitespace inside comment.
20074
9e172e30 200752009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20076
20077 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20078 as fallback an equivalent option without depth.
20079
de65ee2b 200802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20081
20082 Not fail if unable to retrieve C/H/S on LBA disks
20083
473d1e45 20084 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 20085 if unable to retrieve C/H/S on LBA disks
20086
b57ea2c9 200872009-06-08 Pavel Roskin <proski@gnu.org>
20088
20089 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20090 about aliasing.
20091
af361263 200922009-06-08 Felix Zielcke <fzielcke@z-51.de>
20093
20094 * Makefile.in (uninstall): Remove all $lib_DATA files.
20095
4c9ec6b3 200962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 Bugfix: install on partitionless device
20099
20100 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20101 is a whole disk
20102
e76fc924 201032009-06-08 Felix Zielcke <fzielcke@z-51.de>
20104
20105 * Makefile.in (uninstall): Remove all $include_DATA files.
20106
ba5a0d05 201072009-06-08 Felix Zielcke <fzielcke@z-51.de>
20108
20109 * commands/true.c: New file. Implement the true and false commands.
20110 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20111 (true_mod_SOURCES): New variable.
20112 (true_mod_CFLAGS): Likewise.
20113 (true_mod_LDFLAGS): Likewise.
20114
c8048e32 201152009-06-05 Colin D Bennett <colin@gibibit.com>
20116
20117 Optimized font character lookup using binary search instead of linear
20118 search. Fonts now are required to have the character index ordered by
20119 code point.
20120
20121 * font/font.c (load_font_index): Verify that fonts have ordered
20122 character indices.
20123 (find_glyph): Use binary search instead of linear search to find a
20124 character in a font.
20125
408305be 201262009-06-05 Michael Scherer <misc@mandriva.org>
20127
20128 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20129 uses case sensitive btree.
20130 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20131 only for case insensitive filesystems.
20132
8ee1e0d9 201332009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20136 * conf/common.rmk (search_mod_CFLAGS): likewise
20137
a9966eb1 201382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20139
473d1e45 20140 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 20141 compensate a compiler bug
20142
9e7100fb 201432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20144
473d1e45 20145 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 20146 instead of '\b'
473d1e45 20147
ede21d71 201482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 Definitions for creating asm symbols with Apple's CC
20151
20152 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20153 [APPLE_CC] (VARIABLE): likewise
20154
9dbf7653 201552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20156
20157 Disable lnxboot.img when compiled
20158 with Apple's CC
20159
20160 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20161 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20162 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20163 [! APPLE_CC] (CODE_LENG): skip
20164 [! APPLE_CC] (setup_sects): likewise
20165 [! APPLE_CC]: skip filling
473d1e45 20166
e93cdc3d 201672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 Address in trampolines based on 32-bit registers when compiled
20170 with Apple's CC
20171
473d1e45 20172 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 20173 for addresses
20174 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20175
6c688477 201762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20179
20180 * kern/misc.c [APPLE_CC] (memcpy): new function
20181 [APPLE_CC] (memmove): likewise
20182 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 20183 (memcpy): define alias conditionally on !APPLE_CC
6c688477 20184 (memset): likewise
20185 (abort): likewise
20186 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20187 APPLE_CC are defined
20188 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20189 (grub_assert_fail): make prototype conditional
20190
e37ffc5c 201912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20194
473d1e45 20195 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20196 grub-macho2img
e37ffc5c 20197 (CLEANFILES): add grub-macho2img
20198 (grub_macho2img_SOURCES): new variable
20199 * kern/i386/pc/startup.S (bss_start): new variable
20200 (bss_end): likewise
20201 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20202 * util/grub-macho2img.c: new file
20203
cf00df31 202042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 Use objconv when compiling with Apple's CC
20207
20208 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20209 (efiemu64.o): likewise
20210 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20211 when compiling with Apple's CC
20212 (efiemu64_s.o): likewise
20213 * configure.ac: check for objconv when compiling with Apple's CC
20214 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 20215
d119a20c 202162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 Define segment as well as section when compiling with
20219 Apple's CC
20220
20221 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20222 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20223 (efiemu_convert_pointer): likewise
20224 (efiemu_set_virtual_address_map): likewise
20225 (efiemu_convert_pointer): likewise
20226 (efiemu_getcrc32): likewise
20227 (init_crc32_table): likewise
20228 (reflect): likewise
20229 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20230 (GRUB_MOD_DEP): likewise
473d1e45 20231
c8600122 202322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 Allow a compilation without -mcmodel=large
20235
20236 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20237 when compiled without -mcmodel=large
473d1e45 20238 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 20239 without -mcmodel=large
473d1e45 20240 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 20241 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 20242
e8df1d4e 202432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 Remove nested functions in efiemu core
20246
20247 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 20248
cc6c3ac1 202492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20252
20253 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20254 temporary storage
473d1e45 20255 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20256 using Apple's CC
cc6c3ac1 20257 (grub_cpu_is_tsc_supported): likewise
20258 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 20259
3e325901 202602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 Absolute addressing through constant with Apple's cc
20263
20264 * kern/i386/pc/startup.S: Define necessary constants
20265 and address through it when using ABS with Apple's CC
20266 * boot/i386/pc/diskboot.S: likewise
20267 * boot/i386/pc/boot.S: likewise
20268 * boot/i386/pc/lnxboot.S: likewise
20269 * boot/i386/pc/cdboot.S: likewise
20270 * mmap/i386/pc/mmap_helper.S: likewise
20271 * commands/i386/pc/drivemap_int13h.S: likewise
20272
2b167a72 202732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Check if compiler is apple cc
20276
20277 * Makefile.in (ASFLAGS): new variable
20278 (TARGET_ASFLAGS): likewise
20279 (TARGET_MODULE_FORMAT): likewise
20280 (TARGET_APPLE_CC): likewise
20281 (OBJCONV): likewise
20282 (TARGET_IMG_CFLAGS): likewise
20283 (TARGET_CPPFLAGS): add includedir
20284 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20285 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20286 Check for linker script only if compiler isn't Apple's CC
20287 (TARGET_MODULE_FORMAT): set
20288 (TARGET_APPLE_CC): likewise
20289 (TARGET_ASFLAGS): likewise
20290 (ASFLAGS): likewise
20291 Check for objcopy only if compiler isn't Apple's CC
20292 Check for BSS symbol only if compiler isn't Apple's CC
20293 * genmk.rb: adapt nm options if we use Apple's utils
20294 * aclocal.m4 (grub_apple_cc): new test
20295 (grub_apple_target_cc): likewise
473d1e45 20296
fb14123e 202972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20298
20299 Simplify sed expressions and improve awk
20300
20301 * Makefile.in (install-local): simplify sed expression
20302 * gencmdlist.sh: likewise
20303 * genmoddep.awk: avoid adding module as a dependency of itself
20304
5b889789 203052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 Add missing start symbols
20308
20309 * boot/i386/pc/boot.S: add start
fb14123e 20310 * boot/i386/pc/pxeboot.S: likewise
473d1e45 20311
fd2bf2e3 203122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 20315
20316 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 20317 (relocate_addresses): consider both r_addend and value at offset
20318 (make_mods_section): zerofill modinfo and header
20319 (convert_elf): write prefix here
473d1e45 20320
5389763d 203212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 Use .asciz instead of .string
20324
20325 * i386/pc/diskboot.S: use .asciz instead of .string
20326 * i386/pc/boot.S: likewise
20327 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20328 (GRUB_MOD_NAME): likewise
473d1e45 20329
3eb5ed4e 203302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 gfxpayload support
20333
20334 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20335 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20336 (grub_video_setup): remove
20337 (grub_video_set_mode): new prototype
20338 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20339 (vid_mode): remove
20340 (linux_vesafb_res): compile only on PCBIOS
20341 (grub_linux_boot): support gfxpayload
20342 * loader/i386/pc/xnu.c (video_hook): new function
20343 (grub_xnu_set_video): support gfxpayload
20344 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20345 (DEFAULT_VIDEO_HEIGHT): likewise
20346 (DEFAULT_VIDEO_FLAGS): likewise
20347 (DEFAULT_VIDEO_MODE): new definition
20348 (video_hook): new function
20349 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 20350 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 20351 loading xnu
20352 * video/video.c (grub_video_setup): removed
473d1e45 20353 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 20354 grub_video_setup
20355
4b0e1143 203562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 Avoid calling biosdisk in drivemap
20359
20360 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20361 (revparse_biosdisk): likewise
20362 (list_mappings): derive name from id directly
20363 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 20364
fda6cb98 203652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 Script fixes
20368
20369 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20370 (grub_lexer_param): add tokenonhold
20371 (grub_script_create_cmdline): remove cmdline. All callers updated
20372 (grub_script_function_create): make functionname
20373 grub_script_arg. All callers updated
20374 (grub_script_execute_argument_to_string): new prototype
20375 * kern/parser.c (state_transitions): reorder
20376 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 20377 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 20378 make global
20379 (grub_script_execute_cmdline): use new format
20380 * script/sh/function.c (grub_script_function_create): make functionname
20381 grub_script_arg. All callers updated
473d1e45 20382 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 20383 (grub_script_yylex): remove
20384 (grub_script_yylex2): renamed to ...
20385 (grub_script_yylex): ...renamed
20386 parse the expressions like a${b}c
20387 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20388 (GRUB_PARSER_TOKEN_VAR): remove
20389 (GRUB_PARSER_TOKEN_NAME): likewise
20390 ("if"): declare as typeless
20391 ("while"): likewise
20392 ("function"): likewise
20393 ("else"): likewise
20394 ("then"): likewise
20395 ("fi"): likewise
20396 (text): remove
20397 (argument): likewise
20398 (script): accept empty scripts and make exit on error
20399 (arguments): use GRUB_PARSER_TOKEN_ARG
20400 (function): likewise
20401 (command): move error handling to script
20402 (menuentry): move grub_script_lexer_ref before
473d1e45 20403 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 20404 argument. All callers updated
20405
f4448a07 204062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20407
20408 Prevent GRUB from probing floppies during boot.
20409
20410 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20411 * commands/search.c (options): Add --no-floppy.
20412 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20413 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20414 --no-floppy when searching for UUIDs.
20415
2bf5885a 204162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20417
20418 Simplify the code duplication in commands/search.c.
20419
20420 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20421 (search_fs): ... this. Update all users.
20422
f6fd460a 204232009-06-03 Felix Zielcke <fzielcke@z-51.de>
20424
20425 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20426
cbb3c83e 204272009-05-28 Pavel Roskin <proski@gnu.org>
20428
57788cfd 20429 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20430 Remove the original symlink explicitly.
20431
cbb3c83e 20432 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20433 just one slash. That's how grub_fshelp_find_file() does it.
20434
cd0d5e30 204352009-05-26 Pavel Roskin <proski@gnu.org>
20436
f0f8bbe2 20437 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20438 to `str'.
20439
cd0d5e30 20440 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20441 possibly unused.
20442
8c2cab51 204432009-05-25 Christian Franke <franke@computer.org>
20444
20445 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20446 register.
20447 (grub_atapi_identify): Add wait after drive select.
20448 (grub_ata_identify): Do more strict status register check before
20449 calling grub_atapi_identify (). Suppress error message if status
20450 register is 0x00 after command failure. Add status register
20451 check after PIO read to avoid bogus identify due to stuck DRQ.
20452 Thanks to Pavel Roskin for testing.
20453 (grub_device_initialize): Remove unsafe status register check.
20454 Thanks to 'phcoder' for problem report and patch.
20455 Prevent sign extension in debug message.
20456
230c0ad6 204572009-05-23 Colin D Bennett <colin@gibibit.com>
20458
20459 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20460 definition file, and functions defined in `normal/menu.c' have had
20461 their prototypes moved to `include/grub/menu.h' for consistency.
20462
20463 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20464 from normal.h.
20465 (grub_menu_get_entry): Likewise.
20466 (grub_menu_get_timeout): Likewise.
20467 (grub_menu_set_timeout): Likewise.
20468 (grub_menu_execute_entry): Likewise.
20469 (grub_menu_execute_with_fallback): Likewise.
20470 (grub_menu_entry_run): Likewise.
20471
20472 * include/grub/normal.h: Re-ordered and grouped function
20473 prototypes by file that the function is defined in.
20474 (grub_menu_execute_callback): Removed; moved to menu.h.
20475 (grub_menu_get_entry): Likewise.
20476 (grub_menu_get_timeout): Likewise.
20477 (grub_menu_set_timeout): Likewise.
20478 (grub_menu_execute_entry): Likewise.
20479 (grub_menu_execute_with_fallback): Likewise.
20480 (grub_menu_entry_run): Likewise.
20481 (grub_menu_addentry): Renamed from this ...
20482 (grub_normal_add_menu_entry): ... to this.
20483
20484 * normal/main.c (grub_menu_addentry): Renamed from this ...
20485 (grub_normal_add_menu_entry): ... to this.
20486
20487 * script/sh/execute.c (grub_script_execute_menuentry): Update
20488 reference to renamed grub_menu_addentry function.
20489
861f03a5 204902009-05-23 Felix Zielcke <fzielcke@z-51.de>
20491
20492 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20493
96b1619a 204942009-05-22 Pavel Roskin <proski@gnu.org>
20495
bf6a5fb2 20496 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20497 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20498 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20499 compiling for the i386 targets, but not for the utilities.
20500
96b1619a 20501 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20502 to grub_uint8_t.
20503 (grub_root_drive): Likewise.
20504 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20505 remove alignment.
20506 (grub_root_drive): Change size to byte.
20507 (grub_start_addr): Remove.
20508 (grub_end_addr): Likewise.
20509 (grub_apm_bios_info): Likewise.
20510
b729776b 205112009-05-21 Felix Zielcke <fzielcke@z-51.de>
20512
20513 * normal/i386: Remove.
20514 * normal/powerpc: Likewise.
20515 * normal/sparc64: Likewise.
20516 * normal/x86_64: Likewise.
20517
0a15ce80 205182009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 20521 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 20522 * loader/i386/xnu_helper.S: Likewise
d6da58e6 20523
33db9015 205242009-05-18 Colin D Bennett <colin@gibibit.com>
20525
d6da58e6 20526 Display error messages when parsing a Lua statement fails.
20527 Previously, executing a syntactically invalid statement like
20528 ")foo" or "bar;" would silently fail.
33db9015 20529
20530 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 20531 (grub_lua_parse_line): Improved reporting of Lua parser and
20532 execution errors.
33db9015 20533
46422c89 205342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 Remove -Werror which causes build to fail on some systems
20537
20538 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20539 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20540 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 20541
22f53a96 205422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20543
20544 trampoline for linux on 64-bit platform
20545
18f547ad 20546 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20547 loader/i386/efi/linux_trampoline.S
20548 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 20549 declaration
d6da58e6 20550 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20551 here
22f53a96 20552 * loader/i386/linux_trampoline.S: moved here
d6da58e6 20553 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20554 trampoline
22f53a96 20555 (jumpvector): removed
20556 (grub_linux_trampoline_start): new declaration
20557 (grub_linux_trampoline_end): likewise
20558 (grub_linux_boot): use trampoline when on 64-bit platform
20559 * loader/i386/linux.c: likewise
20560
cb5a0f40 205612009-05-16 Pavel Roskin <proski@gnu.org>
20562
20563 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20564 const to avoid a warning.
20565 (grub_lua_setenv): Likewise.
20566 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20567 lmsg to fix a warning.
20568
334f2c28 205692009-05-16 Felix Zielcke <fzielcke@z-51.de>
20570
20571 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 20572 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20573 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20574 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20575 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20576 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20577 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20578 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 20579
59e5d3ec 205802009-05-16 Felix Zielcke <fzielcke@z-51.de>
20581
20582 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20583
9d87a1ba 205842009-05-16 Bean <bean123ch@gmail.com>
20585
20586 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20587 (lua_mod_SOURCES): New variable.
20588 (lua_mod_CFLAGS): Likewise.
20589 (lua_mod_LDFLAGS): Likewise.
20590
20591 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20592 (setjmp_mod_SOURCES): New variable.
20593 (setjmp_mod_CFLAGS): Likewise.
20594 (setjmp_LDFLAGS): Likewise.
20595
20596 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20597 (setjmp_mod_SOURCES): New variable.
20598 (setjmp_mod_CFLAGS): Likewise.
20599 (setjmp_LDFLAGS): Likewise.
20600
20601 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20602 (setjmp_mod_SOURCES): New variable.
20603 (setjmp_mod_CFLAGS): Likewise.
20604 (setjmp_LDFLAGS): Likewise.
20605
20606 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20607 (setjmp_mod_SOURCES): New variable.
20608 (setjmp_mod_CFLAGS): Likewise.
20609 (setjmp_LDFLAGS): Likewise.
20610
20611 * normal/i386/setjmp.S: Moved from here ...
20612 * lib/i386/setjmp.S: ... Moved here
20613 * normal/x86_64/setjmp.S: Moved from here ...
20614 * lib/x86_64/setjmp.S: ... Moved here
20615 * normal/powerpc/setjmp.S: Moved from here ...
20616 * lib/powerpc/setjmp.S: ... Moved here
20617 * normal/sparc64/setjmp.S: Moved from here ...
20618 * lib/sparc64/setjmp.S: ... Moved here
20619
20620 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20621 returns_twice in mingw.
20622
20623 * script/lua/grub_lib.c: New file.
20624 * script/lua/grub_lib.h: Likewise.
20625 * script/lua/grub_lua.h: Likewise.
20626 * script/lua/grub_main.c: Likewise.
20627 * script/lua/lapi.c: Likewise.
20628 * script/lua/lapi.h: Likewise.
20629 * script/lua/lauxlib.c: Likewise.
20630 * script/lua/lauxlib.h: Likewise.
20631 * script/lua/lbaselib.c: Likewise.
20632 * script/lua/lcode.c: Likewise.
20633 * script/lua/lcode.h: Likewise.
20634 * script/lua/ldblib.c: Likewise.
20635 * script/lua/ldebug.c: Likewise.
20636 * script/lua/ldebug.h: Likewise.
20637 * script/lua/ldo.c: Likewise.
20638 * script/lua/ldo.h: Likewise.
20639 * script/lua/ldump.c: Likewise.
20640 * script/lua/lfunc.c: Likewise.
20641 * script/lua/lfunc.h: Likewise.
20642 * script/lua/lgc.c: Likewise.
20643 * script/lua/lgc.h: Likewise.
20644 * script/lua/linit.c: Likewise.
20645 * script/lua/liolib.c: Likewise.
20646 * script/lua/llex.c: Likewise.
20647 * script/lua/llex.h: Likewise.
20648 * script/lua/llimits.h: Likewise.
20649 * script/lua/lmathlib.c: Likewise.
20650 * script/lua/lmem.c: Likewise.
20651 * script/lua/lmem.h: Likewise.
20652 * script/lua/loadlib.c: Likewise.
20653 * script/lua/lobject.c: Likewise.
20654 * script/lua/lobject.h: Likewise.
20655 * script/lua/lopcodes.c: Likewise.
20656 * script/lua/lopcodes.h: Likewise.
20657 * script/lua/loslib.c: Likewise.
20658 * script/lua/lparser.c: Likewise.
20659 * script/lua/lparser.h: Likewise.
20660 * script/lua/lstate.c: Likewise.
20661 * script/lua/lstate.h: Likewise.
20662 * script/lua/lstring.c: Likewise.
20663 * script/lua/lstring.h: Likewise.
20664 * script/lua/lstrlib.c: Likewise.
20665 * script/lua/ltable.c: Likewise.
20666 * script/lua/ltable.h: Likewise.
20667 * script/lua/ltablib.c: Likewise.
20668 * script/lua/ltm.c: Likewise.
20669 * script/lua/ltm.h: Likewise.
20670 * script/lua/lua.h: Likewise.
20671 * script/lua/luaconf.h: Likewise.
20672 * script/lua/lualib.h: Likewise.
20673 * script/lua/lundump.c: Likewise.
20674 * script/lua/lundump.h: Likewise.
20675 * script/lua/lvm.c: Likewise.
20676 * script/lua/lvm.h: Likewise.
20677 * script/lua/lzio.c: Likewise.
20678 * script/lua/lzio.h: Likewise.
20679
5e898c9d 206802009-05-16 Bean <bean123ch@gmail.com>
20681
20682 * include/grub/kernel.h (grub_module_header_types): Add type
20683 OBJ_TYPE_CONFIG.
20684
20685 * kern/main.c (grub_load_config): New function.
20686 (grub_main): Call grub_load_config to read boot config.
20687
20688 * grub-mkimage (generate_image): New parameter config_path.
20689 (options): New option --config.
20690 (main): Parse --config option, and pass it to generate_image.
20691
cf353a47 206922009-05-14 Christian Franke <franke@computer.org>
20693
20694 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20695 This fixes build on Cygwin.
20696
3834887f 206972009-05-14 Pavel Roskin <proski@gnu.org>
20698
20699 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20700 jump. This saves two bytes, so the typical case of 2 swapped
20701 drives would fit 32 bytes.
20702
8090fc01 207032009-05-13 Pavel Roskin <proski@gnu.org>
20704
ac963883 20705 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20706 grub_uint32_t to avoid a warning.
20707
8090fc01 20708 * loader/i386/linux.c (allocate_pages): When assigning
20709 real_mode_mem, cast through grub_size_t to fix a warning. The
20710 code already makes sure that the value would fit a pointer.
20711 (grub_linux_setup_video): Cast render_target->data to
20712 grub_size_t to fix a warning.
20713
18f547ad 207142009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 20715
20716 * commands/i386/pc/drivemap.c: New file - implement drivemap
20717 command.
20718 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20719 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20720
6f6a8b28 207212009-05-13 Pavel Roskin <proski@gnu.org>
20722
20723 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20724 embedding_area_exists.
20725
15fbf4c4 207262009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20727
20728 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20729 it easier to understand / work with.
59978c8a 20730 Improve warning messages for cases where there's no embedding area,
20731 or when it is too small (or core.img too large).
15fbf4c4 20732
238e871f 207332009-05-13 Pavel Roskin <proski@gnu.org>
20734
0ab3a9a4 20735 * loader/i386/pc/multiboot2.c: Add necessary includes for
20736 grub_multiboot2_real_boot().
20737
a2c8c5f8 20738 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20739 PX record is always little-endian. We only need the lower 2
20740 bytes of the mode.
20741
faec96af 20742 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20743 facilitate code reuse.
20744 (grub_cpio_mount): Use "struct head", not a char buffer. This
20745 fixes a warning reported by gcc 4.4.
20746
238e871f 20747 * kernel/disk.c (grub_disk_read): Use void pointer for the
20748 buffer.
20749 (grub_disk_write): Use const void pointer for the buffer.
20750 Adjust all callers. Remove unnecessary casts.
20751
901d2f0c 207522009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20753
20754 * util/i386/pc/grub-install.in: Update copyright year.
20755
18f547ad 207562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 20757
20758 gptsync
20759
20760 * commands/gptsync.c: new file
20761 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20762 (gptsync_mod_SOURCES): new variable
20763 (gptsync_mod_CFLAGS): likewise
20764 (gptsync_mod_LDFLAGS): likewise
18f547ad 20765 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 20766 new definition
20767 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20769 * conf/i386-ieee1275.rmk: likewise
20770 * conf/i386-pc.rmk: likewise
20771 * conf/powerpc-ieee1275.rmk: likewise
20772
b4ba690a 207732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20774
20775 Fixed grub-emu
20776
20777 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20778 (grub_dl_ref): likewise
20779
317e1a44 207802009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20781
20782 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20783 split in two functions (one for msdos and one for gpt).
20784
041b8094 207852009-05-08 Pavel Roskin <proski@gnu.org>
20786
752473c2 20787 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20788 not modified.
20789
041b8094 20790 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20791 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20792 Initialize them with -1. Add sanity check for bad1. Eliminate
20793 nerr variable.
20794
172800ce 207952009-05-08 David S. Miller <davem@davemloft.net>
20796
20797 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20798
29aa5e81 207992009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20800
20801 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 20802 existence.
29aa5e81 20803
96613b62 208042009-05-05 Felix Zielcke <fzielcke@z-51.de>
20805
20806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 20807 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 20808
eef73c8a 208092009-05-05 David S. Miller <davem@davemloft.net>
20810
20811 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20812
119494b5 208132009-05-05 Pavel Roskin <proski@gnu.org>
20814
20815 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20816 of grub_dl_ref() and grub_dl_unref().
20817 * commands/parttool.c: Remove preprocessor conditionals around
20818 grub_dl_ref() and grub_dl_unref().
20819 * fs/affs.c: Likewise.
20820 * fs/afs.c: Likewise.
20821 * fs/cpio.c: Likewise.
20822 * fs/ext2.c: Likewise.
20823 * fs/fat.c: Likewise.
20824 * fs/hfs.c: Likewise.
20825 * fs/hfsplus.c: Likewise.
20826 * fs/iso9660.c: Likewise.
20827 * fs/jfs.c: Likewise.
20828 * fs/minix.c: Likewise.
20829 * fs/ntfs.c: Likewise.
20830 * fs/reiserfs.c: Likewise.
20831 * fs/sfs.c: Likewise.
20832 * fs/udf.c: Likewise.
20833 * fs/ufs.c: Likewise.
20834 * fs/xfs.c: Likewise.
20835 * include/grub/dl.h: Likewise.
20836 * loader/xnu.c: Likewise.
20837
de5fd76e 208382009-05-04 Pavel Roskin <proski@gnu.org>
20839
20840 * commands/acpi.c: Remove unused variable my_mod.
20841 * partmap/amiga.c: Likewise.
20842 * partmap/apple.c: Likewise.
20843 * partmap/gpt.c: Likewise.
20844 * partmap/pc.c: Likewise.
20845 * partmap/sun.c: Likewise.
20846 * term/gfxterm.c: Likewise.
20847 * term/i386/pc/vesafb.c: Likewise.
20848 * term/i386/pc/vga.c: Likewise.
20849
983598ad 208502009-05-04 David S. Miller <davem@davemloft.net>
20851
20852 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20853 pointer args to grub_ieee1275_get_property().
20854
8aadec43 20855 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20856
9554b15e 20857 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20858 devices, and do not traverse down under controller nodes.
20859
67e23c90 20860 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20861 (grub_ofdisk_open): Use it to un-escape "," characters.
20862 * kern/disk.c (find_part_sep): New.
20863 (grub_disk_open): Use it to find the first non-escaped ','
20864 character in the disk name.
20865 * util/ieee1275/devicemap.c (escape_of_path): New.
20866 (grub_util_emit_devicemap_entry): Use it.
20867 * util/sparc64/ieee1275/grub-install.in: Update script to
20868 strip partition specifiers properly by not triggering on
20869 '\' escaped ',' characters.
20870
74bfdd2f 208712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20872
20873 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20874 to 0x300.
20875 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20876 resolutions.
20877 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20878 on documentation from Wikipedia).
20879
4241d2b1 208802009-05-04 Pavel Roskin <proski@gnu.org>
20881
20882 * disk/ata.c: Spelling fixes.
20883 * disk/raid.c: Likewise.
20884 * disk/usbms.c: Likewise.
20885 * disk/dmraid_nvidia.c: Likewise.
20886 * kern/ieee1275/openfw.c: Likewise.
20887 * kern/ieee1275/init.c: Likewise.
20888 * kern/ieee1275/cmain.c: Likewise.
20889 * boot/i386/pc/cdboot.S: Likewise.
20890 * video/readers/png.c: Likewise.
20891 * video/i386/pc/vbe.c: Likewise.
20892 * fs/udf.c: Likewise.
20893 * fs/hfs.c: Likewise.
20894 * fs/reiserfs.c: Likewise.
20895 * efiemu/runtime/efiemu.c: Likewise.
20896 * efiemu/main.c: Likewise.
20897 * efiemu/mm.c: Likewise.
20898 * include/grub/elf.h: Likewise.
20899 * include/grub/xnu.h: Likewise.
20900 * include/grub/usbdesc.h: Likewise.
20901 * include/grub/usb.h: Likewise.
20902 * include/grub/script_sh.h: Likewise.
20903 * include/grub/lib/LzmaEnc.h: Likewise.
20904 * include/grub/efiemu/efiemu.h: Likewise.
20905 * include/grub/command.h: Likewise.
20906 * normal/menu.c: Likewise.
20907 * normal/main.c: Likewise.
20908 * normal/datetime.c: Likewise.
20909 * bus/usb/uhci.c: Likewise.
20910 * mmap/i386/uppermem.c: Likewise.
20911 * mmap/mmap.c: Likewise.
20912 * commands/acpi.c: Likewise.
20913 * commands/test.c: Likewise.
20914 * partmap/apple.c: Likewise.
20915 * font/font.c: Likewise.
20916 * loader/sparc64/ieee1275/linux.c: Likewise.
20917 * loader/macho.c: Likewise.
20918 * loader/i386/bsd_trampoline.S: Likewise.
20919 * loader/i386/bsd.c: Likewise.
20920 * loader/xnu.c: Likewise.
20921 * term/i386/pc/vesafb.c: Likewise.
20922 * term/usb_keyboard.c: Likewise.
20923 * util/resolve.c: Likewise.
20924 * util/getroot.c: Likewise.
20925
0cfc0083 209262009-05-04 Felix Zielcke <fzielcke@z-51.de>
20927
20928 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20929
7c1d00cd 209302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20931
20932 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20933 build error.
20934
b01f0548 209352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20936
20937 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20938 parameter only available on BIOS.
20939
ecc3eb22 209402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 Removed wrong semicolon in declaration
20943
20944 * grub/misc.h (grub_dprintf): remove semicolon
20945
112972a9 209462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20947
20948 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20949 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20950 is done by grub_cmd_linux() now).
20951 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20952 restore video to text mode.
20953 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20954 indicates lack of "vga=" parameter. "vga=0" is mapped to
20955 `GRUB_LINUX_VID_MODE_NORMAL'.
20956
afd5c115 209572009-05-04 Felix Zielcke <fzielcke@z-51.de>
20958
20959 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20960 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20961 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 20962 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 20963 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20964 `grub_script.tab.c'.
20965
20966 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20967 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20970 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20971
faa517ce 20972 * Makefile.in: Remove duplicated 2008 in Copyright line.
20973
ae0c0bdc 209742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20975
473d1e45 20976 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 20977 unconditionally.
20978 * include/grub/util/misc.h (grub_util_warn): New declaration.
20979
20980 * util/i386/pc/grub-install.in: Understand --force and pass it down
20981 to grub-setup.
20982
20983 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20984 down to setup().
20985 (setup): Improve error messages and add warnings when requested to
20986 install in odd layouts. Refuse to install using blocklists unless
20987 --force was set.
20988
18f547ad 209892009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 20990
20991 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20992
6d260daa 209932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 Updated copyright year
20996
20997 * fs/hfsplus.c: updated copyright year
18f547ad 20998
69f853f8 209992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 HFS+ UUID
21002
18f547ad 21003 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 21004 in the space previously used by unused3
21005 (grub_hfsplus_uuid): new function
21006 (grub_hfsplus_fs): added uuid field
21007
4c402e73 210082009-05-03 Pavel Roskin <proski@gnu.org>
21009
21010 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
21011 suppress warnings. It's no longer needed.
21012 * disk/host.c: Likewise.
21013 * disk/ata_pthru.c: Likewise.
21014 * disk/loopback.c: Likewise.
21015 * hook/datehook.c: Likewise.
21016 * parttool/pcpart.c: Likewise.
21017 * fs/i386/pc/pxe.c: Likewise.
21018 * fs/ntfscomp.c: Likewise.
21019 * efiemu/main.c: Likewise.
21020 * mmap/mmap.c: Likewise.
21021 * commands/crc.c: Likewise.
21022 * commands/hexdump.c: Likewise.
21023 * commands/hdparm.c: Likewise.
21024 * commands/acpi.c: Likewise.
21025 * commands/echo.c: Likewise.
21026 * commands/minicmd.c: Likewise.
21027 * commands/blocklist.c: Likewise.
21028 * commands/memrw.c: Likewise.
21029 * commands/loadenv.c: Likewise.
21030 * commands/usbtest.c: Likewise.
21031 * commands/lsmmap.c: Likewise.
21032 * commands/boot.c: Likewise.
21033 * commands/parttool.c: Likewise.
21034 * commands/configfile.c: Likewise.
21035 * commands/search.c: Likewise.
21036 * commands/ieee1275/suspend.c: Likewise.
21037 * commands/cat.c: Likewise.
21038 * commands/i386/pc/pxecmd.c: Likewise.
21039 * commands/i386/pc/play.c: Likewise.
21040 * commands/i386/pc/halt.c: Likewise.
21041 * commands/i386/pc/vbeinfo.c: Likewise.
21042 * commands/i386/pc/vbetest.c: Likewise.
21043 * commands/lspci.c: Likewise.
21044 * commands/date.c: Likewise.
21045 * commands/handler.c: Likewise.
21046 * commands/ls.c: Likewise.
21047 * commands/test.c: Likewise.
21048 * commands/cmp.c: Likewise.
21049 * commands/efi/loadbios.c: Likewise.
21050 * commands/efi/fixvideo.c: Likewise.
21051 * commands/halt.c: Likewise.
21052 * commands/help.c: Likewise.
21053 * commands/reboot.c: Likewise.
21054 * hello/hello.c: Likewise.
21055 * script/sh/main.c: Likewise.
21056 * loader/xnu.c: Likewise.
21057 * term/terminfo.c: Likewise.
21058 * term/i386/pc/serial.c: Likewise.
21059 * term/usb_keyboard.c: Likewise.
21060
515b5079 210612009-05-03 David S. Miller <davem@davemloft.net>
21062
21063 * normal/menu.c: Include grub/parser.h
21064
dfc31a22 210652009-05-03 Pavel Roskin <proski@gnu.org>
21066
2fee74f1 21067 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21068 not char*.
21069 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21070 Suggested by Javier Martín <lordhabbit@gmail.com>
21071
dfc31a22 21072 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21073 efiemu??.o doesn't exist.
21074 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21075 copying.
21076
18f547ad 210772009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 21078
21079 FreeBSD 64-bit support
21080
18f547ad 21081 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 21082 and loader/i386/bsd_trampoline.S
21083 (bsd_mod_ASFLAGS): new variable
21084 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21085 (FREEBSD_MODTYPE_KERNEL64): likewise
21086 (grub_bsd64_trampoline_start): likewise
21087 (grub_bsd64_trampoline_end): likewise
21088 (grub_bsd64_trampoline_selfjump): likewise
21089 (grub_bsd64_trampoline_gdt): likewise
21090 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21091 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21092 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21093 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 21094 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 21095 of "attrib" member
21096 * loader/i386/bsd_pagetable.c: new file
21097 * loader/i386/bsd_trampoline.S: likewise
21098 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21099 (ALIGN_VAR): likewise
21100 (entry_hi): new variable
21101 (kern_end_mdofs): likewise
21102 (is_64bit): likewise
21103 (grub_freebsd_add_meta): use ALIGN_VAR
21104 (grub_e820_mmap): new declaration
21105 (grub_freebsd_add_mmap): new function
21106 (grub_freebsd_add_meta_module): support 64 bit kernels
21107 (grub_freebsd_list_modules): use ALIGN_VAR
21108 (gdt_descriptor): new declaration
21109 (grub_freebsd_boot): support 64 bit kernels
21110 (grub_bsd_elf64_hook): new function
21111 (grub_bsd_load_elf): support elf64
21112
038c5720 211132009-05-03 Bean <bean123ch@gmail.com>
21114
21115 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21116 after we get the result of if statement.
21117
fc45fb58 211182009-05-03 Bean <bean123ch@gmail.com>
21119
21120 * Makefile.in (enable_efiemu): New variable.
21121
21122 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21123 set.
21124 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21125 path.
21126 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21127 path, add -mno-red-zone option.
21128 (efiemu64_s.o): Likewise.
21129 (efiemu64.o): Use macro $^ for source file.
21130
21131 * configure.ac (--enable-efiemu): New option.
21132
bbee0f2b 211332009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 xnu support
21136
21137 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21138 (pkglib_MODULES): add xnu.mod
21139 (xnu_mod_SOURCES): new variable
21140 (xnu_mod_CFLAGS): likewise
21141 (xnu_mod_LDFLAGS): likewise
21142 (xnu_mod_ASFLAGS): likewise
21143 * conf/i386-pc.rmk: likewise
21144 * conf/x86_64-efi.rmk: likewise
7dd4a573 21145 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 21146 new declaration
21147 * include/grub/i386/macho.h: new file
21148 * include/grub/i386/xnu.h: likewise
21149 * include/grub/macho.h: likewise
21150 * include/grub/machoload.h: likewise
21151 * include/grub/x86_64/macho.h: likewise
21152 * include/grub/x86_64/xnu.h: likewise
21153 * include/grub/xnu.h: likewise
21154 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21155 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21156 * loader/i386/efi/xnu.c: new file
21157 * loader/i386/pc/xnu.c: likewise
21158 * loader/i386/xnu.c: likewise
21159 * loader/i386/xnu_helper.S: likewise
21160 * loader/macho.c: likewise
21161 * loader/xnu.c: likewise
21162 * loader/xnu_resume.c: likewise
21163 * util/grub-dumpdevtree: likewise
21164 * include/grub/i386/pit.h: include grub/err.h
21165 (grub_pit_wait): export
21166 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 21167
5caf964d 211682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 Efiemu
7dd4a573 21171
5caf964d 21172 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 21173 _linux_efi, linux_efi.
21174 new files in grub-emu
5caf964d 21175 new targets efiemu32.o and efiemu64.o
21176 * loader/linux_normal_efiemu.c: likewise
21177 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 21178 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 21179 files to copy
21180 * include/grub/autoefi.h: new file
7dd4a573 21181 * include/grub/i386/efiemu.h: likewise
5caf964d 21182 * include/grub/i386/pc/efiemu.h: likewise
21183 * include/grub/efi/api.h: add LL suffix when necessary
21184 new definitions relating to tables
21185 * include/grub/efiemu/efiemu.h: new file
21186 * include/grub/efiemu/runtime.h: likewise
21187 * efiemu/prepare.c: likewise
21188 * efiemu/loadcore_common.c: likewise
21189 * efiemu/loadcore64.c: likewise
21190 * efiemu/runtime/efiemu.sh: likewise
21191 * efiemu/runtime/efiemu.S: likewise
21192 * efiemu/runtime/efiemu.c: likewise
21193 * efiemu/runtime/config.h: likewise
21194 * efiemu/prepare32.c: likewise
21195 * efiemu/main.c: likewise
21196 * efiemu/modules/pnvram.c: likewise
21197 * efiemu/modules/i386: likewise
21198 * efiemu/modules/i386/pc: likewise
21199 * efiemu/modules/acpi.c: likewise
21200 * efiemu/i386/pc/cfgtables.c: likewise
21201 * efiemu/i386/loadcore64.c: likewise
21202 * efiemu/i386/loadcore32.c: likewise
21203 * efiemu/prepare64.c: likewise
21204 * efiemu/loadcore.c: likewise
21205 * efiemu/symbols.c: likewise
21206 * efiemu/mm.c: likewise
21207 * efiemu/loadcore32.c: likewise
7dd4a573 21208
212092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 21210
21211 ACPI spoofing
21212
21213 * commands/acpi.c: new file
21214 * commands/i386/pc/acpi.c: likewise
21215 * commands/efi/acpi.c: likewise
21216 * include/grub/acpi.h: likewise
21217 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21218 (acpi_mod_SOURCES): new variable
21219 (acpi_mod_CFLAGS): likewise
21220 (acpi_mod_LDFLAGS): likewise
21221 * conf/i386-efi.rmk: likewise
21222 * conf/x86_64-efi.rmk: likewise
21223
7dd4a573 212242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 21225
21226 Missing part from mmap patch
21227
21228 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21229 (grub_mmap_unregister)
21230 (grub_mmap_free_and_unregister): use grub_mmap_register
21231
7dd4a573 212322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 21233
21234 Mmap services
21235
21236 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21237 * loader/i386/linux.c (find_mmap_size): likewise
21238 (allocate_pages): likewise
21239 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21240 (grub_fill_multiboot_mmap): likewise
21241 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21242 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21243 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21244 (OPENBSD_MMAP_RESERVED): likewise
21245 * include/grub/i386/pc/memory.h: include grub/memory.h
21246 (grub_lower_mem): removed
21247 (grub_upper_mem): likewise
21248 (GRUB_MACHINE_MEMORY_ACPI): new definition
21249 (GRUB_MACHINE_MEMORY_NVS): likewise
21250 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21251 (GRUB_MACHINE_MEMORY_HOLE): likewise
21252 (grub_machine_mmap_register): likewise
21253 (grub_machine_mmap_unregister): likewise
21254 (grub_machine_get_upper): likewise
21255 (grub_machine_get_lower): likewise
21256 (grub_machine_get_post64): likewise
21257 * include/grub/i386/efi/memory.h: new file
21258 * include/grub/x86_64/efi/memory.h: likewise
21259 * include/grub/efi/memory.h: likewise
21260 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21261 (mmap_mod_SOURCES): new variable
21262 (mmap_mod_LDFLAGS): likewise
21263 (mmap_mod_ASFLAGS): likewise
21264 * conf/i386-coreboot.rmk: likewise
21265 * conf/i386-ieee1275.rmk: likewise
21266 * conf/i386-efi.rmk: likewise
21267 * conf/x86_64-efi.rmk: likewise
21268 * include/grub/types.h (UINT_TO_PTR): new macro
21269 (PTR_TO_UINT32): likewise
21270 (PTR_TO_UINT64): likewise
21271 * include/grub/memory.h: new file
21272 * mmap/i386/pc/mmap.c: likewise
21273 * mmap/i386/pc/mmap_helper.S: likewise
21274 * mmap/i386/uppermem.c: likewise
21275 * mmap/mmap.c: likewise
21276 * mmap/efi/mmap.c: likewise
7dd4a573 21277 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 21278 grub_upper_mem
21279 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21280 (grub_upper_mem): likewise
21281 (grub_machine_init): don't use grub_upper_mem,
21282 make grub_lower_mem local
21283 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21284 grub_mmap_iterate and grub_mmap_get_upper
21285 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21286
d558e6b5 212872009-05-02 Bean <bean123ch@gmail.com>
21288
21289 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21290 script/sh/parser.y.
21291 (pkglib_MODULES): Add normal.mod and sh.mod.
21292 (normal_SOURCES): New variable.
21293 (normal_mod_CFLAGS): Likewise.
21294 (normal_mod_LDFLAGS): Likewise.
21295 (sh_mod_SOURCES): Likewise.
21296 (sh_mod_CFLAGS): Likewise.
21297 (sh_mod_LDFLAGS): Likewise.
21298
21299 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21300 script/sh/lexer.c_DEPENDENCIES.
21301 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21302 kern/rescue_reader.c and kern/rescue_parser.c.
21303 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21304 (grub_emu_SOURCES): Change source files.
21305 (pkglib_MODULES): Remove normal.mod.
21306 (normal_SOURCES): Removed.
21307 (normal_mod_CFLAGS): Likewise.
21308 (normal_mod_LDFLAGS): Likewise.
21309 * conf/i386-coreboot.rmk: Likewise.
21310 * conf/i386-efi.rmk: Likewise.
21311 * conf/i386-ieee1276.rmk: Likewise.
21312 * conf/powerpc-ieee1275.rmk: Likewise.
21313 * conf/sparc64-ieee1275.rmk: Likewise.
21314 * conf/x86_64-efi.rmk: Likewise.
21315
21316 * include/grub/command.h (grub_command_execute): New inline function.
21317
21318 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21319
21320 * include/grub/normal.h: Remove <grub/setjmp.h>.
21321 (grub_fs_module_list): Moved to normal/autofs.c.
21322 (grub_exit_env): Removed.
21323 (grub_command_execute): Likewise.
21324 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21325 parameter script.
21326 (read_command_list): New function declaration.
21327 (read_fs_list): Likewise.
21328
21329 * include/parser.h: Include <grub/reader.h>.
21330 (grub_parser_split_cmdline): Change type of getline parameter.
21331 (grub_parser): New structure.
21332 (grub_parser_class): New variable.
21333 (grub_parser_execute): New function declaration.
21334 (grub_register_rescue_parser): Likewise.
21335 (grub_parser_register): New inline function.
21336 (grub_parser_unregister): Likewise.
21337 (grub_parser_get_current): Likewise.
21338 (grub_parser_set_current): Likewise.
21339
21340 * include/grub/reader.h: New file.
21341 * kern/reader.c: Likewise.
21342 * kern/rescue_parser.c: Likewise.
21343 * kern/rescue_reader.c: Likewise.
21344 * normal/autofs.c: Likewise.
21345 * normal/dyncmd.c: Likewise.
21346
21347 * include/grub/rescue.h: Removed.
21348 * normal/command.h: Likewise.
21349
21350 * include/grub/script.h: Moved to ...
21351 * include/grub/script_sh.h: ... Moved here.
21352 * normal/execute.c: Moved to ...
21353 * script/sh/execute.c: ... Moved here.
21354 * normal/function.c: Moved to ...
21355 * script/sh/function.c: ... Moved here.
21356 * normal/lexer.c: Moved to ...
21357 * script/sh/lexer.c: ... Moved here.
21358 * normal/parser.y: Moved to ...
21359 * script/sh/parser.y: ... Moved here.
21360 * normal/script.c: Moved to ...
21361 * script/sh/script.c: ... Moved here.
21362
21363 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21364 <grub/reader.h>.
21365 (grub_exit_env): Removed.
21366 (fs_module_list): Moved to normal/autofs.c.
21367 (grub_file_getline): Don't handle comment here.
21368 (free_menu): Skip removed field entry->commands.
21369 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21370 script parameter.
21371 (read_config_file): Removed nested parameter, change getline function.
21372 (grub_enter_normal_mode): Removed.
21373 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21374 (read_command_list): Likewise.
21375 (autoload_fs_module): Moved to normal/autofs.c.
21376 (read_fs_list): Likewise.
21377 (reader_nested): New variable.
21378 (grub_normal_execute): Run parser.sh to switch to sh parser.
21379 (grub_cmd_rescue): Removed.
21380 (cmd_normal): Removed.
21381 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21382 rescue command.
21383 (grub_cmdline_run): New function.
21384 (grub_normal_reader_init): Likewise.
21385 (grub_normal_read_line): Likewise.
21386 (grub_env_write_pager): Likewise.
21387 (cmdline): New variable.
21388 (grub_normal_reader): Likewise.
21389 (GRUB_MOD_INIT): Register normal reader and set as current, register
21390 pager hook, register normal command with grub_register_command_prio,
21391 so that it won't show up in command.lst.
21392 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21393 grub_fs_autoload_hook.
21394
21395 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21396 (grub_menu_execute_entry): Replace grub_script_execute with
21397 grub_parser_execute, change parameter to grub_command_execute.
21398
21399 * normal/menu_text.c: Remove <grub/script.h>.
21400
21401 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21402 and <grub/parser.h>.
21403 (run): Change editor_getline to use new parser interface. Change
21404 parameter to grub_command_execute.
21405
21406 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21407 <grub/reader.h> and <grub/parser.h>.
21408 (grub_load_normal_mode): Execute normal command.
21409 (grub_main): Call grub_register_core_commands,
21410 grub_register_rescue_parser and grub_register_rescue_reader, use
21411 grub_reader_loop to enter input loop.
21412
7dd4a573 21413 * kern/parser.c (grub_parser_split_cmdline): Change type of
21414 getline parameter.
d558e6b5 21415 (grub_parser_class): New variable.
21416 (grub_parser_execute): New function.
21417
21418 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21419 * loader/multiboot2.c: Likewise.
21420 * loader/sparc64/ieee1275/linux.c: Likewise.
21421
21422 * util/grub-emu.c (read_command_list): New dummy function.
21423
18db813d 214242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21425
21426 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21427 count to 16 for CCISS and IDA.
21428
6c67de15 214292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 * normal/menu_text.c (grub_wait_after_message): Print a newline
21432 after waiting for user input.
21433
21434 * loader/i386/linux.c: Include `<grub/normal.h>'.
21435 (grub_cmd_linux): Improve the error message about `ask' mode, by
21436 waiting for user input so it's not missed (we can do this, since
21437 user requested interaction).
21438
d9dc87b0 214392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 Added missing lst to grub-mkrescue
21442
21443 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21444 and ${input_dir}/parttool.lst
21445
ac8a2baa 214462009-04-30 David S. Miller <davem@davemloft.net>
21447
ad22a610 21448 * util/hostdisk.c (device_is_wholedisk): New function.
21449 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21450 zero only if device_is_wholedisk() returns true.
21451
6966215d 21452 * util/hostdisk.c (convert_system_partition_to_system_disk):
21453 Handle virtual disk devices named /dev/vdiskX as found on sparc
21454 and powerpc.
21455
ac8a2baa 21456 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21457 lettered partition specifier is found, convert to numbered.
21458
979b4fb4 214592009-04-29 David S. Miller <davem@davemloft.net>
21460
e2bf39b2 21461 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21462 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21463
3c64e104 21464 * normal/command.c: Add missing newline at end of file.
21465
979b4fb4 21466 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21467 warnings.
21468 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21469 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21470 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21471 ihandles have a 32-bit type but need to be stored in a "void *".
21472
136d9f82 214732009-04-28 Pavel Roskin <proski@gnu.org>
21474
9459c306 21475 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21476 not disk. Adjust all dependencies.
2e08a26a 21477 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 21478 grub_disk_close().
21479
136d9f82 21480 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21481 parent's partition, don't copy it by reference, as it gets freed
21482 on close.
21483
7dd4a573 214842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 21485
21486 Preboot hooks support
21487
21488 * commands/boot.c (struct grub_preboot_t): new declaration
21489 (preboots_head): new variable
21490 (preboots_tail): likewise
21491 (grub_loader_register_preboot_hook): new function
21492 (grub_loader_unregister_preboot_hook): likewise
21493 (grub_loader_set): launch preboot hooks
21494 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21495 (grub_loader_register_preboot_hook): new declaration
21496 (grub_loader_unregister_preboot_hook): likewise
21497
5af922b5 214982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 Warning fix
21501
7dd4a573 21502 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 21503 calling grub_dprintf
21504
a5562c30 215052009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 Bug and warning fixes
21508
7dd4a573 21509 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 21510 declaration
21511 * commands/test.c (test_parse): fixed bug with file tests and corrected
21512 declaration of find_file
21513
4006f85c 215142009-04-26 Pavel Roskin <proski@gnu.org>
21515
21516 * Makefile.in: Don't install empty manual pages if help2man is
21517 missing. Use help2man option for output, not shell redirection.
21518
5c77c3de 215192009-04-26 David S. Miller <davem@davemloft.net>
21520
21521 * util/grub-mkdevicemap.c (make_device_map): Add missing
21522 NESTED_FUNC_ATTR to process_device().
21523
033b10a8 215242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 Test command
21527
21528 * commands/test.c: rewritten to use bash-like test
21529
e4343593 215302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 Parttool autoloading and improvements
21533
7dd4a573 21534 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 21535 (parttool.lst): new target
21536 * genmk.rb: generate parttool-*
21537 (CLEANFILES): add #{parttool}
21538 (PARTTOOLFILES): new variable
21539 * genparttoollist.sh: new file
7dd4a573 21540 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 21541 (grub_pcpart_type): likewise
21542 * commands/parttool.c (helpmsg): new variable
21543 (grub_cmd_parttool): output help if not enough arguments are supplied
21544 autoload modules
21545 (GRUB_MOD_INIT(parttool)): use helpmsg
21546
0d312500 215472009-04-24 David S. Miller <davem@davemloft.net>
21548
7dd4a573 21549 Avoiding opening same device multiple times in device iterator.
0d312500 21550
21551 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 21552 and use it to build a list of partitions in iterate_disk() and
0d312500 21553 iterate_partition().
21554
ac20caff 21555 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21556 on disk->data.
21557
0dcf7495 21558 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21559 grub_devalias_iterate() result instead of unconditional 0.
21560 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21561 Also, capture hook return value, either directly or via
21562 grub_children_iterate(), and propagate to caller.
21563 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21564 grub_children_iterate): Return value is now 'int' instead of
21565 'grub_err_t'.
21566 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21567 like a proper iterator, stopping when hooks return non-zero.
21568 (grub_devalias_iterate): Likewise.
21569
c8c08833 215702009-04-23 David S. Miller <davem@davemloft.net>
21571
21572 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21573
f01005a8 215742009-04-22 David S. Miller <davem@davemloft.net>
21575
21576 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21577 is larger than address_cells, use that value for address_cells too.
21578
4e8269da 21579 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21580 IEEE1275_MAX_PATH_LEN): Define.
21581 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21582 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21583 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21584 'devtype'. Explicitly NULL terminate devalias expansion.
21585
a1447506 21586 * util/sparc64/ieee1275/misc.c: New file.
21587 * util/sparc64/ieee1275/grub-setup.c: New file.
21588 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21589 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21590 * util/sparc64/ieee1275/grub-install.in: New file.
21591 * util/ieee1275/ofpath.c: New file.
21592 * util/ieee1275/devicemap.c: New file.
21593 * util/devicemap.c: New file.
21594 * util/deviceiter.c: New file.
21595 * kern/sparc64/ieee1275/init.c: New file.
21596 * include/grub/util/ofpath.h: New file.
21597 * include/grub/util/deviceiter.h: New file.
21598 * util/grub-mkdevicemap.c: Include deviceiter.h.
21599 Implement using grub_util_emit_devicemap_entry and
21600 grub_util_iterate_devices.
21601 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21602 util/devicemap.c into grub-mkdevicemap
21603 * conf/i386-efi.rmk: Likewise.
21604 * conf/i386-ieee1275.rmk: Likewise.
21605 * conf/i386-pc.rmk: Likewise.
21606 * conf/powerpc-ieee1275.rmk: Likewise.
21607 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21608 images and installation utilities. Build kernel as image
21609 instead of as elf binary. Use common rules as much as possible.
21610
7dd4a573 216112009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 21612
21613 Correct GPT definition
21614
7dd4a573 21615 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 21616 of "attrib" member
21617
c6c5219f 216182009-04-19 Felix Zielcke <fzielcke@z-51.de>
21619
21620 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21621
0552ff9f 216222009-04-19 David S. Miller <davem@davemloft.net>
21623
21624 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21625 (grub_rescue_cmd_linux): Rename to...
21626 (grub_cmd_linux): and fix prototype.
21627 (grub_rescue_cmd_initrd): Rename to...
21628 (grub_cmd_initrd): and fix prototype.
21629 (cmd_linux, cmd_initrd): New.
21630 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21631 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21632
d1a282fc 216332009-04-17 Pavel Roskin <proski@gnu.org>
21634
07c5039f 21635 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21636 format.
21637 (grub_ohci_transfer): Likewise.
21638
b012002d 21639 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21640
1bc09c35 21641 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21642 return without a value. Fix inconsistent indentation.
21643
e0ff9126 21644 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21645 match struct grub_fs.
21646
d1a282fc 21647 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21648 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21649 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21650 * commands/lspci.c (grub_lspci_iter): Likewise.
21651
a96df3f2 216522009-04-16 Bean <bean123ch@gmail.com>
21653
21654 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21655 value.
21656
41bb0fe9 216572009-04-15 Pavel Roskin <proski@gnu.org>
21658
21659 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21660 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21661 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21662 definitions.
21663
596c6970 216642009-04-15 Felix Zielcke <fzielcke@z-51.de>
21665
21666 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 21667 that no multiple data or metadata areas are supported and `Unknown
596c6970 21668 metadata header'.
21669
7dd4a573 216702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 21671
21672 Move loader out of the kernel
21673
21674 * kern/loader.c: moved to ...
21675 * commands/boot.c: ... moved here
21676 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21677 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21678 * include/grub/kernel.h (grub_machine_fini): export
21679 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21680 (grub_loader_set): likewise
21681 (grub_loader_unset): likewise
21682 (grub_loader_boot): likewise
21683 * conf/common.rmk: new module boot.mod
21684 (pkglib_MODULES): add boot.mod
21685 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21686 (grub_emu_SOURCES): likewise
21687 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21688 (grub_emu_SOURCES): likewise
21689 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21690 (grub_emu_SOURCES): likewise
21691 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21692 (grub_emu_SOURCES): likewise
21693 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21694 (grub_emu_SOURCES): likewise
7dd4a573 21695 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21696 (grub_emu_SOURCES): likewise
0d5d5653 21697 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 21698 (grub_emu_SOURCES): likewise
0d5d5653 21699
7dd4a573 217002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 21701
21702 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 21703
5999d619 21704 * kern/misc.c (grub_itoa): Removed function
21705 (grub_ltoa): likewise
21706 (grub_vsprintf): use grub_lltoa
21707
7dd4a573 217082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 21709
21710 Restore grub-emu
21711
21712 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21713 * conf/i386-coreboot.rmk: likewise
21714 * conf/i386-ieee1275.rmk: likewise
21715 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 21716
20318222 217172009-04-15 Felix Zielcke <fzielcke@z-51.de>
21718
21719 * INSTALL: Add that `./autogen.sh' needs to be run before
21720 `./configure.'.
21721
d05f0df3 217222009-04-14 Bean <bean123ch@gmail.com>
21723
21724 * Makefile.in (pkglib_DATA): Add handler.lst.
21725 (handler.lst): New rule.
21726
21727 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21728 * conf/i386-coreboot.rmk: Likewise.
21729 * conf/i386-ieee1275.rmk: Likewise.
21730 * conf/i386-efi.rmk: Likewise.
21731 * conf/x86_64-efi.rmk: Likewise.
21732 * conf/powerpc-ieee1275.rmk: Likewise.
21733 * conf/sparc64-ieee1275.rmk: Likewise.
21734
21735 * genhandlerlist.sh: New file.
21736
21737 * genmk.rb: Add rules to generate handler.lst.
21738
21739 * include/grub/normal.h (grub_file_getline): New function definition.
21740 (read_handler_list): Likewise.
21741 (free_handler_list): Likewise.
21742
21743 * include/grub/term.h (grub_term_register_input): Add name parameter
21744 for auto generation of handler.lst.
21745 (grub_term_register_output): Likewise.
21746
21747 * normal/handler.c: New file.
21748
21749 * normal/main.c (get_line): Renamed to grub_file_getline.
21750 (read_config_file): Use the newly renamed grub_file_getline.
21751 (read_command_list): Likewise.
21752 (read_fs_list): Likewise.
21753 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21754 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21755
21756 * term/efi/console.c (grub_console_init): Add name parameter for auto
21757 generation of handler.lst.
21758 * term/gfxterm.c: Likewise.
21759 * term/i386/pc/at_keyboard.c: Likewise.
21760 * term/i386/pc/console.c: Likewise.
21761 * term/i386/pc/serial.c: Likewise.
21762 * term/i386/pc/vesafb.c: Likewise.
21763 * term/i386/pc/vga.c: Likewise.
21764 * term/i386/pc/vga_text.c: Likewise.
21765 * term/ieee1275/ofconsole.c: Likewise.
21766 * term/usb_keyboard.c: Likewise.
21767
33c846be 217682009-04-14 Bean <bean123ch@gmail.com>
21769
21770 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21771 properly with null character.
21772
4484e01e 217732009-04-14 Felix Zielcke <fzielcke@z-51.de>
21774
21775 * configure: Remove.
21776 * config.h.in: Likewise.
f93d668e 21777 * stamp-h.in: Likewise.
4484e01e 21778 * DISTLIST: Likewise.
21779 * conf/common.mk: Likewise.
21780 * conf/i386-coreboot.mk: Likewise.
21781 * conf/i386-efi.mk: Likewise.
21782 * conf/i386-ieee1275.mk: Likewise.
21783 * conf/i386.mk: Likewise.
21784 * conf/i386-pc.mk: Likewise.
21785 * conf/powerpc-ieee1275.mk: Likewise.
21786 * conf/sparc64-ieee1275.mk: Likewise.
21787 * conf/x86_64-efi.mk: Likewise.
21788
21789 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21790 develop on GRUB.
21791
7dd4a573 217922009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 21793 David S. Miller <davem@davemloft.net>
21794
21795 * util/hostdisk.c (make_device_name): Fix buffer length
21796 calculations.
21797
e25b5a8c 217982009-04-14 Felix Zielcke <fzielcke@z-51.de>
21799
21800 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21801 <sys/param.h> and <sys/sysctl.h>.
21802 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21803 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21804 opening the device and reset them afterwards.
21805
1f1f580c 218062009-04-13 Pavel Roskin <proski@gnu.org>
21807
21808 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21809 Reported by John Stanley <jpsinthemix@verizon.net>
21810
7ebc2d6b 218112009-04-13 Robert Millan <rmh@aybabtu.com>
21812
21813 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 21814 that name for menuentries when appropriate.
7ebc2d6b 21815
d8ba3667 218162009-04-13 Felix Zielcke <fzielcke@z-51.de>
21817
21818 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21819
cba416eb 218202009-04-13 Robert Millan <rmh@aybabtu.com>
21821
21822 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21823 to Linux, simply abort telling the user it's no longer supported.
21824
a547a745 218252009-04-13 Felix Zielcke <fzielcke@z-51.de>
21826
21827 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 21828 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 21829 `freebsd_loadenv' only when devices.hints exist.
21830
232a769c 218312009-04-13 Pavel Roskin <proski@gnu.org>
21832
21833 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21834
c3012039 218352009-04-13 Felix Zielcke <fzielcke@z-51.de>
21836
21837 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21838 partition number.
21839 (grub_drive): Likewise.
21840
234022fe 218412009-04-13 David S. Miller <davem@davemloft.net>
21842
21843 * kern/sparc64/ieee1275/ieee1275.c: New file.
21844 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21845 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21846 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21847 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21848 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21849 grub_ieee1275_alloc_physmem): Declare new exported functions.
21850
d8e1836c 21851 * include/grub/sparc64/ieee1275/loader.h: New file.
21852 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21853 * include/grub/sparc64/kernel.h: Likewise.
21854 * loader/sparc64/ieee1275/linux.c: Likewise.
21855
96bd81ec 21856 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21857 (grub_fstest_SOURCES): Likewise.
21858
6a4737e5 21859 * util/hostdisk.c (make_device_name): Do not make any assumptions
21860 about the length of drive names.
21861
1d7a72fd 21862 * kern/dl.c (grub_dl_load_file): Close file immediately when
21863 we are done using it.
21864
56bc2471 218652009-04-12 David S. Miller <davem@davemloft.net>
21866
21867 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21868 values. Noticed by Pavel Roskin.
21869
df38d0bb 21870 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21871 target compiler.
7dd4a573 21872
e382e93a 21873 * genmk.rb: Add more flexible image type specification, also
21874 pass --strip-unneeded to objcopy.
21875 * conf/i386-pc.rmk: Use *_FORMAT.
21876 * conf/i386-pc.mk: Rebuilt.
21877
f5dbbca9 21878 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21879 (OFDISK_HASH_SZ): Define.
21880 (ofdisk_hash): New hash table.
21881 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21882 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21883 instead of device phandle which is not unique.
21884
91c88b12 21885 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21886 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21887 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21888 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21889 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21890 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21891 GRUB_KERNEL_MACHINE_DATA_END): Define.
21892 (grub_kernel_image_size, grub_total_module_size): Declare.
21893
5b5d4aa5 218942009-04-12 Pavel Roskin <proski@gnu.org>
21895
7dd4a573 21896 * configure.ac: Change the logic when we check for target tools.
21897 Do it when the target is specified and it's different from the
21898 specified value of the host.
5b5d4aa5 21899
c91e1793 219002009-04-11 Felix Zielcke <fzielcke@z-51.de>
21901
21902 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21903 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21904 GNU/kFreeBSD. Check if a device is a character device. Use
21905 DIOCGMEDIASIZE to get the size.
21906 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21907 support for GNU/kFreeBSD.
21908 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21909 is a character device instead of a block device. Add support for
21910 FreeBSD device names.
21911
21912 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21913 is a character device instead of a block device.
21914
21915 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21916 is a character device instead of a block device.
21917
b1ac8644 219182009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21919
21920 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21921 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21922 FreeBSD. Check if a device is a character device. Use
21923 DIOCGMEDIASIZE to get the size.
21924 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21925 support for FreeBSD.
21926 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21927 is a character device instead of a block device. Add support for
21928 FreeBSD device names.
21929
21930 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21931 a character device instead of a block device.
21932 (grub_util_check_char_device): New function.
21933
21934 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21935 a character device instead of a block device.
21936
21937 * include/grub/util/getroot.h (grub_util_check_char_device): New
21938 prototype.
21939
a3f7515a 219402009-04-11 David S. Miller <davem@davemloft.net>
21941
21942 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21943 static libgcc.
21944 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21945 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21946 function, if present.
21947 (__bswapdi2): Likewise.
21948
0d44993d 21949 * include/grub/sparc64/ieee1275/boot.h: New file.
21950 * boot/sparc64/ieee1275/boot.S: Likewise.
21951 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21952
ed3d2bc2 21953 * kern/misc.c (grub_ltoa): New function.
21954 (grub_vsprintf): Use it to format 'long' integers.
21955
d3bfb59c 219562009-04-10 David S. Miller <davem@davemloft.net>
21957
21958 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21959 slots are of type grub_ieee1275_cell_t.
21960 (grub_nand_read): Likewise.
21961 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21962 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21963 macros are used to compare values in arg/ret block of the call.
21964 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21965 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21966 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21967 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21968 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21969 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21970 grub_ieee1275_close, grub_ieee1275_set_property,
21971 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21972 grub_ieee1275_cell_t.
21973 * kern/ieee1275/openfw.c (grub_map): Likewise.
21974 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21975 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21976
450e2238 21977 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21978 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21979 (grub_devalias_iterate): Likewise.
21980
7dd4a573 219812009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 21982
21983 UFS improvements
21984
21985 * fs/ufs.c (INODE_NBLOCKS): new definition
21986 (struct grub_ufs_dirent): added fields for non-BSD dirents
21987 (grub_ufs_get_file_block): fixed double indirect handling
21988 (grub_ufs_lookup_symlink): use more robust way to determine whether
21989 symlink is inline
21990 (grub_ufs_find_file): support for non-BSD dirents
21991 (grub_ufs_dir): support for non-BSD dirents
21992
e7e6862a 219932009-04-10 Bean <bean123ch@gnail.com>
21994
21995 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21996 attribute, otherwise the size would be wrong for i386 platform.
21997
21998 * include/grub/pci.h (grub_pci_read_word): New inline function.
21999 (grub_pci_read_byte): Likewise.
22000 (grub_pci_write): Likewise.
22001 (grub_pci_write_word): Likewise.
22002 (grub_pci_write_byte): Likewise.
22003
22004 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
22005
22006 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
22007 (find_framebuf): Scan pci to locate the frame buffer address.
22008
22009 * commands/efi/fixvideo.c: New file.
22010
22011 * commands/efi/loadbios.c: Likewise.
22012
22013 * commands/memrw.c: Likewise.
22014
22015 * util/grub-dumpbios.in: Likewise.
22016
22017 * conf/common.rmk (grub-dumpbios): New utility.
22018 (pkglib_MODULES): New module memrw.mod.
22019 (memrw_mod_SOURCE): New macro.
22020 (memrw_mod_CFLAGS): Likewise.
22021 (memrw_mod_LDFLAGS): Likewise.
22022
7dd4a573 22023 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 22024 fixvideo.mod.
22025 (loadbios_mod_SOURCE): New macro.
22026 (loadbios_mod_CFLAGS): Likewise.
22027 (loadbios_mod_LDFLAGS): Likewise.
22028 (fixvideo_mod_SOURCE): Likewise.
22029 (fixvideo_mod_CFLAGS): Likewise.
22030 (fixvideo_mod_LDFLAGS): Likewise.
22031
7dd4a573 22032 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 22033 fixvideo.mod.
22034 (loadbios_mod_SOURCE): New macro.
22035 (loadbios_mod_CFLAGS): Likewise.
22036 (loadbios_mod_LDFLAGS): Likewise.
22037 (fixvideo_mod_SOURCE): Likewise.
22038 (fixvideo_mod_CFLAGS): Likewise.
22039 (fixvideo_mod_LDFLAGS): Likewise.
22040
af63ada2 220412009-04-08 Felix Zielcke <fzielcke@z-51.de>
22042
22043 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22044
c2cdde70 220452009-04-07 David S. Miller <davem@davemloft.net>
22046
22047 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22048 support for R_SPARC_OLO10 relocations. Fix compile warning for
22049 R_SPARC_WDISP30 case.
ea3f72cf 22050 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 22051
761319cf 220522009-04-06 Pavel Roskin <proski@gnu.org>
22053
1007d1f5 22054 * include/grub/misc.h (ARRAY_SIZE): New macro.
22055 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22056 New macro.
22057 * loader/i386/linux.c (allocate_pages): Use free_pages().
22058 (grub_linux_unload): Don't use free_pages().
22059 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22060 wrong index. Treat all other modes as text modes.
22061 (grub_cmd_linux): Initialize vid_mode unconditionally to
22062 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22063
761319cf 22064 * commands/help.c (print_command_help): Use cmd->prio, not
22065 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22066
ea761d40 220672009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 22068
ea761d40 22069 Parttool
22070
22071 * parttool/pcpart.c: new file
22072 * commands/parttool.c: likewise
22073 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22074 (parttool_mod_SOURCES): new variable
22075 (parttool_mod_CFLAGS): likewise
22076 (parttool_mod_LDFLAGS): likewise
22077 (pcpart_mod_SOURCES): likewise
22078 (pcpart_mod_CFLAGS): likewise
22079 (pcpart_mod_LDFLAGS): likewise
7dd4a573 22080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 22081 and parttool/pcpart.c
22082 * conf/i386-efi.rmk: likewise
22083 * conf/i386-ieee1275.rmk: likewise
22084 * conf/i386-pc.rmk: likewise
22085 * conf/powerpc-ieee1275.rmk: likewise
22086 * conf/sparc64-ieee1275.rmk: likewise
22087 * conf/x86_64-ieee1275.rmk: likewise
22088
05aaebfb 220892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 Support for mtime and further expandability of dir command
22092
22093 * include/grub/lib/datetime.h: moved to ...
7dd4a573 22094 * include/grub/datetime.h: ... moved here and added
05aaebfb 22095 declaration of grub_unixtime2datetime. All users updated
7dd4a573 22096 * include/grub/fs.h: new syntax for dir and mtime functions in
22097 struct grub_fs
05aaebfb 22098 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22099 and GRUB_FSHELP_FLAGS_MASK
22100 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22101 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22102 (grub_ext2_mtime): new function
22103 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22104 (grub_hfsplus_mtime): new function
22105 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22106 (GRUB_UFS_ATTR_FILE): likewise
22107 (GRUB_UFS_ATTR_LNK): likewise
22108 (struct grub_ufs_sblock): new fields mtime
22109 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22110 all users updated
22111 (grub_ufs_dir): mtime support
22112 (grub_ufs_mtime): new function
22113 * fs/affs.c (grub_affs_dir): use new dir syntax
22114 * fs/afs.c (grub_afs_dir): likewise
22115 * fs/cpio.c (grub_cpio_dir): likewise
22116 * fs/fat.c (grub_fat_find_dir): likewise
22117 * fs/hfs.c (grub_hfs_dir): likewise
22118 * fs/iso9660.c (grub_iso9660_dir): likewise
22119 * fs/jfs.c (grub_jfs_dir): likewise
22120 * fs/minix.c (grub_minix_dir): likewise
22121 * fs/ntfs.c (grub_ntfs_dir): likewise
22122 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22123 * fs/sfs.c (grub_sfs_dir): likewise
22124 * fs/xfs.c (grub_xfs_dir): likewise
22125 * util/hostfs.c (grub_hostfs_dir): likewise
22126 * lib/datetime.c: moved to ...
22127 * normal/datetime.c: ... moved here
22128 (grub_unixtime2datetime): new function
22129 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 22130 * normal/completion.c (iterate_dir): use new dir syntax
22131 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 22132 last modification time of a volume
7dd4a573 22133 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 22134 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 22135 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 22136 (normal_mod_SOURCES): likewise
22137 (datetime_mod_SOURCES): Removed lib/datetime.c
22138 * conf/i386-efi.rmk: likewise
7dd4a573 22139 * conf/i386-ieee1275.rmk: likewise
05aaebfb 22140 * conf/i386-pc.rmk: likewise
22141 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22142 * conf/sparc64-ieee1275.rmk: likewise
22143 * conf/x86_64-efi.rmk: likewise
05aaebfb 22144
8a7e1a14 221452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 22148
22149 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 22150 on grub_fat_find_dir
22151 (grub_fat_find_dir): use grub_fat_iterate_dir
22152 (grub_fat_label): likewise
22153
04186a9c 221542009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22155
7dd4a573 22156 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 22157 and command.h
22158 remove extraneous kernel_elf_HEADERS
22159
da4c0bb6 221602009-04-04 Bean <bean123ch@gnail.com>
22161
22162 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22163
22164 * util/misc.c: Likewise.
22165
54ad9555 221662009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22167
22168 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22169 instead of grub_printf.
22170
7a6bf9f2 221712009-04-03 Robert Millan <rmh@aybabtu.com>
22172
22173 * loader/i386/linux.c (grub_linux_setup_video): Fill
22174 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22175 values from `mode info' structure instead of hardcoded
22176 values.
22177
3fcc2083 221782009-04-01 Pavel Roskin <proski@gnu.org>
22179
22180 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22181 unused now.
22182 * genmk.rb: Likewise.
22183 * configure.ac: Likewise.
22184
5ec9740b 221852009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22186
22187 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22188 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22189
5270cec8 221902009-04-01 David S. Miller <davem@davemloft.net>
22191
22192 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 22193 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 22194 (grub_setjmp): Mark with 'returns_twice' attribute.
22195 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22196 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22197 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22198
9c3dd854 221992009-04-01 Robert Millan <rmh@aybabtu.com>
22200
22201 Reapply fix from 2008-07-28 which was accidentally reverted; also
22202 perform the same fix to a similar check in same function.
22203
22204 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22205 with the same number are found, just use issue a warning with
22206 grub_dprintf(), as this error has been reported to be non-fatal.
22207
0d818b7e 222082009-03-31 Pavel Roskin <proski@gnu.org>
22209
22210 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22211 for cross-compilation.
22212
95646d92 222132009-03-30 Robert Millan <rmh@aybabtu.com>
22214
22215 Fix i386-ieee1275 build.
22216
22217 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22218 Remove declaration.
22219
6a003ed1 222202009-03-30 Pavel Roskin <proski@gnu.org>
22221
22222 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22223 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22224 zero-terminated, rely only on the strlen value. Fix comparison
22225 of strings differing in length.
22226
92f33540 222272009-03-30 Robert Millan <rmh@aybabtu.com>
22228
22229 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22230 checking for abi version. Improve error messages on BIOS to notify
22231 user about `linux16' command.
22232
a8c48fd5 222332009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22234
f968172e 22235 Leak fixes
a8c48fd5 22236
f968172e 22237 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22238 in case of collision
22239 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 22240
9c323f09 222412009-03-29 Robert Millan <rmh@aybabtu.com>
22242
22243 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22244 set `vid_mode' accordingly.
22245 (grub_linux_boot): Process `vid_mode' and set video mode.
22246
ae68f423 222472009-03-29 Robert Millan <rmh@aybabtu.com>
22248
22249 * util/grub.d/10_linux.in (linux_entry): New function.
22250 Factorize generation of Linux boot entries.
22251
5709cfc4 222522009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22253
22254 Make the format of Environment Block plain text. The boot loader
22255 part is not tested well yet.
7dd4a573 22256
5709cfc4 22257 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22258 (buffer): Removed.
22259 (envblk): Likewise.
22260 (usage): Remove "info" and "clear". Add "unset". Update the
22261 description of "set", as this does not delete variables any
22262 longer.
22263 (create_envblk_file): Complete rewrite.
22264 (open_envblk_file): Likewise.
22265 (cmd_info): Removed.
22266 (cmd_list): Likewise.
22267 (cmd_set): Likewise.
22268 (cmd_clear): Likewise.
22269 (list_variables): New function.
22270 (write_envblk): Likewise.
22271 (set_variables): Likewise.
22272 (unset_variables): Likewise.
22273 (main): Complete rewrite.
22274
22275 * commands/loadenv.c (buffer): Removed.
22276 (envblk): Likewise.
22277 (open_envblk_file): New function.
22278 (read_envblk_file): Complete rewrite.
22279 (grub_cmd_load_env): Likewise.
22280 (grub_cmd_list_env): Likewise.
22281 (struct blocklist): New struct.
22282 (free_blocklists): New function.
22283 (check_blocklists): Likewise.
22284 (write_blocklists): Likewise.
22285 (grub_cmd_save_env): Complete rewrite.
22286
22287 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22288 a plain text signature.
22289 (GRUB_ENVBLK_MAXLEN): Removed.
22290 (struct grub_envblk): Complete rewrite.
22291 (grub_envblk_find): Removed.
22292 (grub_envblk_insert): Likewise.
22293 (grub_envblk_open): New prototype.
22294 (grub_envblk_set): Likewise.
22295 (grub_envblk_delete): Put const to VALUE.
22296 (grub_envblk_iterate): Put const to NAME and VALUE.
22297 (grub_envblk_close): New prototype.
22298 (grub_envblk_buffer): New inline function.
22299 (grub_envblk_size): Likewise.
22300
22301 * lib/envblk.c: Include grub/mm.h.
22302 (grub_env_find): Removed.
22303 (grub_envblk_open): New function.
22304 (grub_envblk_close): Likewise.
22305 (escaped_value_len): Likewise.
22306 (find_next_line): Likewise.
22307 (grub_envblk_insert): Removed.
22308 (grub_envblk_set): New function.
22309 (grub_envblk_delete): Complete rewrite.
22310 (grub_envblk_iterate): Likewise.
22311
a9368fd3 223122009-03-28 Robert Millan <rmh@aybabtu.com>
22313
22314 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22315 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22316 variables. Use 16-bit loader.
22317 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22318 loader.
22319 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22320 (grub_linux16_boot): ... this. Update all users.
22321 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22322 (grub_linux_boot): ... this. Update all users.
22323
22324 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22325 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22326 commands to `linux16' and `initrd16'.
22327 (GRUB_MOD_FINI(linux)): Rename to ...
22328 (GRUB_MOD_FINI(linux16)): ... this.
22329
e4dd5a7e 223302009-03-24 Pavel Roskin <proski@gnu.org>
22331
22332 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22333 not just for compilation.
22334
c04d6e05 223352009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22336
22337 Move multiboot helper out of kernel
22338
22339 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22340 `loader/i386/multiboot_helper.S'.
22341 * conf/i386-coreboot.rmk: Likewise
22342 * conf/i386-ieee1275.rmk: Likewise
22343
22344 * kern/i386/loader.S: Move multiboot helpers from here...
22345 * loader/i386/multiboot_helper.S: ...moved here
22346 * include/grub/i386/loader.h: Move declarations of multiboot
22347 helpers from here...
22348 * include/grub/i386/multiboot.h: ...moved here
22349 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22350
42a5b3fc 223512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22352
22353 * kern/env.c (grub_env_context_open): Added an argument to specify
22354 whether a new context inherits exported variables from current
22355 one. This is useful when making a sandbox to interpret a config
22356 file.
22357 All callers updated.
22358
22359 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22360
b28bbc4e 223612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22362
22363 * kern/env.c (grub_env_context_close): Fix memory leaks.
22364
f04f02e4 223652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22366
22367 * normal/main.c (grub_normal_execute): Added an argument
22368 BATCH to specify if an interactive interface should be provided
22369 after reading a config file.
22370 All callers updated.
22371 (read_command_list): Prevent being executed twice.
22372 (read_fs_list): Likewise.
22373
42a5b3fc 22374 * include/grub/normal.h (grub_normal_execute): Updated the
22375 prototype.
f04f02e4 22376
41473ac2 223772009-03-22 Pavel Roskin <proski@gno.org>
22378
fbc00b0c 22379 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22380 _start.
22381 * kern/i386/pc/startup.S: Likewise.
22382 * kern/i386/efi/startup.S: Likewise.
22383 * kern/i386/ieee1275/startup.S: Likewise.
22384 * kern/i386/coreboot/startup.S: Likewise.
22385 * kern/x86_64/efi/startup.S: Likewise.
22386
41473ac2 22387 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22388 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22389 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22390
2274cc8f 223912009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22394
22395 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22396 limit detection.
22397 Use vaddr of correct segment for entry_point.
22398
b1b797cb 223992009-03-21 Bean <bean123ch@gmail.com>
22400
22401 * commands/blocklist.c: Add include file <grub/command.h>, remove
22402 <grub/normal.h> and <grub/arg.h>.
22403 (grub_cmd_blocklist): Use the new command interface.
22404 (GRUB_MOD_INIT): Likewise.
22405 (GRUB_MOD_FINI): Likewise.
22406 * commands/boot.c: Likewise.
22407 * commands/cat.c: Likewise.
22408 * commands/cmp.c: Likewise.
22409 * commands/configfile.c: Likewise.
22410 * commands/crc.c: Likewise.
22411 * commands/echo.c: Likewise.
22412 * commands/halt.c: Likewise.
22413 * commands/handler.c: Likewise.
22414 * commands/hdparm.c: Likewise.
22415 * commands/help.c: Likewise.
22416 * commands/hexdump.c: Likewise.
22417 * commands/loadenv.c: Likewise.
22418 * commands/ls.c: Likewise.
22419 * commands/lsmmap.c: Likewise.
22420 * commands/lspci.c: Likewise.
22421 * commands/loadenv.c: Likewise.
22422 * commands/read.c: Likewise.
22423 * commands/reboot.c: Likewise.
22424 * commands/search.c: Likewise.
22425 * commands/sleep.c: Likewise.
22426 * commands/test.c: Likewise.
22427 * commands/usbtest.c: Likewise.
22428 * commands/videotest.c: Likewise.
22429 * commands/i386/cpuid.c: Likewise.
22430 * commands/i386/pc/halt.c: Likewise.
22431 * commands/i386/pc/play.c: Likewise.
22432 * commands/i386/pc/pxecmd.c: Likewise.
22433 * commands/i386/pc/vbeinfo.c: Likewise.
22434 * commands/i386/pc/vbetest.c: Likewise.
22435 * commands/ieee1275/suspend.c: Likewise.
22436 * disk/loopback.c: Likewise.
22437 * font/font_cmd.c: Likewise.
22438 * hello/hello.c: Likewise.
22439 * loader/efi/appleloader.c: Likewise.
22440 * loader/efi/chainloader.c: Likewise.
22441 * loader/i386/bsd.c: Likewise.
22442 * loader/i386/efi/linux.c: Likewise.
22443 * loader/i386/ieee1275/linux.c: Likewise.
22444 * loader/i386/linux.c: Likewise.
22445 * loader/i386/pc/chainloader.c: Likewise.
22446 * loader/i386/pc/linux.c: Likewise.
22447 * loader/powerpc/ieee1275/linux.c: Likewise.
22448 * loader/multiboot_loader.c: Likewise.
22449 * term/gfxterm.c: Likewise.
22450 * term/i386/pc/serial.c: Likewise.
22451 * term/terminfo.c: Likewise.
22452
22453 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22454 * term/i386/pc/vga.c: Likewise.
22455 * video/readers/jpeg.c: Likewise.
22456 * video/readers/png.c: Likewise.
22457 * video/readers/tga.c: Likewise.
22458
22459 * util/grub-fstest (cmd_loopback): Removed.
22460 (cmd_blocklist): Likewise.
22461 (cmd_ls): Likewise.
22462 (grub_register_command): Likewise.
22463 (grub_unregister_command): Likewise.
22464 (execute_command): Use grub_command_find to locate command and execute
22465 it.
22466
22467 * include/grub/efi/chainloader.h: Removed.
22468 * loader/efi/chainloader_normal.c: Likewise.
22469 * loader/i386/bsd_normal.c: Likewise.
22470 * loader/i386/pc/chainloader_normal.c: Likewise.
22471 * loader/i386/pc/multiboot_normal.c: Likewise.
22472 * loader/linux_normal.c: Likewise.
22473 * loader/multiboot_loader_normal.c: Likewise.
22474 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22475
22476 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22477 and grub_register_command_p1.
22478
22479 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22480 kern/command.c, lib/arg.c and commands/extcmd.c.
22481 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22482 (minicmd_mod_SOURCES): New variable.
22483 (minicmd_mod_CFLAGS): Likewise.
22484 (minicmd_mod_LDFLAGS): Likewise.
22485 (extcmd_mod_SOURCES): Likewise.
22486 (extcmd_mod_CFLAGS): Likewise.
22487 (extcmd_mod_LDFLAGS): Likewise.
22488 (boot_mod_SOURCES): Removed.
22489 (boot_mod_CFLAGS): Likewise.
22490 (boot_mod_LDFLAGS): Likewise.
22491
22492 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22493 kern/corecmd.c.
22494 (kernel_img_HEADERS): Add command.h.
22495 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22496 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22497 and lib/arg.c.
22498 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22499 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22500 remove the corresponding normal mode command.
22501 (normal_mod_SOURCES): Remove normal/arg.c.
22502 * conf/i386-coreboot.rmk: Likewise.
22503 * conf/i386-efi.rmk: Likewise.
22504 * conf/i386-ieee1275.rmk: Likewise.
22505 * conf/powerpc-ieee1275.rmk: Likewise.
22506 * conf/x86_64-efi.rmk: Likewise.
22507
22508 * include/grub/arg.h: Move from here ...
22509 * include/grub/lib/arg.h: ... to here.
22510
22511 * normal/arg.c: Move from here ...
22512 * lib/arg.c: ... to here.
22513
22514 * commands/extcmd.c: New file.
22515 * commands/minicmd.c: Likewise.
22516 * include/grub/command.h: Likewise.
22517 * include/grub/extcmd.h: Likewise.
22518 * kern/command.c: Likewise.
22519 * kern/corecmd.c: Likewise.
22520
22521 * kern/list.c (grub_list_iterate): Return int instead of void.
22522 (grub_list_insert): New function.
22523 (grub_prio_list_insert): Likewise.
22524
22525 * kern/rescue.c (grub_rescue_command): Removed.
22526 (grub_rescue_command_list): Likewise.
22527 (grub_rescue_register_command): Likewise.
22528 (grub_rescue_unregister_command): Likewise.
22529 (grub_rescue_cmd_boot): Move to minicmd.c
22530 (grub_rescue_cmd_help): Likewise.
22531 (grub_rescue_cmd_info): Likewise.
22532 (grub_rescue_cmd_boot): Likewise.
22533 (grub_rescue_cmd_testload): Likewise.
22534 (grub_rescue_cmd_dump): Likewise.
22535 (grub_rescue_cmd_rmmod): Likewise.
22536 (grub_rescue_cmd_lsmod): Likewise.
22537 (grub_rescue_cmd_exit): Likewise.
22538 (grub_rescue_print_devices): Moved to corecmd.c.
22539 (grub_rescue_print_files): Likewise.
22540 (grub_rescue_cmd_ls): Likewise.
22541 (grub_rescue_cmd_insmod): Likewise.
22542 (grub_rescue_cmd_set): Likewise.
22543 (grub_rescue_cmd_unset): Likewise.
7d074e3c 22544 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 22545 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 22546 commands, remove grub_rescue_register_command calls.
b1b797cb 22547
7d074e3c 22548 * normal/command.c (grub_register_command): Removed.
b1b797cb 22549 (grub_unregister_command): Likewise.
22550 (grub_command_find): Likewise.
22551 (grub_iterate_commands): Likewise.
22552 (rescue_command): Likewise.
22553 (export_command): Moved to corecmd.c.
22554 (set_command): Removed.
22555 (unset_command): Likewise.
22556 (insmod_command): Likewise.
22557 (rmmod_command): Likewise.
22558 (lsmod_command): Likewise.
22559 (grub_command_init): Likewise.
22560
22561 * normal/completion.c (iterate_command): Use cmd->prio to check for
22562 active command.
22563 (complete_arguments): Use grub_extcmd_t structure to find options.
22564 (grub_normal_do_completion): Change function grub_iterate_commands to
22565 grub_command_iterate.
22566
22567 * normal/execute.c (grub_script_execute_cmd): No need to parse
22568 argument here.
22569
22570 * normal/main.c (grub_dyncmd_dispatcher): New function.
22571 (read_command_list): Register unload commands as dyncmd.
22572 (grub_cmd_normal): Use new command interface, register rescue,
22573 unregister normal at entry, register normal, unregister rescue at exit.
22574
22575 * include/grub/list.h (grub_list_test_t): New type.
22576 (grub_list_iterate): Return int instead of void.
22577 (grub_list_insert): New function.
22578 (GRUB_AS_NAMED_LIST_P): New macro.
22579 (GRUB_AS_PRIO_LIST): Likewise.
22580 (GRUB_AS_PRIO_LIST_P): Likewise.
22581 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22582 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22583 (grub_prio_list): New structure.
22584 (grub_prio_list_insert): New function.
22585 (grub_prio_list_remove): New inline function.
22586
22587 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22588 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22589 (GRUB_COMMAND_FLAG_MENU): Likewise.
22590 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22591 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22592 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22593 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22594 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22595 (grub_command): Likewise.
22596 (grub_register_command): Likewise.
22597 (grub_command_find): Likewise.
22598 (grub_iterate_commands): Likewise.
22599 (grub_command_init): Likewise.
22600 (grub_arg_parse): Likewise.
22601 (grub_arg_show_help): Likewise.
22602
22603 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22604 (grub_rescue_unregister_command): Likewise.
22605
22606 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22607 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22608 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22609
22610 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22611 grub_rescue_cmd_initrd.
22612 * include/grub/i386/loader.h: Likewise.
22613 * include/grub/x86_64/loader.h: Likewise.
22614
22615 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22616
1f4147aa 226172009-03-21 Bean <bean123ch@gmail.com>
22618
22619 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22620 instead of stat in mingw environment.
22621
22622 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22623
22624 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22625
22626 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22627 AC_CONFIG_LINKS.
22628
2156d5ba 226292009-03-21 Bean <bean123ch@gmail.com>
22630
22631 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22632 out of range error.
22633
177b82ca 226342009-03-18 Michel Dänzer <michel@daenzer.net>
22635
22636 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22637 checking inode flags for EXT4_EXTENTS_FLAG.
22638
14aad807 226392009-03-18 Robert Millan <rmh@aybabtu.com>
22640
22641 * loader/i386/linux.c: Include `<grub/video.h>' and
22642 `<grub/i386/pc/vbe.h>'..
22643 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22644 (grub_linux32_boot): Attempt to configure video settings with
22645 grub_linux_setup_video().
22646 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22647 to avoid grub_console_fini() which would step out of graphical mode
22648 unconditionally.
22649
8cf83a27 226502009-03-14 Robert Millan <rmh@aybabtu.com>
22651
22652 Fix build on powerpc.
22653 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22654
40164e75 226552009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22658 background image command.
22659
c58bc32a 226602009-03-12 Colin D Bennett <colin@gibibit.com>
22661
22662 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22663 (grub_gfxterm_putchar): Extract pairs of identical calls to
22664 draw_cursor out of conditional blocks.
22665
5415144a 226662009-03-11 Pavel Roskin <proski@gnu.org>
22667
22668 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22669 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22670
6394042e 226712009-03-11 Robert Millan <rmh@aybabtu.com>
22672
22673 * loader/i386/multiboot_elfxx.c
22674 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22675
b7b50e5f 226762009-03-11 Felix Zielcke <fzielcke@z-51.de>
22677
22678 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22679 `kern/handler.c'.
22680
1ca7fc96 226812009-03-11 Robert Millan <rmh@aybabtu.com>
22682
22683 * loader/i386/multiboot.c (code_size): New variable.
22684 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 22685 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 22686 4-byte alignment to MBI and others by increasing
7d074e3c 22687 `boot_loader_name_length' appropriately.
1ca7fc96 22688
22689 * loader/i386/multiboot_elfxx.c
22690 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22691
a83ea1d2 226922009-03-09 Felix Zielcke <fzielcke@z-51.de>
22693
22694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22695 `fs/ext2.c'.
22696
aa9f3bff 226972009-03-08 Robert Millan <rmh@aybabtu.com>
22698
22699 Make loader/i386/linux.c usable on i386-pc again.
22700
22701 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22702 memory to heap.
22703 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22704 `#error' stanza.
22705
d8b3b60e 227062009-03-07 Bean <bean123ch@gmail.com>
22707
22708 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22709 allocation.
22710
b362c9e9 227112009-03-06 Robert Millan <rmh@aybabtu.com>
22712
22713 Fix display issue on terminals with screen size other than 80x25
22714 (e.g. gfxterm with resolution higher than 640x480).
22715
22716 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 22717 position relative to the center of the terminal instead of relying
b362c9e9 22718 on a hardcoded offset.
22719
9304eef1 227202009-03-04 Robert Millan <rmh@aybabtu.com>
22721
22722 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22723 installed.
22724
22725 * Makefile.in (host_kernel): New variable.
22726 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22727 scripts instead of just the windows one.
22728 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22729
eabc95fb 227302009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 22731
22732 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22733 `kern/handler.c'.
22734 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22735 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22736 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22738 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22739 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22740
ceb1223c 227412009-03-04 Felix Zielcke <fzielcke@z-51.de>
22742
22743 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22744 or if there's no space for the disk label and print the partition number on a
22745 invalid magic.
22746
4910684a 227472009-03-04 Felix Zielcke <fzielcke@z-51.de>
22748
22749 * util/misc.c: Include <time.h>.
22750 (grub_millisleep): New function.
22751
7e9ca17a 227522009-03-04 Bean <bean123ch@gmail.com>
22753
22754 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22755 another option -mno-red-zone.
22756
22757 * commands/handler.c: Change module description.
22758
22759 * kern/handler.c: Add missing space at the end of description line.
22760
22761 * kern/list.c: Likewise.
22762
f501677c 227632009-03-03 Robert Millan <rmh@aybabtu.com>
22764
22765 Move more components to the relocation area, and fix mbi pointer
22766 handling to use the destination rather than the origin (thanks to
22767 Vladimir Serbinenko for spotting).
22768
22769 * loader/i386/multiboot.c (mbi_dest): New variable.
22770 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22771 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22772 relocation area.
22773
9902d047 227742009-03-01 Bean <bean123ch@gmail.com>
22775
50fb7002 22776 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 22777 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22778 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22779 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22780
22781 * loader/i386/efi/linux.c (acpi_guid): New variable.
22782 (acpi_guid): Likewise.
22783 (EBDA_SEG_ADDR): New constant.
22784 (LOW_MEM_ADDR): Likewise.
22785 (FAKE_EBDA_SEG): Likewise.
22786 (fake_bios_data): New function.
22787 (grub_linux_boot): Call fake_bios_data.
22788
71b9f361 227892009-03-01 Bean <bean123ch@gmail.com>
22790
22791 * commands/terminal.c: Removed.
22792
22793 * commands/handler.c: New file.
22794
22795 * include/grub/list.h: Likewise.
22796
22797 * include/grub/handler.h: Likewise.
22798
22799 * kern/list.c: Likewise.
22800
22801 * kern/handler.c: Likewise.
22802
22803 * kern/term.h: Include header file <grub/handler.h>.
22804 (grub_term_input): Move next field to the beginning.
22805 (grub_term_output): Likewise.
22806 (grub_term_input_class): New variable.
22807 (grub_term_output_class): Likewise.
22808 (grub_term_register_input): Changed to inline function.
22809 (grub_term_register_output): Likewise.
22810 (grub_term_unregister_input): Likewise.
22811 (grub_term_unregister_output): Likewise.
22812 (grub_term_set_current_input): Likewise.
22813 (grub_term_set_current_output): Likewise.
22814 (grub_term_get_current_input): Likewise.
22815 (grub_term_get_current_output): Likewise.
22816 (grub_term_iterate_input): Removed.
22817 (grub_term_iterate_output): Likewise.
22818
22819 * kern/term.c (grub_term_list_input): Removed.
22820 (grub_term_list_output): Likewise.
22821 (grub_term_input_class): New variable.
22822 (grub_term_output_class): Likewise.
50fb7002 22823 (grub_cur_term_input): Change variable as macro.
71b9f361 22824 (grub_cur_term_output): Likewise.
22825 (grub_term_register_input): Removed.
22826 (grub_term_register_output): Likewise.
22827 (grub_term_unregister_input): Likewise.
22828 (grub_term_unregister_output): Likewise.
22829 (grub_term_set_current_input): Likewise.
22830 (grub_term_set_current_output): Likewise.
22831 (grub_term_iterate_input): Likewise.
22832 (grub_term_iterate_output): Likewise.
22833 (grub_term_get_current_input): Likewise.
22834 (grub_term_get_current_output): Likewise.
22835
22836 * util/grub-editenv.c: Include header file <grub/handler.h>.
22837 (grub_term_get_current_input): Removed.
22838 (grub_term_get_current_output): Likewise.
22839 (grub_term_input_class): New variable.
50fb7002 22840 (grub_term_output_class): Likewise.
71b9f361 22841
22842 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22843 (grub_term_get_current_output): Likewise.
22844 (grub_term_input_class): New variable.
50fb7002 22845 (grub_term_output_class): Likewise.
71b9f361 22846
22847 * util/grub-probe.c (grub_term_get_current_input): Removed.
22848 (grub_term_get_current_output): Likewise.
22849 (grub_term_input_class): New variable.
50fb7002 22850 (grub_term_output_class): Likewise.
71b9f361 22851
22852 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22853 (grub_term_get_current_output): Likewise.
22854 (grub_term_input_class): New variable.
50fb7002 22855 (grub_term_output_class): Likewise.
71b9f361 22856
22857 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22858 (terminal_mod_SOURCES): Likewise.
22859 (terminal_mod_CFLAGS): Likewise.
22860 (terminal_mod_LDFLAGS): Likewise.
22861
22862 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22863 handler.c.
22864 (kernel_img_SOURCES): Add list.c and handler.c.
22865 (kernel_img_HEADERS): Add list.h and handler.h.
22866
22867 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22868 handler.c.
22869 (kernel_mod_SOURCES): Add list.c and handler.c.
22870 (kernel_mod_HEADERS): Add list.h and handler.h.
22871
22872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22873 handler.c.
22874 (kernel_elf_SOURCES): Add list.c and handler.c.
22875 (kernel_elf_HEADERS): Add list.h and handler.h.
22876
22877 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22878 handler.c.
22879 (kernel_elf_SOURCES): Add list.c and handler.c.
22880 (kernel_elf_HEADERS): Add list.h and handler.h.
22881
22882 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22883 handler.c.
22884 (kernel_mod_SOURCES): Add list.c and handler.c.
22885 (kernel_mod_HEADERS): Add list.h and handler.h.
22886
22887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22888 handler.c.
22889 (kernel_elf_SOURCES): Add list.c and handler.c.
22890 (kernel_elf_HEADERS): Add list.h and handler.h.
22891
8a31787f 228922009-02-27 Robert Millan <rmh@aybabtu.com>
22893
22894 Factorize elf32 / elf64 code in Multiboot loader. This will
22895 prevent it from getting out of sync again.
22896
22897 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22898 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22899 grub_multiboot_load_elf64): Move from here ...
22900 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22901 grub_multiboot_load_elf): ... to here (new file).
22902
51cd3dfc 229032009-02-27 Robert Millan <rmh@aybabtu.com>
22904
22905 * util/grub.d/10_linux.in: Rename "single-user mode" to
22906 "recovery mode".
22907
6e8c9c3a 229082009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 Don't leak in SCSI code.
22911 * disk/scsi.c (grub_scsi_close): free `scsi'.
22912
4b6bf4f9 229132009-02-27 Robert Millan <rmh@aybabtu.com>
22914
22915 * loader/i386/pc/multiboot.c: Move from here ...
22916 * loader/i386/multiboot.c: ... to here. Update all users.
22917
b9413424 229182009-02-27 Robert Millan <rmh@aybabtu.com>
22919
22920 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22921 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22922
50fb7002 229232009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 22924
22925 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22926 b-tree.
22927
8cc50345 229282009-02-27 Robert Millan <rmh@aybabtu.com>
22929
22930 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22931 `0x' qualifier as 0 when base is specified as parameter).
22932
6e09b8b7 229332009-02-24 Bean <bean123ch@gmail.com>
22934
22935 * configure.ac: Check for -mcmodel=large in x86_64 target.
22936
22937 * include/grub/efi/api.h (efi_call_10): New macro.
22938 (efi_wrap_10): New function.
22939
22940 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22941 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22942 (GRUB_PE32_REL_BASED_LOW): Likewise.
22943 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22944 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22945 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22946 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22947 (GRUB_PE32_REL_BASED_REL): Likewise.
22948 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22949 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22950 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22951
22952 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22953 issue.
22954
22955 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22956 (efi_wrap_10): New function.
22957
22958 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22959
22960 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22961 MB/MBP model (NV chipset).
22962 (devdata_devs): Add devpath_5 to the list.
22963
22964 * load/i386/efi/linux.c (video_base): Remove variable.
22965 (RGB_MASK): New macro.
22966 (RGB_MAGIC): Likewise.
22967 (LINE_MIN): Likewise.
22968 (LINE_MAX): Likewise.
22969 (FBTEST_STEP): Likewise.
22970 (FBTEST_COUNT): Likewise.
22971 (fb_list): New variable.
22972 (grub_find_video_card): Remove function.
22973 (find_framebuf): New function.
22974 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22975 line length.
22976
22977 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22978 problem for x86_64.
22979
74b21bee 229802009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22981
22982 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22983
22984 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22985 coding tool name.
22986
a455f472 229872009-02-22 Robert Millan <rmh@aybabtu.com>
22988
22989 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22990 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22991 in our relocation, instead of using it directly from heap. Also
22992 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22993
6374daf3 229942009-02-21 Robert Millan <rmh@aybabtu.com>
22995
22996 Implement USB keyboard support (based on patch by Marco Gerards)
22997
22998 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22999 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
23000 (usb_keyboard_mod_LDFLAGS): New variables.
23001
23002 * term/usb_keyboard.c: New file.
23003
8fa4ea70 230042009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Corrected wrong declaration
23007
23008 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
23009
353976ac 230102009-02-14 Christian Franke <franke@computer.org>
23011
23012 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
23013 (grub_lspci_iter): Print class code and programming interface byte.
23014
6aa1169b 230152009-02-14 Christian Franke <franke@computer.org>
23016
23017 * gendistlist.sh: Ignore `.svn' directories.
23018
265372ca 230192009-02-14 Felix Zielcke <fzielcke@z-51.de>
23020
23021 * fs/fat.c: Add 2009 to Copyright line.
23022
9ff516f3 230232009-02-14 Christian Franke <franke@computer.org>
23024
23025 * commands/hdparm.c: New file. Provides `hdparm' command
23026 which sends ATA commands via grub_disk_ata_pass_through ().
23027
23028 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
23029
23030 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
23031 and <grub/cpu/io.h> to include/grub/ata.h.
23032 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
23033 (GRUB_CDROM_SECTOR_SIZE): Remove.
23034 (GRUB_ATA_*): Move to include/grub/ata.h.
23035 (GRUB_ATAPI_*): Likewise.
23036 (enum grub_ata_commands): Likewise.
23037 (enum grub_ata_timeout_milliseconds): Likewise.
23038 (struct grub_ata_device): Likewise.
23039 (grub_ata_regset): Likewise.
23040 (grub_ata_regget): Likewise.
23041 (grub_ata_regset2): Likewise.
23042 (grub_ata_regget2): Likewise.
23043 (grub_ata_check_ready): Likewise.
23044 (grub_ata_wait_not_busy): Remove static, exported in
23045 include/grub/ata.h.
23046 (grub_ata_wait_drq): Likewise.
23047 (grub_ata_pio_read): Likewise.
23048
23049 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23050 function for hdparm.mod.
23051
23052 * include/grub/ata.h: New file, contains declarations from
23053 disk/ata.c.
23054 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23055
23056 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23057 (grub_disk_ata_pass_through): New exported variable.
23058
23059 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23060
772e23da 230612009-02-13 Colin D Bennett <colin@gibibit.com>
23062
23063 Support multiple fallback entries, and provide an API to support
23064 executing default+fallback menu entries. Renamed the `terminal' menu
23065 viewer to `text'.
23066
23067 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23068 variable declaration.
23069 (grub_menu_execute_callback): New structure declaration.
23070 (grub_menu_execute_callback_t): New typedef.
23071 (grub_menu_execute_with_fallback): New function declaration.
23072 (grub_menu_get_entry): Likewise.
23073 (grub_menu_get_timeout): Likewise.
23074 (grub_menu_set_timeout): Likewise.
23075
23076 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23077
23078 * normal/menu.c (grub_wait_after_message): Moved to
23079 `normal/menu_text.c'.
23080 (draw_border): Likewise.
23081 (print_message): Likewise.
23082 (print_entry): Likewise.
23083 (print_entries): Likewise.
23084 (grub_menu_init_page): Likewise.
23085 (get_entry_number): Likewise.
23086 (print_timeout): Likewise.
23087 (run_menu): Likewise.
23088 (grub_menu_execute_entry): Likewise.
23089 (show_text_menu): Likewise.
23090 (get_and_remove_first_entry_number): New function.
23091 (grub_menu_execute_with_fallback): Likewise.
23092 (get_entry): Renamed to ...
23093 (grub_menu_get_entry): .. this and made it global.
23094 (get_timeout): Renamed to ...
23095 (grub_menu_get_timeout): ... this and made it global.
23096 (set_timeout): Renamed to ...
23097 (grub_menu_set_timeout): ... this and made it global.
23098 (grub_normal_terminal_menu_viewer): Renamed to ...
23099 (grub_normal_text_menu_viewer): ... this.
23100
23101 * normal/menu_text.c: New file. Extracted text-menu-specific code
23102 from normal/menu.c.
23103
23104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23105 (normal_mod_SOURCES): Likewise.
23106
23107 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23108 (normal_mod_SOURCES): Likewise.
23109
23110 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23111 (normal_mod_SOURCES): Likewise.
23112
23113 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23114 (normal_mod_SOURCES): Likewise.
23115
23116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23117 (normal_mod_SOURCES): Likewise.
23118
23119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23120 (normal_mod_SOURCES): Likewise.
23121
23122 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23123 (normal_mod_SOURCES): Likewise.
23124
16ac430e 231252009-02-11 Robert Millan <rmh@aybabtu.com>
23126
23127 * util/grub.d/00_header.in: Update old reference to `font' command.
23128
06ff20fc 231292009-02-10 Felix Zielcke <fzielcke@z-51.de>
23130
23131 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23132
23133 Based on patch from Javier Martín.
23134
96da9407 231352009-02-09 Felix Zielcke <fzielcke@z-51.de>
23136
23137 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 23138 to avoid false positives with FAT.
96da9407 23139 (grub_fstest_SOURCES): Likewise.
23140 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23141 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23143 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23144 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23146
6dca6fe4 231472009-02-09 Felix Zielcke <fzielcke@z-51.de>
23148
06ff20fc 23149 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 23150 bpb.version_specific.fat12_or_fat16.fstype and
23151 bpb.version_specific.fat32.fstype.
23152
2550c62f 231532009-02-08 Robert Millan <rmh@aybabtu.com>
23154
be110b30 23155 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 23156
56978920 231572009-02-08 Robert Millan <rmh@aybabtu.com>
23158
23159 * Makefile.in (host_os, host_cpu): New variables.
23160 (target_os): Remove. Update all users.
23161
d64399b5 231622009-02-08 Marco Gerards <marco@gnu.org>
23163
23164 * Makefile.in (enable_grub_emu_usb): New variable.
23165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23166 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23167 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23168 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23169 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23170 `usbtest.mod' and `usbms.mod'.
23171 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23172 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23173 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23174 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23175 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23176 variables.
23177
23178 * disk/usbms.c: New file.
23179
23180 * include/grub/usb.h: Likewise.
23181
23182 * include/grub/usbtrans.h: Likewise.
23183
23184 * include/grub/usbdesc.h: Likewise.
23185
23186 * bus/usb/usbtrans.c: Likewise.
23187
23188 * bus/usb/ohci.c: Likewise.
23189
23190 * bus/usb/uhci.c: Likewise.
23191
23192 * bus/usb/usbhub.c: Likewise.
23193
23194 * bus/usb/usb.c: Likewise.
23195
23196 * commands/usbtest.c: Likewise.
23197
23198 * util/usb.c: Likewise.
50fb7002 23199
d64399b5 23200 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23201
23202 * configure.ac: Test for libusb presence.
50fb7002 23203
d64399b5 23204 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23205
2b40d6bb 232062009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23207
23208 * kern/mm.c: Add more comments.
23209
73a4ce81 232102009-02-08 Robert Millan <rmh@aybabtu.com>
23211
23212 Patch from Javier Martín.
23213 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23214 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23215
f821ce59 232162009-02-08 Robert Millan <rmh@aybabtu.com>
23217
23218 * fs/cpio.c: Split tar functionality to ...
23219 * fs/tar.c: ... here (new file). Update all users.
23220
aebfc4b0 232212009-02-07 Robert Millan <rmh@aybabtu.com>
23222
23223 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23224 backward-incompatible features.
23225
23226 Based on patch from Javier Martín, with some adjustments.
23227
50fb7002 232282009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 23229
23230 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23231
0bb5115e 232322009-02-07 Robert Millan <rmh@aybabtu.com>
23233
23234 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23235 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23236 after the RAID stuff.
23237
38a0f8e7 232382009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23239
50fb7002 23240 Fixes problem when running vbetest command as reported by
38a0f8e7 23241 Vladimir Serbinenko <phcoder@gmail.com>.
23242
23243 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23244
3143cc1c 232452009-02-04 Felix Zielcke <fzielcke@z-51.de>
23246
23247 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23248 /dev/md/NpN style mdraid devices.
23249
9cba6fce 232502009-02-03 Felix Zielcke <fzielcke@z-51.de>
23251
23252 * util/unifont2pff.rb: Remove.
23253
e507a2c1 232542009-02-03 Felix Zielcke <fzielcke@z-51.de>
23255
23256 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23257 `#'.
23258
d2c2b4cd 232592009-02-03 Felix Zielcke <fzielcke@z-51.de>
23260
23261 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23262 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23263 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23264 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23266 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23267 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23268
b4315fb0 232692009-02-02 Christian Franke <franke@computer.org>
23270
23271 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23272
de3aa260 232732009-02-01 Felix Zielcke <fzielcke@z-51.de>
23274
7c3ff286 23275 * INSTALL: Note that we now require at least autoconf 2.59 and
23276 that LZO is optional.
de3aa260 23277
825a182b 232782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23279
23280 Base on patch on bug #24154 created by Tomas Tintera
23281 <trosos@seznam.cz>.
23282
23283 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23284
a69ef770 232852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23286
7c3ff286 23287 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 23288 <bero@arklinux.org>.
23289
23290 * normal/parser.y (script_init): Add missing semicolon.
23291
6fa42fa6 232922009-01-31 Colin D Bennett <colin@gibibit.com>
23293
7c3ff286 23294 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 23295 (free_menu_entry_classes): Added.
23296 (grub_normal_menu_addentry): Added class property handling.
23297 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23298 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23299
23300 * normal/menu_viewer.c: New file.
23301
23302 * normal/menu.c (run_menu_entry): Renamed to ...
23303 (grub_menu_execute_entry): ... this and made it as global.
23304 (grub_menu_run): Renamed to ...
23305 (show_text_menu): ... this and made it local.
23306 (show_text_menu): Adapt to new function names.
23307 (grub_normal_terminal_menu_viewer): New global variable.
23308
23309 * include/grub/menu.h: New file.
23310
23311 * include/grub/menu_viewer.h: New file.
23312
23313 * include/grub/normal.h: Added include to grub/menu.h.
23314 (grub_menu_entry): Moved to include/grub/menu.h.
23315 (grub_menu_entry_t): Likewise.
23316 (grub_menu): Likewise.
23317 (grub_menu_t): Likewise.
23318 (grub_normal_terminal_menu_viewer): Added.
23319 (grub_menu_execute_entry): Likewise.
23320 (grub_menu_run): Removed.
23321
23322 * DISTLIST: Added include/grub/menu.h.
23323 Added include/grub/menu_viewer.h.
23324 Added normal/menu_viewer.c.
23325
233262009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23327
23328 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23329 arglist for menutitle arguments.
23330
23331 * normal/main.c (grub_normal_menu_addentry): Likewise.
23332
23333 * normal/parser.y (menuentry): Likewise.
23334
23335 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23336
23337 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23338 (grub_script_create_cmdmenu): Likewise.
23339
23340 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23341
23342 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23343 changes.
23344
23345 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23346
23347 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23348
23349 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23350
23351 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23352
23353 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23354
23355 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23356
56192c23 233572009-01-30 Christian Franke <franke@computer.org>
23358
23359 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23360 in option help text.
23361
d72521b3 233622009-01-27 Pavel Roskin <proski@gnu.org>
23363
23364 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23365
994b5e84 233662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23367
23368 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23369
23370 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23371
23372 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23373 unregister function.
23374
6a7eab2c 233752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23376
23377 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23378
23379 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23380
23381 * util/grub-mkfont.c (usage): Fix typo.
23382
23383 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23384
1806b56e 233852009-01-26 Daniel Mierswa <impulze@impulze.org>
23386
3fb18f09 23387 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23388
336e1fb9 23389 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23390
1806b56e 23391 * kern/misc.c (grub_strcasecmp): New function.
23392 (grub_strcasecmp): Use grub_size_t instead of int for length.
23393 Fix return value.
23394 * include/grub/misc.h: Update function prototypes.
23395
580b2a0f 233962009-01-26 Robert Millan <rmh@aybabtu.com>
23397
23398 * configure.ac: Fix cross-compilation check.
ef257b36 23399
d31c24f1 234002009-01-22 Christian Franke <franke@computer.org>
23401
23402 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23403 (precision) digit string. Allow `.format2' without `format1' (width).
23404 Limit input chars for `%s' output to `format2' if specified. This is
23405 compatible with standard printf ().
23406
3138b44c 234072009-01-22 Christian Franke <franke@computer.org>
23408
23409 * disk/ata.c (grub_ata_wait_status): Replace by ...
23410 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23411 other status bits may be invalid while BSY is asserted.
23412 (grub_ata_check_ready): New function.
23413 (grub_ata_cmd): Removed.
23414 (grub_ata_wait_drq): New function.
23415 (grub_ata_strncpy): Remove inline.
23416 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23417 and error check now done by grub_ata_wait_drq ().
23418 (grub_ata_pio_write): Likewise.
23419 (grub_atapi_identify): Set DEV before check for !BSY. Use
23420 grub_ata_wait_drq () to wait for data.
23421 (grub_ata_device_initialize): Add status register check to
23422 detect missing SATA slave devices. Add debug messages.
23423 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23424 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23425 transfer loop by grub_ata_pio_write ().
23426 (grub_ata_identify): Set DEV before check for !BSY. Use
23427 grub_ata_wait_drq () to wait for data.
ef257b36 23428 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 23429 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23430 read/write in one loop. Fix invalid command on write. Fix incomplete
23431 command on (size % batch) == 0. Add missing error check after write of
23432 last block. Add debug messages.
23433 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23434
59a64ef6 234352009-01-19 Christian Franke <franke@computer.org>
23436
23437 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23438 (GRUB_ATAPI_IREASON_*): Likewise.
23439 (grub_ata_pio_write): Fix timeout error return.
23440 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23441 (grub_atapi_wait_drq): New function.
23442 (grub_atapi_packet): New parameter `size'.
23443 Use grub_atapi_wait_drq () and direct write instead of
23444 grub_ata_pio_write ().
23445 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23446 reads the number of bytes requested by the device for each DRQ
23447 assertion.
23448 (grub_atapi_write): Remove old implementation, return not
23449 implemented instead.
23450
1cfe20b3 234512009-01-19 Christian Franke <franke@computer.org>
23452
23453 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23454 of 512 to calculate data size.
23455 (grub_scsi_read12): Likewise.
23456 (grub_scsi_write10): Likewise.
23457 (grub_scsi_write12): Likewise.
23458 (grub_scsi_read): Adjust size according to blocksize.
23459 Add checks for invalid blocksize and unaligned transfer.
23460
bee5fe5d 234612009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23462
23463 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23464
ef257b36 23465 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 23466 width glyphs.
23467
3e643f8c 234682009-01-19 Robert Millan <rmh@aybabtu.com>
23469
23470 * config.guess: Update to latest version from config git.
23471 * config.sub: Likewise.
23472
4fa80998 234732009-01-17 Felix Zielcke <fzielcke@z-51.de>
23474
23475 * Makefile.in: Change font compilation to use new grub-mkfont instead
23476 of java version.
23477
23478 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23479 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23480 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23481 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23482 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23483 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23484 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23485 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23486 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23487
7086085b 234882009-01-16 Christian Franke <franke@computer.org>
23489
23490 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23491 (enum grub_ata_timeout_milliseconds): New enum.
23492 (grub_ata_wait_status): Add parameter milliseconds.
23493 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23494 recovery from timed-out commands.
23495 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23496 return grub_errno instead of REG_ERROR.
23497 (grub_ata_pio_write): Add parameter milliseconds.
23498 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23499 Pass milliseconds to grub_ata_wait_status () and
23500 grub_ata_pio_read ().
23501 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23502 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23503 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23504 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23505 It is not suitable for device detection, because DEV bit is ignored,
23506 the command may run too long, and not all devices set the signature
23507 properly.
23508 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23509 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23510 Fix device selection, DEV bit must be set first to address the registers
23511 of the correct device.
23512 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23513 grub_ata_pio_read/write ().
23514 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23515 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23516
4a412913 235172009-01-13 Carles Pina i Estany <carles@pina.cat>
23518
23519 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23520
7795c55e 235212009-01-13 Bean <bean123ch@gmail.com>
d913988c 23522
23523 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23524
7795c55e 235252009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 23526
23527 * Makefile.in: (enable_grub_mkfont): New variable.
23528 (freetype_cflags): Likewise.
23529 (freetype_libs): Likewise.
23530
23531 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23532 (grub_mkfont_SOURCES): New variable.
23533 (grub_mkfont_CFLAGS): Likewise.
23534 (grub_mkfont_LDFLAGS): Likewise.
23535
23536 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23537 library if `--enable-grub-mkfont' is requested.
23538 (enable_grub_mkfont): New variable.
23539 (freetype_cflags): Likewise.
23540 (freetype_libs): Likewise.
23541
23542 * util/grub-mkfont.c: New file.
23543
093af1fe 235442009-01-12 Christian Franke <franke@computer.org>
23545
23546 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23547 mode check. Fix setting of compat_use[].
23548
f36cc108 235492009-01-10 Robert Millan <rmh@aybabtu.com>
23550
23551 Update a few copyright years which we forgot to do in 2008 (only for
23552 files whose changes made in 2008 were copyright-significant)
23553
23554 * Makefile.in: Add 2008 to Copyright line.
23555 * disk/ieee1275/ofdisk.c: Likewise.
23556 * disk/efi/efidisk.c: Likewise.
23557 * kern/dl.c: Likewise.
23558 * kern/sparc64/ieee1275/init.c: Likewise.
23559 * kern/mm.c: Likewise.
23560 * kern/efi/mm.c: Likewise.
23561 * boot/i386/pc/boot.S: Likewise.
23562 * genfslist.sh: Likewise.
23563 * fs/iso9660.c: Likewise.
23564 * fs/hfs.c: Likewise.
23565 * fs/jfs.c: Likewise.
23566 * fs/minix.c: Likewise.
23567 * fs/ufs.c: Likewise.
23568 * gensymlist.sh.in: Likewise.
23569 * genkernsyms.sh.in: Likewise.
23570 * include/grub/misc.h: Likewise.
23571 * include/grub/types.h: Likewise.
23572 * include/grub/symbol.h: Likewise.
23573 * include/grub/elf.h: Likewise.
23574 * include/grub/kernel.h: Likewise.
23575 * include/grub/disk.h: Likewise.
23576 * include/grub/dl.h: Likewise.
23577 * include/grub/i386/linux.h: Likewise.
23578 * include/grub/i386/pc/biosdisk.h: Likewise.
23579 * include/grub/efi/api.h: Likewise.
23580 * include/grub/efi/pe32.h: Likewise.
23581 * include/grub/util/misc.h: Likewise.
23582 * normal/execute.c: Likewise.
23583 * normal/arg.c: Likewise.
23584 * normal/completion.c: Likewise.
23585 * normal/lexer.c: Likewise.
23586 * normal/parser.y: Likewise.
23587 * normal/misc.c: Likewise.
23588 * commands/i386/pc/vbeinfo.c: Likewise.
23589 * commands/hexdump.c: Likewise.
23590 * commands/terminal.c: Likewise.
23591 * commands/ls.c: Likewise.
23592 * commands/help.c: Likewise.
23593 * partmap/pc.c: Likewise.
23594 * loader/efi/chainloader.c: Likewise.
23595 * loader/multiboot_loader.c: Likewise.
23596 * loader/i386/pc/multiboot2.c: Likewise.
23597 * term/efi/console.c: Likewise.
23598 * term/i386/pc/serial.c: Likewise.
23599 * util/lvm.c: Likewise.
23600 * util/console.c: Likewise.
23601 * util/i386/efi/grub-mkimage.c: Likewise.
23602 * util/raid.c: Likewise.
23603
7f02114b 236042009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23605
23606 * commands/videotest.c: Removed include to grub/machine/memory.h.
23607
23608 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23609 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23610 (video_mod_SOURCES): Removed.
23611 (video_mod_CFLAGS): Likewise.
23612 (video_mod_LDFLAGS): Likewise.
23613 (gfxterm_mod_SOURCES): Likewise.
23614 (gfxterm_mod_CFLAGS): Likewise.
23615 (gfxterm_mod_LDFLAGS): Likewise.
23616 (videotest_mod_SOURCES): Likewise.
23617 (videotest_mod_CFLAGS): Likewise.
23618 (videotest_mod_LDFLAGS): Likewise.
23619 (bitmap_mod_SOURCES): Likewise.
23620 (bitmap_mod_CFLAGS): Likewise.
23621 (bitmap_mod_LDFLAGS): Likewise.
23622 (tga_mod_SOURCES): Likewise.
23623 (tga_mod_CFLAGS): Likewise.
23624 (tga_mod_LDFLAGS): Likewise.
23625 (jpeg_mod_SOURCES): Likewise.
23626 (jpeg_mod_CFLAGS): Likewise.
23627 (jpeg_mod_LDFLAGS): Likewise.
23628 (png_mod_SOURCES): Likewise.
23629 (png_mod_CFLAGS): Likewise.
23630 (png_mod_LDFLAGS): Likewise.
23631
23632 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23633 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23634 (video_mod_SOURCES): Added.
23635 (video_mod_CFLAGS): Likewise.
23636 (video_mod_LDFLAGS): Likewise.
23637 (videotest_mod_SOURCES): Likewise.
23638 (videotest_mod_CFLAGS): Likewise.
23639 (videotest_mod_LDFLAGS): Likewise.
23640 (bitmap_mod_SOURCES): Likewise.
23641 (bitmap_mod_CFLAGS): Likewise.
23642 (bitmap_mod_LDFLAGS): Likewise.
23643 (tga_mod_SOURCES): Likewise.
23644 (tga_mod_CFLAGS): Likewise.
23645 (tga_mod_LDFLAGS): Likewise.
23646 (jpeg_mod_SOURCES): Likewise.
23647 (jpeg_mod_CFLAGS): Likewise.
23648 (jpeg_mod_LDFLAGS): Likewise.
23649 (png_mod_SOURCES): Likewise.
23650 (png_mod_CFLAGS): Likewise.
23651 (png_mod_LDFLAGS): Likewise.
23652 (gfxterm_mod_SOURCES): Likewise.
23653 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 23654 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 23655
23656 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23657 grub/machine/console.h.
23658
644fff97 236592009-01-04 Jerone Young <jerone@gmail.com>
23660
23661 Make on screen instructions clearer
23662
23663 Based on patch created by Jidanni <jidanni@jidanni.org>
23664
23665 * normal/menu.c: print clearer instructions on the screen
23666
1e901a75 236672009-01-02 Colin D Bennett <colin@gibibit.com>
23668
23669 New font engine.
34c44600 23670
1e901a75 23671 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23672 build system and fixed gfxterm.c to work with different sized fonts.
23673
23674 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 23675
1e901a75 23676 * configure: Re-generated.
34c44600 23677
1e901a75 23678 * DISTLIST: Removed font/manager.c.
23679 Added font/font.c.
23680 Added font/font_cmd.c.
34c44600 23681
1e901a75 23682 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23683 compilation.
34c44600 23684
1e901a75 23685 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 23686
23687 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 23688
23689 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 23690
1e901a75 23691 * normal/menu.c: Likewise.
34c44600 23692
1e901a75 23693 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23694 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 23695
1e901a75 23696 * include/grub/font.h: Replaced with new file.
34c44600 23697
1e901a75 23698 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23699 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23700 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23701 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23702 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 23703 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 23704 fg_red, fg_green, fg_blue, fg_alpha.
23705 (grub_video_adapter): Removed blit_glyph.
34c44600 23706 (grub_video_blit_glyph): Removed.
23707
1e901a75 23708 * font/manager.c: Removed file.
34c44600 23709
23710 * font/font.c: New file.
23711
1e901a75 23712 * font/font_cmd.c: Likewise.
34c44600 23713
1e901a75 23714 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 23715
1e901a75 23716 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23717 (grub_video_vbe_map_rgba): Likewise.
23718 (grub_video_vbe_unmap_color_int): Likewise.
23719 (grub_video_vbe_blit_glyph): Removed.
23720 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 23721
1e901a75 23722 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23723 (get_pixel): Likewise.
34c44600 23724 (set_pixel): Likewise.
23725
1e901a75 23726 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 23727
1e901a75 23728 * term/gfxterm.c: Adapted to new font engine.
34c44600 23729
1e901a75 23730 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 23731
1e901a75 23732 * term/i386/pc/vga.c: Likewise.
34c44600 23733
1e901a75 23734 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 23735
1e901a75 23736 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 23737
1e901a75 23738 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23739
1e901a75 23740 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23741
1e901a75 23742 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 23743
1e901a75 23744 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 23745
1e901a75 23746 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 23747
1e901a75 23748 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 23749
1e901a75 23750 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23751
23752 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 23753
1e901a75 23754 * util/grub-mkconfig_lib.in: Changed font extension.
23755
278922e8 237562008-12-28 Felix Zielcke <fzielcke@z-51.de>
23757
23758 * util/getroot.c (grub_util_get_grub_dev): Add support for
23759 /dev/md/dNNpNN style partitionable mdraid devices.
23760
3ced05cf 237612008-12-12 Alex Smith <alex@alex-smith.me.uk>
23762
23763 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23764 at a time limit of the PXE TFTP API correctly.
23765 (grub_pxefs_close): Likewise.
23766
7fd0ee30 237672008-11-29 Robert Millan <rmh@aybabtu.com>
23768
34c44600 23769 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 23770 grub_ata_device_initialize() calls.
23771
34c44600 237722008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 23773
23774 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23775 iteration failed.
23776 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23777
89313780 237782008-11-28 Robert Millan <rmh@aybabtu.com>
23779
23780 Fix build on powerpc-ieee1275. Based on patch created by
23781 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23782 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23783 `kern/ieee1275/mmap.c'.
23784 * include/grub/powerpc/ieee1275/memory.h: New file.
23785
15257703 23786 Provide grub-install on coreboot.
23787 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23788 (grub_install_SOURCES): New variable.
23789 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23790 usable on coreboot.
23791
9fc5388a 237922008-11-25 Felix Zielcke <fzielcke@z-51.de>
23793
23794 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23795 to `grub_term_input_t'.
23796 (grub_term_get_current_output): Change return type to
23797 `grub_term_output_t'.
23798
bc3a2f31 237992008-11-22 Robert Millan <rmh@aybabtu.com>
23800
34c44600 23801 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 23802 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23803 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23804 grub_vga_text_cls().
23805
80fc88f2 23806 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 23807 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 23808
cbf36fd3 23809 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23810 to 0x200000 (avoids trouble with some OFW implementations, and matches
23811 with the one in Yaboot).
23812 Reported by Manoel Abranches
23813
73e8e268 238142008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 23815
23816 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23817 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23818
73e8e268 23819 * util/grub-mkconfig_lib.in (grub_warn): New function.
23820 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23821 warnings, to obtain consistent formatting.
23822 * util/grub.d/00_header.in: Likewise.
23823 * util/update-grub_lib.in: Likewise.
23824
e94045a1 23825 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 23826 Move comment text to `#error' stanza.
e94045a1 23827
79d29fd7 23828 Harmonize ieee1275's grub_available_iterate() with the generic
23829 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23830 build problem on i386-ieee1275):
23831 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23832 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23833 parameter `type'. Update all users of this function.
23834 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23835 `kern/ieee1275/mmap.c'.
23836 * kern/ieee1275/init.c
23837 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23838 with ...
23839 (grub_machine_mmap_iterate): ... this.
23840 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23841 return type to `grub_err_t'. Update all implementations of this
23842 function prototype.
23843 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23844 Likewise.
23845
60d6b16e 23846 Add `lsmmap' command (lists firmware-provided memory map):
23847 * commands/lsmmap.c: New file.
23848 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23849 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23850 variables.
23851 * conf/powerpc-ieee1275.rmk: Likewise.
23852 * conf/i386-coreboot.rmk: Likewise.
23853 * conf/i386-ieee1275.rmk: Likewise.
23854
ebaaf49b 238552008-11-19 Robert Millan <rmh@aybabtu.com>
23856
23857 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 23858 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23859 constraints to initrd allocation (based on code from
23860 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23861 for Linux to find it.
ebaaf49b 23862
dfab719f 238632008-11-14 Robert Millan <rmh@aybabtu.com>
23864
23865 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23866 order to cope with duplicate slashes.
23867
10fc3eb9 238682008-11-14 Robert Millan <rmh@aybabtu.com>
23869
23870 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23871 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23872 don't want to mess with lower memory, because it is used in the Linux
23873 loader.
23874
23875 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 23876 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 23877 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23878 is in our heap (probably as a result of it being corrupted during
2f2a3442 23879 decompression). Add #error instance with comment to explain why this
23880 loader isn't currently usable on PC/BIOS.
10fc3eb9 23881
e2e07847 238822008-11-14 Robert Millan <rmh@aybabtu.com>
23883
23884 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 23885 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 23886
fe8e8d69 238872008-11-12 Robert Millan <rmh@aybabtu.com>
23888
23889 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23890
23891 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23892 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23893 from here ...
23894 * include/grub/i386/pc/memory.h: ... to here.
23895
976b07d0 238962008-11-12 Robert Millan <rmh@aybabtu.com>
23897
23898 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23899 split).
23900
23901 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23902 (grub_console_cur_color, grub_console_real_putchar)
23903 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23904 (grub_console_setcolorstate, grub_console_setcolor)
23905 (grub_console_getcolor): Move from here ...
23906 * include/grub/i386/vga_common.h: ... to here (new file).
23907
23908 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23909 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23910 `<grub/i386/io.h>'.
23911 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23912 `<grub/i386/vga_common.h>'.
23913
76679cd3 239142008-11-12 Robert Millan <rmh@aybabtu.com>
23915
23916 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23917 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23918 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23919 variables.
23920 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23921 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23922
23923 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23924 grub_console_init() with call to grub_vga_text_init().
23925 (grub_machine_fini): Replace call to
23926 grub_console_fini() with call to grub_vga_text_fini() and
23927 grub_at_keyboard_fini().
23928
23929 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23930 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23931 (grub_console_setcolorstate, grub_console_setcolor)
23932 (grub_console_getcolor): New function prototypes.
23933
23934 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23935 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23936 (grub_vga_text_setcursor): Static-ize.
23937 (grub_vga_text_term): New structure.
23938 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23939
23940 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23941 (grub_console_cur_color, grub_console_standard_color)
23942 (grub_console_normal_color, grub_console_highlight_color)
23943 (map_char, grub_console_putchar, grub_console_getcharwidth)
23944 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23945 (grub_console_getcolor): Move from here ...
23946 * term/i386/vga_common.c: ... to here (same function names).
23947
95b841d3 239482008-11-12 Robert Millan <rmh@aybabtu.com>
23949
23950 Use newly-added Multiboot support in coreboot.
23951
23952 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23953 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23954
23955 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23956 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23957 (codestart): Store the MBI in `startup_multiboot_info' when we're
23958 being loaded using Multiboot.
23959
23960 * kern/i386/coreboot/init.c (grub_machine_init): Move
23961 grub_at_keyboard_init() call to beginning of function (useful for
23962 debugging). Call grub_machine_mmap_init() before attempting to use
23963 grub_machine_mmap_iterate().
23964 (grub_lower_mem, grub_upper_mem): Move from here ...
23965 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23966 here (new file).
23967
23968 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23969 function prototype.
23970
761ca975 239712008-11-12 Robert Millan <rmh@aybabtu.com>
23972
23973 Fix a regression introduced by the at_keyboard.mod split. Because
23974 some terminals are default on some platforms and non-default on
23975 others, the first terminal being registered determines which is
23976 going to be default.
23977
23978 * kern/term.c (grub_term_register_input): If this is the first
23979 terminal being registered, set it as the current one.
23980 (grub_term_register_output): Likewise.
23981
23982 * term/efi/console.c (grub_console_init): Do not call
23983 grub_term_set_current_output() or grub_term_set_current_input().
23984 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23985 * term/i386/pc/console.c (grub_console_init): Likewise.
23986 (grub_console_fini): Do not call grub_term_set_current_input()
23987 (but leave grub_term_set_current_output() to restore text mode).
23988
6c529df7 239892008-11-10 Robert Millan <rmh@aybabtu.com>
23990
23991 * util/grub.d/00_header.in: Add backward compatibility check for
23992 versions of terminal.mod that don't understand `terminal_input' or
23993 `terminal_output'.
23994
132e4113 239952008-11-09 Robert Millan <rmh@aybabtu.com>
23996
23997 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23998 `terminal_input' / `terminal_output', not `terminal'.
23999
ac293d50 240002008-11-08 Robert Millan <rmh@aybabtu.com>
24001
24002 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 24003 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 24004
0025933a 240052008-11-08 Robert Millan <rmh@aybabtu.com>
24006
24007 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 24008 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 24009 members. Update all users.
24010 * util/console.c (grub_ncurses_term): Split in ...
24011 (grub_ncurses_term_input): ... this, and ...
24012 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 24013 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 24014
37c86336 240152008-11-08 Robert Millan <rmh@aybabtu.com>
24016
24017 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
24018 (PKGDATA): Add $(pkgdata_SRCDIR).
24019 (pkglib_BUILDDIR): New variable.
24020 (pkgdata_SRCDIR): New variable.
24021 (build_env.mk): New target.
24022 (include_DATA): New variable.
24023 (install-local): Install $(include_DATA) files in $(includedir).
24024
b6c15a2d 240252008-11-07 Pavel Roskin <proski@gnu.org>
24026
d99d46f1 24027 * gendistlist.sh: Use C locale for sorting to ensure consistent
24028 output on all systems.
24029
b6c15a2d 24030 * util/grub.d/00_header.in: Remove incorrect space before
24031 "serial".
24032
c32ee8c9 240332008-11-07 Robert Millan <rmh@aybabtu.com>
24034
24035 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
24036 per specification.
24037 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
24038 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24039 (based on find_multi_boot1_header).
24040 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24041 using find_multi_boot2_header(), and abort if neither Multiboot or
24042 Multiboot headers were found.
24043
651c29b7 240442008-11-07 Robert Millan <rmh@aybabtu.com>
24045
24046 Modularize at_keyboard.mod:
24047
24048 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24049 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24050 (at_keyboard_mod_LDFLAGS): New variables.
24051
24052 Actual terminal split:
24053
24054 * include/grub/term.h (struct grub_term): Split in ...
24055 (struct grub_term_input): ... this, and ...
24056 (struct grub_term_output): ... this. Update all users.
24057 (grub_term_set_current): Split in ...
24058 (grub_term_set_current_input): ... this, and ...
24059 (grub_term_set_current_output): ... this.
24060 (grub_term_get_current): Split in ...
24061 (grub_term_get_current_input): ... this, and ...
24062 (grub_term_get_current_output): ... this.
24063 (grub_term_register): Split in ...
24064 (grub_term_register_input): ... this, and ...
24065 (grub_term_register_output): ... this.
24066 (grub_term_unregister): Split in ...
24067 (grub_term_unregister_input): ... this, and ...
24068 (grub_term_unregister_output): ... this.
24069 (grub_term_iterate): Split in ...
24070 (grub_term_iterate_input): ... this, and ...
24071 (grub_term_iterate_output): ... this.
24072
24073 * kern/term.c (grub_term_list): Split in ...
24074 (grub_term_list_input): ... this, and ...
24075 (grub_term_list_output): ... this. Update all users.
24076 (grub_cur_term): Split in ...
24077 (grub_cur_term_input): ... this, and ...
24078 (grub_cur_term_output): ... this. Update all users.
24079 (grub_term_set_current): Split in ...
24080 (grub_term_set_current_input): ... this, and ...
24081 (grub_term_set_current_output): ... this.
24082 (grub_term_get_current): Split in ...
24083 (grub_term_get_current_input): ... this, and ...
24084 (grub_term_get_current_output): ... this.
24085 (grub_term_register): Split in ...
24086 (grub_term_register_input): ... this, and ...
24087 (grub_term_register_output): ... this.
24088 (grub_term_unregister): Split in ...
24089 (grub_term_unregister_input): ... this, and ...
24090 (grub_term_unregister_output): ... this.
24091 (grub_term_iterate): Split in ...
24092 (grub_term_iterate_input): ... this, and ...
24093 (grub_term_iterate_output): ... this.
24094
24095 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24096 a check for input and one for output (and only attempt to get keys
24097 from user when input works).
24098
24099 * util/grub-probe.c (grub_term_get_current): Split in ...
24100 (grub_term_get_current_input): ... this, and ...
24101 (grub_term_get_current_output): ... this.
24102 * util/grub-fstest.c: Likewise.
24103 * util/i386/pc/grub-setup.c: Likewise.
24104 * util/grub-editenv.c: Likewise.
24105
24106 Portability adjustments:
24107
24108 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24109 `term/i386/pc/at_keyboard.c'.
24110 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24111 grub_keyboard_controller_init() (now handled by terminal .init).
24112 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24113 grub_at_keyboard_init().
24114 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24115 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24116 at_keyboard.mod via input terminal interface).
24117 * include/grub/i386/coreboot/console.h: Convert into a stub for
24118 `<grub/i386/pc/console.h>'.
24119
24120 Migrate full terminals to new API:
24121
24122 * term/efi/console.c (grub_console_term): Split into ...
24123 (grub_console_term_input): ... this, and ...
24124 (grub_console_term_output): ... this. Update all users.
24125 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24126 (grub_ofconsole_init): Split into ...
24127 (grub_ofconsole_init_input): ... this, and ...
24128 (grub_ofconsole_init_output): ... this.
24129 (grub_ofconsole_term): Split into ...
24130 (grub_ofconsole_term_input): ... this, and ...
24131 (grub_ofconsole_term_output): ... this. Update all users.
24132 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24133 (grub_serial_term_input): ... this, and ...
24134 (grub_serial_term_output): ... this. Update all users.
24135 * term/i386/pc/console.c (grub_console_term): Split into ...
24136 (grub_console_term_input): ... this, and ...
24137 (grub_console_term_output): ... this. Update all users.
24138 (grub_console_term_input): Only enable it on PC/BIOS platform.
24139 (grub_console_init): Remove grub_keyboard_controller_init() call.
24140
24141 Migrate input terminals to new API:
24142
24143 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24144 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24145 i386-specific anyway).
24146 (grub_console_checkkey): Rename to ...
24147 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24148 users.
24149 (grub_keyboard_controller_orig): New variable.
24150 (grub_console_getkey): Rename to ...
24151 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24152 users.
24153 (grub_keyboard_controller_init): Static-ize. Save original
24154 controller value so that it can be restored ...
24155 (grub_keyboard_controller_fini): ... here (new function).
24156 (grub_at_keyboard_term): New structure.
24157 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24158 functions.
24159
24160 Migrate output terminals to new API:
24161
24162 * term/i386/pc/vga.c (grub_vga_term): Change type to
24163 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24164 members. Update all users.
24165 * term/gfxterm.c (grub_video_term): Change type to
24166 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24167 members. Update all users.
24168 * include/grub/i386/pc/console.h (grub_console_checkkey)
24169 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24170 etc).
24171
24172 Migrate `terminal' command and userland tools to new API:
24173
24174 * commands/terminal.c (grub_cmd_terminal): Split into ...
24175 (grub_cmd_terminal_input): ... this, and ...
24176 (grub_cmd_terminal_output): ... this.
24177 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24178 `terminal_input' and `terminal_output'.
24179 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24180 `terminal_input' / `terminal_output' API.
24181 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24182 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24183 provided ${GRUB_TERMINAL}, convert it).
24184
96e5d876 241852008-11-04 Robert Millan <rmh@aybabtu.com>
24186
24187 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24188 for FreeBSD.
24189 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24190
556f3775 241912008-11-03 Bean <bean123ch@gmail.com>
24192
24193 * kern/elf.c (grub_elf32_load): Revert to previous code.
24194 (grub_elf64_load): Likewise.
24195
24196 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24197
926b9823 241982008-11-01 Robert Millan <rmh@aybabtu.com>
24199
24200 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24201 (TARGET_CPPFLAGS): Likewise.
24202 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24203
1432e958 242042008-11-01 Carles Pina i Estany <carles@pina.cat>
24205
24206 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24207
dba3f844 242082008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 24209
24210 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24211 addition of objects until the code is not going to be able to fail.
24212
dba3f844 242132008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 24214
24215 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24216 (add a missing NULL check, and correct them by moving the pointer
24217 operations after the actual check).
24218
7ab28c21 242192008-10-29 Robert Millan <rmh@aybabtu.com>
24220
24221 * util/i386/pc/grub-install.in: Handle empty string as output from
24222 make_system_path_relative_to_its_root().
24223
1b7748eb 242242008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24225
24226 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24227 circular metadata worst case scenario. If the metadata is circular
24228 then copy the wrap in place.
24229 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24230 project lib/format_text/layout.h
24231 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24232
c9618ab2 242332008-10-03 Felix Zielcke <fzielcke@z-51.de>
24234
7a36edca 24235 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 24236
bf981c62 242372008-10-03 Felix Zielcke <fzielcke@z-51.de>
24238
24239 * util/update-grub_lib.in: Mention filename in warning message.
24240
6d994591 242412008-09-29 Felix Zielcke <fzielcke@z-51.de>
24242
24243 * NEWS: Update for rename of update-grub to grub-mkconfig.
24244
18ade780 242452008-09-29 Felix Zielcke <fzielcke@z-51.de>
24246
24247 * util/update-grub_lib.in: Copy to ...
24248 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 24249 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 24250 * util/update-grub.in: Rename to ...
24251 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24252 option. Add `--output' option to allow users to specify the generated
24253 configuration file. Default to stdout.
24254 (update_grub_dir): Rename to ...
24255 (grub_mkconfig_dir): ... this.
24256 (grub_cfg): Default to an empty string.
24257 * conf/common.rmk (update-grub): Rename to ...
24258 (grub-mkconfig): ... this.
24259 (update-grub_lib): Copy to ...
24260 (grub-mkconfig_lib): ... this.
24261 (update-grub_SCRIPTS): Copy to ...
24262 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24263 (update-grub_DATA): Rename to ...
24264 (grub-mkconfig_DATA): ... this.
24265
556ce6ac 242662008-09-28 Robert Millan <rmh@aybabtu.com>
24267
24268 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24269 to `modified'. Add the real `created' field.
24270 (grub_iso9660_uuid): Use `modified' rather than `created' for
24271 constructing the UUID.
24272
242732008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 24274
24275 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24276 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24277
92274e85 242782008-09-28 Bean <bean123ch@gmail.com>
24279
24280 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24281 Thanks to Christian Franke for finding this bug.
24282
add6f17a 242832008-09-25 Robert Millan <rmh@aybabtu.com>
24284
24285 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24286 instances of grub_util_get_disk_name() (see previous commit).
24287
d2a367b8 242882008-09-25 Robert Millan <rmh@aybabtu.com>
24289
24290 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24291 `util/i386/get_disk_name.c'.
24292 * conf/i386-efi.rmk: Likewise.
24293 * conf/x86_64-efi.rmk: Likewise.
24294 * conf/i386-coreboot.rmk: Likewise.
24295 * conf/i386-ieee1275.rmk: Likewise.
24296 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24297 `util/ieee1275/get_disk_name.c'.
24298 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24299 * util/ieee1275/get_disk_name.c: Remove file.
24300 * util/i386/get_disk_name.c: Remove file.
24301 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24302 "hd%d" for device.map entries, rather than using
24303 grub_util_get_disk_name().
24304
81a06771 243052008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 24306
24307 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24308 warning.
24309 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24310
5a004279 243112008-09-24 Carles Pina i Estany <carles@pina.cat>
24312
24313 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24314 Changed to 0x5100.
24315 (GRUB_TERM_PPAGE): Changed to 0x4900.
24316
397093d3 243172008-09-24 Robert Millan <rmh@aybabtu.com>
24318
24319 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24320 macros (they were i386-pc specific).
24321 * include/grub/sparc64/ieee1275/console.h: Likewise.
24322 * include/grub/efi/console.h: Likewise.
24323
a91b6c7c 243242008-09-22 Bean <bean123ch@gmail.com>
24325
24326 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24327 resident and in attribute list.
24328
24329 * include/grub/ntfs.h (BMP_LEN): Removed.
24330
c40fd116 243312008-09-22 Bean <bean123ch@gmail.com>
24332
81a06771 24333 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 24334 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24335
24336 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24337 error occurs, as grub_disk_open will call grub_disk_close, which will
24338 call p->close (scsi).
24339
81a06771 243402008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 24341
24342 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24343 (AC_PREREQ): Bumped to 2.59.
24344 (AC_TRY_COMPILE): Replace obsolete macro with ...
24345 (AC_COMPILE_IFELSE): ... this.
24346 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24347 (AC_LINK_IFELSE): ... this.
24348
5dc43410 243492008-09-21 Felix Zielcke <fzielcke@z-51.de>
24350
24351 * autogen.sh: Add a call to `gendistlist.sh'.
24352
9035dce4 243532008-09-19 Christian Franke <franke@computer.org>
24354
24355 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24356 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24357 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24358 Export __enable_execute_stack() to modules.
24359 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24360 New function.
24361
7fd75377 243622008-09-09 Felix Zielcke <fzielcke@z-51.de>
24363
040030b3 24364 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24365 Sort the list.
24366
243672008-09-09 Felix Zielcke <fzielcke@z-51.de>
24368
24369 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 24370 #include <grub/util/hostdisk.h>.
24371
89d5ffcf 243722008-09-08 Robert Millan <rmh@aybabtu.com>
24373
24374 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24375 segments when their filesz is zero (grub_file_read() interprets
81a06771 24376 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 24377 Use `lowest_segment' rather than 0 for calculating the current
24378 segment load address.
24379
40da438f 243802008-09-08 Robert Millan <rmh@aybabtu.com>
24381
24382 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24383 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24384 clobbered useful information.
24385
ddbf5556 243862008-09-08 Robert Millan <rmh@aybabtu.com>
24387
24388 * include/grub/util/biosdisk.h: Move to ...
24389 * include/grub/util/hostdisk.h: ... here. Update all users.
24390 * util/biosdisk.c: Move to ...
24391 * util/hostdisk.c: ... here. Update all users.
24392
783d0f48 243932008-09-07 Robert Millan <rmh@aybabtu.com>
24394
24395 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24396 variables.
24397 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24398 and length can be stored directly in the `mbi->mmap_addr' and
24399 `mbi->mmap_length' struct fields.
24400
548e2ea5 244012008-09-07 Robert Millan <rmh@aybabtu.com>
24402
24403 * conf/i386.rmk: New file. Provides declaration for building
24404 `cpuid.mod'.
24405 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24406 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24407 variables.
24408 Include `conf/i386.mk'.
24409 * conf/i386-efi.rmk: Likewise.
24410 * conf/x86_64-efi.rmk: Likewise.
24411 * conf/i386-coreboot.rmk: Likewise.
24412 * conf/i386-ieee1275.rmk: Likewise.
24413
0ea85a37 244142008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24415
24416 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24417 Adds optimization support for BGR based modes.
24418
24419 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24420 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24421 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24422 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24423 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24424 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24425 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24426 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24427 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24428 (grub_video_i386_vbeblit_index_index): Likewise.
24429 (grub_video_i386_vbeblit_replace_directN): Added.
24430 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24431 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24432 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24433 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24434 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24435 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 24436 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 24437 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24438 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24439 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24440 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24441 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24442 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24443
24444 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24445 (grub_video_i386_vbefill_R8G8B8): Likewise.
24446 (grub_video_i386_vbefill_index): Likewise.
24447 (grub_video_i386_vbefill_direct32): Added.
24448 (grub_video_i386_vbefill_direct24): Likewise.
24449 (grub_video_i386_vbefill_direct16): Likewise.
24450 (grub_video_i386_vbefill_direct8): Likewise.
24451
81a06771 24452 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 24453 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24454 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24455 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24456 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24457 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 24458
0ea85a37 24459 * video/video.c (grub_video_get_blit_format): Updated to use new
24460 blit formats. Added handling for 16 bit color modes.
81a06771 24461
24462 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 24463 fillers.
24464 (common_blitter): Updated to use new blitters.
24465
24466 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24467 Removed.
24468 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24471 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24472 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24473 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24475 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24476 (grub_video_i386_vbeblit_index_index): Likewise.
24477 (grub_video_i386_vbeblit_replace_directN): Added.
24478 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24479 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24480 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24481 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24482 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24483 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24484 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24485 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24486 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24487 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24488 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24489 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24490 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 24491
0ea85a37 24492 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24493 (grub_video_i386_vbefill_R8G8B8): Likewise.
24494 (grub_video_i386_vbefill_index): Likewise.
24495 (grub_video_i386_vbefill_direct32): Added.
24496 (grub_video_i386_vbefill_direct24): Likewise.
24497 (grub_video_i386_vbefill_direct16): Likewise.
24498 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 24499
0ea85a37 24500 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24501 types.
81a06771 24502
0ea85a37 24503 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24504 types.
81a06771 24505
0ea85a37 24506 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24507 blitter types.
81a06771 24508
0ea85a37 24509 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24510 types.
24511
e8a83df6 245122008-09-06 Felix Zielcke <fzielcke@z-51.de>
24513
24514 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24515 RAID level 1.
24516
6bcd8ee5 245172008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 24518
6bcd8ee5 24519 * fs/iso9660.c (grub_iso9660_date): New structure.
24520 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24521 (grub_iso9660_uuid): New function.
c375ae58 24522
59261157 245232008-09-05 Bean <bean123ch@gmail.com>
24524
24525 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24526
24527 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24528 insensitive bit for names in Win32 and Win32 & DOS namespace.
24529
24530 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24531
24532 * include/grub/types.h (LONG_MAX): Likewise.
24533
58b6645a 245342008-09-04 Felix Zielcke <fzielcke@z-51.de>
24535
4ee55921 24536 * util/getroot.c: Include <config.h>.
24537 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24538 add support for /dev/md/N devices and handle LVM double dash escaping.
24539
245402008-09-04 Felix Zielcke <fzielcke@z-51.de>
24541
24542 * config.guess: Update to latest version from config git.
24543 * config.sub: Likewise.
58b6645a 24544
9124f65d 245452008-09-03 Robert Millan <rmh@aybabtu.com>
24546
24547 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24548 `disk->total_sectors'.
24549
81a06771 245502008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 24551
24552 * include/grub/normal.h: Fixed incorrect comment for
24553 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24554
81a06771 245552008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 24556
24557 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24558 values with defines.
24559
24560 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24561 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24562 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24563 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24564 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24565 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24566 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24567 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24568 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24569 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24570 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24571 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24572 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24573 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24574 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24575 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24576 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24577 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24578 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24579
93d5cbf8 245802008-08-31 Robert Millan <rmh@aybabtu.com>
24581
24582 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24583 declaration.
24584 (grub_multiboot): Fix a few warnings.
24585
21751d50 245862008-08-31 Robert Millan <rmh@aybabtu.com>
24587
24588 * loader/i386/pc/multiboot.c: Update comment not to say that
24589 boot_device support is unimplemented.
24590
e27a75c5 245912008-08-31 Robert Millan <rmh@aybabtu.com>
24592
24593 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24594 or memory map support are unimplemented.
24595
81a06771 245962008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 24597
24598 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24599
81a06771 246002008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 24601
24602 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24603 total video memory in 'vbeinfo' output; show color format details for
24604 each video mode.
24605
7c5d8d95 246062008-08-30 Pavel Roskin <proski@gnu.org>
24607
24608 * util/genmoddep.c: Remove for real this time.
24609 * DISTLIST: Remove util/genmoddep.c.
24610
4cebd25a 246112008-08-30 Robert Millan <rmh@aybabtu.com>
24612
24613 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24614 as required by Multiboot spec (it was already 4-byte aligned, but
24615 only by chance).
24616
b497a269 246172008-08-29 Pavel Roskin <proski@gnu.org>
24618
e3925185 24619 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24620 * kern/powerpc/ieee1275/startup.S: ... this.
24621 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24622 * DISTLIST: Likewise.
24623
b497a269 24624 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24625 grub/cpu/kernel.h. Add start label for consistency with other
24626 platforms. Add grub_prefix immediately after start. Add jump
24627 to the code after grub_prefix.
24628 * include/grub/powerpc/kernel.h: Provide valid values for
24629 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24630
6e5a42fe 246312008-08-29 Bean <bean123ch@gmail.com>
24632
24633 * configure.ac: Change host_os to cygwin for mingw.
24634 (asprintf): New check for function.
24635
24636 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24637 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24638
24639 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 24640 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 24641 sync, sleep and grub_util_get_disk_size for mingw.
24642
24643 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24644 to get size in mingw.
24645 (open_device): Use flag O_BINARY if it's defined.
24646 (find_root_device): Add dummy code for mingw.
24647
24648 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24649 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24650 (get_scsi_disk_name): Return 0 for mingw.
24651
24652 * util/hostfs.c: #include <grub/util/misc.h>.
24653 (grub_hostfs_open): Use "rb" flag to open file, use
24654 grub_util_get_disk_size to get disk size for mingw.
24655
24656 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24657 (asprintf): New function if HAVE_ASPRINTF is not set.
24658 (sync): New function for mingw.
24659 (sleep): Likewise.
24660 (grub_util_get_disk_size): Likewise.
24661
ab3f2673 246622008-08-28 Pavel Roskin <proski@gnu.org>
24663
24664 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24665 kern/time.c.
24666
1c282483 246672008-08-28 Robert Millan <rmh@aybabtu.com>
24668
24669 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24670
678e849c 246712008-08-28 Robert Millan <rmh@aybabtu.com>
24672
24673 Change find_grub_drive() syntax so it doesn't prevent it from
24674 detecting NULL names as errors.
24675
24676 * util/biosdisk.c (find_grub_drive): Move free slot search code
24677 from here ...
24678 (find_free_slot): ... to here.
24679 (read_device_map): Use find_free_slot() to search for free slots.
24680
965c75ca 246812008-08-27 Marco Gerards <marco@gnu.org>
24682
24683 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24684 (scsi_mod_SOURCES): New variable.
24685 (scsi_mod_CFLAGS): Likewise
24686 (scsi_mod_LDFLAGS): Likewise.
24687
24688 * disk/scsi.c: New file.
24689
24690 * include/grub/scsi.h: Likewise.
24691
24692 * include/grub/scsicmd.h: Likewise.
24693
24694 * disk/ata.c: Include <grub/scsi.h>.
24695 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24696 instead.
24697 (grub_ata_iterate): Skip ATAPI devices.
24698 (grub_ata_open): Only handle ATAPI devices.
24699 (struct grub_atapi_read): Removed.
24700 (grub_atapi_readsector): Likewise.
24701 (grub_ata_read): No longer handle ATAPI devices.
24702 (grub_ata_write): Likewise.
24703 (grub_atapi_iterate): New function.
24704 (grub_atapi_read): Likewise.
24705 (grub_atapi_write): Likewise.
24706 (grub_atapi_open): Likewise.
24707 (grub_atapi_close): Likewise.
24708 (grub_atapi_dev): New variable.
24709 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24710 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24711
24712 * include/grub/disk.h (enum grub_disk_dev_id): Add
24713 `GRUB_DISK_DEVICE_SCSI_ID'.
24714
c07ae501 247152008-08-26 Robert Millan <rmh@aybabtu.com>
24716
24717 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24718 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24719 descriptive.
24720
5ed20adc 247212008-08-23 Bean <bean123ch@gmail.com>
24722
24723 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24724 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24725 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24726 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24727 dm_nv.mod.
24728 (raid5rec_mod_SOURCES): New macro.
24729 (raid5rec_mod_CFLAGS): Likewise.
24730 (raid5rec_mod_LDFLAGS): Likewise.
24731 (raid6rec_mod_SOURCES): Likewise.
24732 (raid6rec_mod_CFLAGS): Likewise.
24733 (raid6rec_mod_LDFLAGS): Likewise.
24734 (mdraid_mod_SOURCES): Likewise.
24735 (mdraid_mod_CFLAGS): Likewise.
24736 (mdraid_mod_LDFLAGS): Likewise.
24737 (dm_nv_mod_SOURCES): Likewise.
24738 (dm_nv_mod_CFLAGS): Likewise.
24739 (dm_nv_mod_LDFLAGS): Likewise.
24740
24741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24742 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24743 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24744
24745 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24746 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24747
24748 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24749
24750 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24751
24752 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24753
24754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24755
24756 * disk/raid5_recover.c: New file.
24757
24758 * disk/raid6_recover.c: Likewise.
24759
24760 * disk/mdraid_linux.c: Likewise.
24761
24762 * disk/dmraid_nvidia.c: Likewise.
24763
24764 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24765 ULONG_MAX.
24766
24767 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24768 calculate the size of raid device.
24769 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24770 different layout of raid5.
24771 (grub_raid_scan_device): Remove code specific to mdraid.
24772 (grub_raid_list): New variable.
24773 (free_array): New function.
24774 (grub_raid_register): Likewise.
24775 (grub_raid_unregister): Likewise.
24776 (grub_raid_rescan): Likewise.
24777 (GRUB_MOD_INIT): Don't iterate device here.
24778 (GRUB_MOD_FINI): Use free_array to release resource.
24779
24780 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24781 (grub_raid5_recover_func_t): New function variable type.
24782 (grub_raid6_recover_func_t): Likewise.
24783 (grub_raid5_recover_func): New variable.
24784 (grub_raid6_recover_func): Likewise.
24785 (grub_raid_register): New function.
24786 (grub_raid_unregister): Likewise.
24787 (grub_raid_rescan): Likewise.
24788 (grub_raid_block_xor): Likewise.
24789
24790 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24791 (CMD_CRC): New macro.
24792 (part): Removed.
24793 (read_file): Handle device as well as file.
24794 (cmd_crc): New function.
24795 (fstest): Handle multiple disks.
24796 (options): Remove part, raw and long, add root and diskcount.
24797 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 24798 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 24799 add handling for the new options, support multiple disks.
24800
24801 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24802
29c18915 248032008-08-23 Bean <bean123ch@gmail.com>
24804
24805 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24806
24807 * genfslist.sh: Ignore kernel.mod.
24808
24809 * genpartmaplist.sh: Likewise.
24810
8415f261 248112008-08-23 Robert Millan <rmh@aybabtu.com>
24812
24813 * util/getroot.c (find_root_device): Skip anything that starts with
24814 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24815
d5a7dc5b 248162008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 24817
d5a7dc5b 24818 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24819 * util/grub.d/00_header.in: Allow the administrator to change default
24820 gfxmode via ${GRUB_GFXMODE}.
24821
380cfbb4 248222008-08-21 Felix Zielcke <fzielcke@z-51.de>
24823
24824 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24825
c9baafe7 248262008-08-21 Robert Millan <rmh@aybabtu.com>
24827
24828 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24829 loader.
24830 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24831 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24832
e290bef2 248332008-08-20 Carles Pina i Estany <carles@pina.cat>
24834
24835 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24836 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24837
f9dbfc96 248382008-08-19 Robert Millan <rmh@aybabtu.com>
24839
24840 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24841 (struct grub_virtual_screen): Remove `cursor_color'.
24842 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24843 initialization.
24844 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24845
dd6bd6ab 248462008-08-18 Robert Millan <rmh@aybabtu.com>
24847
24848 Unify (identical) linux_normal.c files.
24849 * loader/i386/efi/linux_normal.c: Move from here ...
24850 * loader/linux_normal.c: ... to here. Update all users.
24851 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24852 * loader/i386/ieee1275/linux_normal.c: Likewise.
24853
7f42f83e 248542008-08-18 Robert Millan <rmh@aybabtu.com>
24855
24856 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24857 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24858 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24859 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24860 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24861 New macros.
24862 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24863 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24864 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24865 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24866 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24867 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24868 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24869 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24870 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24871 portably using grub_getxy().
24872 Replace `-EFI' with `-bzImage' in boot message.
24873
38487ddb 248742008-08-17 Robert Millan <rmh@aybabtu.com>
24875
24876 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24877
deceb3ec 248782008-08-17 Robert Millan <rmh@aybabtu.com>
24879
24880 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24881
24882 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24883 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24884 (grub_machine_mmap_iterate): New function declaration.
24885 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24886 structure.
24887 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24888 macros.
24889
24890 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24891 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24892 Move e820 parsing from here ...
24893 * kern/i386/pc/mmap.c: New file.
24894 (grub_machine_mmap_iterate): ... to here.
24895
24896 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24897 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24898 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24899 (grub_available_iterate): Redeclare to return `void', and redeclare
24900 its hook to use grub_uint64_t as addr and size parameters, and rename
24901 to ...
24902 (grub_machine_mmap_iterate): ... this. Update all users.
24903
24904 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24905 to make it more readable. Rename to ...
24906 (grub_machine_mmap_iterate): ... this.
24907
24908 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24909 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24910 (grub_multiboot): Allocate an extra region after the payload, and fill
24911 it with a Multiboot memory map. Adjust a.out loader to calculate size
24912 with the extra space.
24913 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24914 with the extra space.
24915
f8aa0f43 249162008-08-17 Carles Pina i Estany <carles@pina.cat>
24917
9807deb9 24918 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 24919
605f5bb6 249202008-08-17 Felix Zielcke <fzielcke@z-51.de>
24921
24922 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24923 mdate-sh to the list `find' searches for.
24924 * DISTLIST: Regenerated.
24925
210db6c6 249262008-08-16 Felix Zielcke <fzielcke@z-51.de>
24927
24928 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24929 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 24930 genmoddep.awk, gensymlist.sh.in.
24931 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 24932 * DISTLIST: Regenerated.
48cdbfd4 24933 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 24934
1082b929 249352008-08-16 Robert Millan <rmh@aybabtu.com>
24936
24937 * disk/raid.c (grub_raid_init): Handle/report errors set by
24938 grub_device_iterate().
24939 * disk/lvm.c (grub_lvm_init): Likewise.
24940
42ce5170 249412008-08-15 Bean <bean123ch@gmail.com>
24942
24943 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24944 and datehook.mod.
24945 (datetime_mod_SOURCES): New macro.
24946 (datetime_mod_CFLAGS): Likewise.
24947 (datetime_mod_LDFLAGS): Likewise.
24948 (date_mod_SOURCES): Likewise.
24949 (date_mod_CFLAGS): Likewise.
24950 (date_mod_LDFLAGS): Likewise.
24951 (datehook_mod_SOURCES): Likewise.
24952 (datehook_mod_CFLAGS): Likewise.
24953 (datehook_mod_LDFLAGS): Likewise.
24954
24955 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24956 and datehook.mod.
24957 (datetime_mod_SOURCES): New macro.
24958 (datetime_mod_CFLAGS): Likewise.
24959 (datetime_mod_LDFLAGS): Likewise.
24960 (date_mod_SOURCES): Likewise.
24961 (date_mod_CFLAGS): Likewise.
24962 (date_mod_LDFLAGS): Likewise.
24963 (datehook_mod_SOURCES): Likewise.
24964 (datehook_mod_CFLAGS): Likewise.
24965 (datehook_mod_LDFLAGS): Likewise.
24966
24967 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24968 and datehook.mod.
24969 (datetime_mod_SOURCES): New macro.
24970 (datetime_mod_CFLAGS): Likewise.
24971 (datetime_mod_LDFLAGS): Likewise.
24972 (date_mod_SOURCES): Likewise.
24973 (date_mod_CFLAGS): Likewise.
24974 (date_mod_LDFLAGS): Likewise.
24975 (datehook_mod_SOURCES): Likewise.
24976 (datehook_mod_CFLAGS): Likewise.
24977 (datehook_mod_LDFLAGS): Likewise.
24978
24979 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24980 and datehook.mod.
24981 (datetime_mod_SOURCES): New macro.
24982 (datetime_mod_CFLAGS): Likewise.
24983 (datetime_mod_LDFLAGS): Likewise.
24984 (date_mod_SOURCES): Likewise.
24985 (date_mod_CFLAGS): Likewise.
24986 (date_mod_LDFLAGS): Likewise.
24987 (datehook_mod_SOURCES): Likewise.
24988 (datehook_mod_CFLAGS): Likewise.
24989 (datehook_mod_LDFLAGS): Likewise.
24990
24991 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24992 and datehook.mod.
24993 (datetime_mod_SOURCES): New macro.
24994 (datetime_mod_CFLAGS): Likewise.
24995 (datetime_mod_LDFLAGS): Likewise.
24996 (date_mod_SOURCES): Likewise.
24997 (date_mod_CFLAGS): Likewise.
24998 (date_mod_LDFLAGS): Likewise.
24999 (datehook_mod_SOURCES): Likewise.
25000 (datehook_mod_CFLAGS): Likewise.
25001 (datehook_mod_LDFLAGS): Likewise.
25002
25003 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
25004
25005 * commands/date.c: New file.
25006
25007 * hook/datehook.c: Likewise.
25008
25009 * include/grub/lib/datetime.h: Likewise.
25010
25011 * include/grub/i386/cmos.h: Likewise.
25012
25013 * lib/datetime.c: Likewise.
25014
25015 * lib/i386/datetime.c: Likewise.
25016
25017 * lib/efi/datetime.c: Likewise.
25018
0e9242da 250192008-08-14 Robert Millan <rmh@aybabtu.com>
25020
25021 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
25022 (grub_mkelfimage_SOURCES): New variable.
25023 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
25024
25025 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
25026 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
25027 * conf/powerpc-ieee1275.rmk: Likewise.
25028 * conf/i386-ieee1275.rmk: Likewise.
25029
25030 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
25031 * kern/i386/coreboot/init.c: Likewise.
25032
25033 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
25034 with `<grub/cpu/kernel.h>'.
25035 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
25036 to ...
25037 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
25038 * kern/i386/coreboot/startup.S: Likewise.
25039
25040 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25041 (GRUB_MOD_GAP): Remove.
25042 * include/grub/powerpc/kernel.h: New file.
25043 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25044 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25045 * include/grub/i386/kernel.h: New file.
25046 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25047 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25048 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25049
25050 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25051 `grub-mkelfimage'.
25052 Use --directory when invoking grub_mkimage.
25053
25054 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25055 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25056 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25057 and GRUB_KERNEL_CPU_PREFIX.
25058
b86408f8 250592008-08-14 Felix Zielcke <fzielcke@z-51.de>
25060
d5e619ca 25061 * include/grub/err.h (grub_err_printf): New function prototype.
25062 * util/misc.c (grub_err_printf): New function.
25063 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25064 grub_printf.
25065 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 25066
7161f0e0 250672008-08-13 Robert Millan <rmh@aybabtu.com>
25068
25069 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25070
a1967522 250712008-08-13 Robert Millan <rmh@aybabtu.com>
25072
25073 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25074 boot entry.
25075
371458b5 250762008-08-12 Robert Millan <rmh@aybabtu.com>
25077
25078 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25079 of the relocation code from here ...
25080 (grub_multiboot): ... to here.
25081 (forward_relocator, backward_relocator): Move from here ...
25082 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25083 (grub_multiboot_backward_relocator): ... to here.
25084 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25085 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25086 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25087 (grub_multiboot_forward_relocator_end)
25088 (grub_multiboot_backward_relocator)
25089 (grub_multiboot_backward_relocator_end): New variables.
25090
05f9452b 250912008-08-12 Bean <bean123ch@gmail.com>
25092
25093 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25094
20024ab0 250952008-08-11 Robert Millan <rmh@aybabtu.com>
25096
25097 * kern/i386/linuxbios/startup.S: Move from here ...
25098 * kern/i386/coreboot/startup.S: ... to here.
25099
25100 * kern/i386/linuxbios/init.c: Move from here ...
25101 * kern/i386/coreboot/init.c: ... to here.
25102
25103 * kern/i386/linuxbios/table.c: Move from here ...
25104 * kern/i386/coreboot/mmap.c: ... to here.
25105
25106 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25107
e352e9cd 251082008-08-11 Robert Millan <rmh@aybabtu.com>
25109
25110 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25111 errors. Leave it to the upper layer to handle them.
25112
2d05bc6a 251132008-08-09 Christian Franke <franke@computer.org>
25114
25115 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25116 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25117 Install `grub.d/10_windows' only on Cygwin.
25118 * configure.ac: Add subst of `target_os'.
25119 Check `target_os' also before setting TARGET_OBJ2ELF.
25120 Add `--enable-grub-pe2elf'.
25121
042bd419 251222008-08-08 Robert Millan <rmh@aybabtu.com>
25123
25124 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25125 (grub_last_time): Change type to grub_uint64_t.
25126 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25127 (grub_disk_close): Likewise.
25128
25129 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25130 (run_menu): Migrate code from to using grub_get_time_ms().
25131
25132 * util/misc.c (grub_get_time_ms): New function.
25133
7f280db5 251342008-08-08 Marco Gerards <marco@gnu.org>
25135
25136 * disk/ata.c (grub_ata_regget): Change return type to
25137 `grub_uint8_t'.
25138 (grub_ata_regget2): Likewise.
25139 (grub_ata_wait_status): New function.
25140 (grub_ata_wait_busy): Removed function, updated all users to use
25141 `grub_ata_wait_status'.
25142 (grub_ata_wait_drq): Likewise.
25143 (grub_ata_cmd): New function.
25144 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25145 error handling.
25146 (grub_ata_pio_write): Add error handling.
25147 (grub_atapi_identify): Likewise.
25148 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25149 handling.
25150 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25151 handling. Actually use the detected registers. Reorder the
25152 detection logic such that it is easier to read.
25153 (grub_ata_pciinit): Do not assign the same ID to each controller.
25154 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25155 handling.
25156 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25157
25158 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25159
1fbc5e66 251602008-08-08 Marco Gerards <marco@gnu.org>
25161
25162 * NEWS: Update.
25163
819ce6c0 251642008-08-07 Bean <bean123ch@gmail.com>
25165
25166 * include/grub/x86_64/pci.h: New file.
25167
5c41d44d 251682008-08-07 Christian Franke <franke@computer.org>
25169
25170 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25171 (TIMER2_GATE): Likewise.
25172 (grub_pit_wait): Add enable/disable of the timer2 gate
25173 bit of port 0x61. This fixes a possible infinite loop.
25174
5ebc275d 251752008-08-07 Bean <bean123ch@gmail.com>
25176
25177 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25178 kern/i386/tsc.c and kern/i386/pit.c.
25179
25180 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25181 x86_64 platform.
25182
25183 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25184 <grub/i386/tsc.h>.
25185
25186 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25187
e383b3d0 251882008-08-07 Bean <bean123ch@gmail.com>
25189
25190 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25191
25192 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25193
25194 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25195 multiple inclusion. Add #include <grub/types.h>.
25196
1cbb58ac 251972008-08-06 Christian Franke <franke@computer.org>
25198
25199 * conf/common.rmk: Build and install `10_windows'.
25200 * util/grub.d/10_windows.in: New script.
25201
337f5a1e 252022008-08-06 Pavel Roskin <proski@gnu.org>
25203
25204 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25205
057bc4ac 252062008-08-06 Robert Millan <rmh@aybabtu.com>
25207
25208 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25209 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25210
2b99f123 252112008-08-06 Bean <bean123ch@gmail.com>
25212
25213 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25214 (grub_pxefs_fs_int): Remove dummy definition.
25215 (grub_pxefs_open): Use data->block_size to store the current block
25216 size setting.
25217 (grub_pxefs_read): Use block size stored in data->block_size. As the
25218 value of grub_pxe_blksize can be changed after the file is opened.
25219
9f0234cb 252202008-08-06 Bean <bean123ch@gmail.com>
25221
25222 * fs/i386/pc/pxe.c (curr_file): new variable.
25223 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25224 require the dummy internal file system anymore.
25225 (grub_pxefs_read): Removed.
25226 (grub_pxefs_close): Likewise.
25227 (grub_pxefs_fs_int): Likewise.
25228 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25229 connection when we switch file.
25230 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25231
a55d42e0 252322008-08-06 Robert Millan <rmh@aybabtu.com>
25233
25234 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25235 `halt.mod'.
25236 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25237 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25238
25239 * kern/i386/halt.c: New file.
25240 * kern/i386/reboot.c: Likewise.
25241 * include/grub/i386/reboot.h: Likewise.
25242 * include/grub/i386/halt.h: Likewise.
25243
25244 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25245 Include `<grub/cpu/halt.h>'.
25246 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25247 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25248
25249 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25250 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25251 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25252 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25253 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25254 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25255 from here ...
25256 * include/grub/i386/at_keyboard.h: ... to here.
25257
24371d26 252582008-08-05 Robert Millan <rmh@aybabtu.com>
25259
25260 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25261 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25262 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25263 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25264 `kern/generic/millisleep.c'.
25265
25266 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25267 instead of grub_get_rtc().
25268 (grub_tsc_init): Initialize `tsc_boot_time'.
25269
25270 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25271 (grub_machine_init): Use grub_tsc_init() rather than
25272 installing an RTC-based handler via grub_install_get_time_ms().
25273
25274 * kern/i386/pit.c: New file.
25275 * include/grub/i386/pit.h: Likewise.
25276
9e7007b3 252772008-08-05 Bean <bean123ch@gmail.com>
25278
25279 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25280
25281 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25282 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25283 (pxe_mod_SOURCES): New macro.
25284 (pxe_mod_CFLAGS): Likewise.
25285 (pxe_mod_LDFLAGS): Likewise.
25286 (pxecmd_mod_SOURCES): Likewise.
25287 (pxecmd_mod_CFLAGS): Likewise.
25288 (pxecmd_mod_LDFLAGS): Likewise.
25289
25290 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25291 (grub_pxe_call): Likewise.
25292
25293 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25294
25295 * commands/i386/pc/pxecmd.c: New file.
25296
9f0234cb 25297 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 25298
25299 * include/grub/i386/pc/pxe.h: Likewise.
25300
6977d49f 253012008-08-05 Bean <bean123ch@gmail.com>
25302
25303 * util/console.c (grub_console_cur_color): New variable.
25304 (grub_console_standard_color): Likewise.
25305 (grub_console_normal_color): Likewise.
25306 (grub_console_highlight_color): Likewise.
25307 (color_map): Likewise.
25308 (use_color): Likewise.
25309 (NUM_COLORS): New macro.
25310 (grub_ncurses_setcolorstate): Handle color properly.
25311 (grub_ncurses_setcolor): Don't change color here, just remember the
25312 settings, color will be set in grub_ncurses_setcolorstate.
25313 (grub_ncurses_getcolor): New function.
25314 (grub_ncurses_init): Initialize color pairs.
25315 (grub_ncurses_term): New member grub_ncurses_getcolor.
25316
9c2ff3ee 253172008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 25318
9c2ff3ee 25319 High resolution timer support. Implemented for x86 CPUs using TSC.
25320 Extracted generic grub_millisleep() so it's linked in only as needed.
25321 This requires a Pentium compatible CPU; if the RDTSC instruction is
25322 not supported, then it falls back on the generic grub_get_time_ms()
25323 implementation that uses the machine's RTC.
25324
25325 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25326 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25327 `kern/generic/millisleep.c'.
25328
25329 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25330 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25331
25332 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25333 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25334
25335 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25336
25337 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25338 `kern/generic/millisleep.c'.
25339
25340 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25341
25342 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25343
25344 * kern/generic/rtc_get_time_ms.c: New file.
25345
25346 * kern/generic/millisleep.c: New file.
337f5a1e 25347
9c2ff3ee 25348 * kern/misc.c: Don't include
25349 <kern/time.h> anymore.
25350 (grub_millisleep_generic): Removed.
25351
25352 * commands/sleep.c (grub_interruptible_millisleep): Uses
25353 grub_get_time_ms() instead of grub_get_rtc().
25354
25355 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25356 function.
25357 (grub_cpu_is_cpuid_supported): New inline function.
25358 (grub_cpu_is_tsc_supported): New inline function.
25359 (grub_tsc_init): New function prototype.
25360 (grub_tsc_get_time_ms): New function prototype.
25361
25362 * kern/i386/tsc.c (grub_get_time_ms): New file.
25363
25364 * include/grub/time.h: Include <grub/types.h.
25365 (grub_millisleep_generic): Removed.
25366 (grub_get_time_ms): New prototype.
25367 (grub_install_get_time_ms): New prototype.
25368 (grub_rtc_get_time_ms): New prototype.
25369
25370 * kern/time.c (grub_get_time_ms): New function.
25371 (grub_install_get_time_ms): New function.
25372
25373 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25374 <grub/time.h> anymore.
25375 (grub_millisleep): Removed.
25376 (grub_machine_init): Call grub_tsc_init.
25377
25378 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25379 get_time_ms() implementation.
25380
25381 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25382 (ieee1275_get_time_ms): New function.
25383 (grub_machine_init): Install get_time_ms() implementation.
25384
25385 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25386 (grub_machine_init): Call grub_tsc_init().
25387 (grub_millisleep): Removed.
bf06a93f 25388
9c2ff3ee 25389 * kern/ieee1275/init.c (grub_millisleep): Removed.
25390 (grub_machine_init): Install ieee1275_get_time_ms()
25391 implementation.
25392 (ieee1275_get_time_ms): New function.
25393 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25394 real work.
25395
9ec92aaf 253962008-08-05 Marco Gerards <marco@gnu.org>
25397
25398 * disk/ata.c: Include <grub/pci.h>.
25399 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25400 (grub_ata_initialize): Rewritten.
25401 (grub_ata_device_initialize): New function.
25402
8d23f507 254032008-08-04 Pavel Roskin <proski@gnu.org>
25404
25405 * kern/main.c: Include grub/mm.h.
25406
5e15ee3d 254072008-08-04 Robert Millan <rmh@aybabtu.com>
25408
25409 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25410 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25411 corruption problem).
25412
a9053f8f 254132008-08-04 Robert Millan <rmh@aybabtu.com>
25414
25415 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25416 warnings introduced in my last commit.
25417
dd19c7d7 254182008-08-03 Robert Millan <rmh@aybabtu.com>
25419
25420 Make PCI available on all i386 architectures.
25421
25422 * include/grub/i386/pc/pci.h: Move from here ...
25423 * include/grub/i386/pci.h: ... to here.
25424
25425 * include/grub/i386/pc/pci.h: Remove.
25426 * include/grub/i386/efi/pci.h: Remove.
25427 * include/grub/x86_64/efi/pci.h: Remove.
25428
25429 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25430 `<grub/cpu/pci.h>'.
25431
25432 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25433 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25434 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25435
25436 * conf/i386-ieee1275.rmk: Likewise.
25437
e14a6184 254382008-08-03 Robert Millan <rmh@aybabtu.com>
25439
25440 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25441 (grub_console_setcursor): Make it possible to set cursor off.
25442
52768e37 254432008-08-03 Robert Millan <rmh@aybabtu.com>
25444
25445 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25446 of modules instead of assuming which platform provides what.
25447 * util/update-grub.in: Likewise.
25448
2d52f57f 254492008-08-03 Robert Millan <rmh@aybabtu.com>
25450
25451 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25452 instead of `grub_install_dos_part' to determine whether a drive needs
25453 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 25454 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 25455
2a5cd121 254562008-08-02 Robert Millan <rmh@aybabtu.com>
25457
25458 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25459
93808428 254602008-08-02 Robert Millan <rmh@aybabtu.com>
25461
25462 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25463 of informational grub_dprintf() calls.
25464
3bd0a12a 254652008-08-02 Robert Millan <rmh@aybabtu.com>
25466
25467 * disk/memdisk.c (memdisk_size): Don't initialize.
25468 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25469
25470 * include/grub/i386/pc/kernel.h
25471 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25472 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25473 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25474 (grub_arch_memdisk_size): Remove.
25475
25476 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25477 field (was only used to transfer a constant). Add `type' field to
25478 support multiple module types.
25479 (grub_module_iterate): New function.
25480
25481 * kern/device.c (grub_device_open): Do not hide error messages
25482 when grub_disk_open() fails. Use grub_print_error() instead.
25483
25484 * kern/i386/pc/init.c (grub_arch_modules_addr)
25485 (grub_arch_memdisk_size): Remove functions.
25486 (grub_arch_modules_addr): Return the module address in high memory
25487 (now that it isn't copied anymore).
25488
25489 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25490 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25491 decompression routine (grub_total_module_size already includes that
25492 now). Don't copy modules back to low memory.
25493
25494 * kern/main.c: Include `<grub/mm.h>'.
25495 (grub_load_modules): Split out (and use) ...
25496 (grub_module_iterate): ... this function, which iterates through
25497 module objects and runs a hook.
25498 Comment out grub_mm_init_region() call, as it would cause non-ELF
25499 modules to be overwritten.
25500
25501 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25502 the memdisk image in its own region, make it part of the module list.
25503 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25504 (main): Parse --memdisk|-m option, and pass user-provided path as
25505 parameter to generate_image().
25506 (add_segments): Pass `memdisk_path' down to load_modules().
25507 (load_modules): Embed memdisk image in module section when requested.
25508 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25509 `header.type' instead of `header.offset'.
25510
25511 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25512 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25513 (memdisk_mod_LDFLAGS): New variables.
25514 * conf/i386-coreboot.rmk: Likewise.
25515 * conf/i386-ieee1275.rmk: Likewise.
25516
a927cc73 255172008-08-02 Robert Millan <rmh@aybabtu.com>
25518
25519 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25520 (backward_relocator): New variables. Used to allocate and relocate
25521 the payload, respectively.
25522 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 25523 address, install the appropriate relocator code in each bound of
a927cc73 25524 the payload, and set the entry point such that
25525 grub_multiboot_real_boot() will jump to one of them.
25526
25527 * kern/i386/loader.S (grub_multiboot_payload_size)
25528 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25529 (grub_multiboot_payload_entry_offset): New variables.
25530 (grub_multiboot_real_boot): Set cpu context to what the relocator
25531 expects, and jump to the relocator instead of the payload.
25532
25533 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25534 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25535 (grub_multiboot_payload_entry_offset): Export.
25536
b15d8a0c 255372008-08-01 Bean <bean123ch@gmail.com>
25538
25539 * normal/menu_entry.c (editor_getline): Don't return the original
25540 string as result, as it will be released by lexer once it has done
25541 using it.
25542
cdfb3d22 255432008-08-01 Robert Millan <rmh@aybabtu.com>
25544
25545 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25546 within menuentries, not before them.
25547 util/grub.d/10_hurd.in: Likewise.
25548
9175e93d 255492008-08-01 Bean <bean123ch@gmail.com>
25550
25551 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25552 (bufio_mod_SOURCES): New macro.
25553 (bufio_mod_CFLAGS): Likewise.
25554 (bufio_mod_LDFLAGS): Likewise.
25555
25556 * include/grub/bufio.h: New file.
25557
25558 * io/bufio.c: Likewise.
25559
25560 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25561 (grub_video_reader_png): Use grub_buffile_open to open file.
25562
25563 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25564 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25565
25566 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25567 (grub_video_reader_tga): Use grub_buffile_open to open file.
25568
25569 * font/manager.c: Include <grub/bufio.h>.
25570 (add_font): Use grub_buffile_open to open file.
25571
3d8383e7 255722008-07-31 Robert Millan <rmh@aybabtu.com>
25573
25574 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25575 ELF segments, use a macro for arbitrarily accessing any of them instead
25576 of preparing a pointer that allows access to one at a time.
25577 (grub_multiboot_load_elf64): Likewise.
25578
16e641b6 255792008-07-31 Bean <bean123ch@gmail.com>
25580
25581 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25582 GRUB_KERNEL_MACHINE_DATA_END.
25583
59198b72 255842008-07-30 Robert Millan <rmh@aybabtu.com>
25585
25586 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25587 Increase from 0x50 to 0x60.
25588 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25589 use UUIDs to identify the root drive for them. If that's not
25590 possible, abort.
25591 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25592 check, for cross-disk installs.
25593
ae88bca3 255942008-07-30 Robert Millan <rmh@aybabtu.com>
25595
25596 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25597 is non-empty, use it to set the `prefix' environment variable instead
25598 of the usual approach.
25599 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25600 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25601 environment variable instead of dummy make_install_device().
25602
25603 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25604 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 25605 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 25606
25607 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25608 New variable reference.
25609 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25610 New macro. Defines offset of `grub_prefix' within startup.S (relative
25611 to `start').
25612 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25613 section within startup.S (relative to `start').
25614 * include/grub/i386/coreboot/kernel.h: Likewise.
25615
25616 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25617 Overwrite grub_prefix with its contents, at the beginning of the
25618 first segment.
25619 (main): Understand -p|--prefix.
25620
14f41dd1 256212008-07-30 Robert Millan <rmh@aybabtu.com>
25622
25623 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25624
4ca049a3 256252008-07-30 Robert Millan <rmh@aybabtu.com>
25626
25627 * term/i386/pc/vga_text.c (grub_console_cls): Use
25628 grub_console_gotoxy() to go back to beginning of the screen.
25629 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25630
2921d337 256312008-07-29 Christian Franke <franke@computer.org>
25632
25633 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25634 Add conversion of emulated mount points on Cygwin.
25635
b609876d 256362008-07-29 Christian Franke <franke@computer.org>
25637
25638 * util/update-grub.in: Add a check for admin
25639 group on Cygwin.
25640 Remove old `grub.cfg.new' before creation.
25641 Add `-f' to `mv' to handle the different filesystem
25642 semantics of Windows.
25643
e93e4679 256442008-07-29 Bean <bean123ch@gmail.com>
25645
25646 * normal/main.c (get_line): Fix buffer overflow bug.
25647
41694fd0 256482008-07-28 Robert Millan <rmh@aybabtu.com>
25649
25650 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25651 (struct grub_apple_header): New struct. Describes the layout of
25652 the partmap header.
25653 (apple_partition_map_iterate): Check the header magic as well as the
25654 partition magic (which was already being checked).
25655
cfd0b4e6 256562008-07-28 Pavel Roskin <proski@gnu.org>
25657
25658 * genmk.rb: Add a warning to the beginning of the output that
25659 it's a generated file and should not be edited.
25660
93cce016 256612008-07-28 Robert Millan <rmh@aybabtu.com>
25662
25663 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25664 with the same number are found, just use issue a warning with
25665 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 25666
cd1df915 256672008-07-27 Robert Millan <rmh@aybabtu.com>
25668
25669 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25670 information.
25671
b70a8427 256722008-07-27 Bean <bean123ch@gmail.com>
25673
25674 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25675 (grub_fat_find_dir): Ignore case when comparing filename.
25676
8f5e379f 256772008-07-27 Bean <bean123ch@gmail.com>
25678
25679 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25680 smallino, as it's more descriptive, and i8count can be confused with
25681 the other field count.
25682 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25683 inode type.
25684
a85cd5a0 256852008-07-27 Bean <bean123ch@gmail.com>
25686
25687 * commands/crc.c: New file.
25688
25689 * lib/crc.c: Likewise.
25690
25691 * include/grub/lib/crc.h: Likewise.
25692
25693 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25694
25695 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25696 (hexdump): Move this function to ...
25697
25698 * lib/hexdump.c: ... here.
25699
25700 * include/grub/hexdump.h: Renamed to ...
25701
25702 * include/grub/lib/hexdump.h: ... this.
25703
25704 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25705
25706 * util/grub-editenv.c: Likewise.
25707
25708 * include/envblk.h: Renamed to ...
25709
25710 * include/lib/envblk.h: ... this.
25711
25712 * util/envblk.c: Renamed to ...
25713
25714 * lib/envblk.c: ... this.
25715
25716 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25717 lib/hexdump.c.
25718 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25719 (pkglib_MODULES): Add crc.mod.
25720 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25721 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25722 (crc_mod_SOURCES): New macro.
25723 (crc_mod_CFLAGS): Likewise.
25724 (crc_mod_LDFLAGS): Likewise.
25725
25726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25727
25728 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25729
25730 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25731
25732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25733
25734 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25735
c298def0 257362008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 25737
25738 * commands/help.c: Include <grub/term.h>.
25739 (TERM_WIDTH): Removed. Updated all users.
25740
cc349fb3 257412008-07-27 Pavel Roskin <proski@gnu.org>
25742
25743 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25744 spurious warnings about a comment within a comment.
25745
9051607e 257462008-07-25 Robert Millan <rmh@aybabtu.com>
25747
25748 * util/getroot.c (find_root_device): Skip devices that match
25749 /dev/dm-[0-9]. This lets the real device be found for any type of
25750 abstraction (LVM, EVMS, RAID..).
25751 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25752 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25753 device is found first, find_root_device() will now skip it.
25754
01453bfc 257552008-07-24 Pavel Roskin <proski@gnu.org>
25756
25757 * include/grub/types.h: Use __builtin_bswap32() and
25758 __builtin_bswap64() with gcc 4.3 and newer.
25759
6af9849f 257602008-07-24 Christian Franke <franke@computer.org>
25761
3a0fa256 25762 * util/i386/pc/grub-install.in: If `--debug' is specified,
25763 pass `--verbose' to grub-setup.
25764 Abort script if make_system_path_relative_to_its_root() fails.
25765
7810e747 257662008-07-24 Bean <bean123ch@gmail.com>
25767
25768 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25769 variable `target_platform' should be `platform'.
25770
42290e17 257712008-07-24 Bean <bean123ch@gmail.com>
25772
51cc5193 25773 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 25774 (grub_png_init_fixed_block): New function.
25775 (grub_png_decode_image_data): Handle fixed huffman code compression.
25776
2a8a80e4 257772008-07-24 Bean <bean123ch@gmail.com>
25778
25779 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25780 (grub_pe2elf_SOURCES): New macro.
25781 (CLEANFILES): Add grub-pe2elf.
25782
25783 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25784 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25785 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25786 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25787 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25788 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25789 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25790 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25791 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25792 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25793 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25794 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25795 (GRUB_PE32_DT_FUNCTION): Likewise.
25796 (GRUB_PE32_REL_I386_DIR32): Likewise.
25797 (GRUB_PE32_REL_I386_REL32): Likewise.
25798 (grub_pe32_symbol): New structure.
25799 (grub_pe32_reloc): Likewise.
25800
25801 * util/grub-pe2elf.c: New file.
25802
25803 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25804 start symbol in non pc platform.
25805
25806 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25807
25808 The following patches are from Christian Franke.
25809
25810 * include/grub/dl.h: Remove .previous, gas supports this only
25811 for ELF format.
25812
25813 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25814 Remove .type, gas supports this only for ELF format.
25815
25816 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25817 nullbytes in symbol table. This fixes an infinite loop if table is
25818 zero filled.
25819
25820 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25821 TARGET_IMG_LDFLAGS and EXEEXT.
25822
25823 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25824 TARGET_IMG_LDFLAGS_AC.
25825 (grub_CHECK_STACK_ARG_PROBE): New function.
25826
25827 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25828
25829 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25830
25831 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25832 to set TARGET_IMG_LD* accordingly.
25833 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25834 Add call to grub_CHECK_STACK_ARG_PROBE.
25835 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25836
25837 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25838
25839 * genmk.rb: Add EXEEXT to CLEANFILES.
25840
12ccdb75 258412008-07-23 Robert Millan <rmh@aybabtu.com>
25842
25843 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25844 define the codes for arrows and lines used for the menu).
25845 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25846 as well.
25847
25848 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25849 fonts, because the latter are too slow.
25850
18eeaf04 258512008-07-21 Bean <bean123ch@gmail.com>
25852
25853 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25854 a20. Run keyboard test last, as it will cause macbook to halt.
25855
b095e2ad 258562008-07-18 Pavel Roskin <proski@gnu.org>
25857
25858 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25859 load foreign architecture modules correctly anyway. Keep
25860 support for loading host architecture modules, whether we
25861 compile them or not.
25862
737feb35 258632008-07-17 Pavel Roskin <proski@gnu.org>
25864
3f4ce737 25865 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25866 change target_cpu. The compiler default can mismatch target_cpu
25867 in any case.
25868
4ad2d049 25869 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25870 * kern/efi/efi.c: Likewise.
25871
f6130a12 25872 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25873 target compiler is functional.
25874 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25875 are set up.
25876
58393a2d 25877 * configure.ac: Default to efi platform for x86_64-apple. Allow
25878 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25879 adjustments from the rest, only do them if target is not
25880 explicitly given. Merge other adjustments with the final sanity
25881 check. Remove an extraneous check for supported CPU. Be
25882 specific which CPU and which platform is not supported.
25883
737feb35 25884 * configure.ac: Default to pc platform for x86_64.
25885
546f966a 258862008-07-17 Robert Millan <rmh@aybabtu.com>
25887
25888 Partial LinuxBIOS -> Coreboot rename.
25889
25890 * conf/i386-linuxbios.rmk: Renamed to ...
25891 * conf/i386-coreboot.rmk: ... this.
25892 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25893 * configure.ac: Accept "coreboot" as input platform (but maintain
25894 compatibility with "linuxbios").
25895 * include/grub/i386/linuxbios: Renamed to ...
25896 * include/grub/i386/coreboot: ... this.
25897
20011694 258982008-07-17 Bean <bean123ch@gmail.com>
25899
25900 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 25901 (appleldr_mod_SOURCE): New variable.
20011694 25902 (appleldr_mod_CFLAGS): Likewise.
25903 (appleldr_mod_LDFLAGS): Likewise.
25904 (pci_mod_SOURCES): Likewise.
25905 (pci_mod_CFLAGS): Likewise.
25906 (pci_mod_LDFLAGS): Likewise.
25907 (lspci_mod_SOURCES): Likewise.
25908 (lspci_mod_CFLAGS): Likewise.
25909 (lspci_mod_LDFLAGS): Likewise.
25910
25911 * conf/x86_64-efi.rmk: New file.
25912
25913 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25914 macro.
25915 (grub_efidisk_write): Likewise.
25916
25917 * include/efi/api.h (efi_call_0): New macro.
25918 (efi_call_1): Likewise.
25919 (efi_call_2): Likewise.
25920 (efi_call_3): Likewise.
25921 (efi_call_4): Likewise.
25922 (efi_call_5): Likewise.
25923 (efi_call_6): Likewise.
25924
25925 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25926 grub_rescue_cmd_chainloader.
25927
25928 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25929 (grub_pe32_optional_header): Change some fields based on i386 or
25930 x86_64 platform.
25931 (GRUB_PE32_PE32_MAGIC): Likewise.
25932
25933 * include/grub/efi/uga_draw.h: New file.
25934
25935 * include/grub/elf.h (STN_ABS): New constant.
25936 (R_X86_64_NONE): Relocation constant for x86_64.
25937 (R_X86_64_64): Likewise.
25938 (R_X86_64_PC32): Likewise.
25939 (R_X86_64_GOT32): Likewise.
25940 (R_X86_64_PLT32): Likewise.
25941 (R_X86_64_COPY): Likewise.
25942 (R_X86_64_GLOB_DAT): Likewise.
25943 (R_X86_64_JUMP_SLOT): Likewise.
25944 (R_X86_64_RELATIVE): Likewise.
25945 (R_X86_64_GOTPCREL): Likewise.
25946 (R_X86_64_32): Likewise.
25947 (R_X86_64_32S): Likewise.
25948 (R_X86_64_16): Likewise.
25949 (R_X86_64_PC16): Likewise.
25950 (R_X86_64_8): Likewise.
25951 (R_X86_64_PC8): Likewise.
25952
25953 * include/grub/i386/efi/pci.h: New file.
25954
25955 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25956 Change it value based on platform.
25957 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25958 (GRUB_E820_RAM): Likewise.
25959 (GRUB_E820_RESERVED): Likewise.
25960 (GRUB_E820_ACPI): Likewise.
25961 (GRUB_E820_NVS): Likewise.
25962 (GRUB_E820_EXEC_CODE): Likewise.
25963 (GRUB_E820_MAX_ENTRY): Likewise.
25964 (grub_e820_mmap): New structure.
25965 (linux_kernel_header): Change the efi field according to different
25966 kernel version, also field from linux_kernel_header.
25967
25968 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25969
25970 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25971 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25972 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25973 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25974 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25975 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25976 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25977 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25978 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25979 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25980
25981 * include/grub/x86_64/efi/kernel.h: New file.
25982
25983 * include/grub/x86_64/efi/loader.h: Likewise.
25984
25985 * include/grub/x86_64/efi/machine.h: Likewise.
25986
25987 * include/grub/x86_64/efi/pci.h: Likewise.
25988
25989 * include/grub/x86_64/efi/time.h: Likewise.
25990
25991 * include/grub/x86_64/linux.h: Likewise.
25992
25993 * include/grub/x86_64/setjmp.h: Likewise.
25994
25995 * include/grub/x86_64/time.h: Likewise.
25996
25997 * include/grub/x86_64/types.h: Likewise.
25998
25999 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
26000 GRUB_TARGET_SIZEOF_VOID_P.
26001
26002 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
26003 (grub_efi_locate_handle): Likewise.
26004 (grub_efi_open_protocol): Likewise.
26005 (grub_efi_set_text_mode): Likewise.
26006 (grub_efi_stall): Likewise.
26007 (grub_exit): Likewise.
26008 (grub_reboot): Likewise.
26009 (grub_halt): Likewise.
26010 (grub_efi_exit_boot_services): Likewise.
26011 (grub_get_rtc): Likewise.
26012
26013 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
26014 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
26015 (grub_efi_allocate_pages): Wrap efi calls.
26016 (grub_efi_free_pages): Wrap efi calls.
26017 (grub_efi_get_memory_map): Wrap efi calls.
26018
26019 * kern/x86_64/dl.c: New file.
26020
26021 * kern/x86_64/efi/callwrap.S: Likewise.
26022
26023 * kern/x86_64/efi/startup.S: Likewise.
26024
26025 * loader/efi/appleloader.c: Likewise.
26026
26027 * loader/efi/chainloader.c (cmdline): New variable.
26028 (grub_chainloader_unload): Wrap efi calls.
26029 (grub_chainloader_boot): Likewise.
26030 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
26031 command line.
26032
26033 * loader/efi/chainloader_normal.c (chainloader_command):
26034 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
26035 command line.
26036
26037 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26038 method.
26039 (grub_e820_add_region): New function.
26040 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26041 booting.
26042 (grub_find_video_card): New function.
26043 (grub_linux_setup_video): New function.
26044 (grub_rescue_cmd_linux): Probe for video information.
26045
26046 * normal/x86_64/setjmp.S: New file.
26047
26048 * term/efi/console.c (map_char): New function.
26049 (grub_console_putchar): Map unicode char.
26050 (grub_console_checkkey): Wrap efi calls.
26051 (grub_console_getkey): Likewise.
26052 (grub_console_getwh): Likewise.
26053 (grub_console_gotoxy): Likewise.
26054 (grub_console_cls): Likewise.
26055 (grub_console_setcolorstate): Likewise.
26056 (grub_console_setcursor): Likewise.
26057
26058 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26059
59652a20 260602008-07-16 Pavel Roskin <proski@gnu.org>
26061
ef294055 26062 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26063 format strings.
26064
59652a20 26065 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26066 pointer, not an integer. This fixes a warning and prevents
26067 precision loss on 64-bit systems.
26068 (relocate_addresses): Remove unneeded cast.
26069
afc3b5d7 260702008-07-15 Pavel Roskin <proski@gnu.org>
26071
506b2b3e 26072 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26073
62ead89c 26074 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26075
c4cd51d7 26076 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26077 Fix comparison between signed and unsigned.
26078
0d3d8f28 26079 * include/grub/i386/ieee1275/console.h: Declare
26080 grub_console_init() and grub_console_fini().
26081
8804b286 26082 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26083 It's empty and unused.
26084
ee01cf35 26085 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26086 beginning to avoid warnings with some compilers.
26087
afc3b5d7 26088 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26089 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26090
e4e8eaa5 260912008-07-14 Pavel Roskin <proski@gnu.org>
26092
407aceb4 26093 * kern/env.c (grub_register_variable_hook): Don't copy empty
26094 string, it leaks memory. Pass "" to grub_env_set(), it should
26095 handle constant strings.
26096
e4e8eaa5 26097 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26098 * commands/cmp.c (grub_cmd_cmp): Likewise.
26099 * kern/dl.c (grub_dl_flush_cache): Likewise.
26100 (grub_dl_load_core): Likewise.
26101 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26102 (grub_elf64_load_phdrs): Likewise.
26103
d4e2dad3 261042008-07-13 Pavel Roskin <proski@gnu.org>
26105
26106 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26107 between signed and unsigned.
26108 (LzmaEnc_Finish): Fix warning about an unused parameter.
26109
aa24b516 261102008-07-13 Bean <bean123ch@gmail.com>
26111
26112 * Makefile.in (enable_lzo): New rule.
26113
26114 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26115
26116 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26117
26118 * boot/i386/pc/lnxboot.S: #include <config.h>.
26119
26120 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 26121 its value according to the compression algorithm used, lzo or lzma.
aa24b516 26122
26123 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26124 compression algorithm according to configure macro.
26125
26126 * kern/i386/pc/startup.S (codestart): Likewise.
26127
26128 * kern/i386/pc/lzma_decode.S: New file.
26129
26130 * include/grub/lib/LzFind.h: Likewise.
26131
26132 * include/grub/lib/LzHash.h: Likewise.
26133
26134 * include/grub/lib/LzmaDec.h: Likewise.
26135
26136 * include/grub/lib/LzmaEnc.h: Likewise.
26137
26138 * include/grub/lib/LzmaTypes.h: Likewise.
26139
26140 * lib/LzFind.c: Likewise.
26141
26142 * lib/LzmaDec.c: Likewise.
26143
26144 * lib/LzmaEnc.c: Likewise.
26145
4ae821ac 261462008-07-13 Bean <bean123ch@gmail.com>
26147
26148 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26149 (grub_ext4_extent_header): New structure.
26150 (grub_ext4_extent): Likewise.
26151 (grub_ext4_extent_idx): Likewise.
26152 (grub_ext4_find_leaf): New function.
26153 (grub_ext2_read_block): Handle extents.
26154
9a745147 261552008-07-12 Robert Millan <rmh@aybabtu.com>
26156
26157 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26158
d49a4cf6 261592008-07-11 Robert Millan <rmh@aybabtu.com>
26160
26161 * util/grub.d/40_custom.in: New file. Example on how to add custom
26162 entries to /etc/grub.d.
26163 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26164 40_custom (implicitly, by merging all the grub.d rules).
26165
947414b4 261662008-07-11 Pavel Roskin <proski@gnu.org>
26167
0059cf6f 26168 * commands/read.c (grub_getline): Fix invalid memory access.
26169 Don't add newline to the variable value.
26170
947414b4 26171 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26172 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26173 (serial_hw_get_port): Check validity of the port number.
26174 (grub_cmd_serial): Check return value of serial_hw_get_port().
26175
62a02d00 261762008-07-07 Pavel Roskin <proski@gnu.org>
26177
26178 * boot/i386/pc/diskboot.S (notification_string): Replace
26179 "Loading kernel" with just "loading". This is shorter, less
26180 confusing and saves a few bytes for possible future changes.
26181
3e5581b0 261822008-07-05 Pavel Roskin <proski@gnu.org>
26183
ea387a48 26184 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26185 size for ATAPI devices, they are undefined. Output sector
26186 number in decimal form.
26187
3e5581b0 26188 * disk/ata.c: Use named constants for status bits.
26189
fdecb8fd 261902008-07-04 Pavel Roskin <proski@gnu.org>
26191
bcd35b90 26192 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26193 grub_addr_t before casting it to the void pointer to fix a
26194 warning. Non-addressable regions are discarded earlier.
26195 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26196 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26197 (check_signature): Don't shadow table_header.
26198 (grub_linuxbios_table_iterate): Cast numeric constants to
26199 grub_linuxbios_table_header_t.
26200 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26201 grub_stop().
26202
af58ab3d 26203 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26204 prevent warnings.
26205
1759aa57 26206 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26207 pointer, which can cause warnings. Support 64-bit addresses.
26208
fdecb8fd 26209 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26210 of sizeof(long). This fixes PowerPC image generation on x86_64.
26211
8516d2a8 262122008-07-04 Robert Millan <rmh@aybabtu.com>
26213
26214 This fixes a performance issue when pc & gpt partmap iterators
26215 didn't abort iteration even after our hook found what it was
fe987087 26216 looking for (often causing expensive probes of non-existent drives).
8516d2a8 26217
26218 Some callers relied on previous buggy behaviour, since they would
34c44600 26219 raise an error when their own hooks caused early abortion of its
8516d2a8 26220 iteration.
26221
26222 * kern/device.c (grub_device_open): Improve error message.
26223 * disk/lvm.c (grub_lvm_open): Likewise.
26224 * disk/raid.c (grub_raid_open): Likewise.
26225
26226 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26227 when hook requests it, independently of grub_errno.
26228 (pc_partition_map_probe): Do not fail when find_func() caused
26229 early abortion of pc_partition_map_iterate().
26230
26231 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26232 when hook requests it, independently of grub_errno.
26233 (gpt_partition_map_probe): Do not fail when find_func() caused
26234 early abortion of gpt_partition_map_iterate().
26235
26236 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26237 when hook requests it, independently of grub_errno. Do not fail when
26238 part_map_iterate_hook() caused early abortion of p->iterate().
26239
26240 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26241 when grub_partition_iterate() returned with non-zero.
26242
277d0de9 262432008-07-03 Pavel Roskin <proski@gnu.org>
26244
26245 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26246 like we do in grub_ata_pio_read().
26247 (grub_ata_readwrite): Always write individual sectors. Fix the
26248 sector count for the remainder.
26249 (grub_ata_write): Enable writing to ATA devices. Correctly
26250 report error for ATAPI devices.
26251
d4c9b428 262522008-07-02 Pavel Roskin <proski@gnu.org>
26253
e43fc690 26254 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26255 warning.
26256
f707af42 26257 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26258 for every read sector, we already increment it for the whole
26259 batch. This fixes reading more than 256 sectors at once.
26260
11e16b15 26261 * util/grub-editenv.c (cmd_info): Cast argument to long
26262 explicitly. ptrdiff_t reduces to int on i386.
26263
cbabfdd4 26264 * util/grub-editenv.c (main): Be specific which parameter is
26265 missing.
26266
b8fbce0a 26267 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26268 (memdisk): Make memdisk_orig_addr a pointer.
26269
c9c8e606 26270 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26271 for file offsets, use grub_off_t instead. Fix printf format
26272 warnings.
26273
ca62e598 26274 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26275 there. Real unexpected warnings should not drown in the noise
26276 about known problems.
26277
ce8d1766 26278 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26279 grub_disk_addr_t for memory addresses.
26280
00c7a56a 26281 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26282 explicitly to fix a warning.
26283
08d3ef09 26284 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26285
cb71ba20 26286 * Makefile.in (MODULE_LDFLAGS): New variable.
26287 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26288 the linker accepts --build-id=none.
26289 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26290 MODULE_LDFLAGS.
26291 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26292
d4c9b428 26293 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26294 those in Linux XFS code. Provide a way to access 64-bit parent
26295 inode.
26296 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26297 the end of struct grub_xfs_dir_header.
26298
d4156eee 262992008-07-02 Bean <bean123ch@gmail.com>
26300
26301 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26302 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26303 and GRUB_IEEE1275_FLAG_NO_ANSI.
26304
26305 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26306 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26307 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26308
26309 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26310 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26311
26312 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26313 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26314
26315 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26316 esc sequence on non ANSI terminal.
26317 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26318
26319 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26320 beginning of file.
26321
2270f77b 263222008-07-02 Bean <bean123ch@gmail.com>
26323
26324 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26325 (grub_editenv_SOURCES): New variable.
26326 (pkglib_MODULES): Add loadenv.mod.
26327 (loadenv_mod_SOURCES): New variable.
26328 (loadenv_mod_CFLAGS): Likewise.
26329 (loadenv_mod_LDFLAGS): Likewise.
26330
26331 * include/grub/envblk.h: New file.
26332
26333 * util/envblk.c: New file.
26334
26335 * util/grub-editenv.c: New file.
26336
26337 * commands/loadenv.c: New file.
26338
0e9e51ec 263392008-07-01 Pavel Roskin <proski@gnu.org>
26340
d89b7634 26341 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26342 not unsigned char. This fixes warnings and is consistent with
26343 other tags.
26344
bf1835b1 26345 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26346
8222a04b 26347 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26348
6a42d99d 26349 * term/tparm.c (analyze): Always set *popcount.
26350
10b159d1 26351 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26352 cast to fix a warning.
26353
b8789f6c 26354 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26355 cast to suppress a warning.
26356
29d7e38a 26357 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26358 grub_fshelp_read_file() expects.
26359
f341f669 26360 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26361 write uuid as a 32-bit value in CPU byte order, so declare and
26362 use it as such.
26363
0e9e51ec 26364 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26365 long if the format specifier expects it.
26366 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26367 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26368 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26369 long to fix a warning.
26370 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26371 grub_dprintf() arguments to fix warnings.
26372
3aefa857 263732008-06-30 Pavel Roskin <proski@gnu.org>
26374
56c7668b 26375 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26376 install_bsd_part immediately before core.img is embedded or
26377 modified on disk. This fixes core.img verification if core.img
26378 cannot be embedded.
26379
3aefa857 26380 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26381 core_path to calculate the blocklist.
26382 Patch from Javier Martín <lordhabbit@gmail.com>
26383
5444088d 263842008-06-29 Robert Millan <rmh@aybabtu.com>
26385
26386 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26387 block to disk block.
26388 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26389 Patch from Niels Böhm <bitbucket@arcor.de>
26390
674835c8 263912008-06-29 Robert Millan <rmh@aybabtu.com>
26392
26393 * util/update-grub_lib.in (font_path): Search for fonts in
26394 /boot/grub first, which is more likely to be readable (we aren't
26395 deciding where fonts live, just looking for them).
26396
f527dbc8 263972008-06-26 Pavel Roskin <proski@gnu.org>
26398
6c2d8df6 26399 * util/biosdisk.c (read_device_map): Don't leave dead map
26400 entries for devices failing stat() check.
26401
f527dbc8 26402 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26403 core_path_dev for the core.img path on the target device.
26404
aebe3d13 264052008-06-26 Robert Millan <rmh@aybabtu.com>
26406
26407 * disk/fs_uuid.c: New file.
26408 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26409 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26410 (fs_uuid_mod_LDFLAGS): New variables.
26411 * include/grub/disk.h (grub_disk_dev_id): Add
26412 `GRUB_DISK_DEVICE_UUID_ID'.
26413 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26414 implement iterate().
26415
37aaf354 264162008-06-26 Robert Millan <rmh@aybabtu.com>
26417
26418 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26419 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26420 Linux image includes no initrd.
26421
25ff262a 264222008-06-21 Javier Martín <lordhabbit@gmail.com>
26423
26424 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26425 call to resolve the core image location that effectively appended the
26426 name twice.
26427
76a2bd44 264282008-06-21 Robert Millan <rmh@aybabtu.com>
26429
26430 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26431 call from here ...
26432
26433 * util/grub.d/10_hurd.in: ... to here ...
26434 * util/grub.d/10_linux.in: ... and here.
26435
650e1c79 264362008-06-19 Robert Millan <rmh@aybabtu.com>
26437
fe987087 26438 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 26439 after it has been set by grub_machine_set_prefix().
26440
6ce63911 264412008-06-19 Robert Millan <rmh@aybabtu.com>
26442
26443 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26444 search result when not saving to variable, not the other way around.
26445 When saving to variable, abort iteration as soon as a match is found.
26446
73940cec 264472008-06-19 Robert Millan <rmh@aybabtu.com>
26448
26449 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26450 check for partition that provides /boot/grub. Its logic is flawed,
26451 as it prevents prepare_grub_to_access_device() from being called
26452 multiple times.
26453
3c62a39d 264542008-06-19 Robert Millan <rmh@aybabtu.com>
26455
26456 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26457 "insmod" command directly when abstraction modules are needed,
fe987087 26458 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 26459 since it had already been processed).
26460
47395a42 264612008-06-19 Pavel Roskin <proski@gnu.org>
26462
26463 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26464 changed. This is needed in case GRUB_LIBDIR changes.
26465 * conf/i386-ieee1275.rmk: Likewise.
26466 * conf/i386-linuxbios.rmk: Likewise.
26467 * conf/i386-pc.rmk: Likewise.
26468 * conf/powerpc-ieee1275.rmk: Likewise.
26469
a145ac2d 264702008-06-18 Pavel Roskin <proski@gnu.org>
26471
26472 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26473 kernel_elf_symlist.c to symlist.c for consistency with other
26474 architectures. Update all users.
26475 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26476
7847c51e 264772008-06-18 Robert Millan <rmh@aybabtu.com>
26478
26479 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26480 it in prefix.
26481
26482 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26483 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26484 a RAID device, run setup() for all members independently on whether
26485 LVM abstraction is being used.
26486 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26487 If grub-mkimage has set `*install_dos_part == -2', don't override this
26488 value.
26489 Perform *install_dos_part adjustments independently on whether
26490 we're embedding or not.
26491 Clarify error message when image is too big for embedding.
26492 Remove duplicate *install_dos_part stanza.
26493
b23e5644 264942008-06-17 Robert Millan <rmh@aybabtu.com>
26495
26496 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26497 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26498 variables.
26499 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26500 values in grub_ofconsole_normal_color and
26501 grub_ofconsole_highlight_color (they're not directly related to
26502 background and foreground).
26503 (grub_ofconsole_setcolorstate): Extract background and foreground
26504 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26505
0aac2f79 265062008-06-17 Robert Millan <rmh@aybabtu.com>
26507
26508 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26509 /boot/grub for the check in last commit, not /boot (they could be
26510 different partitions).
26511
3cca7ef3 265122008-06-16 Robert Millan <rmh@aybabtu.com>
26513
26514 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26515 asked to setup access for the same partition that provides /boot,
26516 don't bother using UUIDs since our root already has the value we
26517 want.
26518
347396d8 265192008-06-16 Robert Millan <rmh@aybabtu.com>
26520
26521 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26522 I2O devices.
26523 Patch from Sven Mueller <sven@debian.org>.
26524
991477f8 265252008-06-16 Robert Millan <rmh@aybabtu.com>
26526
26527 * util/update-grub.in: Check for $EUID instead of $UID.
26528 Reported by Vincent Zweije.
26529
d31a32a1 265302008-06-16 Bean <bean123ch@gmail.com>
26531
fe987087 26532 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 26533 (grub_ext2_read_block): Likewise.
26534 (grub_ext2_read_inode): Likewise.
26535 (grub_ext2_mount): Likewise.
26536 (grub_ext2_close): Likewise.
26537 (grub_ext3_get_journal): Removed.
26538
fe987087 26539 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 26540 (grub_reiserfs_read_symlink): Likewise.
26541 (grub_reiserfs_mount): Likewise.
26542 (grub_reiserfs_open): Likewise.
26543 (grub_reiserfs_read): Likewise.
26544 (grub_reiserfs_close): Likewise.
26545 (grub_reiserfs_get_journal): Removed.
26546
26547 * fs/fshelp.c (grub_fshelp_read): Removed.
26548 (grub_fshelp_map_block): Likewise.
26549
26550 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26551 (grub_fshelp_journal): Likewise.
26552 (grub_fshelp_read): Likewise.
26553 (grub_fshelp_map_block): Likewise.
26554
3540a760 265552008-06-16 Pavel Roskin <proski@gnu.org>
26556
26557 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26558 floating point anymore.
26559 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26560
95614c84 265612008-06-15 Pavel Roskin <proski@gnu.org>
26562
26563 * commands/ls.c (grub_ls_list_files): Use integer calculations
26564 for human readable format, avoid floating point use.
26565 * kern/misc.c (grub_ftoa): Remove.
26566 (grub_vsprintf): Remove floating point support.
26567
50465dd6 265682008-06-15 Robert Millan <rmh@aybabtu.com>
26569
fe6b695a 26570 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 26571 devices.
26572 Reported by Max Vozeler.
26573
a9207284 265742008-06-15 Robert Millan <rmh@aybabtu.com>
26575
26576 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26577 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26578 skipped later.
26579 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26580 the beginning of the prefix.
26581
26582 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26583 It is assumed that if we have a memdisk, grub-mkimage has set
26584 grub_prefix to include the "(memdisk)" drive in it.
26585
a7cbd45a 265862008-06-15 Robert Millan <rmh@aybabtu.com>
26587
26588 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26589 Initialize keyboard controller after registering the terminal, so that
26590 grub_printf() can be called from grub_keyboard_controller_init().
26591
21cf716a 265922008-06-15 Robert Millan <rmh@aybabtu.com>
26593
26594 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26595 extent-btree which is written as big endian on disk.
26596 Reported by Alain Greppin <al@chilibi.org>.
26597
23a64d8e 265982008-06-14 Robert Millan <rmh@aybabtu.com>
26599
26600 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26601 * util/i386/pc/grub-install.in (modules): Likewise.
26602
d687651c 266032008-06-13 Pavel Roskin <proski@gnu.org>
26604
26605 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26606
dfe9ddd4 266072008-06-13 Bean <bean123ch@gmail.com>
26608
26609 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26610
26611 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26612
26613 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26614 to indicate sparse block.
26615
16ae7781 266162008-06-12 Pavel Roskin <proski@gnu.org>
26617
e6d1a308 26618 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26619 number, grub_fshelp_read() does it for us.
26620
16ae7781 26621 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26622 linear disk read with journal translation.
26623 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26624 * include/grub/fshelp.h: Declare grub_fshelp_read().
26625
40fd3a2b 266262008-06-09 Pavel Roskin <proski@gnu.org>
26627
26628 * fs/minix.c (grub_minix_mount): Handle error reading
26629 superblock.
26630
f5679726 266312008-06-08 Robert Millan <rmh@aybabtu.com>
26632
26633 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26634 don't append the RAID prefix afterwards.
26635 Reported by Clint Adams.
26636
ce525529 266372008-06-08 Robert Millan <rmh@aybabtu.com>
26638
26639 Based on description from Pavel:
26640 * kern/disk.c (grub_disk_check_range): Rename to ...
26641 (grub_disk_adjust_range): ... this. Add a comment explaining the
26642 tasks performed by this function.
26643
ad4936a0 266442008-06-08 Robert Millan <rmh@aybabtu.com>
26645
26646 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26647 `num_serial' (for consistency with other variables).
26648 (struct grub_ntfs_data): Add `uuid' member.
26649 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26650 (grub_ntfs_uuid): New function.
26651 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26652
dc20b0f9 266532008-06-07 Pavel Roskin <proski@gnu.org>
26654
26655 * util/biosdisk.c (open_device): Revert last change to the
26656 function, it broke installation. The sector needs to be
26657 different dependent on which device is opened.
26658
c5e3cfba 266592008-06-06 Robert Millan <rmh@aybabtu.com>
26660
26661 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26662 rest of GRUB, and breakage doesn't happen if its value were modified.
26663
26664 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26665 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26666 a constant (same value).
26667 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26668 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26669
26a1f8c4 266702008-06-06 Robert Millan <rmh@aybabtu.com>
26671
26672 * util/biosdisk.c (open_device): Do not modify sector offset when
26673 accessing a partition. kern/disk.c already handles this for us.
26674
25d6b327 266752008-06-06 Robert Millan <rmh@aybabtu.com>
26676
26677 * util/grub-emu.c (grub_machine_init): Move code in this function from
26678 here ...
26679 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26680 segfault in case grub_printf() is called).
26681
26682 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26683 grub_probe. Update all users not to explicitly add it again.
26684 (grub_device): New variable; contains corresponding device for grubdir.
26685 (fs_module, partmap_module, devabstraction_module): Pass
26686 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26687 every time.
26688
9ece62fb 266892008-06-05 Robert Millan <rmh@aybabtu.com>
26690
26691 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26692 is found, print it (same layout as with labels).
26693
1ad36d37 266942008-06-04 Robert Millan <rmh@aybabtu.com>
26695
26696 * util/biosdisk.c (get_drive): Rename to ...
26697 (find_grub_drive): ... this. Update all users.
26698
26699 (get_os_disk): Rename to ...
26700 (convert_system_partition_to_system_disk): ... this. Update all users.
26701
26702 (find_drive): Rename to ...
26703 (find_system_device): ... this. Update all users.
26704
e6a30859 267052008-06-04 Robert Millan <rmh@aybabtu.com>
26706
26707 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26708 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26709 (make_device_map): Likewise.
26710
00c108a4 267112008-06-01 Robert Millan <rmh@aybabtu.com>
26712
26713 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26714 before dereferencing it.
26715
26716 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26717 union with fat12/fat16-specific ones. Add some new fields, including
26718 `num_serial' for both versions.
26719 (struct grub_fat_data): Add `uuid' member.
26720 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26721 names. Initialize `data->uuid' using `num_serial'.
26722 (grub_fat_uuid): New function.
26723 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26724
26725 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26726 (grub_reiserfs_uuid): New function.
26727 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26728 member.
26729
26730 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26731 (grub_xfs_uuid): New function.
26732 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26733
1385c5bb 267342008-06-01 Robert Millan <rmh@aybabtu.com>
26735
26736 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26737 code that is backward compatible with pre-uuid search command.
26738
c682dfd7 267392008-05-31 Robert Millan <rmh@aybabtu.com>
26740
26741 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26742 floppies after everything else, to ensure floppy drive isn't accessed
26743 unnecessarily (patch from Bean).
26744
b7db5d47 267452008-05-31 Robert Millan <rmh@aybabtu.com>
26746
26747 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26748 not print device names when we were asked to set a variable.
26749
6e037aa9 267502008-05-31 Robert Millan <rmh@aybabtu.com>
26751
26752 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26753 using "cursor-on" and "cursor-off" commands (understood at least by
26754 the Open Firmware flavour on OLPC).
26755
41305bc8 267562008-05-31 Michael Gorven <michael@gorven.za.net>
26757
26758 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26759 on and off sequences.
26760
69ba137e 267612008-05-31 Robert Millan <rmh@aybabtu.com>
26762
26763 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26764 * util/update-grub.in: Likewise.
26765
520ae21b 267662008-05-30 Pavel Roskin <proski@gnu.org>
26767
26768 * util/biosdisk.c (linux_find_partition): Simplify logic and
26769 make the code more universal. Keep special processing for
26770 devfs, but use a simple rule for all other devices. If the
26771 device ends with a number, append 'p' and the partition number.
26772 Otherwise, append only the partition number.
26773
5786569b 267742008-05-30 Robert Millan <rmh@aybabtu.com>
26775
26776 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26777 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26778 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26779 the `root' parameter to Linux.
26780
51500452 267812008-05-30 Robert Millan <rmh@aybabtu.com>
26782
26783 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26784 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26785 --fs_uuid with --fs-uuid.
26786 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26787 all filesystems support them).
26788
811d3878 267892008-05-30 Robert Millan <rmh@aybabtu.com>
26790
26791 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 26792 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 26793
cab63c95 267942008-05-30 Robert Millan <rmh@aybabtu.com>
26795
26796 * util/grub.d/00_header.in: Remove obsolete comment referencing
26797 convert_system_path_to_grub_path().
26798 * util/update-grub.in: Likewise.
26799 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26800 (convert_system_path_to_grub_path): Add a warning message explaining
26801 that this function is deprecated. Rely on is_path_readable_by_grub()
26802 for the readability checks.
26803 (font_path): Use is_path_readable_by_grub() for the readability
26804 check rather than convert_system_path_to_grub_path().
26805
972e2f7a 268062008-05-30 Robert Millan <rmh@aybabtu.com>
26807
26808 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26809 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26810 converting it first.
26811 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26812 grub.cfg for access to font file, and afterwards call it again to set
26813 the root device.
26814
62191274 268152008-05-30 Robert Millan <rmh@aybabtu.com>
26816
26817 * commands/search.c (options): Add --fs_uuid option.
26818 (search_fs_uuid): New function.
26819 (grub_cmd_search): Fix --set argument passing.
26820 Use search_fs_uuid() when requested via --fs_uuid.
26821 (grub_search_init): Update help message.
26822 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26823 and redeclare it as an array of 16-bit words.
26824 (grub_ext2_uuid): New function.
26825 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26826 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26827 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26828 (GRUB_DEVICE_BOOT_UUID): New variables.
26829 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26830 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26831 whenever possible.
26832 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26833 just assume `root' variable has the right value.
26834 * util/grub.d/10_linux.in: Likewise.
26835 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26836 via PRINT_FS_UUID.
26837 (main): Recognise `-t fs_uuid' argument.
26838
01b73ec8 268392008-05-30 Robert Millan <rmh@aybabtu.com>
26840
26841 * util/biosdisk.c (map): Redefine structure to hold information
26842 about GRUB drive name.
fe6b695a 26843 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 26844 drive names.
26845 (call_hook): Remove.
26846 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26847 member. Assume drive has partitions.
26848 (grub_util_biosdisk_open): Access device names via `.device' struct
26849 member.
26850 (open_device): Likewise.
26851 (find_drive): Likewise.
26852 (read_device_map): Adjust map[] usage to match the new struct
26853 definition. Don't check for duplicates (still possible, but not cheap
26854 anymore).
26855 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26856 (make_device_name): Remove assumption of BIOS-like drive names.
26857
22f16596 268582008-05-30 Pavel Roskin <proski@gnu.org>
26859
26860 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26861 compiling execute.c doesn't need grub_script.tab.h anymore.
26862 (normal/command.c_DEPENDENCIES): Likewise.
26863 (normal/function.c_DEPENDENCIES): Likewise.
26864 * conf/i386-ieee1275.rmk: Likewise.
26865 * conf/i386-linuxbios.rmk: Likewise.
26866 * conf/i386-pc.rmk: Likewise.
26867 * conf/powerpc-ieee1275.rmk: Likewise.
26868 * conf/sparc64-ieee1275.rmk: Likewise.
26869
528ad8f2 268702008-05-29 Pavel Roskin <proski@gnu.org>
26871
d1dff95d 26872 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26873 when scanning metadata for volume group name.
26874
528ad8f2 26875 * include/grub/script.h: Don't include grub_script.tab.h. It's
26876 a generated file, which may only be included from the files with
26877 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26878 use union YYSTYPE, as the later allows forward declaration.
26879 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26880
47248e08 268812008-05-29 Robert Millan <rmh@aybabtu.com>
26882
26883 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26884 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26885 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26886 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26887 scan codes.
26888
ee632529 268892008-05-29 Robert Millan <rmh@aybabtu.com>
26890
26891 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26892 control key combinations.
26893
eee96e08 268942008-05-29 Robert Millan <rmh@aybabtu.com>
26895
26896 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26897 * util/ieee1275/grub-install.in: ... to here.
26898 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26899 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26900 (grub_install_SOURCES): Likewise.
26901
da9a6a94 269022008-05-29 Robert Millan <rmh@aybabtu.com>
26903
26904 * fs/affs.c: Update copyright year.
26905 * fs/ext2.c: Likewise.
26906 * fs/fshelp.c: Likewise.
26907 * fs/hfsplus.c: Likewise.
26908 * fs/ntfs.c: Likewise.
26909 * fs/xfs.c: Likewise.
26910 * include/grub/fshelp.h: Likewise.
26911 * util/grub-mkdevicemap.c: Likewise.
26912
12e65f3a 269132008-05-28 Robert Millan <rmh@aybabtu.com>
26914
26915 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26916 might need to be fatfs to support some firmware implementations
26917 (e.g. OFW or EFI).
26918
23023641 269192008-05-28 Robert Millan <rmh@aybabtu.com>
26920
26921 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26922 devices.
26923 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26924 (make_device_map): Likewise.
26925
887d2619 269262008-05-20 Bean <bean123ch@gmail.com>
26927
26928 * fs/fshelp.c (grub_fshelp_map_block): New function.
26929 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26930 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26931
26932 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26933 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26934 (grub_fshelp_journal): New structure.
26935 (grub_fshelp_map_block): New function prototype.
26936 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26937 (grub_fshelp_map_block): Likewise.
26938
26939 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26940 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26941 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26942 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26943 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26944 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26945 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26946 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26947 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26948 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26949 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26950 (grub_ext2_sblock): New members for journal support.
26951 (grub_ext3_journal_header): New structure.
26952 (grub_ext3_journal_revoke_header): Likewise.
26953 (grub_ext3_journal_block_tag): Likewise.
26954 (grub_ext3_journal_sblock): Likewise.
26955 (grub_fshelp_node): New members logfile and journal.
26956 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26957 grub_fshelp_map_block to get real block number.
26958 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26959 number.
26960 (grub_ext2_read_inode): Likewise.
26961 (grub_ext3_get_journal): New function.
26962 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26963 (grub_ext2_close): Release memory used by journal.
26964
26965 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26966 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26967 (grub_reiserfs_transaction_header): Renamed to
26968 grub_reiserfs_description_block, replace field data with real_blocks.
26969 (grub_reiserfs_commit_block): New structure.
26970 (grub_reiserfs_data): New member journal.
26971 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26972 number.
26973 (grub_reiserfs_read_symlink): Likewise.
26974 (grub_reiserfs_iterate_dir): Likewise.
26975 (grub_reiserfs_open): Likewise.
26976 (grub_reiserfs_read): Likewise.
26977 (grub_reiserfs_get_journal): New function.
26978 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26979 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26980 using grub_reiserfs_get_journal.
26981 (grub_reiserfs_close): Release memory used by journal.
26982
26983 * fs/affs.c (grub_affs_read_block): Change block type to
26984 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26985
26986 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26987
26988 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26989
26990 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26991
26992 * fs/udf.c (grub_udf_read_block): Change block type to
26993 grub_disk_addr_t. Use type cast to avoid warning.
26994
26995 * fs/xfs.c (grub_xfs_read_block): Likewise.
26996
b7c6bed5 269972008-05-16 Christian Franke <franke@computer.org>
26998
26999 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
27000 to ensure that break with ESC will always work.
27001 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
27002 Remove ESC from keyboard queue.
27003
eedf167f 270042008-05-16 Christian Franke <franke@computer.org>
27005
27006 * util/biosdisk.c: [__CYGWIN__] Add includes.
27007 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
27008 (get_os_disk): Move variable declarations to OS specific
27009 parts to avoid warning.
27010 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
27011 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
27012 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
27013 Cygwin.
27014 * util/getroot.c: [__CYGWIN__] Add includes.
27015 (strip_extra_slashes): Fix "/" case.
27016 [__CYGWIN__] (get_win32_path): New function.
27017 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
27018 [__CYGWIN__] (find_root_device): Disable.
27019 [__CYGWIN__] (get_bootsec_serial): New function.
27020 [__CYGWIN__] (find_cygwin_root_device): Likewise.
27021 [__linux__] (grub_guess_root_device): Add early returns to simplify
27022 structure.
27023 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
27024 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
27025 check for Linux only.
27026
a079699e 270272008-05-15 Bean <bean123ch@gmail.com>
27028
27029 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
27030 keyboard hang problem in apple's intel mac.
27031
1cf4059a 270322008-05-09 Robert Millan <rmh@aybabtu.com>
27033
27034 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
27035 devices.
27036 * util/grub-mkdevicemap.c (get_virtio_disk_name)
27037 (make_device_map): Likewise.
27038 Reported by Aurelien Jarno <aurel32@debian.org>
27039
ed759390 270402008-05-07 Ian Campbell <ijc@hellion.org.uk>
27041
27042 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27043 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27044 (make_device_map): Output entries for xvd type disks.
27045
b56c4eaa 270462008-05-07 Robert Millan <rmh@aybabtu.com>
27047
27048 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27049 devices.
27050 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27051 (make_device_map): Likewise.
27052 Reported by Roland Dreier <rdreier@cisco.com>
27053
7f8866ed 270542008-05-07 Robert Millan <rmh@aybabtu.com>
27055
27056 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27057 grub_strstr() call. Correct a few mistakes in failure path handling.
27058
b0346e0f 270592008-05-06 Robert Millan <rmh@aybabtu.com>
27060
27061 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27062 Do not print a trailing slash (therefore, the root directory is an
27063 empty string).
27064 (convert_system_path_to_grub_path): Do not remove trailing slash
27065 from make_system_path_relative_to_its_root() output.
27066
27067 * util/i386/pc/grub-install.in: Add trailing slash to output from
27068 make_system_path_relative_to_its_root().
27069
6cf12cbd 270702008-05-06 Robert Millan <rmh@aybabtu.com>
27071
27072 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27073 ensures that output lines aren't intermangled with those sent to
27074 stderr (via grub_util_info()).
27075 * util/grub-probe.c (grub_refresh): Likewise.
27076 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27077
0fbb3117 270782008-05-05 Christian Franke <franke@computer.org>
27079
27080 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27081 Add Cygwin device names.
27082 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27083 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27084 (check_device): Return error instead of success on empty name.
27085 (make_device_map): Move label inside linux specific code to
27086 prevent compiler warning.
27087
8124cdb7 270882008-04-30 Robert Millan <rmh@aybabtu.com>
27089
27090 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27091 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27092 first boot option.
27093 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27094
094c01d0 270952008-04-29 Robert Millan <rmh@aybabtu.com>
27096
27097 * docs/grub.cfg: New file (example GRUB configuration).
27098
f4b1fc02 270992008-04-26 Robert Millan <rmh@aybabtu.com>
27100
329ce2a5 27101 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27102 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27103 and `disk/ieee1275/nand.c'.
f4b1fc02 27104
25f16ec1 271052008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 27106
25f16ec1 27107 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27108 i386-linuxbios.
27109
27110 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27111 change the buffer size to 4096 for cdrom device.
27112
27113 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27114 and nand.mod.
27115 (_linux_mod_SOURCES): New variable.
27116 (_linux_mod_CFLAGS): Likewise.
27117 (_linux_mod_LDFLAGS): Likewise.
27118 (linux_mod_SOURCES): Likewise.
27119 (linux_mod_CFLAGS): Likewise.
27120 (linux_mod_LDFLAGS): Likewise.
27121 (nand_mod_SOURCES): Likewise.
27122 (nand_mod_CFLAGS): Likewise.
27123 (nand_mod_LDFLAGS): Likewise.
27124
27125 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27126 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27127 type property. (nand device in olpc don't have this property)
27128
27129 * include/grub/disk.h (grub_disk_dev_id): New macro
27130 GRUB_DISK_DEVICE_NAND_ID.
27131
27132 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27133 function prototype.
27134 (grub_rescue_cmd_initrd): Likewise.
27135
27136 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27137 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27138 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 27139
25f16ec1 27140 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27141 GRUB_MACHINE_IEEE1275 is defined.
27142
27143 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27144 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27145
27146 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27147 on nested function heap_init.
27148 (grub_upper_mem): New variable for i386-ieee1275.
27149 (grub_get_extended_memory): New function for i386-ieee1275.
27150 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27151
27152 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27153 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27154 property.
f19dbdb7 27155
25f16ec1 27156 * loader/i386/ieee1275/linux.c: New file.
27157
27158 * loader/i386/ieee1275/linux_normal.c: New file.
27159
27160 * disk/ieee1275/nand.c: New file.
27161
e89d61e9 271622008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27163
27164 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27165 value.
27166 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27167
602566f6 271682008-04-18 Robert Millan <rmh@aybabtu.com>
27169
27170 Restructures early code path on ieee1275 to unify grub_main() as
27171 the first C function that is executed in every platform.
27172
27173 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27174 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27175 cmain().
27176 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27177 * kern/ieee1275/cmain.c (cmain): Rename to ...
27178 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27179 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27180 at the beginning.
27181
57490c2b 271822008-04-18 Robert Millan <rmh@aybabtu.com>
27183
27184 * util/update-grub.in: Fix syntax error when setting
27185 `GRUB_PRELOAD_MODULES'.
27186 Reported by Stephane Chazelas <stephane@artesyncp.com>
27187
1977517d 271882008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27189
27190 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27191 section into account, newer toolchains generate unique build ids
27192 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 27193 we want build ids to be preserved
1977517d 27194 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27195 far from other sections don't cause the raw binary images grow
27196 size
27197
bfb1f1a2 271982008-04-15 Robert Millan <rmh@aybabtu.com>
27199
27200 * disk/lvm.c: Update copyright year.
27201 * kern/misc.c: Likewise.
27202
01979850 272032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27204
27205 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 27206 there is no memory left for physical volume name.
01979850 27207
0a1150e2 272082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27209
27210 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27211 volume name mapping to support bigger than 9 character names properly.
27212
82ead3fe 272132008-04-13 Robert Millan <rmh@aybabtu.com>
27214
27215 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27216 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27217
e54a72f5 272182008-04-13 Christian Franke <franke@computer.org>
27219
27220 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27221 to create a floppy emulation boot CD when non emulation mode
27222 does not work.
27223 Enable Joliet CD filesystem extension.
27224
9fe86034 272252008-04-13 Robert Millan <rmh@aybabtu.com>
27226
27227 * kern/misc.c (grub_strncat): Fix off-by-one error.
27228 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27229
27230 * kern/env.c (grub_env_context_close): Clear current context, not
27231 previous one.
27232 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27233
27234 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27235
7ceeee39 272362008-04-13 Robert Millan <rmh@aybabtu.com>
27237
27238 Improve robustness when handling LVM.
27239
27240 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 27241 (and leave `*p' unmodified).
7ceeee39 27242 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27243 through it.
27244 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27245 iterating through it.
27246 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27247 through it.
fe6b695a 27248 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 27249 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27250 Don't assume `vg->pvs != NULL' when iterating through it.
27251
58cd3d85 272522008-04-13 Robert Millan <rmh@aybabtu.com>
27253
27254 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27255 * genmk.rb (partmap): New variable.
27256 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27257 (#{partmap}): New target rule.
27258 * genpartmaplist.sh: New file.
27259 * Makefile.in (pkglib_DATA): Add partmap.lst.
27260 (partmap.lst): New target rule.
27261 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27262 modules (including all partition maps), instead of preloading them.
27263
78b51059 272642007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27265
27266 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27267 `linux-boot-prober' (if installed) to detect other operating
27268 systems which are installed on the computer and add them to
27269 the boot menu.
27270 * conf/common.rmk: Build and install 30_os-prober.
27271
a91627b4 272722008-04-12 Robert Millan <rmh@aybabtu.com>
27273
27274 * kern/powerpc/ieee1275/init.c: Move from here ...
27275 * kern/ieee1275/init.c: ... to here. Update all users.
27276
27277 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27278 * kern/ieee1275/cmain.c: ... to here. Update all users.
27279
27280 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27281 * kern/ieee1275/openfw.c: ... to here. Update all users.
27282
27283 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27284 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27285
322562ea 272862008-04-10 Pavel Roskin <proski@gnu.org>
27287
27288 * configure.ac: Always use "_cv_" in cache variables for
27289 compatibility with Autoconf 2.62.
27290
a02a73c5 272912008-04-07 Robert Millan <rmh@aybabtu.com>
27292
27293 Revert grub/machine/init.h addition by Pavel (since it breaks on
27294 i386-ieee1275 and others):
27295 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27296 * util/powerpc/ieee1275/misc.c: Likewise.
27297
25c024b1 272982008-04-07 Robert Millan <rmh@aybabtu.com>
27299
27300 * util/grub-probe.c (probe): Improve error message.
27301
3cbd2f98 273022008-04-07 Robert Millan <rmh@aybabtu.com>
27303
27304 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27305 (this prevents the presence of a bogus entry from ruining the whole
27306 thing).
27307
87a297bf 273082008-04-06 Pavel Roskin <proski@gnu.org>
27309
36747a62 27310 * util/biosdisk.c: Include grub/util/biosdisk.h.
27311 * util/grub-fstest.c (execute_command): Make static.
27312 * util/grub-mkdevicemap.c (check_device): Likewise.
27313 * util/i386/pc/misc.c: Include grub/machine/init.h.
27314 * util/powerpc/ieee1275/misc.c: Likewise.
27315 * util/lvm.c: Include grub/util/lvm.h.
27316 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27317 grub/cache.h.
27318 * util/raid.c: Include grub/util/raid.h.
27319 (grub_util_getdiskname): Make static.
27320
87a297bf 27321 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27322 grub_hostfs_fini(), as they are called from grub_init_all() and
27323 grub_fini_all() respectively. This fixes an infinite loop in
27324 grub-fstest due to double registration of hostfs.
27325 Reported by Christian Franke <Christian.Franke@t-online.de>
27326
f6ce7629 273272008-04-05 Pavel Roskin <proski@gnu.org>
27328
27329 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27330 all 8 functions. Otherwise, probe function 0 only.
27331
070e49e4 273322008-04-04 Pavel Roskin <proski@gnu.org>
27333
8b088a4c 27334 * commands/lspci.c (grub_lspci_iter): Print the bus number
27335 correctly.
27336
4f657021 27337 * commands/lspci.c (grub_pci_classes): Fix typos.
27338 (grub_lspci_iter): Don't print func twice. Print vendor ID
27339 before device ID, as it's normally done.
27340
070e49e4 27341 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27342 Fix signedness warnings.
27343 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27344 Likewise.
27345 * util/ieee1275/get_disk_name.c: Include config.h so that
27346 _GNU_SOURCE is defined and getline() is declared. Mark an
27347 unused argument as such. Fix a signedness warning.
27348
ba7328dc 273492008-04-02 Pavel Roskin <proski@gnu.org>
27350
26887f22 27351 * genkernsyms.sh.in: Use more robust assignments for CC and
27352 srcdir. Quote srcdir.
27353 * gensymlist.sh.in: Likewise. Assert at the compile time that
27354 the symbol table is not empty.
27355
ba7328dc 27356 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27357 * fs/cpio.c (grub_cpio_read): Likewise.
27358
0f582c6b 273592008-04-01 Pavel Roskin <proski@gnu.org>
27360
4b6e1995 27361 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27362 * disk/host.c (grub_host_open): Likewise.
27363 * disk/loopback.c (grub_loopback_open): Likewise.
27364 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27365 disk->id as in disk/host.c, not a multi-character constant.
27366
828a2768 27367 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27368 later is obsolete, potentially dangerous and sets a bad example.
27369 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27370 * util/misc.c (grub_util_get_image_size): Likewise.
27371
2bb4fb47 27372 * disk/loopback.c (options): Improve help for "--partitions".
27373
0f582c6b 27374 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27375 options to align them with the short options, e.g. "echo -e".
27376
a33224e0 273772008-03-31 Bean <bean123ch@gmail.com>
27378
27379 * video/reader/png.c (grub_png_data): New member is_16bit and
27380 image_data.
27381 (grub_png_decode_image_header): Detect 16 bit png image.
27382 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27383 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27384 (grub_video_reader_png): Release memory occupied by image_data.
27385
27386 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27387 4096 bytes.
27388 (grub_nfs_mount): Skip the test for sector per cluster.
27389
27390 * include/grub/ntfs.h (MAX_SPC): Removed.
27391
86cb4f54 273922008-03-31 Bean <bean123ch@gmail.com>
27393
27394 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27395 (grub_probe_SOURCES): Add fs/afs.c.
27396 (grub_fstest_SOURCES): Likewise.
27397 (afs_mod_SOURCES): New variable.
27398 (afs_mod_CFLAGS): Likewise.
27399 (afs_mod_LDFLAGS): Likewise.
27400
27401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27402 (grub_emu_SOURCES): Likewise.
27403
27404 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27405
27406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27407
27408 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27409
27410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27411
27412 * fs/afs.c: New file.
27413
17c74c21 274142008-03-30 Pavel Roskin <proski@gnu.org>
27415
4cb68e89 27416 * disk/host.c: Include grub/misc.h to fix a warning.
27417 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27418 warnings about implicit declarations.
27419
8790bb04 27420 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27421 variable.
27422 * include/grub/i386/loader.h: Change declaration of
27423 grub_linux_boot() to match what grub_loader_set() expects.
27424 * util/getroot.c (grub_guess_root_device): Return const char* to
27425 fix a warning.
27426 * util/grub-probe.c (probe): Fix a warning about uninitialized
27427 abstraction_name variable.
27428 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27429 second argument as unused to fix a warning.
27430
9a3f3296 27431 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27432 missing grub_error() call.
27433
0ecef90d 27434 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27435 2.60 and newer uses it to define datadir.
27436
0bf6d401 27437 * commands/sleep.c: Fix warning about implicit declaration.
27438 * disk/memdisk.c: Likewise.
27439 * loader/aout.c: Likewise.
27440 * loader/i386/bsd_normal.c: Likewise.
27441 * util/grub-probe.c: Likewise.
27442
7cdacf97 27443 * commands/i386/cpuid.c (has_longmode): Make static.
27444 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27445 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27446
17c74c21 27447 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27448 GDT. This is more robust, as %ds can change.
27449 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27450 calling real_to_prot().
27451 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27452
80a3e68b 274532008-03-28 Pavel Roskin <proski@gnu.org>
27454
27455 * kern/i386/pc/startup.S: Assert that uncompressed functions
27456 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27457 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27458 code, as they push parts of the code (error handlers) beyond
27459 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27460 code as correctness and size.
27461
77bcd272 274622008-03-28 Pavel Roskin <proski@gnu.org>
27463
27464 * kern/i386/pc/startup.S
27465 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27466 data block address to the real mode, keep offset minimal. This
27467 works around a bug in AWARD BIOS on old Athlon systems, which
27468 makes CD detection hang.
27469
c5dfd43b 274702008-03-26 Pavel Roskin <proski@gnu.org>
27471
27472 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27473 const.
27474 * include/grub/normal.h: Add grub_parse_color_name_pair()
27475 declaration.
27476
bf962df2 274772008-03-24 Bean <bean123ch@gmail.com>
27478
27479 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27480 (cd_count): Removed.
27481 (cd_drive): New variable.
27482 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27483 (grub_biosdisk_call_hook): Likewise.
27484 (grub_biosdisk_iterate): Change cdrom detection method.
27485 (grub_biosdisk_open): Replace cd_start with cd_drive.
27486 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27487 detect cdrom device.
27488
27489 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27490 Removed.
27491 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27492 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27493 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27494 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27495 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27496 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27497 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27498 (grub_biosdisk_cdrp): New structure.
27499 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27500
27501 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27502
27503 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27504 device.
27505
27506 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27507 New function.
27508
68e7fc7a 275092008-03-20 Robert Millan <rmh@aybabtu.com>
27510
27511 Remove 2 TiB limit in ata.mod.
27512 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27513 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27514 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27515 grub_uint64_t instead of grub_uint32_t.
27516
38ad2cf5 275172008-03-05 Bean <bean123ch@gmail.com>
27518
27519 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27520 (grub_multiboot): Set boot device.
27521
27522 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27523
2b89344e 275242008-03-02 Bean <bean123ch@gmail.com>
27525
27526 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27527 symlink_buffer.
27528
87a95d1f 275292008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27530
27531 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27532 texinfo.tex.
27533
27534 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27535 modified.
27536
27537 * docs/fdl.texi: New file.
f19dbdb7 27538
87a95d1f 27539 * docs/mdate-sh: New file. Copied from gnulib.
27540 * docs/texinfo.tex: Likewise.
27541
27542 * config.guess: Updated from gnulib.
27543 * install-sh: Likewise.
27544
7dc15d8e 275452008-02-28 Robert Millan <rmh@aybabtu.com>
27546
27547 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27548 (aout_mod_SOURCES): New variable.
27549 (aout_mod_CFLAGS): Likewise.
27550 (aout_mod_LDFLAGS): Likewise.
27551
27552 * conf/i386-ieee1275.rmk: Likewise.
27553
b00ab696 275542008-02-28 Robert Millan <rmh@aybabtu.com>
27555
27556 * util/update-grub.in: Reorganise terminal validity check. Accept
27557 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27558 Based on suggestion by Franklin PIAT.
27559
79ca2d78 275602008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27561
27562 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27563 function.
27564 * util/getroot.c (grub_util_check_block_device): New function that
27565 returns the given argument if it is a block device and returns NULL else.
27566 * util/grub-probe.c (argument_is_device): New variable.
27567 (probe): Promote device_name from a variable to an argument. Receive
27568 device_name from grub_util_check_block_device() if path is NULL and from
27569 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 27570 (options): Introduce new parameter '-d, --device'.
79ca2d78 27571 (main): Add description of the new parameter to the help screen.
27572 Rename path variable to argument. Set argument_is_device if the '-d'
27573 option is given. Pass argument to probe() depending on
27574 argument_is_device.
27575
0d16e571 275762008-02-24 Bean <bean123ch@gmail.com>
27577
27578 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27579 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27580 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27581 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27582 (GRUB_ISO9660_VOLDESC_END): Likewise.
27583 (grub_iso9660_primary_voldesc): New member escape.
27584 (grub_iso9660_data): New member joliet.
27585 (grub_iso9660_convert_string): New function.
27586 (grub_iso9660_mount): Detect joliet extension.
27587 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27588 (grub_iso9660_iso9660_label): Likewise.
27589
27590 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27591 (grub_setup_SOURCES): Add fs/udf.c.
27592 (grub_fstest_SOURCES): Likewise.
27593 (udf_mod_SOURCES): New variable.
27594 (udf_mod_CFLAGS): Likewise.
27595 (udf_mod_LDFLAGS): Likewise.
27596
27597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27598 (grub_emu_SOURCES): Likewise.
27599
27600 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27601
27602 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27603
27604 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27605
27606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27607
27608 * fs/udf.c: New file.
27609
8a594a17 276102008-02-24 Robert Millan <rmh@aybabtu.com>
27611
27612 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27613 (normal/lexer.c_DEPENDENCIES): New variables.
27614 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27615 (normal/lexer.c_DEPENDENCIES): Likewise.
27616 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27617 (normal/lexer.c_DEPENDENCIES): Likewise.
27618 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27619 (normal/lexer.c_DEPENDENCIES): Likewise.
27620 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27621 (normal/lexer.c_DEPENDENCIES): Likewise.
27622 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27623 (normal/lexer.c_DEPENDENCIES): Likewise.
27624
2dc33c03 276252008-02-23 Robert Millan <rmh@aybabtu.com>
27626
27627 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27628 since they were intended to be in hex. This didn't break previously
27629 because of a bug in gpt_partition_map_iterate() (see below).
27630
27631 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27632 when checking the validity of GPT header.
27633 Remove `partno', since it always provides the same information as `i'.
27634
f6f4cfb0 276352008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27636
27637 * include/grub/efi/time.h: Fix a wrong comment.
27638
79ff665f 276392008-02-19 Pavel Roskin <proski@gnu.org>
27640
27641 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27642 message.
27643
d38e24c2 276442008-02-19 Bean <bean123ch@gmail.com>
27645
27646 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27647 (aout_mod_SOURCES): New variable.
27648 (aout_mod_CFLAGS): Likewise.
27649 (aout_mod_LDFLAGS): Likewise.
27650 (_bsd_mod_SOURCES): New variable.
27651 (_bsd_mod_CFLAGS): Likewise.
27652 (_bsd_mod_LDFLAGS): Likewise.
27653 (bsd_mod_SOURCES): New variable.
27654 (bsd_mod_CFLAGS): Likewise.
27655 (bsd_mod_LDFLAGS): Likewise.
27656
27657 * include/grub/aout.h: New file.
27658
27659 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27660
27661 * include/grub/i386/bsd.h: New file.
27662
27663 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27664 to make it public.
27665
27666 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27667 function is called, so that it's possible to change it inside the hook.
27668 (grub_elf64_load): Likewise.
27669 (grub_elf_file): Don't close the file if elf header is not found.
27670 (grub_elf_close): Close the file if grub_elf_file fails (The new
27671 grub_elf_file won't close it).
27672 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27673 (grub_elf64_size): Likewise.
27674
27675 * kern/i386/loader.S (grub_unix_real_boot): New function.
27676
27677 * loader/aout.c: New file.
27678
27679 * loader/i386/bsd.c: New file.
27680
27681 * loader/i386/bsd_normal.c: New file.
27682
27683 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27684
27685 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 27686 can test other formats.
d38e24c2 27687
b93bdb0f 276882008-02-19 Robert Millan <rmh@aybabtu.com>
27689
27690 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27691 (grub_gpt_partition_type_empty): Redefine with macro from
27692 `<grub/gpt_partition.h>'.
27693 (gpt_partition_map_iterate): Adjust partition type comparison.
27694
27695 Export `entry' as partmap-specific `part.data' struct.
27696 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27697
27698 * include/grub/gpt_partition.h (grub_gpt_header)
27699 (grub_gpt_partentry): ... to here (new file).
27700
27701 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27702
27703 (grub_gpt_partition_type_bios_boot): New const variable, defined
27704 with macro from `<grub/gpt_partition.h>'.
27705
27706 (setup): Replace `first_start' with `embed_region', which keeps
27707 track of the embed region (and is partmap-agnostic).
27708
27709 Replace find_first_partition_start() with find_usable_region(),
27710 which finds a usable region for embedding using partmap-specific
27711 knowledge (supports PC/MSDOS and GPT).
27712
27713 Fix all assumptions that the embed region start at sector 1, using
27714 `embed_region.start' from now on. Similarly, use `embed_region.end'
27715 rather than `first_start' to calculate available size.
27716
27717 In grub_util_info() message, replace "into after the MBR" with an
27718 indication of the specific sector our embed region starts at.
27719
66cb40f6 277202008-02-19 Robert Millan <rmh@aybabtu.com>
27721
27722 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27723 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27724 `commands/reboot.c'.
27725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27726 (halt_mod_SOURCES): Likewise.
27727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27728 (halt_mod_SOURCES): Likewise.
27729
b7202015 277302008-02-17 Christian Franke <franke@computer.org>
27731
27732 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27733
32b0fc49 277342008-02-17 Robert Millan <rmh@aybabtu.com>
27735
27736 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27737 set `first_start' to 0 for non-PC/MSDOS partition maps.
27738
aca63502 277392008-02-16 Robert Millan <rmh@aybabtu.com>
27740
27741 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27742 do not assume partition map is PC/MSDOS before performing checks that
27743 are specific to that layout.
27744
0de8be86 277452008-02-13 Robert Millan <rmh@aybabtu.com>
27746
27747 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27748 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27749 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27750
c3db8364 277512008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27752
27753 * configure.ac: Only a cosmetic change on the handling of
27754 -fno-stack-protector.
27755
f714229e 277562008-02-12 Alexandre Boeglin <alex@boeglin.org>
27757
c3db8364 27758 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27759 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27760 reboot.c.
f714229e 27761 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27762 (halt_mod_SOURCES): New variable.
27763 (halt_mod_CFLAGS): Likewise.
27764 (halt_mod_LDFLAGS): Likewise.
27765 (reboot_mod_SOURCES): Likewise.
27766 (reboot_mod_CFLAGS): Likewise.
27767 (reboot_mod_LDFLAGS): Likewise.
27768
c3db8364 27769 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27770 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27771 reboot.c.
f714229e 27772 (halt_mod_SOURCES): Likewise.
27773 (reboot_mod_SOURCES): Likewise.
27774
c3db8364 27775 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27776 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 27777 (reboot_mod_SOURCES): Likewise.
27778
27779 * commands/i386/pc/reboot.c: merge this file ...
27780
27781 * commands/ieee1275/reboot.c: ... and this file ...
27782
27783 * commands/reboot.c: ... to this file.
c3db8364 27784 Add some precompiler directive to include the correct header for
27785 each machine.
f714229e 27786
27787 * commands/ieee1275/halt.c: move this file ...
27788
27789 * commands/halt.c: ... to here.
c3db8364 27790 Add some precompiler directive to include the correct header for
27791 each machine.
f714229e 27792
27793 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27794 (grub_halt): Likewise.
27795
27796 * kern/efi/efi.c (grub_reboot): New function.
27797 (grub_halt): Likewise.
27798
c74493e0 277992008-02-12 Robert Millan <rmh@aybabtu.com>
27800
27801 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27802 /dev (like it is done for /dev/mapper). This doesn't provide support
27803 for EVMS, but at least it is now easy to identify the problem when it
27804 arises.
27805
d0db4b04 278062008-02-11 Robert Millan <rmh@aybabtu.com>
27807
27808 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27809 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27810 comparing it with -1, not 0.
27811
bf748642 278122008-02-10 Robert Millan <rmh@aybabtu.com>
27813
27814 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27815 `disk/lvm.c'.
27816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27817 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27818
27819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27820 `disk/lvm.c' to the end of the list.
27821 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27822 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27823
b5db202a 278242008-02-10 Robert Millan <rmh@aybabtu.com>
27825
27826 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27827 grub_print_error() instead. This will let user know why we're entering
27828 rescue mode.
27829 Based on suggestions from Sam Morris.
27830
83abee31 278312008-02-10 Alexandre Boeglin <alex@boeglin.org>
27832
27833 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27834 on remaining N args, instead of "--" arg N times.
27835
78d5a08b 278362008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27837
27838 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27839 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27840 pattern for unknown glyphs.
27841
68807e5f 278422008-02-09 Robert Millan <rmh@aybabtu.com>
27843
27844 * configure.ac: Probe for `help2man'.
27845 * Makefile.in (builddir): New variable.
27846 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27847 or otherwise add a few flags/options to it.
27848 (install-local): For every executable utility or script that is
27849 installed, invoke $(HELP2MAN) to install a manpage based on --help
27850 output.
27851
27852 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27853 that it doesn't prevent --help from working in build tree.
27854
27855 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27856 with `bug-grub@gnu.org'.
27857 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27858 * util/update-grub.in (usage): New function.
27859 Implement proper argument check, with support for --help and --version
27860 (as well as existing -y).
27861
278622008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 27863
27864 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27865 avoid overwriting previous output.
27866 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27867
c1962162 278682008-02-09 Robert Millan <rmh@aybabtu.com>
27869
27870 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27871 drawing the menu.
27872
3dac2e3f 278732008-02-09 Robert Millan <rmh@aybabtu.com>
27874
27875 * commands/sleep.c: New file.
27876 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27877 (sleep_mod_SOURCES): New variable.
27878 (sleep_mod_CFLAGS): Likewise.
27879 (sleep_mod_LDFLAGS): Likewise.
27880
7a634e08 278812008-02-09 Robert Millan <rmh@aybabtu.com>
27882
27883 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27884 situations in which we can deduce the RAID size and the superblock
27885 doesn't match it.
27886
b92f0c18 278872008-02-09 Robert Millan <rmh@aybabtu.com>
27888
27889 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27890 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27891 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27892
27893 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27894 and return a grub_diskmemberlist_t composed of physical array members.
27895 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27896
27897 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27898 prototype.
27899 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27900 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27901 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27902
27903 * util/grub-probe.c (probe): Move partmap probing code from here ...
27904 (probe_partmap): ... to here.
27905 (probe): Use probe_partmap() once for the disk we're probing, and
27906 additionally, when such disk contains a memberlist() struct member,
27907 once for each disk that is contained in the structure returned by
27908 memberlist().
27909
91a4bf68 279102008-02-09 Robert Millan <rmh@aybabtu.com>
27911
27912 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27913 environment variable to 'all' in order to obtain debug output from
27914 non-util/ code.
27915 * util/i386/pc/grub-setup.c (main): Likewise.
27916
a96f9caa 279172008-02-08 Robert Millan <rmh@aybabtu.com>
27918
27919 * disk/raid.c (grub_raid_scan_device): Check for
27920 `array->device[sb.this_disk.number]' rather than for
27921 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 27922 guaranteed to be accessible.
a96f9caa 27923
b37a9222 279242008-02-08 Robert Millan <rmh@aybabtu.com>
27925
27926 * disk/raid.c: Update copyright.
27927 * fs/cpio.c: Likewise.
27928 * include/grub/raid.h: Likewise.
27929 * loader/i386/pc/multiboot.c: Likewise.
27930 * util/hostfs.c: Likewise.
27931
5626aee1 279322008-02-08 Robert Millan <rmh@aybabtu.com>
27933
27934 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27935 to a grub_disk_t array.
27936 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27937 `device[x]'.
27938 (grub_raid_scan_device): Replace `device[x].name' accesses with
27939 `device[x]->name'. Simplify initialization of `array->device[x]'.
27940
554f0187 279412008-02-08 Robert Millan <rmh@aybabtu.com>
27942
27943 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27944 grub_dprintf() calls.
27945 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27946 error message.
27947
1ec8425d 279482008-02-07 Christian Franke <franke@computer.org>
27949
27950 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27951 instead of fseek and ftell to support large files.
27952 (grub_hostfs_read): Likewise.
27953
f2156fda 279542008-02-07 Robert Millan <rmh@aybabtu.com>
27955
27956 Patch from Jeroen Dekkers.
27957 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 27958 failure, since successfully reading all array members might not be
f2156fda 27959 required.
27960
9216e0e7 279612008-02-06 Robert Millan <rmh@aybabtu.com>
27962
27963 * util/grub-probe.c (probe): Simplify partmap probing (with the
27964 assumption that the first word up to the underscore equals to
27965 the module name).
27966
b0dfd29a 279672008-02-06 Christian Franke <franke@computer.org>
27968
27969 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27970 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27971 last block of a cpio or tar stream.
27972 Check for "TRAILER!!!" instead of any empty data
27973 block to detect last block of a cpio stream.
27974 (grub_cpio_dir): Fix constness of variable np.
27975 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27976 cpio or tar trailer is detected. This fixes a crash
27977 on open of a non existing file.
27978
c32865bf 279792008-02-05 Bean <bean123ch@gmail.com>
27980
27981 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27982 address of entry.
27983 (grub_multiboot_load_elf64): Likewise.
27984 (grub_multiboot): Initialize mbi structure.
27985
27986 * util/grub-fstest.c: Don't include unused header file script.h.
27987
fe6b695a 27988 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 27989 of file.
27990 (grub_fstest_SOURCES): Likewise.
27991
409480b7 279922008-02-05 Robert Millan <rmh@aybabtu.com>
27993
27994 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27995 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27996 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27997 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27998
27999 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
28000 (translation_table): Replace hardcoded values with macros
28001 provided by `<grub/term.h>'.
28002
28003 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
28004 (keyboard_map): Correct/add a few values, with macros provided
28005 by `<grub/term.h>'.
28006 (keyboard_map_shift): Zero values that don't differ from their
28007 `keyboard_map' equivalents.
28008 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
28009 Discard the second scan code that is always sent by Caps lock.
28010 Only use `keyboard_map_shift' when it provides a non-zero value,
28011 otherwise fallback to `keyboard_map'.
28012
99fadbaa 280132008-02-04 Bean <bean123ch@gmail.com>
28014
28015 * Makefile.in (enable_grub_fstest): New variable.
28016
28017 * conf/common.rmk (grub_fstest_init.lst): New rule.
28018 (grub_fstest_init.h): Likewise.
28019 (grub_fstest_init.c): Likewise.
28020 (util/grub-fstest.c_DEPENDENCIES): New variable.
28021 (grub_fstest_SOURCES): Likewise.
28022
28023 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
28024
28025 * util/grub-fstest.c: New file.
28026
bf567c50 280272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28028
28029 Make grub-setup handle a separate root device.
f19dbdb7 28030
bf567c50 28031 * util/i386/pc/grub-setup.c (setup): Always open the root device,
28032 so that the root device can be compared with the destination
28033 device.
28034 When embedding the core image, if the root and destination devices
28035 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
28036 0xFF.
28037 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 28038
9be6b98b 280392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28040
28041 Add support for having a grub directory in a different drive. This
28042 is still only the data handling part.
f19dbdb7 28043
9be6b98b 28044 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28045 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28046 (grub_root_drive): New variable.
28047
28048 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28049 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28050 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28051 as it was.
28052
28053 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28054
28055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28056 macro.
28057 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28058
28059 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28060 is bogus, because PXE booting does not specify any drive
28061 correctly.
28062
28063 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28064 am not sure if this is really correct.
28065
28066 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28067 is always identical to the boot drive when booting from a CD.
28068
28069 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28070 longer.
28071 (root_drive): New variable.
28072 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28073 (setup_sectors): Push %dx right after popping it, because %dh will
28074 be modified later.
28075 (copy_buffer): Restore %dx.
28076
e0ca0677 280772008-02-03 Robert Millan <rmh@aybabtu.com>
28078
28079 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28080 use `cdboot.img' for cdrom images.
28081
3b3f6629 280822008-02-03 Robert Millan <rmh@aybabtu.com>
28083
28084 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28085 only setup gfxterm when `font' command has succeeded.
28086
d42b3672 280872008-02-03 Robert Millan <rmh@aybabtu.com>
28088
28089 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28090 (grub_rescue_cmd_multiboot_loader)
28091 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28092
fa370ea6 280932008-02-03 Pavel Roskin <proski@gnu.org>
28094
e0c5dacb 28095 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 28096 %edx and %esi from stack only after grub_gate_a20() is called.
28097 grub_gate_a20() clobbers %edx.
28098
f2a76e1d 280992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28100
28101 * configure.ac (AC_INIT): Bumped to 1.96.
28102
28103 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28104 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28105 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28106 video/readers/png.c.
28107
90fd32d1 281082008-02-03 Bean <bean123ch@gmail.com>
9be665dd 28109
28110 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28111 (cdboot_img_SOURCES): New variable.
28112 (cdboot_img_ASFLAGS): New variable.
28113 (cdboot_img_LDFLAGS): New variable.
28114
28115 * boot/i386/pc/cdboot.S: New file.
28116
28117 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28118 (cd_count): Likewise.
28119 (grub_biosdisk_get_drive): Add support for cd device.
28120 (grub_biosdisk_call_hook): Likewise.
28121 (grub_biosdisk_iterate): Likewise.
28122 (grub_biosdisk_open): Likewise.
28123 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28124 (grub_biosdisk_rw): Support reading from cd device.
28125 (GRUB_MOD_INIT): Iterate cd devices.
28126
28127 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28128 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28129 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28130
28131 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28132
4020aa53 281332008-02-02 Robert Millan <rmh@aybabtu.com>
28134
28135 * commands/read.c: New file.
28136 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28137 (read_mod_SOURCES): New variable.
28138 (read_mod_CFLAGS): Likewise.
28139 (read_mod_LDFLAGS): Likewise.
28140
e03a1132 281412008-02-02 Robert Millan <rmh@aybabtu.com>
28142
28143 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28144 determining whether menu has to be displayed.
28145
58c69220 281462008-02-02 Marco Gerards <marco@gnu.org>
28147
28148 * bus/pci.c: New file.
28149
28150 * include/grub/pci.h: Likewise.
28151
28152 * include/grub/i386/pc/pci.h: Likewise.
28153
28154 * commands/lspci.c: Likewise.
28155
28156 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28157 `lspci.mod'.
28158 (pci_mod_SOURCES): New variable.
28159 (pci_mod_CFLAGS): Likewise.
28160 (pci_mod_LDFLAGS): Likewise.
28161 (lspci_mod_SOURCES): Likewise.
28162 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 28163 (lspci_mod_LDFLAGS): Likewise.
58c69220 28164
c004e1b4 281652008-02-02 Bean <bean123ch@gmail.com>
28166
28167 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28168 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28169
28170 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28171 (grub_xfs_btree_node): New structure.
28172 (grub_xfs_btree_root): New structure.
28173 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28174 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28175 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28176 (GRUB_XFS_EXTENT_SIZE): Likewise.
28177 (grub_xfs_read_block): Support btree format type.
28178 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28179 Use directory block as basic unit.
28180
28181 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28182
28183 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28184 __attribute__ ((__regparm__ (1))).
28185
f95562bf 281862008-02-01 Robert Millan <rmh@aybabtu.com>
28187
28188 Correct a mistake in previous commit.
28189
28190 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28191 top.
28192 (normal/command.c_DEPENDENCIES): New variable.
28193
7d31f41f 281942008-02-01 Robert Millan <rmh@aybabtu.com>
28195
28196 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28197 top.
28198 (normal/command.c_DEPENDENCIES): New variable.
28199 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28200 * conf/i386-ieee1275.rmk: Likewise.
28201 * conf/i386-linuxbios.rmk: Likewise.
28202 * conf/i386-pc.rmk: Likewise.
28203 * conf/sparc64-ieee1275.rmk: Likewise.
28204 * conf/powerpc-ieee1275.rmk: Likewise.
28205 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28206
28207 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28208
60b6be74 282092008-02-01 Robert Millan <rmh@aybabtu.com>
28210
28211 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28212 call at beginning of function.
28213
078522ab 282142008-01-31 Pavel Roskin <proski@gnu.org>
28215
28216 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 28217 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28218 (grub_mkrescue_SOURCES): Likewise.
078522ab 28219 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28220
ccaa8a5f 282212008-01-30 Robert Millan <rmh@aybabtu.com>
28222
28223 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28224 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28225 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28226 (grub_probe_SOURCES): ... to here.
28227
28228 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28229 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28230 * conf/i386-ieee1275.rmk: Likewise.
28231 * conf/i386-linuxbios.rmk: Likewise.
28232 * conf/powerpc-ieee1275.rmk: Likewise.
28233
ae5a9cd7 282342008-01-30 Tristan Gingold <gingold@free.fr>
28235
28236 * kern/rescue.c: Silently accept empty lines.
28237
70bc2ef2 282382008-01-29 Bean <bean123ch@gmail.com>
28239
28240 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28241 (real_code_2): Code cleanup and change comment style.
28242 (move_memory): Avoid using 32-bit address mode.
28243
6a4d50ea 282442008-01-29 Bean <bean123ch@gmail.com>
28245
28246 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28247 (png_mod_SOURCES): New variable.
28248 (png_mod_CFLAGS): Likewise.
28249 (png_mod_LDFLAGS): Likewise.
28250
28251 * video/readers/png.c: New file.
28252
11cc30ac 282532008-01-28 Robert Millan <rmh@aybabtu.com>
28254
28255 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28256 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28257 `ifndef GRUB_MOD_GAP' hack.
28258 * util/elf/grub-mkimage.c (add_segments): Likewise.
28259
3abc589f 282602008-01-27 Robert Millan <rmh@aybabtu.com>
28261
28262 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28263 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 28264 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 28265
e1907778 282662008-01-27 Robert Millan <rmh@aybabtu.com>
28267
28268 Get grub-emu to build again (including parallel builds).
28269
28270 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28271 Split into ...
28272 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28273 (normal/execute.c_DEPENDENCIES): ... this, ...
28274 (grub-emu_DEPENDENCIES): ... and this.
28275
28276 * conf/i386-efi.rmk: Likewise.
28277 * conf/i386-linuxbios.rmk: Likewise.
28278 * conf/i386-ieee1275.rmk: Likewise.
28279 * conf/powerpc-ieee1275.rmk: Likewise.
28280 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28281
2216b101 282822008-01-27 Robert Millan <rmh@aybabtu.com>
28283
28284 * NEWS: Add a few items.
28285
f75172d9 282862008-01-27 Robert Millan <rmh@aybabtu.com>
28287
28288 Fix parallel builds with grub-emu. Based on earlier commit for
28289 grub-probe and grub-setup.
28290
28291 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28292 (util/grub-emu.c_DEPENDENCIES): ... this.
28293 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28294 (util/grub-emu.c_DEPENDENCIES): ... this.
28295 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28296 (util/grub-emu.c_DEPENDENCIES): ... this.
28297 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28298 (util/grub-emu.c_DEPENDENCIES): ... this.
28299 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28300 (util/grub-emu.c_DEPENDENCIES): ... this.
28301
3f51de77 283022008-01-27 Pavel Roskin <proski@gnu.org>
28303
28304 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28305 to create a gap between _end and the modules added to the image
28306 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28307 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28308 * util/elf/grub-mkimage.c (add_segments): Likewise.
28309
2033f53e 283102008-01-26 Pavel Roskin <proski@gnu.org>
28311
28312 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28313 just return an error.
28314
22da1f6f 283152008-01-26 Bean <bean123ch@gmail.com>
28316
28317 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28318 (grub_reiserfs_get_item): Save offset of the next item.
28319 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28320
2a9525e6 283212008-01-25 Robert Millan <rmh@aybabtu.com>
28322
28323 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28324 make all filesystem sources appear together (possibly fixing omissions
28325 while at it).
28326 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28327 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28328 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28330
28331 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28332 add `kern/file.c'.
28333 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28334 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28335 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28336 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28337
28338 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28339 (probe): Add a sanity check to make sure of our ability to read
28340 requested files when probing for filesystem type.
28341
28342 * genmk.rb: Update copyright year (2007).
28343
28344 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28345 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28346 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28347 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28348 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28349 : Remove function prototypes.
28350
b95f71b5 283512008-01-25 Robert Millan <rmh@aybabtu.com>
28352
28353 Revert my previous commits (based on wrong assumption of how grub_errno
28354 works).
28355
fe6b695a 28356 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 28357 * kern/file.c (grub_file_open): Likewise.
28358
d08bbb49 283592008-01-24 Pavel Roskin <proski@gnu.org>
28360
28361 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28362 that hang if GRUB tries to setup colors.
28363 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28364 colors for firmwares that don't support it.
28365 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28366 Recognize Open Hack'Ware, set flags to work around its
28367 limitations.
28368
605e36ed 283692008-01-24 Robert Millan <rmh@aybabtu.com>
28370
28371 * kern/file.c (grub_file_open): Do not account previous failures of
28372 unrelated functions when grub_errno is checked for.
28373 Reported by Oleg Strikov.
28374
bac332a1 283752008-01-24 Bean <bean123ch@gmail.com>
28376
28377 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28378 (grub_ufs_sblock): New member volume name.
28379 (grub_ufs_find_file): Fix string copy bug.
28380 (grub_ufs_label): Implement this function properly.
28381
28382 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28383 (grub_hfs_iterate_records): Use the correct file number for extents
28384 and catalog file. Fix problem in next index calculation.
28385 (grub_hfs_find_node): Replace recursive function call with loop.
28386 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28387
15c80c09 283882008-01-23 Robert Millan <rmh@aybabtu.com>
28389
28390 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28391 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28392 (grub_multiboot2_real_boot): New function prototype.
28393
28394 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28395 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28396
28397 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28398 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28399
305338fd 284002008-01-23 Robert Millan <rmh@aybabtu.com>
28401
28402 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28403 #ifdef'ed out grub_printf().
28404
3ea52685 284052008-01-23 Robert Millan <rmh@aybabtu.com>
28406
28407 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28408 grub_dprintf calls, since they make "debug=all" mode unusable.
28409 (grub_console_checkkey): Likewise.
28410
5882ae4b 284112008-01-23 Robert Millan <rmh@aybabtu.com>
28412
28413 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28414 `term/i386/pc/at_keyboard.c'.
28415 (pkglib_MODULES): Add `serial.mod'.
28416 (serial_mod_SOURCES): New variable.
28417 (serial_mod_CFLAGS): Likewise.
28418 (serial_mod_LDFLAGS): Likewise.
28419
28420 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28421 `<grub/powerpc/ieee1275/console.h>'.
28422 (grub_keyboard_controller_init): New function prototype.
28423 (grub_console_checkkey): Likewise.
28424 (grub_console_getkey): Likewise.
28425
28426 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28427 keyboard on i386.
28428
28429 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28430 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28431
06ab5303 284322008-01-23 Robert Millan <rmh@aybabtu.com>
28433
28434 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28435 present, "(memdisk)/boot/grub" becomes the default prefix.
28436
28437 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28438 a memdisk tarball with all the modules. Add --overlay=DIR option that
28439 allows users to overlay additional files into the image.
28440
dbb475a4 284412008-01-23 Robert Millan <rmh@aybabtu.com>
28442
28443 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28444 and `machine/memory.h'.
28445 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28446 (_multiboot_mod_SOURCES): New variable.
28447 (_multiboot_mod_CFLAGS): Likewise.
28448 (_multiboot_mod_LDFLAGS): Likewise.
28449 (multiboot_mod_SOURCES): Likewise.
28450 (multiboot_mod_CFLAGS): Likewise.
28451 (multiboot_mod_LDFLAGS): Likewise.
28452
28453 * include/grub/i386/ieee1275/loader.h: New file.
28454
28455 * include/grub/i386/ieee1275/machine.h: Likewise.
28456
28457 * include/grub/i386/ieee1275/memory.h: Likewise.
28458
28459 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28460 variable declaration.
28461 (grub_os_area_size): Likewise.
28462
28463 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28464 (grub_lower_mem, grub_upper_mem): New variables.
28465 (grub_stop_floppy): New function (just to make
28466 grub_multiboot2_real_boot() happy).
28467
28468 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28469 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28470 (grub_stop): New function.
28471 Include `"../realmode.S"' and `"../loader.S"'.
28472
28473 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28474 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28475
28476 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28477 rely on grub_multiboot2_real_boot() for final boot.
28478
25638629 284792008-01-22 Robert Millan <rmh@aybabtu.com>
28480
28481 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28482 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28483 device that doesn't look like an SD card.
28484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28485 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28486 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28487 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28488 found.
28489
9dad816d 284902008-01-22 Robert Millan <rmh@aybabtu.com>
28491
28492 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28493 avoid claiming over our own code.
28494
34842f2d 284952008-01-22 Bean <bean123ch@gmail.com>
28496
28497 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28498 (jpeg_mod_SOURCES): New variable.
28499 (jpeg_mod_CFLAGS): Likewise.
28500 (jpeg_mod_LDFLAGS): Likewise.
28501
28502 * video/readers/jpeg.c : New file.
28503
44023a28 285042008-01-22 Bean <bean123ch@gmail.com>
28505
28506 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28507 there are no more items.
28508
bc2d8ac6 285092008-01-21 Robert Millan <rmh@aybabtu.com>
28510
28511 * kern/mm.c (grub_mm_init_region): Improve debug message.
28512
261bd4bc 285132008-01-21 Robert Millan <rmh@aybabtu.com>
28514
28515 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28516 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28517 address.
28518 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28519 a C macro.
28520 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28521 Indicates start of upper memory.
28522 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28523 (generate_image): Abort when image size is big enough to corrupt
28524 upper memory.
28525
28526 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28527 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28528 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28529 instead of hardcoding 0xA0000.
28530 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28531 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28532 instead of hardcoding 0xA0000.
28533
f970b55e 285342008-01-21 Robert Millan <rmh@aybabtu.com>
28535
28536 * disk/memdisk.c (memdisk_size): New variable.
28537 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28538 `memdisk_size'.
28539 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28540 image to dynamic memory.
28541 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28542 `memdisk_size'. Free memdisk block.
28543
1a8b0526 285442008-01-21 Robert Millan <rmh@aybabtu.com>
28545
28546 Fix detection of very small filesystems (like tar).
28547
28548 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28549 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28550 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28551 a problem with this disk).
28552
6e9b4aab 285532008-01-21 Robert Millan <rmh@aybabtu.com>
28554
28555 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28556 on grub_biosdisk_rw_standard() error.
28557
0d8837b2 285582008-01-21 Robert Millan <rmh@aybabtu.com>
28559
28560 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28561 recent changes.
28562 * kern/elf.c: Likewise.
28563 * kern/ieee1275/ieee1275.c: Likewise.
28564 * kern/powerpc/ieee1275/openfw.c: Likewise.
28565 * term/ieee1275/ofconsole.c: Likewise.
28566
ffd36e34 285672008-01-21 Robert Millan <rmh@aybabtu.com>
28568
28569 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28570
3f0093d0 28571 * include/grub/kernel.h (grub_arch_memdisk_addr)
28572 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 28573
3f0093d0 28574 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28575 (grub_arch_memdisk_size): ... to here.
ffd36e34 28576
6c391b21 285772008-01-21 Robert Millan <rmh@aybabtu.com>
28578
28579 Mostly based on bugfix from Bean.
28580
28581 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28582 attribute with hook() parameter.
28583 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28584 declaration.
28585 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28586 attribute with hook() parameter.
28587 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28588 declaration.
28589
55a581dc 285902008-01-21 Robert Millan <rmh@aybabtu.com>
28591
28592 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28593 (pkglib_MODULES): Add `memdisk.mod'.
28594 (memdisk_mod_SOURCES): New variable.
28595 (memdisk_mod_CFLAGS): Likewise.
28596 (memdisk_mod_LDFLAGS): Likewise.
28597
28598 * disk/memdisk.c: New file.
28599
28600 * include/grub/disk.h (grub_disk_dev_id): Add
28601 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28602
28603 * include/grub/i386/pc/kernel.h
28604 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28605 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28606 (grub_kernel_image_size): New variable declaration.
28607 (grub_total_module_size): Likewise.
28608 (grub_memdisk_image_size): Likewise.
28609
28610 * include/grub/i386/pc/memory.h
28611 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28612
28613 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28614 (grub_arch_memdisk_addr): New variable declaration.
28615 (grub_arch_memdisk_size): Likewise.
28616
28617 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28618 (grub_arch_memdisk_size): Likewise.
28619
28620 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28621 (codestart): Replace hardcoded `0x100000' with
28622 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28623
28624 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28625 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28626 not NULL, append the contents of the file it refers to, at the end of
28627 the compressed kernel image. Initialize `grub_memdisk_image_size'
28628 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28629 (options): Add "memdisk"|'m' option.
28630 (main): Parse --memdisk|-m option, and pass user-provided path as
28631 parameter to generate_image().
28632
3d7f54c9 286332008-01-20 Robert Millan <rmh@aybabtu.com>
28634
28635 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28636 grub_dprintf() calls from here ...
28637 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28638
0bf74728 286392008-01-20 Robert Millan <rmh@aybabtu.com>
28640
28641 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28642
28643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28644 declaration.
28645 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28646 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28647 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 28648 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 28649 property).
28650 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28651 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28652
33bf70a7 286532008-01-19 Robert Millan <rmh@aybabtu.com>
28654
fe6b695a 28655 Get rid of confusing function (superseded by
33bf70a7 28656 `grub_ieee1275_get_integer_property')
28657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28658 prototype.
28659 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28660 function.
28661 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28662 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 28663 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 28664
e2da7d26 286652008-01-19 Robert Millan <rmh@aybabtu.com>
28666
28667 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28668 command after "shut-down", since implementations differ on which
28669 the command for halt is.
28670
59f1fd8d 286712008-01-19 Robert Millan <rmh@aybabtu.com>
28672
28673 * include/grub/i386/linuxbios/console.h: Add header protection.
28674 (grub_keyboard_controller_init): New function prototype.
28675 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28676 (KEYBOARD_COMMAND_READ): Likewise.
28677 (KEYBOARD_COMMAND_WRITE): Likewise.
28678 (KEYBOARD_SCANCODE_SET1): Likewise.
28679 (grub_keyboard_controller_write): New function.
28680 (grub_keyboard_controller_read): Likewise.
28681 (grub_keyboard_controller_init): Likewise.
28682
28683 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28684 (grub_console_init): On coreboot/LinuxBIOS, call
28685 grub_keyboard_controller_init().
28686
5f5a7c15 286872008-01-19 Robert Millan <rmh@aybabtu.com>
28688
28689 PowerPC changes provided by Pavel Roskin.
28690
28691 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28692 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28693 don't rely on cmain() doing it.
28694 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28695 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28696
1210e168 286972008-01-16 Robert Millan <rmh@aybabtu.com>
28698
28699 * include/grub/i386/linuxbios/memory.h
28700 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28701 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28702 receive `table_header' as argument. Instead, probe for it in the
28703 known memory ranges where it can be present.
28704 (grub_available_iterate): Do not pass a fixed `table_header' address
28705 to grub_linuxbios_table_iterate().
28706
3d04eab8 287072008-01-15 Robert Millan <rmh@aybabtu.com>
28708
28709 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28710 * conf/i386-ieee1275.rmk: New file.
28711 * include/grub/i386/ieee1275/console.h: Likewise.
28712 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28713 * include/grub/i386/ieee1275/kernel.h: Likewise.
28714 * include/grub/i386/ieee1275/time.h: Likewise.
28715 * kern/i386/ieee1275/init.c: Likewise.
28716 * kern/i386/ieee1275/startup.S: Likewise.
28717
d1bc1b73 287182008-01-15 Robert Millan <rmh@aybabtu.com>
28719
28720 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28721 when pointers are 32-bit (but still do set it to one when they are
28722 64-bit).
28723
66a65807 287242008-01-15 Robert Millan <rmh@aybabtu.com>
28725
28726 * include/grub/ieee1275/ieee1275.h
28727 (grub_ieee1275_get_integer_property): New function prototype.
28728
28729 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28730 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 28731 grub_ieee1275_get_property() to handle endianness.
66a65807 28732
28733 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28734 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 28735 where appropriate.
66a65807 28736 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28737 (grub_map): Likewise.
28738 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28739
a83ccafd 287402008-01-15 Bean <bean123ch@gmail.com>
28741
28742 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28743 (grub_script_execute_cmdline): Reset grub_errno.
28744
28745 * normal/main.c (read_config_file): Reset grub_errno.
28746
28747 * normal/parse.y (script_init): New.
28748 (script): Move function and menuentry here.
28749 (delimiter): New.
28750 (command): Add delimiter at the end of command.
28751 (commands): Adjust to match the new command.
28752 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 28753 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 28754 (if): Use the new commands.
28755
28756 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28757
df6ecfc6 287582008-01-15 Robert Millan <rmh@aybabtu.com>
28759
28760 * normal/menu.c (run_menu): Move timeout message from here ...
28761 (print_timeout): ... to here.
28762 (run_menu): Use print_timeout() once during initial draw to print
28763 the whole message, and again in every clock tick to update only
28764 the number of seconds.
28765
87ae25eb 287662008-01-15 Robert Millan <rmh@aybabtu.com>
28767
28768 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28769 actual size of `available' from grub_ieee1275_get_property(), and
28770 restrict parsing to that bound.
28771
47bf09a4 287722008-01-15 Christian Franke <franke@computer.org>
28773
28774 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28775 (argp_program_version): Remove variable.
28776 (argp_program_bug_address): Likewise.
28777 (options): Convert from struct argp_option to struct option.
28778 (struct arguments): Remove.
28779 (parse_opt): Remove.
28780 (usage): New function.
28781 (main): Replace struct args members by simple variables.
28782 Replace argp_parse() by getopt_long().
28783 Add switch to evaluate options.
28784 Add missing "(...)" around root_dev in prefix string.
28785
c86f1469 287862008-01-14 Robert Millan <rmh@aybabtu.com>
28787
28788 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28789 for grub_ieee1275_exit(), in order to improve portability.
28790
e622c559 287912008-01-14 Robert Millan <rmh@aybabtu.com>
28792
28793 * util/grub.d/10_linux.in (prefix): Define.
28794 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28795
44cb1ec8 287962008-01-13 Pavel Roskin <proski@gnu.org>
28797
28798 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28799 grub_errno if no errors have been detected.
28800
1eb8c802 288012008-01-12 Robert Millan <rmh@aybabtu.com>
28802
28803 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28804 (grub_util_get_dev_abstraction): New function prototype.
28805
28806 * util/getroot.c: Include `<grub/util/getroot.h>'
28807 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28808 (grub_util_get_dev_abstraction): ... here (new function).
28809
28810 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28811 `PRINT_ABSTRACTION'.
28812 (probe): Probe for abstraction type when requested.
28813 (main): Understand `--target=abstraction'.
28814
28815 * util/i386/efi/grub-install.in: Add abstraction module to core
28816 image when it is found to be necessary.
28817 * util/i386/pc/grub-install.in: Likewise.
28818 * util/powerpc/ieee1275/grub-install.in: Likewise.
28819
28820 * util/update-grub_lib.in (font_path): Return system path without
28821 converting to GRUB path.
28822 * util/update-grub.in: Convert system path returned by font_path()
28823 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28824 abstraction module is needed for loading fonts (if any). Export
28825 that as `GRUB_PRELOAD_MODULES'.
28826 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28827 insmod commands).
28828
52bd3de9 288292008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28830
28831 Remove some unused code from reiserfs.
f19dbdb7 28832
52bd3de9 28833 * fs/reiserfs.c (struct grub_reiserfs_key)
28834 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28835 (struct grub_reiserfs_node_body): Removed.
28836 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28837 Likewise.
28838 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28839 Likewise.
28840 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28841 Likewise.
28842 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28843 Likewise.
28844 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28845 Likewise.
28846 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28847 Likewise.
28848 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28849 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28850 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28851
2f80039d 288522008-01-10 Robert Millan <rmh@aybabtu.com>
28853
28854 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28855 Determines if a file is garbage left by packaging systems, etc.
28856 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28857 for processing /etc/grub.d scripts.
28858 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28859 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28860 as a condition for processing Linux images.
28861
87888032 288622008-01-10 Pavel Roskin <proski@gnu.org>
28863
28864 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28865 to compile reiserfs.c on PowerPC.
28866
7e54fced 288672008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 28868
28869 * kern/device.c (grub_device_iterate): Do not abort device iteration
28870 when one of the devices cannot be opened.
28871 * kern/disk.c (grub_disk_open): Do not account previous failures of
28872 unrelated functions when grub_errno is checked for.
28873
5aa541e6 288742008-01-08 Robert Millan <rmh@aybabtu.com>
28875
28876 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28877 `! grub_linux_is_bzimage', change order of address comparison to make
28878 it more intuitive, and improve "too big zImage" error message.
28879
7076340d 288802008-01-08 Robert Millan <rmh@aybabtu.com>
28881
28882 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28883 `$(update-grub_DATA)'.
28884 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28885 targets.
28886
9ca70333 288872008-01-07 Robert Millan <rmh@aybabtu.com>
28888
28889 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28890 which instruction is modified by grub-setup during installation
28891 (since it wasn't obvious by only looking at this file).
28892
38ccf575 288932008-01-07 Robert Millan <rmh@aybabtu.com>
28894
28895 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28896 listing actual TODO items.
28897
f5db4291 288982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28899
868967cf 28900 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28901 correctly.
28902 (grub_reiserfs_get_key_offset): Likewise.
28903 (grub_reiserfs_set_key_offset): Likewise.
28904 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 28905 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 28906
28907 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28908 better to remove the bitfield version completely.
f19dbdb7 28909
868967cf 289102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28911
f5db4291 28912 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28913 allocated from the heap, due to the fshelp implementation.
28914 (grub_reiserfs_dir): Free NODE, due to the same reason.
28915
492e6d9d 289162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28917
28918 Mostly from Vincent Pelletier:
f19dbdb7 28919
492e6d9d 28920 * fs/reiserfs.c: New file.
f19dbdb7 28921
492e6d9d 28922 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28923 (reiserfs_mod_SOURCES): New variable.
28924 (reiserfs_mod_CFLAGS): Likewise.
28925 (reiserfs_mod_LDFLAGS): Likewise.
28926
28927 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28928 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28929 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28930 normal/color.c.
28931
9ce3e7c1 289322008-01-06 Robert Millan <rmh@aybabtu.com>
28933
28934 * normal/color.c: Remove `<grub/env.h>'.
28935
f3b58148 289362008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28937
28938 * include/grub/normal.h: Include <grub/env.h>.
28939
7ac3bcfa 289402008-01-05 Robert Millan <rmh@aybabtu.com>
28941
28942 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28943 usage example with `(hd0,1)'.
fb358190 28944 Reported by Samuel Thibault.
7ac3bcfa 28945
c8ee99d7 289462008-01-05 Robert Millan <rmh@aybabtu.com>
28947
28948 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28949 (grub_linux_boot_zimage): Rename to ...
28950 (grub_linux_boot): ... this.
28951 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28952 (grub_linux_boot_zimage): Conditionalize zImage copy.
28953
28954 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28955 (grub_linux_boot_bzimage): Remove prototype.
28956 (grub_linux_boot_zimage): Rename to ...
28957 (grub_linux_boot): ... this.
28958
28959 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28960 (grub_linux_boot): Remove function.
28961
0ece25b1 289622008-01-05 Robert Millan <rmh@aybabtu.com>
28963
28964 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28965 (grub_env_write_color_highlight): Likewise.
28966 (grub_wait_after_message): Likewise.
28967
28968 * normal/color.c: New file.
28969
28970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28971 (normal_mod_DEPENDENCIES): Likewise.
28972
28973 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28974 (normal_mod_DEPENDENCIES): Likewise.
28975
28976 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28977 (normal_mod_DEPENDENCIES): Likewise.
28978
28979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28980 (normal_mod_DEPENDENCIES): Likewise.
28981
28982 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28983 for waiting after a message is printed.
28984 * normal/main.c (read_config_file): Likewise.
28985 (grub_normal_init): Register grub_env_write_color_normal() and
28986 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28987 `color_highlight' variables as global.
28988
28989 * normal/menu.c (grub_wait_after_message): New function.
28990 (grub_color_menu_normal): New variable. Replaces ...
28991 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28992 (grub_color_menu_highlight): New variable. Replaces ...
28993 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28994 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28995 `GRUB_TERM_COLOR_STANDARD'.
28996 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28997 `normal_code' and `highlight_code' to `old_color_normal' and
28998 `old_color_highlight', respectively.
28999 (grub_menu_init_page): Update colors when drawing the menu, based on
29000 `menu_color_normal' and `menu_color_highlight' variables.
29001 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
29002 a message is printed.
29003
182dd4e5 290042008-01-05 Robert Millan <rmh@aybabtu.com>
29005
29006 * kern/env.c (grub_env_context_open): Propagate hooks for global
29007 variables to new context.
29008
29009 * kern/main.c (grub_set_root_dev): Export `root' variable.
29010
ddf8f6ad 290112008-01-05 Robert Millan <rmh@aybabtu.com>
29012
29013 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 29014 discs unconditionally, since udev and others have options to provide
ddf8f6ad 29015 them.
29016
d8b43d9b 290172008-01-05 Robert Millan <rmh@aybabtu.com>
29018
29019 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
29020
2bff2de3 290212008-01-04 Christian Franke <franke@computer.org>
29022
29023 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
29024 of eisa_mmap.
29025
97eab917 290262008-01-03 Pavel Roskin <proski@gnu.org>
29027
29028 * kern/i386/linuxbios/init.c: Put "void" to all function
29029 declarations with no arguments.
29030 * kern/powerpc/ieee1275/init.c: Likewise.
29031 * term/i386/pc/at_keyboard.c: Likewise.
29032 * term/i386/pc/vga_text.c: Likewise.
29033 * util/grub-mkdevicemap.c: Likewise.
29034
b9416d00 290352008-01-02 Robert Millan <rmh@aybabtu.com>
29036
29037 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
29038 message when loaded image is out of bounds.
29039 (grub_multiboot_load_elf64): Likewise.
29040
92695df9 290412008-01-02 Pavel Roskin <proski@gnu.org>
29042
29043 * util/grub.d/10_linux.in: Try version without ".old" when
29044 looking for initrd. It's better to use initrd from the newer
29045 kernel of the same version than no initrd at all.
29046
d98d9cad 290472008-01-01 Robert Millan <rmh@aybabtu.com>
29048
29049 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29050
dbfdce36 290512008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29052
f19dbdb7 29053 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 29054 grub_video_get_active_render_target.
29055 (grub_video_adapter): Added unmap_color and get_active_render_target.
29056
f19dbdb7 29057 * video/video.c: Added grub_video_unmap_color and
dbfdce36 29058 grub_video_get_active_render_target.
29059 (grub_video_get_info): Changed method to accept NULL pointer as an
29060 argument to allow detection of active video adapter.
29061
29062 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29063 grub_video_vbe_unmap_color_int.
29064 Added grub_video_vbe_unmap_color and
29065 grub_video_vbe_get_active_render_target.
29066 (grub_video_vbe_adapter): Added unmap_color and
29067 get_active_render_target.
29068
f19dbdb7 29069 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 29070 with grub_video_vbe_unmap_color_int.
29071
29072 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29073 (DEFAULT_NORMAL_COLOR): Likewise.
29074 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29075 (DEFAULT_FG_COLOR): Removed.
29076 (DEFAULT_BG_COLOR): Likewise.
29077 (DEFAULT_CURSOR_COLOR): Changed value.
29078 (grub_virtual_screen): Added standard_color_setting,
29079 normal_color_setting, highlight_color_setting and term_color.
29080 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29081 (bitmap_width): Added.
29082 (bitmap_height): Likewise.
29083 (bitmap): Likewise.
29084 (set_term_color): Likewise.
29085 (grub_virtual_screen_setup): Changed to use new terminal coloring
29086 settings.
29087 (grub_gfxterm_init): Added init for bitmap.
29088 (grub_gfxterm_fini): Added destroy for bitmap.
29089 (redraw_screen_rect): Updated to use background bitmap and new
29090 terminal coloring.
29091 (scroll_up): Added optimization for case when there is no bitmap.
29092 (grub_gfxterm_cls): Fixed to use correct background color.
29093 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29094 coloring.
29095 (grub_virtual_screen_setcolor): Likewise.
29096 (grub_virtual_screen_getcolor): Added.
29097 (grub_gfxterm_background_image_cmd): Likewise.
29098 (grub_video_term): Added setcolor and getcolor.
29099 (MOD_INIT): Added registration of background_image command.
29100 (MOD_TERM): Added unregistration for background_image command.
29101
c3c20931 291022007-12-30 Pavel Roskin <proski@gnu.org>
29103
29104 * loader/multiboot_loader.c: Fix multiboot command
29105 unregistration. Fix all typos in the word "multiboot".
29106
df266716 291072007-12-29 Pavel Roskin <proski@gnu.org>
94239199 29108
29109 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29110 support for initrd names used in Fedora.
29111
fc6e896c 291122007-12-26 Bean <bean123ch@gmail.com>
29113
29114 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29115 (cpio_mod_SOURCES): New variable.
29116 (cpio_mod_CFLAGS): Likewise.
29117 (cpio_mod_LDFLAGS): Likewise.
29118
29119 * fs/cpio.c: New file.
29120
29121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29122
29123 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29124
29125 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29126
29127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29128
533110ad 291292007-12-25 Robert Millan <rmh@aybabtu.com>
29130
29131 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29132 (grub_getcolor): New function.
29133
29134 * kern/term.c (grub_getcolor): New function.
29135 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29136 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29137 (print_entry): Set normal and highlight colors to
29138 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29139 respectively, before printing and restore them to old
29140 values afterwards.
29141 (grub_menu_init_page): Likewise. Fill an additional colored space
29142 that would otherwise be left blank.
29143
29144 * term/efi/console.c (grub_console_getcolor): New function.
29145 (struct grub_console_term.getcolor): New variable.
29146 * term/i386/pc/console.c (grub_console_getcolor): New function.
29147 (struct grub_console_term.getcolor): New variable.
29148 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29149 (struct grub_console_term.getcolor): New variable.
29150
29151 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29152 (struct grub_console_term.setcolor): Remove variable.
29153 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29154 (struct grub_console_term.setcolor): Remove variable.
29155 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29156 (struct grub_console_term.setcolor): Remove variable.
29157 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29158 (struct grub_console_term.setcolor): Remove variable.
29159
4931827f 291602007-12-25 Robert Millan <rmh@aybabtu.com>
29161
29162 * configure.ac: Search for possible unifont.hex locations, and
29163 define UNIFONT_HEX if found.
29164
29165 * Makefile.in (UNIFONT_HEX): Define variable.
29166 (DATA): Rename to ...
29167 (PKGLIB): ... this. Update all users.
29168 (PKGDATA): New variable.
29169 (pkgdata_IMAGES): Rename to ...
29170 (pkglib_IMAGES): ... this. Update all users.
29171 (pkgdata_MODULES): Rename to ...
29172 (pkglib_MODULES): ... this. Update all users.
29173 (pkgdata_PROGRAMS): Rename to ...
29174 (pkglib_PROGRAMS): ... this. Update all users.
29175 (pkgdata_DATA): Rename to ...
29176 (pkglib_DATA): ... this. Update all users.
29177 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29178 (unicode.pff, ascii.pff): New rules.
29179 (all-local): Add `$(PKGDATA)' dependency.
29180 (install-local): Process `$(PKGDATA)'.
29181
29182 * util/update-grub_lib.in (font_path): Search for *.pff files in
29183 a few more locations, including `${pkgdata}'.
29184
57e57e31 291852007-12-23 Robert Millan <rmh@aybabtu.com>
29186
29187 Patch from Bean <bean123ch@gmail.com>:
29188 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29189 `size'.
29190
4bc72aa9 291912007-12-21 Bean <bean123ch@gmail.com>
29192
29193 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29194 (ntfscomp_mod_SOURCES): New variable.
29195 (ntfscomp_mod_CFLAGS): Likewise.
29196 (ntfscomp_mod_LDFLAGS): Likewise.
29197
29198 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29199 (grub_probe_SOURCES): Likewise.
29200 (grub_emu_SOURCES): Likewise.
29201
29202 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29203 (grub_emu_SOURCES): Likewise.
29204
29205 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29206 (grub_emu_SOURCES): Likewise.
29207
29208 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29209 (grub_emu_SOURCES): Likewise.
29210
29211 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29212 (read_run_list): Renamed to grub_ntfs_read_run_list.
29213 (decomp_nextvcn): Moved to ntfscomp.c.
29214 (decomp_getch): Likewise.
29215 (decomp_get16): Likewise.
29216 (decomp_block): Likewise.
29217 (read_block): Likewise.
29218 (read_data): Partially moved to ntfscomp.c.
29219 (fixup): Change unsigned to grub_uint16_t.
29220 (read_mft): Change unsigned long to grub_uint32_t.
29221 (read_attr): Likewise.
29222 (read_data): Likewise.
29223 (read_run_data): Likewise.
29224 (read_run_list): Likewise.
29225 (read_mft): Likewise.
29226
29227 * fs/ntfscomp.c: New file.
29228
29229 * include/grub/ntfs.h: New file.
29230
af680a87 292312007-12-16 Robert Millan <rmh@aybabtu.com>
29232
29233 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29234 IDE disk check, since Linux is known to support 20 IDE disks.
29235 Reported by Colin Watson.
29236
84be7599 292372007-12-15 Bean <bean123ch@gmail.com>
29238
29239 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29240 (lnxboot_img_SOURCES): New variable.
29241 (lnxboot_img_ASFLAGS): Likewise.
29242 (lnxboot_img_LDFLAGS): Likewise.
29243
29244 * boot/i386/pc/lnxboot.S: New file.
29245
6af9db01 292462007-11-24 Pavel Roskin <proski@gnu.org>
29247
29248 * configure.ac: Test if '--build-id=none' is supported by the
29249 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29250 objcopy to generate incorrect binary files (binutils
29251 2.17.50.0.18-1 as shipped by Fedora 8).
29252 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29253 linking, so that build ID doesn't break the test.
29254
7361cfe6 292552007-11-24 Pavel Roskin <proski@gnu.org>
29256
29257 * include/grub/i386/time.h: use "void" in the argument list
29258 of grub_cpu_idle().
29259 * include/grub/powerpc/time.h: Likewise.
29260 * include/grub/sparc64/time.h: Likewise.
29261
1593e10c 292622007-11-18 Christian Franke <franke@computer.org>
29263
29264 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29265 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29266 This fixes the problem that function keys did not work in grub-emu.
29267
3b8db1a8 292682007-11-18 Christian Franke <franke@computer.org>
29269
29270 * disk/host.c (grub_host_open): Remove attribute unused from
29271 name parameter. Add check for "host". This fixes the problem
29272 that grub-emu does not find partitions.
29273
2e29408d 292742007-11-18 Christian Franke <franke@computer.org>
29275
29276 * util/hostfs.c (is_dir): New function.
29277 (grub_hostfs_dir): Handle missing dirent.d_type case.
29278 (grub_hostfs_read): Add missing fseek().
29279 (grub_hostfs_label): Clear label pointer. This fixes a crash
29280 of grub-emu on "ls (host)".
29281
398cd047 292822007-11-18 Christian Franke <franke@computer.org>
29283
29284 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29285 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29286 to 64 bit boundary by default.
29287
c405c391 292882007-11-18 Bean <bean123ch@gmail.com>
29289
29290 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29291 (hexdump_mod_SOURCES): New variable.
29292 (hexdump_mod_CFLAGS): Likewise.
29293 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 29294
c405c391 29295 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29296
29297 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29298
29299 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29300
29301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29302
29303 * include/grub/hexdump.h: New file.
29304
29305 * commands/hexdump.c: New file.
29306
5cced7fd 293072007-11-10 Robert Millan <rmh@aybabtu.com>
29308
29309 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29310 in grub_outb() calls.
29311 (beep_on): Likewise.
29312
8b714eb0 293132007-11-10 Christian Franke <franke@computer.org>
29314
29315 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29316 (grub_menu_run): Likewise.
29317
ce0f1839 293182007-11-10 Robert Millan <rmh@aybabtu.com>
29319
29320 * include/grub/i386/efi/machine.h: New file.
29321 * include/grub/i386/linuxbios/machine.h: Likewise.
29322 * include/grub/i386/pc/machine.h: Likewise.
29323 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29324 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29325
29326 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29327 (serial_hw_io_addr): New variable.
29328 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29329 instead of `(unsigned short *) 0x400'.
29330
270c237d 293312007-11-10 Bean <bean123ch@gmail.com>
29332
29333 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29334
a87783bf 293352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29336
29337 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29338 (vga_mod_SOURCES): Added.
29339 (vga_mod_CFLAGS): Likewise.
29340 (vga_mod_LDFLAGS): Likewise.
29341
29342 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29343 grub_outb() calls.
29344 (set_map_mask): Likewise.
29345 (set_read_map): Likewise.
29346 (set_read_address): Likewise.
29347 (vga_font): Removed variable.
29348 (get_vga_glyph): Removed function.
29349 (invalidate_char): Likewise.
29350 (write_char): Changed to use grub_font_get_glyph() for font
29351 information.
29352 (grub_vga_putchar): Likewise.
29353 (grub_vga_getcharwidth): Likewise.
29354
6433b448 293552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29356
29357 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29358 flags.
29359 (pxeboot_img_LDFLAGS): Likewise.
29360 (diskboot_img_LDFLAGS): Likewise.
29361 (kernel_img_LDFLAGS): Likewise.
29362
49178511 293632007-11-06 Robert Millan <rmh@aybabtu.com>
29364
29365 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29366 in grub_outb() calls.
29367 (serial_hw_init): Likewise.
29368
53b052de 293692007-11-05 Robert Millan <rmh@aybabtu.com>
29370
29371 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29372 spaces. Skip non-regular files.
29373
5ab33bba 293742007-11-05 Robert Millan <rmh@aybabtu.com>
29375
29376 * kern/disk.c (grub_disk_firmware_fini)
29377 (grub_disk_firmware_is_tainted): New variables.
29378
29379 * include/grub/disk.h (grub_disk_firmware_fini)
29380 (grub_disk_firmware_is_tainted): Likewise.
29381
29382 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29383 (grub_disk_biosdisk_fini): ... to here.
29384 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29385 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29386 is set. Register grub_disk_biosdisk_fini() in
29387 `grub_disk_firmware_fini'.
29388
29389 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29390 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29391 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29392 to finish existing firmware disk interface.
29393
29394 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29395 (ata_mod_SOURCES): New variable.
29396 (ata_mod_CFLAGS): Likewise.
29397 (ata_mod_LDFLAGS): Likewise.
29398
0149ab7c 293992007-11-05 Robert Millan <rmh@aybabtu.com>
29400
29401 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29402 (grub_ata_wait): Reimplement using grub_millisleep().
29403
29404 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29405 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29406
be7ac41e 294072007-11-03 Marco Gerards <marco@gnu.org>
29408
29409 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29410 (CRTC_ADDR_PORT): New macro.
29411 (CRTC_DATA_PORT): Likewise.
29412 (CRTC_CURSOR): Likewise.
29413 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29414 (CRTC_CURSOR_ADDR_LOW): Likewise.
29415 (update_cursor): New function.
29416 (grub_console_real_putchar): Call `update_cursor'.
29417 (grub_console_gotoxy): Likewise.
29418 (grub_console_cls): Set the default color when clearing the
29419 screen.
29420 (grub_console_setcursor): Implemented.
29421
bb06ab2e 294222007-11-03 Marco Gerards <marco@gnu.org>
29423
29424 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29425 become activate.
29426 (grub_ata_pio_write): Likewise.
29427
29428 (grub_atapi_identify): Wait after issuing an ATA command.
29429 (grub_atapi_packet): Likewise.
29430 (grub_ata_identify): Likewise.
29431 (grub_ata_readwrite): Likewise.
29432
cf8f780b 294332007-11-03 Marco Gerards <marco@gnu.org>
29434
29435 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29436 (grub_ata_pio_write): Likewise.
29437 (grub_ata_readwrite): Use `grub_error', instead of
29438 returning `grub_errno'.
29439
ed649e54 294402007-11-03 Marco Gerards <marco@gnu.org>
29441
29442 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29443 grub_ata_pio_write once for every single sector, instead of for
29444 multiple sectors.
29445
ca25d8f0 294462007-10-31 Robert Millan <rmh@aybabtu.com>
29447
29448 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29449
29450 * conf/i386-linuxbios.rmk: New file.
29451
29452 * kern/i386/pc/hardware.c: Likewise.
29453 * term/i386/pc/at_keyboard.c: Likewise.
29454 * term/i386/pc/vga_text.c: Likewise.
29455
29456 * include/grub/i386/linuxbios/boot.h: Likewise.
29457 * include/grub/i386/linuxbios/console.h: Likewise.
29458 * include/grub/i386/linuxbios/init.h: Likewise.
29459 * include/grub/i386/linuxbios/kernel.h: Likewise.
29460 * include/grub/i386/linuxbios/loader.h: Likewise.
29461 * include/grub/i386/linuxbios/memory.h: Likewise.
29462 * include/grub/i386/linuxbios/serial.h: Likewise.
29463 * include/grub/i386/linuxbios/time.h: Likewise.
29464
29465 * kern/i386/linuxbios/init.c: Likewise.
29466 * kern/i386/linuxbios/startup.S: Likewise.
29467 * kern/i386/linuxbios/table.c: Likewise.
29468
e911ecc1 294692007-10-31 Marco Gerards <marco@gnu.org>
29470
29471 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29472 (ata_mod_SOURCES): New variable.
29473 (ata_mod_CFLAGS): Likewise.
29474 (ata_mod_LDFLAGS): Likewise.
29475
29476 * disk/ata.c: New file.
29477
29478 * include/grub/disk.h (grub_disk_dev_id): Add
29479 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 29480
7f66d0e0 294812007-10-31 Robert Millan <rmh@aybabtu.com>
29482
29483 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29484 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29485
29486 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29487 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29488
29489 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29490 `<grub/types.h>'.
29491
29492 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29493
5cd7dd46 294942007-10-27 Robert Millan <rmh@aybabtu.com>
29495
3236ca65 29496 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 29497
2ebfc90f 294982007-10-22 Robert Millan <rmh@aybabtu.com>
29499
29500 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29501 `"../realmode.S"'.
29502 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29503
73fcb0f3 295042007-10-22 Robert Millan <rmh@aybabtu.com>
29505
29506 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29507 (pkgdata_MODULES): Add `biosdisk.mod'.
29508 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29509 variables.
29510
29511 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29512 (grub_biosdisk_init): Replace with ...
29513 (GRUB_MOD_INIT(biosdisk)): ... this.
29514 (grub_biosdisk_fini): Replace with ...
29515 (GRUB_MOD_FINI(biosdisk)): ... this.
29516
29517 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29518 (grub_machine_init): Remove call to grub_biosdisk_init().
29519 (grub_machine_fini): Remove call to grub_machine_fini().
29520
29521 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29522
3381d274 295232007-10-22 Robert Millan <rmh@aybabtu.com>
29524
29525 * include/grub/time.h: New file.
29526 * include/grub/i386/time.h: Likewise.
29527 * include/grub/powerpc/time.h: Likewise.
29528 * include/grub/sparc64/time.h: Likewise.
29529
29530 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29531 instances to ...
29532 (KERNEL_MACHINE_TIME_HEADER): ... this.
29533 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29534 instances to ...
29535 (KERNEL_MACHINE_TIME_HEADER): ... this.
29536 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29537 instances to ...
29538 (KERNEL_MACHINE_TIME_HEADER): ... this.
29539
29540 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29541 (grub_millisleep): New function.
29542 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29543 (grub_millisleep): New function.
29544 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29545 Remove `grub/machine/time.h' include.
29546 (grub_millisleep): New function.
29547 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29548 Remove `grub/machine/time.h' include.
29549 (grub_millisleep): New function.
29550
29551 * include/grub/misc.h (grub_div_roundup): New function.
29552
29553 * kern/misc.c: Include `<grub/time.h>'.
29554 (grub_millisleep_generic): New function.
29555
29556 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29557 Add `time.h'.
29558 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29559 Add `time.h'.
29560 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29561 `machine/time.h'. Add `time.h'.
29562 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29563
a39a0312 295642007-10-21 Robert Millan <rmh@aybabtu.com>
29565
29566 * include/grub/misc.h (grub_max): New function.
29567
2aad70e2 295682007-10-21 Robert Millan <rmh@aybabtu.com>
29569
29570 * util/misc.c (grub_util_info): Call fflush() before returning.
29571
54b71c4b 295722007-10-20 Robert Millan <rmh@aybabtu.com>
29573
29574 * genmk.rb (Image): Copy `extra_flags' from here ...
29575 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29576
29577 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29578 to `argc' and `args' arguments.
29579
a979f513 295802007-10-17 Robert Millan <rmh@aybabtu.com>
29581
29582 * kern/i386/loader.S: New file.
29583
29584 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29585 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29586 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29587 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29588 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29589 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29590 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29591 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29592 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29593 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29594 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29595 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29596 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29597 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29598
29599 * kern/i386/realmode.S: New file.
29600
29601 * kern/i386/pc/startup.S (protstack): Moved from here ...
29602 * kern/i386/realmode.S (protstack)... to here.
29603 * kern/i386/pc/startup.S (gdt): Moved from here ...
29604 * kern/i386/realmode.S (gdt)... to here.
29605 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29606 * kern/i386/realmode.S (prot_to_real)... to here.
29607
29608 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29609 `kern/i386/realmode.S'.
29610
825fc8fd 296112007-10-17 Robert Millan <rmh@aybabtu.com>
29612
29613 * include/grub/i386/loader.h: New file.
29614
29615 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29616 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29617 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29618 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29619 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29620 * include/grub/i386/loader.h (grub_linux_prot_size)
29621 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29622 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29623 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29624 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29625
29626 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29627
e179b2f4 296282007-10-15 Robert Millan <rmh@aybabtu.com>
29629
29630 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29631 filesystem when dev->disk is unset.
29632 Do probe for filesystem even when dev->disk->has_partitions is set.
29633 In case a filesystem is found, always report it.
29634 In case it isn't, if dev->disk->has_partitions is set, report that
29635 a partition table was found instead of reporting that no filesystem
29636 could be identified.
29637
5db82af6 296382007-10-12 Robert Millan <rmh@aybabtu.com>
29639
29640 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29641 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29642
68f6ac74 29643 * include/grub/types.h (grub_host_to_target16): New macro.
29644 (grub_host_to_target32): Likewise.
29645 (grub_host_to_target64): Likewise.
29646 (grub_target_to_host16): Likewise.
29647 (grub_target_to_host32): Likewise.
29648 (grub_target_to_host64): Likewise.
5db82af6 29649
29650 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29651 Renamed from to ...
29652 (GRUB_MOD_ALIGN): ...this. Update all users.
29653
68f6ac74 29654 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29655 grub_host_to_target32.
29656 Replace grub_be_to_cpu32 with grub_target_to_host32.
29657 (load_modules): Likewise.
29658 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29659 Replace grub_be_to_cpu32 with grub_target_to_host32.
29660 Replace grub_cpu_to_be16 with grub_host_to_target16.
29661 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 29662
3cf497cc 296632007-10-12 Robert Millan <rmh@aybabtu.com>
29664
29665 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29666 * util/elf/grub-mkimage.c: ... here.
29667
29668 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29669 `util/powerpc/ieee1275/grub-mkimage.c'.
29670
c8cc3692 296712007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 29672
c8cc3692 29673 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29674 and make it easier to figure out.
29675 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29676 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29677 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29678 leave us with less than HEAP_MIN_SIZE total heap.
29679 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 29680
5c58b791 296812007-10-03 Robert Millan <rmh@aybabtu.com>
29682
29683 * include/grub/i386/io.h: New file.
29684 * commands/i386/pc/play.c (inb): Removed.
29685 (outb): Removed.
29686 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29687 with grub_outb().
afcd2ef8 29688 * term/i386/pc/serial.c (inb): Removed.
29689 (outb): Removed.
29690 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29691 with grub_outb().
29692 * term/i386/pc/vga.c (inb): Removed.
29693 (outb): Removed.
29694 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29695 with grub_outb().
5c58b791 29696
1a477ed6 296972007-10-02 Robert Millan <rmh@aybabtu.com>
29698
29699 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29701 Reported by Marcin Kurek.
29702
6b5d80fa 297032007-09-07 Robert Millan <rmh@aybabtu.com>
29704
29705 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29706 SmartFirmware version updates (as released by Sven Luther), and avoid
29707 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29708 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29709 known broken.
29710
5618afbf 297112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29712
29713 From Hitoshi Ozeki:
29714 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29715 when merging two regions.
29716
6139dcd9 297172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29718
508e39ee 29719 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29720 * normal/completion.c (grub_normal_do_completion): Likewise.
29721 Reported by Hitoshi Ozeki.
29722
297232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29724
6139dcd9 29725 Do not use devices at boot in chainloading.
f19dbdb7 29726
6139dcd9 29727 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29728 (boot_part_addr): Likewise.
29729 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29730 with BOOT_DRIVE and BOOT_PART_ADDR.
29731 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29732 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29733
38da6516 297342007-08-29 Robert Millan <rmh@aybabtu.com>
29735
29736 Patch from Simon Peter <dn.tlp@gmx.net>:
29737 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29738 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29739 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29740 util/i386/pc/grub-setup.c_DEPENDENCIES.
29741 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29742 util/grub-probe.c_DEPENDENCIES.
29743 * conf/powerpc-ieee1275.rmk: Likewise.
29744
29d0928c 297452007-08-28 Robert Millan <rmh@aybabtu.com>
29746
29747 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29748 to tell grub-mkdevicemap how to name devices.
29749 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29750 feature).
29751
29752 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29753 util/i386/get_disk_name.c.
29754 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29755 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29756 util/ieee1275/get_disk_name.c.
29757
29758 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29759
29760 * DISTLIST: Add util/i386/get_disk_name.c and
29761 util/ieee1275/get_disk_name.c.
29762
29763 * util/grub-mkdevicemap.c: Replace device naming logic with
29764 grub_util_get_disk_name() calls.
29765
5a0d3cca 297662007-08-20 Robert Millan <rmh@aybabtu.com>
29767
29768 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29769 (so that it works for both plural and singular quantities).
29770
8b72db2f 297712007-08-05 Robert Millan <rmh@aybabtu.com>
29772
29773 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29774 so that [xz] isn't taken into account when determining order.
29775
352466bf 297762007-08-02 Marco Gerards <marco@gnu.org>
29777
29778 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29779 `include/multiboot2.h', `include/grub/elfload.h',
29780 `include/multiboot.h', `include/grub/multiboot.h',
29781 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29782 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29783 `kern/elf.c', `loader/multiboot_loader.c',
29784 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29785 `loader/i386/pc/multiboot2.c',
29786 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29787 `util/i386/pc/grub-mkrescue.in'. Remove
29788 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29789 `include/grub/i386/pc/util/biosdisk.h' and
29790 `include/grub/powerpc/ieee1275/multiboot.h'.
29791
8f096014 297922007-08-02 Bean <bean123ch@gmail.com>
29793
29794 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29795 (ntfs_mod_SOURCES): New variable.
29796 (ntfs_mod_CFLAGS): Likewise.
29797 (ntfs_mod_LDFLAGS): Likewise.
29798
29799 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29800 (grub_probe_SOURCES): Likewise.
29801 (grub_emu_SOURCES): Likewise.
29802
29803 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29804 (grub_emu_SOURCES): Likewise.
29805
29806 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29807 (grub_emu_SOURCES): Likewise.
f19dbdb7 29808
8f096014 29809 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29810
29811 * fs/ntfs.c: New file.
29812
9959f7db 298132007-08-02 Bean <bean123ch@gmail.com>
29814
29815 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29816
29817 * file.h (grub_file): Likewise.
29818
29819 * fshelp.h (grub_fshelp_read_file): Likewise.
29820
29821 * util/i386/pc/grub-setup.c (setup): Likewise.
29822 (save_first_sector): Likewise.
29823 (save_blocklists): Likewise.
f19dbdb7 29824
9959f7db 29825 * fs/affs.c (grub_affs_read_file): Likewise.
29826
29827 * fs/ext2.c (grub_ext2_read_file): Likewise.
29828
29829 * fs/fat.c (grub_fat_read_data): Likewise.
29830
29831 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29832
29833 * fs/hfs.c (grub_hfs_read_file): Likewise.
29834
29835 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29836
29837 * fs/jfs.c (grub_jfs_read_file): Likewise.
29838
29839 * fs/minix.c (grub_minix_read_file): Likewise.
29840
29841 * fs/sfs.c (grub_sfs_read_file): Likewise.
29842
29843 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 29844
9959f7db 29845 * fs/xfs.c (grub_xfs_read_file): Likewise.
29846
29847 * command/blocklist.c (read_blocklist): Likewise.
29848 (print_blocklist): Likewise.
29849
0a203f83 298502007-08-02 Marco Gerards <marco@gnu.org>
29851
29852 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29853 `util/hostfs.c'.
29854
29855 * disk/host.c: New file.
29856
29857 * util/hostfs.c: Likewise.
29858
29859 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29860 return `GRUB_ERR_BAD_FS'.
29861 * fs/sfs.c (grub_sfs_mount): Likewise.
29862 * fs/xfs.c (grub_xfs_mount): Likewise.
29863
29864 * include/grub/disk.h (enum grub_disk_dev_id): Add
29865 `GRUB_DISK_DEVICE_HOST_ID'.
29866
29867 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29868
e5dfe777 298692007-07-24 Jerone Young <jerone@gmail.com>
29870
f19dbdb7 29871 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 29872 modules for compilation.
29873 * conf/powerpc-ieee1275.rmk: Likewise.
29874
29875 * include/multiboot.h: Move multiboot definitions to one file. Rename
29876 many definitions to not get grub specific.
29877 * include/multiboot2.h: Create header with multiboot 2 definitions.
29878 * include/grub/multiboot.h: Header for grub specific function
29879 prototypes and definitions.
29880 * include/grub/multiboot2.h: Likewise.
29881 * include/grub/multiboot_loader.h: Likewise.
29882 * include/grub/i386/pc/multiboot.h: Removed.
29883 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29884
29885 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29886 and 2 to allow for one multiboot and module commands.
29887 * loader/multiboot2.c: Add multiboot2 functionality.
29888 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29889 and definition names.
29890 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29891 2 functions.
29892 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29893 ieee1275 specific multiboot2 code.
29894
29895 * kern/i386/pc/startup.S: Change headers and definition names for
29896 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29897
daf0f0ba 298982007-07-22 Robert Millan <rmh@aybabtu.com>
29899
29900 * geninitheader.sh: Process file specified in first parameter rather
29901 than hardcoding grub_modules_init.lst.
fe6b695a 29902 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 29903 than hardcoding grub_modules_init.h.
29904
29905 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29906 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29907 grub_probe_init.[ch] and grub_setup_init.[ch].
29908
29909 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29910 grub_modules_init.h with grub_emu_init.h.
29911 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29912 grub_probe_init.[ch] files.
29913 * conf/i386-efi.rmk: Likewise.
29914 * conf/i386-pc.rmk: Likewise.
29915 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29916 grub_setup_init.[ch] files.
29917
29918 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29919 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29920 to initialize modules rather than a list of hardcoded functions.
29921 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29922 grub_init_all() to initialize modules rather than a list of hardcoded
29923 functions.
29924
54cdc1cc 299252007-07-22 Robert Millan <rmh@aybabtu.com>
29926
29927 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29928 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29929
ad0686cc 299302007-07-22 Robert Millan <rmh@aybabtu.com>
29931
29932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29933 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29935 flag when running on SmartFirmware.
29936 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29937 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29938 was set.
29939
29940 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29941 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29942 rather than decreasing it.
29943
29944 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29945 there's not enough space to do it, fail in the same way as when it
29946 can't be done because there are no partitions.
29947
29948 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29949 when nvsetenv failed.
29950
969c02ec 299512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29952
29953 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29954 because this rule is automatically generated.
29955 (grub-mkrescue): Removed for the same reason as above.
29956
5a79f472 299572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29958
29959 Migrate to GNU General Public License Version 3.
f19dbdb7 29960
5a79f472 29961 * COPYING: Replaced with the plain text version of GPLv3.
29962
29963 * config.guess: Updated from gnulib.
29964 * config.sub: Likewise.
29965
29966 * geninit.sh: Output a GPLv3 copyright notice.
29967 * geninitheader.sh: Likewise.
29968 * genmodsrc.sh: Likewise.
29969 * gensymlist.sh.in: Likewise.
29970
29971 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29972 * boot/i386/pc/diskboot.S: Likewise.
29973 * boot/i386/pc/pxeboot.S: Likewise.
29974 * commands/blocklist.c: Likewise.
29975 * commands/boot.c: Likewise.
29976 * commands/cat.c: Likewise.
29977 * commands/cmp.c: Likewise.
29978 * commands/configfile.c: Likewise.
29979 * commands/echo.c: Likewise.
29980 * commands/help.c: Likewise.
29981 * commands/ls.c: Likewise.
29982 * commands/search.c: Likewise.
29983 * commands/terminal.c: Likewise.
29984 * commands/test.c: Likewise.
29985 * commands/videotest.c: Likewise.
29986 * commands/i386/cpuid.c: Likewise.
29987 * commands/i386/pc/halt.c: Likewise.
29988 * commands/i386/pc/play.c: Likewise.
29989 * commands/i386/pc/reboot.c: Likewise.
29990 * commands/i386/pc/vbeinfo.c: Likewise.
29991 * commands/i386/pc/vbetest.c: Likewise.
29992 * commands/ieee1275/halt.c: Likewise.
29993 * commands/ieee1275/reboot.c: Likewise.
29994 * commands/ieee1275/suspend.c: Likewise.
29995 * disk/loopback.c: Likewise.
29996 * disk/lvm.c: Likewise.
29997 * disk/raid.c: Likewise.
29998 * disk/efi/efidisk.c: Likewise.
29999 * disk/i386/pc/biosdisk.c: Likewise.
30000 * disk/ieee1275/ofdisk.c: Likewise.
30001 * font/manager.c: Likewise.
30002 * fs/affs.c: Likewise.
30003 * fs/ext2.c: Likewise.
30004 * fs/fat.c: Likewise.
30005 * fs/fshelp.c: Likewise.
30006 * fs/hfs.c: Likewise.
30007 * fs/hfsplus.c: Likewise.
30008 * fs/iso9660.c: Likewise.
30009 * fs/jfs.c: Likewise.
30010 * fs/minix.c: Likewise.
30011 * fs/sfs.c: Likewise.
30012 * fs/ufs.c: Likewise.
30013 * fs/xfs.c: Likewise.
30014 * hello/hello.c: Likewise.
30015 * include/grub/acorn_filecore.h: Likewise.
30016 * include/grub/arg.h: Likewise.
30017 * include/grub/bitmap.h: Likewise.
30018 * include/grub/boot.h: Likewise.
30019 * include/grub/cache.h: Likewise.
30020 * include/grub/device.h: Likewise.
30021 * include/grub/disk.h: Likewise.
30022 * include/grub/dl.h: Likewise.
30023 * include/grub/elfload.h: Likewise.
30024 * include/grub/env.h: Likewise.
30025 * include/grub/err.h: Likewise.
30026 * include/grub/file.h: Likewise.
30027 * include/grub/font.h: Likewise.
30028 * include/grub/fs.h: Likewise.
30029 * include/grub/fshelp.h: Likewise.
30030 * include/grub/gzio.h: Likewise.
30031 * include/grub/hfs.h: Likewise.
30032 * include/grub/kernel.h: Likewise.
30033 * include/grub/loader.h: Likewise.
30034 * include/grub/lvm.h: Likewise.
30035 * include/grub/misc.h: Likewise.
30036 * include/grub/mm.h: Likewise.
30037 * include/grub/net.h: Likewise.
30038 * include/grub/normal.h: Likewise.
30039 * include/grub/parser.h: Likewise.
30040 * include/grub/partition.h: Likewise.
30041 * include/grub/pc_partition.h: Likewise.
30042 * include/grub/raid.h: Likewise.
30043 * include/grub/rescue.h: Likewise.
30044 * include/grub/script.h: Likewise.
30045 * include/grub/setjmp.h: Likewise.
30046 * include/grub/symbol.h: Likewise.
30047 * include/grub/term.h: Likewise.
30048 * include/grub/terminfo.h: Likewise.
30049 * include/grub/tparm.h: Likewise.
30050 * include/grub/types.h: Likewise.
30051 * include/grub/video.h: Likewise.
30052 * include/grub/efi/api.h: Likewise.
30053 * include/grub/efi/chainloader.h: Likewise.
30054 * include/grub/efi/console.h: Likewise.
30055 * include/grub/efi/console_control.h: Likewise.
30056 * include/grub/efi/disk.h: Likewise.
30057 * include/grub/efi/efi.h: Likewise.
30058 * include/grub/efi/pe32.h: Likewise.
30059 * include/grub/efi/time.h: Likewise.
30060 * include/grub/i386/linux.h: Likewise.
30061 * include/grub/i386/setjmp.h: Likewise.
30062 * include/grub/i386/types.h: Likewise.
30063 * include/grub/i386/efi/kernel.h: Likewise.
30064 * include/grub/i386/efi/loader.h: Likewise.
30065 * include/grub/i386/efi/time.h: Likewise.
30066 * include/grub/i386/pc/biosdisk.h: Likewise.
30067 * include/grub/i386/pc/boot.h: Likewise.
30068 * include/grub/i386/pc/chainloader.h: Likewise.
30069 * include/grub/i386/pc/console.h: Likewise.
30070 * include/grub/i386/pc/init.h: Likewise.
30071 * include/grub/i386/pc/kernel.h: Likewise.
30072 * include/grub/i386/pc/loader.h: Likewise.
30073 * include/grub/i386/pc/memory.h: Likewise.
30074 * include/grub/i386/pc/multiboot.h: Likewise.
30075 * include/grub/i386/pc/serial.h: Likewise.
30076 * include/grub/i386/pc/time.h: Likewise.
30077 * include/grub/i386/pc/vbe.h: Likewise.
30078 * include/grub/i386/pc/vbeblit.h: Likewise.
30079 * include/grub/i386/pc/vbefill.h: Likewise.
30080 * include/grub/i386/pc/vbeutil.h: Likewise.
30081 * include/grub/i386/pc/vga.h: Likewise.
30082 * include/grub/ieee1275/ieee1275.h: Likewise.
30083 * include/grub/ieee1275/ofdisk.h: Likewise.
30084 * include/grub/powerpc/libgcc.h: Likewise.
30085 * include/grub/powerpc/setjmp.h: Likewise.
30086 * include/grub/powerpc/types.h: Likewise.
30087 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30088 * include/grub/powerpc/ieee1275/console.h: Likewise.
30089 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30090 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30091 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30092 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30093 * include/grub/powerpc/ieee1275/time.h: Likewise.
30094 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30095 * include/grub/sparc64/libgcc.h: Likewise.
30096 * include/grub/sparc64/setjmp.h: Likewise.
30097 * include/grub/sparc64/types.h: Likewise.
30098 * include/grub/sparc64/ieee1275/console.h: Likewise.
30099 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30100 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30101 * include/grub/sparc64/ieee1275/time.h: Likewise.
30102 * include/grub/util/biosdisk.h: Likewise.
30103 * include/grub/util/getroot.h: Likewise.
30104 * include/grub/util/lvm.h: Likewise.
30105 * include/grub/util/misc.h: Likewise.
30106 * include/grub/util/raid.h: Likewise.
30107 * include/grub/util/resolve.h: Likewise.
30108 * io/gzio.c: Likewise.
30109 * kern/device.c: Likewise.
30110 * kern/disk.c: Likewise.
30111 * kern/dl.c: Likewise.
30112 * kern/elf.c: Likewise.
30113 * kern/env.c: Likewise.
30114 * kern/err.c: Likewise.
30115 * kern/file.c: Likewise.
30116 * kern/fs.c: Likewise.
30117 * kern/loader.c: Likewise.
30118 * kern/main.c: Likewise.
30119 * kern/misc.c: Likewise.
30120 * kern/mm.c: Likewise.
30121 * kern/parser.c: Likewise.
30122 * kern/partition.c: Likewise.
30123 * kern/rescue.c: Likewise.
30124 * kern/term.c: Likewise.
30125 * kern/efi/efi.c: Likewise.
30126 * kern/efi/init.c: Likewise.
30127 * kern/efi/mm.c: Likewise.
30128 * kern/i386/dl.c: Likewise.
30129 * kern/i386/efi/init.c: Likewise.
30130 * kern/i386/efi/startup.S: Likewise.
30131 * kern/i386/pc/init.c: Likewise.
30132 * kern/i386/pc/lzo1x.S: Likewise.
30133 * kern/i386/pc/startup.S: Likewise.
30134 * kern/ieee1275/ieee1275.c: Likewise.
30135 * kern/powerpc/cache.S: Likewise.
30136 * kern/powerpc/dl.c: Likewise.
30137 * kern/powerpc/ieee1275/cmain.c: Likewise.
30138 * kern/powerpc/ieee1275/crt0.S: Likewise.
30139 * kern/powerpc/ieee1275/init.c: Likewise.
30140 * kern/powerpc/ieee1275/openfw.c: Likewise.
30141 * kern/sparc64/cache.S: Likewise.
30142 * kern/sparc64/dl.c: Likewise.
30143 * kern/sparc64/ieee1275/init.c: Likewise.
30144 * kern/sparc64/ieee1275/openfw.c: Likewise.
30145 * loader/efi/chainloader.c: Likewise.
30146 * loader/efi/chainloader_normal.c: Likewise.
30147 * loader/i386/efi/linux.c: Likewise.
30148 * loader/i386/efi/linux_normal.c: Likewise.
30149 * loader/i386/pc/chainloader.c: Likewise.
30150 * loader/i386/pc/chainloader_normal.c: Likewise.
30151 * loader/i386/pc/linux.c: Likewise.
30152 * loader/i386/pc/linux_normal.c: Likewise.
30153 * loader/i386/pc/multiboot.c: Likewise.
30154 * loader/i386/pc/multiboot_normal.c: Likewise.
30155 * loader/powerpc/ieee1275/linux.c: Likewise.
30156 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30157 * normal/arg.c: Likewise.
30158 * normal/cmdline.c: Likewise.
30159 * normal/command.c: Likewise.
30160 * normal/completion.c: Likewise.
30161 * normal/execute.c: Likewise.
30162 * normal/function.c: Likewise.
30163 * normal/lexer.c: Likewise.
30164 * normal/main.c: Likewise.
30165 * normal/menu.c: Likewise.
30166 * normal/menu_entry.c: Likewise.
30167 * normal/misc.c: Likewise.
30168 * normal/parser.y: Likewise.
30169 * normal/script.c: Likewise.
30170 * normal/i386/setjmp.S: Likewise.
30171 * normal/powerpc/setjmp.S: Likewise.
30172 * normal/sparc64/setjmp.S: Likewise.
30173 * partmap/acorn.c: Likewise.
30174 * partmap/amiga.c: Likewise.
30175 * partmap/apple.c: Likewise.
30176 * partmap/gpt.c: Likewise.
30177 * partmap/pc.c: Likewise.
30178 * partmap/sun.c: Likewise.
30179 * term/gfxterm.c: Likewise.
30180 * term/terminfo.c: Likewise.
30181 * term/efi/console.c: Likewise.
30182 * term/i386/pc/console.c: Likewise.
30183 * term/i386/pc/serial.c: Likewise.
30184 * term/i386/pc/vesafb.c: Likewise.
30185 * term/i386/pc/vga.c: Likewise.
30186 * term/ieee1275/ofconsole.c: Likewise.
30187 * util/biosdisk.c: Likewise.
30188 * util/console.c: Likewise.
30189 * util/genmoddep.c: Likewise.
30190 * util/getroot.c: Likewise.
30191 * util/grub-emu.c: Likewise.
30192 * util/grub-mkdevicemap.c: Likewise.
30193 * util/grub-probe.c: Likewise.
30194 * util/lvm.c: Likewise.
30195 * util/misc.c: Likewise.
30196 * util/raid.c: Likewise.
30197 * util/resolve.c: Likewise.
30198 * util/update-grub.in: Likewise.
30199 * util/update-grub_lib.in: Likewise.
30200 * util/grub.d/00_header.in: Likewise.
30201 * util/grub.d/10_hurd.in: Likewise.
30202 * util/grub.d/10_linux.in: Likewise.
30203 * util/i386/efi/grub-install.in: Likewise.
30204 * util/i386/efi/grub-mkimage.c: Likewise.
30205 * util/i386/pc/grub-install.in: Likewise.
30206 * util/i386/pc/grub-mkimage.c: Likewise.
30207 * util/i386/pc/grub-mkrescue.in: Likewise.
30208 * util/i386/pc/grub-setup.c: Likewise.
30209 * util/i386/pc/misc.c: Likewise.
30210 * util/powerpc/ieee1275/grub-install.in: Likewise.
30211 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30212 * util/powerpc/ieee1275/misc.c: Likewise.
30213 * video/bitmap.c: Likewise.
30214 * video/video.c: Likewise.
30215 * video/i386/pc/vbe.c: Likewise.
30216 * video/i386/pc/vbeblit.c: Likewise.
30217 * video/i386/pc/vbefill.c: Likewise.
30218 * video/i386/pc/vbeutil.c: Likewise.
30219 * video/readers/tga.c: Likewise.
30220
3572d015 302212007-07-02 Robert Millan <rmh@aybabtu.com>
30222
30223 * conf/i386-efi.rmk: Replace obsolete reference to
30224 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30225 with util/getroot.c.
30226 * conf/powerpc-ieee1275.rmk: Likewise.
30227 * conf/sparc64-ieee1275.rmk: Likewise.
30228
30229 * util/grub-emu.c (main): Fix unchecked pointer handling.
30230
2c2a681b 302312007-07-02 Robert Millan <rmh@aybabtu.com>
30232
30233 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30234 invocation to fail, in order to support partition-less media.
30235
30236 * util/i386/pc/grub-install.in: Likewise.
30237
30238 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30239 which fs or partmap modules are needed (akin to its sister scripts).
30240
30241 Also use grub-probe to get rid of unportable /proc/mounts check.
30242
30243 Print the same informational message that the other scripts do, before
fe6b695a 30244 exiting.
2c2a681b 30245
6193defe 302462007-06-23 Robert Millan <rmh@aybabtu.com>
30247
fe6b695a 30248 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 30249 a font file can be found and, if so, echo the GRUB path to it.
30250
30251 * util/update-grub.in: Handle multiple terminals depending on user
30252 input, platform availability and font file presence. Propagate
30253 variables of our findings to /etc/grub.d/ children.
30254
30255 * util/grub.d/00_header.in: Handle multiple terminals, based on
30256 environment setup by update-grub.
30257
eface1dc 302582007-06-23 Robert Millan <rmh@aybabtu.com>
30259
ba50d28f 30260 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 30261
bf697e28 302622007-06-21 Robert Millan <rmh@aybabtu.com>
30263
30264 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30265 indicate end of data section in kernel image.
30266 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30267 GRUB_KERNEL_MACHINE_DATA_END.
30268
30269 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30270 space for it.
30271 * kern/i386/efi/startup.S: Likewise.
30272
30273 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30274 during image generation. Implement --prefix option to override this
30275 patch.
30276 * util/i386/efi/grub-mkimage.c: Likewise.
30277
30278 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30279 code to make path relative to its root into a separate function.
30280
30281 * util/i386/pc/grub-install.in: Use newly provided
30282 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30283 pass the result to grub-install --prefix.
30284
baa574b4 302852007-06-13 Robert Millan <rmh@aybabtu.com>
30286
30287 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30288 DEFAULT_DEVICE_MAP.
30289 * util/grub-emu.c: Use above definitions from misc.h instead of
30290 defining them.
30291 * util/grub-mkdevicemap.c: Likewise.
30292 * util/i386/pc/grub-setup.c: Likewise.
30293 * util/grub-probe.c: Likewise.
30294 (probe): Abort with grub_util_error() when either
30295 grub_guess_root_device or grub_util_get_grub_dev fails.
30296
0215dcbf 302972007-06-12 Robert Millan <rmh@aybabtu.com>
30298
30299 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30300 "pager" assignment.
30301 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30302 "pcdata".
30303 * util/grub-probe.c (probe): Likewise for "drive_name".
30304
8af2ab7b 303052007-06-11 Robert Millan <rmh@aybabtu.com>
30306
30307 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30308 not just the cdrom one.
30309
59d31694 303102007-06-11 Robert Millan <rmh@aybabtu.com>
30311
30312 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30313 Add --pkglibdir=DIR option to override pkglibdir.
30314 Mention --image-type=TYPE in help output.
30315 Fix --grub-mkimage (it was a no-op).
fe6b695a 30316 Abort gracefully when no parameter is given.
59d31694 30317
7ee367e4 303182007-06-11 Robert Millan <rmh@aybabtu.com>
30319
30320 * util/i386/pc/grub-mkrescue.in: New file.
30321 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30322 * Makefile.in: Handle bin_SCRIPTS.
30323
29b0ed46 303242007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30325
30326 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30327 list of video modes.
30328
c0f90770 303292007-06-06 Robert Millan <rmh@aybabtu.com>
30330
30331 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30332 file doesn't exist, or if it is in a filesystem grub can't read.
30333
30334 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30335 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30336 header comment to fit in 80 columns when the variables are resolved.
30337
30338 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30339 could be identified by update-grub. Remove redundant check for
fe6b695a 30340 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 30341 handles that).
30342
fb36dc26 303432007-06-04 Robert Millan <rmh@aybabtu.com>
30344
30345 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30346
30347 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30348
30349 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30350
0c68c93e 303512007-06-04 Robert Millan <rmh@aybabtu.com>
30352
30353 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30354
30355 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30356 grub_apple_partition_map_fini.
30357
30358 * util/biosdisk.c
30359 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30360 to access >2 TiB disks).
30361
30362 Print disk->total_sectors with %llu instead of %lu, since this
30363 variable is always 64-bit (prevents wrong disk size from being displayed
30364 on either >2 TiB disk or big-endian CPU).
30365
30366 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30367 into a generic case that supports all (sane) partition maps.
30368
30369 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30370 breaks big-endian.
30371
30372 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30373 and grub_apple_partition_map_fini() after that.
30374
0f23eb74 303752007-06-01 Robert Millan <rmh@aybabtu.com>
30376
30377 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30378
30379 * util/grub.d/00_header.in: Only enable gfxterm when
30380 convert_system_path_to_grub_path() succeeds.
30381
42c71976 303822007-05-20 Robert Millan <rmh@aybabtu.com>
30383
30384 * util/update-grub_lib.in: New file.
30385 * DISTLIST: Add update-grub_lib.in.
30386 * conf/common.rmk: Generate update-grub_lib and install it in
30387 $(lib_DATA).
30388 * Makefile.in: Add install routine for $(lib_DATA).
30389
30390 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30391 function provided by update-grub_lib to support arbitrary paths of
30392 unifont.pff.
30393 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30394 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30395
5beb2291 303962007-05-19 Robert Millan <rmh@aybabtu.com>
30397
30398 * commands/i386/cpuid.c: New module.
30399 * DISTLIST: Add it.
30400 * conf/i386-efi.rmk: Enable cpuid.mod.
30401 * conf/i386-pc.rmk: Likewise.
30402
7262eca1 304032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30404
30405 * kern/disk.c (grub_disk_read): Check return value of
30406 grub_realloc().
30407
260ba823 304082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30409
30410 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30411 arrays.
30412 * disk/raid.c (grub_raid_open): Likewise.
30413
1ecb6cf2 304142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30415
30416 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30417 stack instead of on the heap.
30418
30419 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30420 before doing a read on it.
30421
30422 * configure.ac: Only use -fno-stack-protector for the target
30423 environment.
f19dbdb7 30424
21c8cbb1 304252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30426
30427 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30428 __attribute_ ((unused)) to mode_type argument.
30429
30430 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 30431
21c8cbb1 30432 * kern/misc.c (memcmp): Fix prototype.
30433
30434 * include/grub/partition.h [GRUB_UTIL]
30435 (grub_gpt_partition_map_init): Add prototype.
30436 (grub_gpt_partition_map_fini): Likewise.
30437
30438 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30439 at the right place.
30440
30441 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30442 (grub_fat_read_data): Likewise.
30443 (grub_fat_find_dir): Likewise.
30444
30445 * font/manager.c (find_glyph): Make table a const.
30446 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 30447
849d55d3 304482007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30449
30450 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30451 code, first search for device in /dev/mapper, then in /dev.
30452 (grub_util_get_grub_dev): New function.
30453 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30454 prototype.
30455 * util/grub-probe.c (probe): Remove check for RAID, call
30456 grub_util_get_grub_dev() instead of
30457 grub_util_biosdisk_get_grub_dev().
30458 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30459 grub_util_biosdisk_get_grub_dev().
30460 * util/i386/pc/grub-setup.c (main): Likewise.
30461
8fff7c2f 304622007-05-16 Robert Millan <rmh@aybabtu.com>
30463
30464 * DISTLIST: Update for the latest changes.
30465 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30466 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30467 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30468 grub/util/biosdisk.h.
30469 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30470 grub/util/biosdisk.h.
30471
48e12b52 304722007-05-16 Robert Millan <rmh@aybabtu.com>
30473
30474 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30475
46b9d128 304762007-05-16 Robert Millan <rmh@aybabtu.com>
30477
30478 * util/i386/efi/grub-install.in: New.
30479 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30480 newly added grub-install.
30481 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30482 include.
30483 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30484 grub/util/biosdisk.h.
30485 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30486 grub/util/biosdisk.h.
30487
2d1a40a9 304882007-05-16 Robert Millan <rmh@aybabtu.com>
30489
30490 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30491 * include/grub/util/biosdisk.h: ... here.
30492 * util/i386/pc/biosdisk.c: Moved to ...
30493 * util/biosdisk.c: ... here.
30494 * util/i386/pc/getroot.c: Moved to ...
30495 * util/getroot.c: ... here.
30496 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30497 * util/grub-mkdevicemap.c: ... here.
30498 * util/i386/pc/grub-probe.c: Moved to ...
30499 * util/grub-probe.c: ... here.
30500
9e26e3bc 305012007-05-15 Robert Millan <rmh@aybabtu.com>
30502
30503 * util/update-grub.in: Remove duplicated line in grub.cfg header
30504 message.
30505
57f96397 305062007-05-13 Robert Millan <rmh@aybabtu.com>
30507
30508 * util/update-grub.in: Fix a few assumptions about the devices holding
30509 /, /boot and /boot/grub being the same.
30510 * util/grub.d/00_header.in: Likewise.
30511 * util/grub.d/10_hurd.in: Likewise.
30512 * util/grub.d/10_linux.in: Likewise.
30513
30514 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30515 patterns. Use that to define the `.old' suffix as older than `'.
30516
30517 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30518
30519 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30520 the grub.cfg header message.
30521
2e610d62 305222007-05-11 Robert Millan <rmh@aybabtu.com>
30523
30524 * util/update-grub.in: Create device.map if it doesn't already exist,
30525 before attempting to run grub-probe.
30526 Check for grub-probe and grub-mkdevicemap with the same code
30527 grub-install is using.
30528 Remove test mode.
30529
3f6a10ef 305302007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30531
30532 * Makefile.in: Add the datarootdir autoconf variable.
30533
02e7b75e 305342007-05-09 Robert Millan <rmh@aybabtu.com>
30535
30536 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 30537 fail gracefully if dev->disk->partition == NULL.
02e7b75e 30538
75f396cc 305392007-05-07 Robert Millan <rmh@aybabtu.com>
30540
30541 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30542 determine partition map module.
30543 * util/i386/pc/grub-install.in: Use this feature to decide which
30544 partition module to load, instead of hardcoding pc and gpt.
30545
da65cb36 305462007-05-07 Robert Millan <rmh@aybabtu.com>
30547
30548 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30549 source directory differs from build directory.
30550
b57d6a91 305512007-05-05 Robert Millan <rmh@aybabtu.com>
30552
30553 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30554 initialisation.
30555
509d00f1 305562007-05-05 Robert Millan <rmh@aybabtu.com>
30557
30558 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30559
c48f23ef 305602007-05-05 Robert Millan <rmh@aybabtu.com>
30561
30562 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30563 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30564
20b97658 305652007-05-05 Robert Millan <rmh@aybabtu.com>
30566
30567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30568 (grub_probe_SOURCES): Likewise.
30569 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30570 GPT and initialize dos_part and bsd_part accordingly.
30571 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30572 install_bsd_part.
30573 (main): Activate gpt module for use during partition identification,
30574 and deactivate it afterwards.
30575 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30576 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30577 partition identification, and deactivate it afterwards.
30578
99123174 305792007-05-05 Robert Millan <rmh@aybabtu.com>
30580
30581 * term/i386/pc/console.c (grub_console_fini): Call
30582 grub_term_set_current() before grub_term_unregister().
30583
ebd97f6e 305842007-05-04 Robert Millan <rmh@aybabtu.com>
30585
30586 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30587 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30588 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30589 and update-grub_DATA.
30590 * conf/common.rmk: Build and install update-grub components.
30591 * conf/common.mk: Regenerate.
30592 * util/update-grub.in: New. Core of update-grub.
30593 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30594 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30595 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30596 * util/grub.d/README: New. Document grub.d directory layout.
30597
b06a264d 305982007-05-01 Robert Millan <rmh@aybabtu.com>
30599
30600 * util/grub-emu.c: Move initialization functions
30601 grub_util_biosdisk_init() and grub_init_all() before
30602 grub_util_biosdisk_get_grub_dev(), which relies on them.
30603
41f0050e 306042007-04-19 Robert Millan <rmh@aybabtu.com>
30605
30606 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30607 it is used later.
30608
04582bb3 306092007-04-18 Jerone Young <jerone@gmail.com>
30610
f19dbdb7 30611 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 30612 stanza.
30613
08db4632 306142007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 30615
08db4632 30616 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30617 continue on and look for device node with real device name.
30618
801b76be 306192007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 30620
fe6b695a 30621 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 30622 ability.
30623 * Makefile.in: Add autoconf package transformation code.
30624 * util/i386/pc/grub-install.in: Likewise.
30625 * util/powerpc/ieee1275/grub-install.in: Likewise.
30626
6795c4e1 306272007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30628
30629 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30630 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30631 (EXT2_REVISION): Likewise.
30632 (EXT2_INODE_SIZE): Likewise.
30633 (struct grub_ext2_block_group): Added a missing member
30634 "used_dirs".
30635 (grub_ext2_read_inode): Divide by the inode size in a superblock
30636 instead of 128 to obtain INODES_PER_BLOCK.
30637 Use the macro EXT2_INODE_SIZE instead of directly using
30638 SBLOCK->INODE_SIZE.
30639
d70af616 306402007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30641
30642 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30643 superblock instead of the structure size to compute an
30644 offset. This fixes the problem that GRUB could not read a
30645 filesystem when inode size is different from 128-byte.
30646
3b801603 306472007-03-05 Marco Gerards <marco@gnu.org>
30648
30649 * normal/main.c (read_config_file): When "menu" is not set, create
30650 an initial context.
30651
4785bfe4 306522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30653
30654 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30655 (HEAP_LIMIT): New macro.
30656 (grub_claim_heap): Claim memory up to `heaplimit'.
30657
a0cbb023 306582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30659
30660 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30661 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30662 (_start): Likewise.
30663 (grub_arch_modules_addr): Return address after `_end'.
30664 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30665 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30666 (add_segments): Calculate `_end' from phdr size and location.
30667 (ALIGN_UP): Moved to ...
30668 * include/grub/misc.h: here.
30669 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30670 New macro.
30671 (GRUB_IEEE1275_MODULE_BASE): Removed.
30672
fd7d8eba 306732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30674
30675 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30676 loop boundary.
30677
9b09e6fc 306782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30679
30680 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30681 All users updated.
30682 (grub_elf64_load_hook_t): Likewise.
30683 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30684 debug output.
30685
3ce27299 306862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30687
30688 * kern/mm.c: Update copyright.
30689 (grub_mm_debug): Correct syntax error.
30690 (grub_mm_dump_free): New function.
30691 (grub_debug_free): Call `grub_free'.
30692 * include/grub/mm.h: Update copyright.
30693 (grub_mm_dump_free): Add declaration.
30694
077d5fee 306952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30696
30697 * include/grub/ieee1275/ieee1275.h: Update copyright.
30698 * kern/powerpc/ieee1275/init.c: Likewise.
30699 * kern/powerpc/ieee1275/openfw.c: Likewise.
30700
30701 * loader/powerpc/ieee1275/linux.c: Likewise.
30702 * include/grub/elfload.h: Likewise.
30703 * kern/elf.c: Likewise.
30704 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30705 callers.
30706 (grub_elf64_load): Likewise.
30707 (grub_elf32_load_segment): Move to a nested function.
30708 (grub_elf64_load_segment): Likewise.
30709
dc946850 307102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30711
30712 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30713 prototype.
30714 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30715 (grub_heap_len): Likewise.
30716 (HEAP_SIZE): New macro.
30717 (grub_claim_heap): New function.
30718 (grub_machine_init): Don't claim heap directly. Call
30719 `grub_claim_heap'.
30720 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30721 (grub_available_iterate): New function.
30722
baa2a121 307232007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30724
30725 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30726 * configure.ac: Use it for testing the HOST and TARGET compilers.
30727
4fe9862e 307282006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30729
30730 * Makefile.in (enable_grub_emu): New variable.
30731 * configure.ac (--enable-grub-emu): New option.
30732 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30733 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30734 * conf/i386-pc.rmk: Likewise.
30735 * conf/powerpc-ieee1275.rmk: Likewise.
30736 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30737
a8aa5762 307382006-12-12 Marco Gerards <marco@gnu.org>
30739
30740 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30741
30742 * kern/env.c (grub_env_unset): Don't free the member `value' when
30743 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30744 pointer.
30745
30746 * normal/main.c (current_menu): Removed.
30747 (free_menu): Unset the `menu' environment variable.
30748 (grub_normal_menu_addentry): Make use of the environment variable
30749 `menu', instead of using the global `current_menu'. Allocate
30750 memory for the sourcecode of this entry.
30751 (read_config_file): New argument `nested', changed all callers.
30752 Only in the case of a new context, initialize a new menu. Set the
30753 `menu' environment variable.
30754 (grub_normal_execute): Don't set and unset the environment
30755 variable `menu' here anymore. Only free the menu when leaving the
30756 context.
30757
30758 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30759 leak.
30760
957b3a3e 307612006-12-11 Marco Gerards <marco@gnu.org>
30762
30763 * normal/menu_entry.c (run): Fix off by one bug so the last line
30764 is executed. Move the loader check to outside the loop.
30765
ef875714 307662006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30767
30768 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30769
4e739985 307702006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30771
30772 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30773 the number of sectors. Reported by Andrey Shuvikov
30774 <mr_hyro@yahoo.com>.
f19dbdb7 30775
790707f2 307762006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30777
30778 * kern/disk.c (grub_disk_read): When there is a read error, always
30779 try to read only the necessary data.
f19dbdb7 30780
790707f2 30781 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30782 disk/raid.c.
30783 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30784 prototype.
30785 [GRUB_UTIL] (grub_raid_fini): Likewise.
30786 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 30787 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 30788 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30789 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30790 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30791 and grub_raid_fini().
f19dbdb7 30792
03e58196 307932006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30794
30795 * include/grub/types.h (__unused): Rename to UNUSED.
30796 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30797 (grub_elf64_size): Likewise.
f19dbdb7 30798
ae4f23bf 307992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30800
30801 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30802 grub_error_push and grub_error_pop in the error-handling path.
30803 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30804 length.
30805
2166cc83 308062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30807
30808 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30809 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30811 (kernel_elf_SOURCES): Likewise.
30812 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30813 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30814 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30815 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30816 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30817 (elf_mod_SOURCES): New variable.
30818 (elf_mod_CFLAGS): Likewise.
30819 (elf_mod_LDFLAGS): Likewise.
30820 * include/grub/types.h (__unused): New macro.
30821 * include/grub/elfload.h: New file.
30822 * kern/elf.c: Likewise.
30823 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30824 (ELF32_LOADMASK): New macro.
30825 (ELF64_LOADMASK): Likewise.
30826 (vmlinux): Removed.
30827 (grub_linux_load32): New function.
30828 (grub_linux_load64): Likewise.
30829 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30830 Use grub_elf_t instead of grub_file_t.
30831
a09d5aa5 308322006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30833
30834 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30835 `catch_result' to struct set_color_args.
30836
d976fc51 308372006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30838
30839 * normal/menu.c: Include grub/script.h.
30840 * normal/menu_entry.c: Likewise.
30841 * include/grub/normal.h: Do not include grub/script.h.
30842
67507549 308432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30844
30845 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30846
69203a99 308472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30848
30849 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30850 disk.
30851 (grub_disk_close): Print debug messages when closing a disk.
30852 (grub_disk_read): Print debug messages when disk read fails.
30853 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30854 filesystem type.
30855 * kern/partition.c: Include misc.h.
30856 (grub_partition_iterate): Print debug messages when detecting
30857 partition type.
30858
e2b8278c 308592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30860
30861 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30862 is negative.
30863 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30864
97b2f2ff 308652006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30866
30867 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30868 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30869
6555d655 308702006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30871
30872 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30873 instead of sizeof(lv). Patch by Michael Guntsche.
30874
4d42b77f 308752006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30876
30877 * disk/lvm.c: Rename VGS to VG_LIST.
30878 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30879 (grub_lvm_open): Likewise.
30880 Thanks to Michael Guntsche for finding this bug.
30881
5d74d927 308822006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30883
30884 * configure.ac (AC_INIT): Bumped to 1.95.
30885
a1bb27e4 308862006-10-14 Robert Millan <rmh@aybabtu.com>
30887
30888 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30889 with "/dev/.static/dev/md".
30890
e0994b8b 308912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30892
30893 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30894 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30895 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30896 DRIVE_NAME are always freed.
30897
30898 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30899 DOS_PART, as a DOS partition is counted from one instead of zero
30900 now. Reported by Robert Millan.
30901
ddd5cee9 309022006-10-14 Robert Millan <rmh@aybabtu.com>
30903
30904 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30905 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30906 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30907 string returned by grub_guess_root_device.
30908 * util/i386/pc/grub-setup.c: Likewise.
30909 * util/i386/pc/grub-probefs.c: Likewise.
30910
30911 * util/i386/pc/grub-probefs.c: Rename to ...
30912 * util/i386/pc/grub-probe.c: ... this.
30913 * DISTLIST: Remove grub-probefs, add grub-probe.
30914 * conf/i386-efi.rmk: Likewise.
30915 * conf/i386-pc.rmk: Likewise.
30916 * util/i386/pc/grub-install.in: Likewise.
30917
30918 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30919 choose which information we want to print.
30920
2b002173 309212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30922
30923 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30924 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30925 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30926 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30927 video/readers/tga.c and video/i386/pc/vbeutil.c.
30928
309292006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30930
30931 Added support for RAID and LVM.
f19dbdb7 30932
2b002173 30933 * disk/lvm.c: New file.
30934 * disk/raid.c: Likewise.
30935 * include/grub/lvm.h: Likewise.
f19dbdb7 30936 * include/grub/raid.h: Likewise.
2b002173 30937 * include/grub/util/lvm.h: Likewise.
30938 * include/grub/util/raid.h: Likewise.
30939 * util/lvm.c: Likewise.
30940 * util/raid.c: Likewise.
30941
30942 * include/grub/disk.h (grub_disk_dev_id): Add
30943 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30944 (grub_disk_get_size): New prototype.
30945 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30946 returns a partition.
30947 (grub_disk_get_size): New function.
f19dbdb7 30948
2b002173 30949 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30950 verbatim if grub_install_dos_part is -2.
30951
30952 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30953 and LVM devices.
30954
30955 * util/i386/pc/grub-setup.c (setup): New argument
30956 MUST_EMBED. Force embedding of GRUB when the argument is
30957 true. Close FILE before returning.
30958 (main): Add support for RAID and LVM.
f19dbdb7 30959
2b002173 30960 * conf/common.rmk: Add RAID and LVM modules.
30961 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30962 util/lvm.c.
30963 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30964
30965 * kern/misc.c (grub_strstr): New function.
30966 * include/grub/misc.h (grub_strstr): New prototype.
30967
050548d0 309682006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30969
30970 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30971
da849d2d 309722006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30973
30974 * kern/misc.c (grub_strtoull): Guess the base only if not
30975 specified.
30976
97b2f2ff 309772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 30978
30979 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30980 PowerMac support.
30981
97b2f2ff 309822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 30983
30984 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30985
30986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30987 Remove `flags' argument. All callers changed.
30988 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30989 (IEEE1275_IHANDLE_INVALID): New variable.
30990 (IEEE1275_CELL_INVALID): New variable.
30991 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30992 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30993 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30994 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30995 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30996 codes from Open Firmware. All callers updated.
30997 (grub_ieee1275_next_property): Directly return Open Firmware return
30998 code.
30999 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31000 Standardize error checking from `grub_ieee1275_get_property'.
31001 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
31002 `devalias' to `aliases'. Correct comments. Consolidate error paths.
31003
97b2f2ff 310042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 31005
31006 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
31007 `instance_to_package_args' to `instance_to_path_args'.
31008
31009 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
31010 `grub_ieee1275_chosen'.
31011
31012 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
31013 `grub_ieee1275_interpret'.
31014
97b2f2ff 310152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 31016
31017 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
31018
97b2f2ff 310192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 31020
31021 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
31022 (__cmpdi): Likewise.
31023
31024 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
31025 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
31026 `grub_ssize_t'.
31027
02bb8acc 31028 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 31029
31030 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
31031 to type `grub_ssize_t'.
31032 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
31033
7f9a8531 310342006-09-22 Marco Gerards <marco@gnu.org>
31035
31036 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31037 newlines.
31038
b5ef1102 310392006-09-22 Marco Gerards <marco@gnu.org>
31040
31041 * commands/echo.c: New file.
31042
31043 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31044
31045 * conf/common.rmk (echo_mod_SOURCES): New variable.
31046 (echo_mod_CFLAGS): Likewise.
31047 (echo_mod_LDFLAGS): Likewise.
31048
2cff3677 310492006-09-22 Marco Gerards <marco@gnu.org>
31050
31051 * normal/main.c (get_line): Malloc memory instead of using
31052 preallocated memory. Removed the arguments `cmdline' and
31053 `max_len'. Updated all callers.
31054
6ba4688b 310552006-09-22 Marco Gerards <marco@gnu.org>
31056
31057 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31058 (normal_mod_DEPENDENCIES): Likewise.
31059
31060 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31061 (normal_mod_DEPENDENCIES): Likewise.
31062
31063 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31064
e02ac02c 310652006-09-22 Johan Rydberg <jrydberg@gnu.org>
31066
31067 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31068 programs.
31069 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31070 (normal_mod_DEPENDENCIES): Likewise.
31071 * conf/i386-pc.mk: Regenerate.
31072 * conf/i386-efi.mk: Likewise
31073 * conf/common.mk: Likewise.
31074 * conf/powerpc-ieee1275.mk: Likewise.
31075 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31076
8d252e44 310772006-09-22 Robert Millan <rmh@aybabtu.com>
31078
31079 Sync with i386 version.
31080 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31081 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31082
209bf7ac 310832006-09-21 Robert Millan <rmh@aybabtu.com>
31084
31085 Import from GRUB Legacy (lib/device.c):
31086 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31087 (init_device_map) [__linux__]: Add support for I2O devices.
31088
6b146090 310892006-09-14 Marco Gerards <marco@gnu.org>
31090
31091 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31092 `-melf_i386'.
31093
e38600a8 310942006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 31095
31096 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31097 /boot/grub/*.lst.
78fa1790 31098
2952da5d 31099 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 31100
2952da5d 31101 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31102 before adding it to device.map.
31103
01b82a64 311042006-08-15 Johan Rydberg <jrydberg@gnu.org>
31105
fe6b695a 31106 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 31107 compiles a file; using the -MD option.
31108 * conf/common.mk: Regenerate.
31109 * conf/i386-pc.mk: Likewise.
31110 * conf/i386-efi.mk: Likewise.
31111 * conf/powerpc-ieee1275.mk: Likewise.
31112 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31113
1064790d 311142006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31115
31116 Move the prototypes of grub_setjmp and grub_longjmp to
31117 cpu/setjmp.h, so that each architecture may specify different
31118 attributes.
f19dbdb7 31119
1064790d 31120 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31121 (grub_longjmp): Likewise.
31122 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31123 (grub_longjmp): Likewise.
31124 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31125 (grub_longjmp): Likewise.
31126
31127 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31128 [!GRUB_UTIL] (grub_longjmp): Removed.
31129
29dda3ed 311302006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31131
31132 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31133 "color!" method does not return any value.
31134
ad2a06ed 311352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31136
31137 * include/grub/bitmap.h: New file.
31138
31139 * include/grub/i386/pc/vbeutil.h: Likewise.
31140
31141 * video/bitmap.c: Likewise.
31142
31143 * video/readers/tga.c: Likewise.
31144
31145 * video/i386/pc/vbeutil.c: Likewise.
31146
31147 * commands/videotest.c: Code cleanup and updated to reflect to new
31148 video API.
31149
31150 * term/gfxterm.c: Likewise.
31151
31152 * video/video.c: Likewise.
31153
31154 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31155 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31156 (bitmap_mod_SOURCES): New entry.
31157 (bitmap_mod_CFLAGS): Likewise.
31158 (bitmap_mod_LDFLAGS): Likewise.
31159 (tga_mod_SOURCES): Likewise.
31160 (tga_mod_CFLAGS): Likewise.
31161 (tga_mod_LDFLAGS): Likewise.
31162
31163 * include/grub/video.h (grub_video_blit_operators): New enum type.
31164 (grub_video_render_target): Changed as forward declaration and moved
31165 actual definition to be video driver specific.
31166 (grub_video_adapter.blit_bitmap): Added blitting operator.
31167 (grub_video_adapter.blit_render_target): Likewise.
31168 (grub_video_blit_bitmap): Likewise.
31169 (grub_video_blit_render_target): Likewise.
31170
31171 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31172 driver specific render target definition.
31173 (grub_video_vbe_map_rgba): Added driver internal helper.
31174 (grub_video_vbe_unmap_color): Updated to use
31175 grub_video_i386_vbeblit_info.
31176 (grub_video_vbe_get_video_ptr): Likewise.
31177
31178 * include/grub/i386/pc/vbeblit.h
31179 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31180 grub_video_i386_vbeblit_info.
31181 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31182 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31183 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31184 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31185 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31186 (grub_video_i386_vbeblit_index_index): Likewise.
31187 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31188 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31189 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31190 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31191 operator.
31192 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31193 operator.
31194
31195 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31196 include/grub/i386/pc/vbeblit.h.
31197
31198 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31199 Updated to use grub_video_i386_vbeblit_info.
31200 (grub_video_i386_vbefill_R8G8B8): Likewise.
31201 (grub_video_i386_vbefill_index): Likewise.
31202 (grub_video_i386_vbefill): Added generic filler.
31203
31204 * video/i386/pc/vbefill.c: Updated to reflect changes on
31205 include/grub/i386/pc/vbefill.h.
31206
31207 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31208 grub_video_i386_vbeblit_info.
31209 (grub_video_vbe_unmap_color): Likewise.
31210 (grub_video_vbe_blit_glyph): Likewise.
31211 (grub_video_vbe_scroll): Likewise.
31212 (grub_video_vbe_draw_pixel): Removed function.
31213 (grub_video_vbe_get_pixel): Likewise.
31214 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31215 updated code to use it.
31216 (common_blitter): Added common blitter for render target and bitmap.
31217 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31218 (grub_video_vbe_blit_render_target): Likewise.
31219
bc8c036d 312202006-07-30 Johan Rydberg <jrydberg@gnu.org>
31221
31222 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31223 is in text mode if there is no console control protocol instance
31224 available.
31225
684a8eff 312262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31227
31228 * include/grub/video.h: Code cleanup.
31229
31230 * include/grub/i386/pc/vbe.h: Likewise.
31231
31232 * video/i386/pc/vbe.c: Likewise.
31233
31234 * video/i386/pc/vbeblit.c: Likewise.
31235
31236 * video/i386/pc/vbefill.c: Likewise.
31237
31238 * video/video.c: Likewise. Also added more comments.
31239
5915059b 312402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31241
31242 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31243 (struct grub_biosdisk_dap): Likewise.
31244
31245 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31246 linkage settings for all functions.
31247
90ce5d56 312482006-07-12 Marco Gerards <marco@gnu.org>
31249
31250 * configure.ac (--enable-mm-debug): Fix typo.
31251
31252 * genkernsyms.sh.in: Use proper quoting for `CC'.
31253
43e7f879 312542006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31255
31256 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31257 (normal_mod_ASFLAGS): Remove "-m32".
31258
4889bdec 312592006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31260
31261 * util/misc.c: Include config.h.
31262 [!HAVE_MEMALIGN]: Do not include malloc.h.
31263 (grub_memalign): Use posix_memalign, if present. Then, use
31264 memalign, if present. Otherwise, emit an error.
31265
31266 * util/grub-emu.c: Do not include malloc.h.
31267
31268 * include/grub/util/misc.h: Include unistd.h. This is required for
31269 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31270 D. Eades III <hde@foobar-qux.org>.
31271
31272 * configure.ac (AC_GNU_SOURCE): Added.
31273 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31274 type.
31275
fd39d4da 312762006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31277
31278 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31279 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31280
b786f3b5 312812006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31282
31283 * include/grub/types.h (grub_host_addr_t): Rename to
31284 grub_target_addr_t.
31285 (grub_host_off_t): Rename to grub_target_off_t.
31286 (grub_host_size_t): Rename to grub_target_size_t.
31287 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31288 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31289
31290 * include/grub/kernel.h (struct grub_module_header): Change type
31291 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31292 (grub_module_info): Likewise.
f19dbdb7 31293
051988bb 312942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31295
31296 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31297 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31298 Velazquez <jesus.velazquez@gmail.com>.
31299
deae281b 313002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31301
31302 Count partitions from 1 instead of 0 in the string representation
31303 of partitions. Still use 0-based internally.
f19dbdb7 31304
deae281b 31305 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31306 (sun_partition_map_iterate): Use grub_partition_t instead of
31307 struct grub_partition *. Cast DESC->START_CYLINDER to
31308 grub_uint64_t after converting the endian.
31309 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31310 (sun_partition_map_get_name): Add 1 to P->INDEX.
31311
31312 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31313 PCDATA->DOS_PART.
31314 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31315
31316 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31317 zero instead of one.
31318 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31319 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31320
31321 * partmap/apple.c (apple_partition_map_iterate): Change the type
31322 of POS to unsigned.
31323 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31324 (apple_partition_map_get_name): Add 1 into P->INDEX.
31325
31326 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31327 of POS to unsigned.
31328 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31329 calculate the offset of a partition.
31330 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31331 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31332
31333 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31334 SECTOR to grub_disk_addr_t.
31335 (acorn_partition_map_iterate): Likewise.
31336 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31337 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31338 top.
31339 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31340
31341 * kern/i386/pc/init.c (make_install_device): Add 1 into
31342 GRUB_INSTALL_DOS_PART.
31343
31344 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31345 conditional.
31346
524a1e6a 313472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31348
31349 Clean up the code to support 64-bit addressing in disks and
31350 files. This change is not enough for filesystems yet.
f19dbdb7 31351
524a1e6a 31352 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31353 type of "start" to grub_uint64_t.
31354 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31355 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31356 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31357 convert addresses.
31358
31359 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31360 to grub_disk_addr_t.
31361
31362 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31363 string.
31364
31365 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31366
31367 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31368 to char *.
31369
31370 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31371
31372 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31373
31374 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31375
31376 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31377 to grub_off_t, to detect an error from grub_file_seek.
31378 (grub_multiboot_load_elf32): Likewise.
31379
31380 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31381 maximum unsigned long value when an overflow is detected.
31382 (grub_strtoull): New function.
31383 (grub_divmod64): Likewise.
31384 (grub_lltoa): use grub_divmod64.
31385
31386 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31387 grub_disk_addr_t.
31388 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31389 the pointer to next character. Use grub_strtoull instead of
31390 grub_strtoul.
31391 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31392 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31393 respectively.
31394
fe6b695a 31395 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 31396 return value is signed.
31397 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31398 test if OFFSET is less than zero, as OFFSET is unsigned now.
31399
31400 * kern/disk.c (struct grub_disk_cache): Change the type of
31401 "sector" to grub_disk_addr_t.
31402 (grub_disk_cache_get_index): Change the type of SECTOR to
31403 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31404 unsigned after shifting.
31405 (grub_disk_cache_invalidate): Change the type of SECTOR to
31406 grub_disk_addr_t.
31407 (grub_disk_cache_unlock): Likewise.
31408 (grub_disk_cache_store): Likewise.
31409 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31410 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31411 grub_disk_addr_t and grub_uint64_t, respectively.
31412 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31413 body, as the value of OFFSET is tweaked by
31414 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31415 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31416 respectively.
31417 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31418 body, as the value of OFFSET is tweaked by
31419 grub_disk_check_range. Change the types of LEN and N to
31420 grub_size_t.
31421
31422 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31423 and "saved_offset" to grub_off_t.
31424 (test_header): Cast BUF to char *.
31425 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31426 to char *.
31427 (grub_gzio_read): Change the types of OFFSET and SIZE to
31428 grub_off_t and grub_size_t, respectively.
31429
31430 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31431 Removed.
31432 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31433 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31434 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31435 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31436 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31437
31438 * include/grub/types.h (grub_off_t): Unconditionally set to
31439 grub_uint64_t.
31440 (grub_disk_addr_t): Changed to grub_uint64_t.
31441
31442 * include/grub/partition.h (struct grub_partition): Change the
31443 types of "start", "len" and "offset" to grub_disk_addr_t,
31444 grub_uint64_t and grub_disk_addr_t, respectively.
31445 (grub_partition_get_start): Return grub_disk_addr_t.
31446 (grub_partition_get_len): Return grub_uint64_t.
31447
31448 * include/grub/misc.h (grub_strtoull): New prototype.
31449 (grub_divmod64): Likewise.
31450
31451 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31452 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31453 grub_off_t, respectively.
31454 All callers and references changed.
31455
31456 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31457 grub_size_t in "read".
31458 All callers and references changed.
31459
31460 * include/grub/file.h (struct grub_file): Change the types of
31461 "offset" and "size" to grub_off_t and grub_off_t,
31462 respectively. Change the type of SECTOR to grub_disk_addr_t in
31463 "read_hook".
31464 (grub_file_read): Change the type of LEN to grub_size_t.
31465 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31466 grub_off_t.
31467 (grub_file_size): Return grub_off_t.
31468 (grub_file_tell): Likewise.
31469 All callers and references changed.
31470
31471 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31472 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31473 "write".
31474 (struct grub_disk): Change the type of "total_sectors" to
31475 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 31476 "read_hook".
524a1e6a 31477 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31478 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31479 (grub_disk_write): Likewise.
31480 All callers and references changed.
31481
31482 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31483 char * for grub_strncmp to silence gcc.
31484 (grub_iso9660_mount): Likewise.
31485 (grub_iso9660_mount): Likewise.
31486 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31487 return statement.
31488 (grub_iso9660_iterate_dir): Likewise.
31489 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31490
31491 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31492 LEN to grub_disk_addr_t and grub_size_t, respectively.
31493
31494 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31495
31496 * fs/jfs.c (grub_jfs_read_file): Likewise.
31497
31498 * fs/minix.c (grub_jfs_read_file): Likewise.
31499
31500 * fs/sfs.c (grub_jfs_read_file): Likewise.
31501
31502 * fs/ufs.c (grub_jfs_read_file): Likewise.
31503
31504 * fs/xfs.c (grub_jfs_read_file): Likewise.
31505
31506 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31507 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31508 respectively.
31509
31510 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31511 BLKNR to -1 instead of returning GRUB_ERRNO.
31512 (grub_ext2_read_file): Change the types of SECTOR and
31513 LEN to grub_disk_addr_t and grub_size_t, respectively.
31514
31515 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31516 LEN to grub_disk_addr_t and grub_size_t, respectively.
31517
31518 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31519 grub_file_read.
31520
31521 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31522 string. Do not cast SECTOR explicitly.
31523
31524 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31525 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31526 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31527 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31528 over 2TB and LBA mode is not supported, raise an error.
31529 (get_safe_sectors): New function.
31530 (grub_biosdisk_read): Use get_safe_sectors.
31531 (grub_biosdisk_write): Likewise.
31532
31533 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31534 (grub_efidisk_write): Likewise.
31535
31536 * disk/loopback.c (delete_loopback): Cosmetic changes.
31537 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31538 correctly.
31539 (grub_loopback_open): Likewise.
31540 (grub_loopback_read): Likewise. Also, change the type of POS to
31541 grub_off_t, and fix the usage of grub_memset.
31542
31543 * commands/i386/pc/play.c: Include grub/machine/time.h.
31544
31545 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31546 print FILE->SIZE.
31547
31548 * commands/configfile.c: Include grub/env.h.
31549
31550 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31551 GRUB_ERRNO directly instead. Change the type of POS to
31552 grub_off_t. Follow the coding standard.
31553
31554 * commands/blocklist.c: Include grub/partition.h.
31555 (grub_cmd_blocklist): Return an error if the underlying device is
31556 not a disk. Take the starting sector of a partition into account,
31557 if a partition is used.
31558
31559 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31560 a length field.
31561 (lba_mode): Support 64-bit addresses.
31562 (chs_mode): Likewise.
31563 (copy_buffer): Adapted to the new offsets of a length field and a
31564 segment field.
31565 (blocklist_default_start): Allocate 64-bit space.
31566
31567 * boot/i386/pc/boot.S (force_lba): Removed.
31568 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 31569 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 31570 space.
31571 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31572 is useless.
31573 (lba_mode): Refactored to support a 64-bit address. More size
31574 optimization.
31575 (setup_sectors): Likewise.
31576
53af98ad 315772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31578
31579 * DISTLIST: Added include/grub/i386/linux.h. Removed
31580 include/grub/i386/pc/linux.h
31581
31582 * configure.ac (AC_INIT): Bumped to 1.94.
31583
31584 * config.guess: Updated from gnulib.
31585 * config.sub: Likewise.
31586 * install-sh: Likewise.
31587 * mkinstalldirs: Likewise.
31588
b4c1940a 315892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31590
31591 * conf/common.rmk (grub_modules_init.lst): Depended on
31592 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31593 MODSRCFILES.
31594
31595 * genmk.rb (PModule::rule): Reverted the previous change.
31596
cfca1cfd 315972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31598
31599 * conf/common.rmk (grub_modules_init.lst): Depends on
31600 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31601 that the target does not exist before producing.
31602 (grub_modules_init.h): Remove the target before generating.
31603 (grub_emu_init.c): Likewise.
31604
31605 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31606
aa6d7826 316072006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31608
31609 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31610 for the target-specific tests. Make sure that we also have the
31611 up-to-date target variables for those tests.
31612
26c607b9 316132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31614
31615 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31616 (PModule::rule): Likewise.
31617
0162321a 316182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31619
31620 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31621 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31622 target-specific flags should be prefixed.
31623 (PModule::rule): Likewise.
31624
6c826348 316252006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31626
31627 * configure.ac (CMP): Check if cmp is available explicitly.
31628
b977bf01 316292006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31630
31631 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31632 (target_cpu): New variable.
31633 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 31634
b977bf01 31635 * util/i386/pc/grub-install.in (host_cpu): Removed.
31636 (target_cpu): New variable.
31637 (pkglibdir): Use target_cpu instead of host_cpu.
31638
31639 * util/genmoddep.c: Removed.
f19dbdb7 31640
b977bf01 31641 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31642 instead of GRUB_HOST_SIZEOF_VOID_P.
31643 * kern/dl.c: Likewise.
31644
31645 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31646 ...
31647 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31648 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31649 (GRUB_TARGET_SIZEOF_LONG): ... this.
31650 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31651 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31652 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31653 to ...
31654 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31655 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31656 (GRUB_TARGET_SIZEOF_LONG): ... this.
31657 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31658 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31659 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31660 to ...
31661 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31662 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31663 (GRUB_TARGET_SIZEOF_LONG): ... this.
31664 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31665 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31666
31667 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31668 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31669 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31670 instead of GRUB_HOST_SIZEOF_LONG.
31671 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31672 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31673 GRUB_CPU_WORDS_BIGENDIAN.
31674 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31675 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31676 grub_host_ssize_t.
31677
31678 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31679 (genmoddep_SOURCES): Likewise.
31680 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31681 (genmoddep_SOURCES): Likewise.
31682 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31683 (genmoddep_SOURCES): Likewise.
31684 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31685 Likewise.
31686 (genmoddep_SOURCES): Likewise.
31687
31688 * genmoddep.awk: New file.
31689
31690 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31691 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31692 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31693 (PModule::rule): Likewise.
31694 (Program::rule): Likewise.
31695 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31696 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31697 respectively.
31698
31699 * configure.ac: Rewritten intensively to use host and target
31700 instead of build and host, respectively.
31701
31702 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31703 (host_cpu): Removed.
31704 (target_cpu): New variable.
31705 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31706 (BUILD_CC): Removed.
31707 (BUILD_CFLAGS): Likewise.
31708 (BUILD_CPPFLAGS): Likewise.
31709 (TARGET_CC): New variable.
31710 (TARGET_CFLAGS): Likewise.
31711 (TARGET_CPPFLAGS): Likewise.
31712 (TARGET_LDFLAGS): Likewise.
31713 (AWK): Likewise.
31714 (include): Use target_cpu instead of host_cpu.
31715 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 31716
b977bf01 31717 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31718
f09771a1 317192006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31720
31721 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31722 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31723 field 'false' to 'exec_on_false'.
31724 (grub_script_create_cmdif): Renamed argument names to reflect above
31725 changes.
31726
31727 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31728
31729 * normal/script.c (grub_script_create_cmdif): Likewise.
31730
118f4fb3 317312006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31732
31733 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31734 top.
31735 (grub_hfsplus_btree_recptr): Likewise.
31736 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31737 FILEBLOCK both to pass a block number and store next block
31738 number.
31739 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31740 overflow file correctly. Specify errors appropriately, because
31741 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31742 grub_hfsplus_btree_recptr to get the pointer to a found key.
31743 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31744 is found.
31745
31746 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31747 linux.mod.
31748 (_linux_mod_SOURCES): New variable.
31749 (_linux_mod_CFLAGS): Likewise.
31750 (_linux_mod_LDFLAGS): Likewise.
31751 (linux_mod_SOURCES): Likewise.
31752 (linux_mod_CFLAGS): Likewise.
31753 (linux_mod_LDFLAGS): Likewise.
31754
31755 * DISTLIST: Added loader/i386/efi/linux.c,
31756 loader/i386/efi/linux_normal.c and
31757 include/grub/i386/efi/loader.h.
31758
31759 * loader/i386/efi/linux.c: New file.
31760 * loader/i386/efi/linux_normal.c: Likewise.
31761 * include/grub/i386/efi/loader.h: Likewise.
31762
89a7d726 317632006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31764
31765 * commands/blocklist.c: New file.
31766
31767 * DISTLIST: Added commands/blocklist.c.
31768
31769 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 31770 color for the background, and a darker color for the foreground.
89a7d726 31771 (grub_console_checkkey): Return READ_KEY.
31772 (grub_console_cls): Set the background to
31773 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31774
31775 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31776
31777 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31778 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31779
31780 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31781 prototype.
31782
31783 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31784 BG. The spec is wrong again.
31785
31786 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31787 prototype.
31788 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31789
31790 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31791 commands/blocklist.c.
31792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 31793
89a7d726 31794 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31795 (blocklist_mod_SOURCES): New variable.
31796 (blocklist_mod_CFLAGS): Likewise.
31797 (blocklist_mod_LDFLAGS): Likewise.
31798
75c8f258 317992006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31800
31801 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31802 duplication.
31803 (lba_mode): Use %eax more intensively to reduce the code size.
31804
da2eb181 318052006-05-20 Marco Gerards <marco@gnu.org>
31806
31807 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31808
31809 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31810 for `menuentry'.
31811 (script): Accept leading newlines.
31812 (newlines): New rule to describe 0 or more newlines.
31813 (commands): Accept `command' with trailing newline. Fixed the
31814 order in which arguments were passed to `grub_script_add_cmd'.
31815 Accept commands separated by newlines.
31816 (function): Changed to accept newlines.
31817 (menuentry) Rewritten.
31818
31819 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31820 front of the list, instead of to the end.
31821
577b4050 318222006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31823
31824 * util/i386/pc/grub-install.in (bindir): New variable.
31825 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31826 Shaver <lbgwjl@gmail.com>.
31827
0d6e1189 318282006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31829
31830 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31831 grub/machine/linux.h
31832 * loader/i386/pc/linux.c: Likewise.
31833
31834 * include/grub/i386/pc/linux.h: Moved to ...
31835 * include/grub/i386/linux.h: ... here.
31836
31837 * include/grub/i386/linux.h (struct linux_kernel_params): New
31838 struct.
f19dbdb7 31839
31b86e9f 318402006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31841
31842 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31843 checking.
31844 (grub_video_vbe_blit_glyph): Likewise.
31845 (grub_video_vbe_blit_bitmap): Likewise.
31846 (grub_video_vbe_blit_render_target): Likewise.
31847
83b984de 318482006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31849
31850 * configure.ac (--with-platform): Properly quote the square
31851 brackets.
31852
5f0413bd 318532006-05-08 Marco Gerards <marco@gnu.org>
31854
31855 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31856 this...
31857 (kernel_elf_HEADERS): ...to this. Updated all users.
31858 (grubof_symlist.c): Renamed from this...
31859 (kernel_elf_symlist.c): ...to this. Updated all users.
31860 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31861 (grubof_SOURCES): Renamed from this...
31862 (kernel_elf_SOURCES): ...to this.
31863 (grubof_HEADERS): Renamed from this...
31864 (kernel_elf_HEADERS): ...to this.
31865 (grubof_CFLAGS): Renamed from this...
31866 (kernel_elf_CFLAGS): ...to this.
31867 (grubof_ASFLAGS): Renamed from this...
31868 (kernel_elf_ASFLAGS): ...to this.
31869 (grubof_LDFLAGS): Renamed from this...
31870 (kernel_elf_LDFLAGS): ...to this.
31871
31872 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31873 this...
31874 (kernel_elf_HEADERS): ...to this. Updated all users.
31875 (grubof_symlist.c): Renamed from this...
31876 (kernel_elf_symlist.c): ...to this. Updated all users.
31877 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31878 (grubof_SOURCES): Renamed from this...
31879 (kernel_elf_SOURCES): ...to this.
31880 (grubof_HEADERS): Renamed from this...
31881 (kernel_elf_HEADERS): ...to this.
31882 (grubof_CFLAGS): Renamed from this...
31883 (kernel_elf_CFLAGS): ...to this.
31884 (grubof_ASFLAGS): Renamed from this...
31885 (kernel_elf_ASFLAGS): ...to this.
31886 (grubof_LDFLAGS): Renamed from this...
31887 (kernel_elf_LDFLAGS): ...to this.
31888
31889 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31890 `kernel.elf' instead of `grubof'.
31891
05568c2e 318922006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31893
31894 Add --with-platform to configure. Use pkglibdir instead of
31895 pkgdatadir. This is reported by Roger Leigh.
31896
31897 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31898 (host_vendor): Likewise.
31899 (host_os): Likewise.
31900 (pkgdatadir): Likewise.
31901 (platform): New variable.
31902 (pkglibdir): Likewise.
31903 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 31904
05568c2e 31905 * util/i386/pc/grub-install.in (datadir): Removed.
31906 (host_vendor): Likewise.
31907 (host_os): Likewise.
31908 (pkgdatadir): Likewise.
31909 (platform): New variable.
31910 (pkglibdir): Likewise.
31911 Use PKGLIBDIR instead of PKGDATADIR.
31912
31913 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31914 instead of GRUB_DATADIR.
31915 (main): Likewise.
31916 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31917 (main): Likewise.
31918 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31919 (main): Likewise.
31920
31921 * configure.ac (--with-platform): New option.
31922 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31923
31924 * Makefile.in: Include a makefile based on PLATFORM instead of
31925 HOST_VENDOR.
31926 (pkgdatadir): Not appended by the machine type.
31927 (pkglibdir): Appended by the machine type.
31928 (host_vendor): Removed.
31929 (platform): New variable.
31930 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31931 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31932 (uninstall): Likewise.
31933
4e93851c 319342006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31935
31936 Use the environment context in the menu. Remove the commands
31937 "default" and "timeout", and use variables instead.
f19dbdb7 31938
4e93851c 31939 * normal/menu.c: Include grub/env.h.
31940 (print_entry): Cast TITLE to silence gcc.
31941 (get_timeout): New function.
31942 (set_timeout): Likewise.
31943 (get_entry_number): Likewise.
31944 (run_menu): Use a default entry, a fallback entry and a timeout
31945 in the environment variables "default", "fallback" and
31946 "timeout". Also, tweak the default entry if it is not within the
31947 current menu entries.
31948 (grub_menu_run): Use a fallback entry in the environment variable
31949 "fallback".
31950
31951 * normal/main.c (read_config_file): Do not initialize
31952 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31953 NEWMENU->TIMEOUT.
31954 (grub_normal_execute): Use a data slot to store the menu.
31955
31956 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31957 fallback_entry and timeout.
31958 (struct grub_menu_list): Removed.
31959 (grub_menu_list_t): Likewise.
31960 (struct grub_context): Likewise.
31961 (grub_context_t): Likewise.
31962 (grub_context_get): Likewise.
31963 (grub_context_get_current_menu): Likewise.
31964 (grub_context_push_menu): Likewise.
31965 (grub_context_pop_menu): Likewise.
31966 (grub_default_init): Likewise.
31967 (grub_default_fini): Likewise.
31968 (grub_timeout_init): Likewise.
31969 (grub_timeout_fini): Likewise.
31970
31971 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31972 and timeout.mod.
31973 (normal_mod_SOURCES): Removed normal/context.c.
31974
31975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31976 commands/default.c, commands/timeout.c and normal/context.c.
31977 (normal_mod_SOURCES): Removed normal/context.c.
31978
31979 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31980 commands/timeout.c and normal/context.c.
31981 (normal_mod_SOURCES): Removed normal/context.c.
31982
31983 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31984 commands/default.c, commands/timeout.c and normal/context.c.
31985 (normal_mod_SOURCES): Removed normal/context.c.
31986
31987 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31988 timeout.mod.
31989 (default_mod_SOURCES): Removed.
31990 (default_mod_CFLAGS): Likewise.
31991 (default_mod_LDFLAGS): Likewise.
31992 (timeout_mod_SOURCES): Removed.
31993 (timeout_mod_CFLAGS): Likewise.
31994 (timeout_mod_LDFLAGS): Likewise.
31995
31996 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31997 normal/context.c.
31998
31999 * commands/default.c: Removed.
32000 * commands/timeout.c: Likewise.
32001 * normal/context.c: Likewise.
32002
1eb9cc1d 320032006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
32004
32005 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
32006
385bd9c1 320072006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
32008
32009 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
32010 "next" to "prev" for readability.
32011 (struct grub_env_sorted_var): New struct.
32012 (grub_env_context): Renamed to ...
32013 (initial_context): ... this.
32014 (grub_env_var_context): Renamed to ...
32015 (current_context): ... this.
32016 (grub_env_find): Look only at CURRENT_CONTEXT.
32017 (grub_env_context_open): Rewritten to copy exported variables from
32018 previous context.
32019 (grub_env_context_close): Rewritten according to the new
32020 scheme. Also, add an assertion to prevent the initial context from
32021 removed.
32022 (grub_env_insert): Removed the code for the sorted list.
32023 (grub_env_remove): Likewise.
32024 (grub_env_export): Simply mark the variable with
32025 GRUB_ENV_VAR_GLOBAL.
32026 (grub_env_set): A cosmetic change for naming consistency.
32027 (grub_env_get): Likewise.
32028 (grub_env_unset): Likewise.
32029 (grub_env_iterate): Rewritten to sort variables within this
32030 function.
32031 (grub_register_variable_hook): Fixed for naming consistency. Call
32032 grub_env_find again, only if NAME is not found at the first time.
32033 (mangle_data_slot_name): New function.
32034 (grub_env_set_data_slot): Likewise.
32035 (grub_env_get_data_slot): Likewise.
32036 (grub_env_unset_data_slot): Likewise.
32037
32038 * include/grub/env.h (grub_env_var_type): New enum.
32039 (GRUB_ENV_VAR_LOCAL): New constant.
32040 (GRUB_ENV_VAR_GLOBAL): Likewise.
32041 (GRUB_ENV_VAR_DATA): Likewise.
32042 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32043 "type".
32044 (grub_env_set): Replace VAR with NAME for consistency.
32045 (grub_register_variable_hook): Likewise.
32046 (grub_env_export): Specify the name of the argument.
32047 (grub_env_set_data_slot): New prototype.
32048 (grub_env_get_data_slot): Likewise.
32049 (grub_env_unset_data_slot): Likewise.
32050
7f362539 320512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32052
32053 Extend the loader so that GRUB can accept a loader which comes
32054 back to GRUB when a loaded image exits. Also, this change adds
32055 support for a chainloader on EFI.
f19dbdb7 32056
7f362539 32057 * term/efi/console.c: Include grub/misc.h.
32058 (grub_console_checkkey): Display a scan code on the top for
32059 debugging. This will be removed once the EFI port gets stable.
32060 Correct the scan code mapping.
32061
32062 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32063 allocate memory from larger regions, in order to reduce the number
32064 of allocated regions. Otherwise, the MacOSX loader panics.
32065 (filter_memory_map): Avoid less than 1MB for compatibility with
32066 other loaders.
32067 (add_memory_regions): Allocate from the tail of a region, if
32068 possible, to avoid allocating a region near to 1MB, for the MacOSX
32069 loader.
32070
32071 * kern/efi/init.c (grub_efi_set_prefix): Specify
32072 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32073
32074 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32075 argument IMAGE_HANDLE and specify it to get a loaded image.
32076 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32077 grub_efi_get_loaded_image.
fe6b695a 32078 (grub_efi_get_filename): Divide the length by the size of
7f362539 32079 grub_efi_char16_t.
32080 (grub_efi_get_device_path): New function.
32081 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32082 the length by the size of grub_efi_char16_t for a file path device
32083 path node.
32084
32085 * kern/loader.c (grub_loader_noreturn): New variable.
32086 (grub_loader_set): Accept a new argument NORETURN. Set
32087 GRUB_LOADER_NORETURN to NORETURN.
32088 All callers changed.
32089 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32090 grub_machine_fini.
32091
32092 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32093 prototype.
32094 (grub_efi_get_loaded_image): Take an argument to specify an image
32095 handle.
32096
32097 * include/grub/loader.h (grub_loader_set): Added one more argument
32098 NORETURN.
32099
32100 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32101 instead of grub_efi_open_protocol.
32102 (grub_efidisk_get_device_name): Likewise.
32103 (grub_efidisk_close): Print a newline.
32104 (grub_efidisk_get_device_handle): Fixed to use
32105 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32106 GRUB_EFI_DEVICE_PATH_TYPE.
32107
32108 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32109 * kern/efi/efi.c (device_path_guid): ... here.
32110
32111 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32112 chain.mod.
32113 (kernel_mod_HEADERS): Added efi/disk.h.
32114 (_chain_mod_SOURCES): New variable.
32115 (_chain_mod_CFLAGS): Likewise.
32116 (_chain_mod_LDFLAGS): Likewise.
32117 (chain_mod_SOURCES): Likewise.
32118 (chain_mod_CFLAGS): Likewise.
32119 (chain_mod_LDFLAGS): Likewise.
32120
32121 * DISTLIST: Added include/grub/efi/chainloader.h,
32122 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32123
32124 * include/grub/efi/chainloader.h: New file.
32125 * loader/efi/chainloader.c: Likewise.
32126 * loader/efi/chainloader_normal.c: Likewise.
32127
c0111d6e 321282006-04-30 Marco Gerards <marco@gnu.org>
32129
32130 * commands/configfile.c (grub_cmd_source): New function.
32131 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32132 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32133
df5341da 321342006-04-30 Marco Gerards <marco@gnu.org>
32135
32136 * normal/execute.c (grub_script_execute_cmd): Change the return
32137 type to `grub_err_t'. Correctly return the error.
32138 (grub_script_execute_cmdline): In case a command line is not a
32139 command or a function, try to interpret it as an assignment.
32140
f85934bd 321412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32142
32143 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32144 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32145 skip a node whose name is obviously invalid as UTF-16,
32146 i.e. contains a NUL character. Stop the iteration when the last
32147 directory entry is found. Instead of using the return value of
32148 grub_hfsplus_btree_iterate_node, store the value in RET and use
32149 it, because the iterator can be stopped by the last directory
32150 entry.
32151
8f8a2cf8 321522006-04-30 Marco Gerards <marco@gnu.org>
32153
32154 * include/grub/env.h (grub_env_export): New prototype. Reported
32155 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32156
a27e84ce 321572006-04-30 Marco Gerards <marco@gnu.org>
32158
32159 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32160 size of the extents in a catalog file record.
32161
eaef0553 321622006-04-29 Marco Gerards <marco@gnu.org>
32163
32164 * commands/configfile.c (grub_cmd_configfile): Execute the
32165 configfile within its own context.
32166
32167 * include/grub/env.h (grub_env_context_open): New prototype.
32168 (grub_env_context_close): Likewise.
32169
32170 * kern/env.c (grub_env): Removed.
32171 (grub_env_sorted): Likewise.
32172 (grub_env_context): New variable.
32173 (grub_env_var_context): Likewise.
32174 (grub_env_find): Search both the active context and the global
32175 context.
32176 (grub_env_context_open): New function.
32177 (grub_env_context_close): Likewise.
32178 (grub_env_insert): Likewise.
32179 (grub_env_remove): Likewise.
32180 (grub_env_export): Likewise.
32181 (grub_env_set): Changed to use helper functions to avoid code
32182 duplication.
32183 (grub_env_iterate): Rewritten so both the current context and the
32184 global context are being used.
32185
32186 * normal/command.c (export_command): New function.
32187 (grub_command_init): Register the `export' function.
32188
7b455f4d 321892006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32190
32191 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32192 explicitly to suppress gcc's warnings.
32193 * fs/fat.c (grub_fat_find_dir): Likewise.
32194 (grub_fat_label): Likewise.
32195 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32196 (grub_xfs_mount): Likewise.
32197 (grub_xfs_label): Likewise.
32198 * fs/affs.c (grub_affs_mount): Likewise.
32199 (grub_affs_label): Likewise.
32200 (grub_affs_iterate_dir): Likewise.
32201 * fs/sfs.c (grub_sfs_mount): Likewise.
32202 (grub_sfs_iterate_dir): Likewise.
32203 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32204 * fs/hfs.c (grub_hfs_mount): Likewise.
32205 (grub_hfs_cmp_catkeys): Likewise.
32206 (grub_hfs_find_dir): Likewise.
32207 (grub_hfs_dir): Likewise.
32208 (grub_hfs_label): Likewise.
32209 * fs/jfs.c (grub_jfs_mount): Likewise.
32210 (grub_jfs_opendir): Likewise.
32211 (grub_jfs_getent): Likewise.
32212 (grub_jfs_lookup_symlink): Likewise.
32213 (grub_jfs_label): Likewise.
32214 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32215 (grub_hfsplus_iterate_dir): Likewise.
32216 (grub_hfsplus_btree_iterate_node): Made static.
32217
32218 * util/grub-emu.c (prefix): New variable.
32219 (grub_machine_set_prefix): New function.
32220 (main): Do not set the environment variable "prefix" here. Only
32221 set PREFIX, which is used later by grub_machine_set_prefix.
32222
32223 * include/grub/video.h: Do not include grub/symbol.h.
32224 (grub_video_register): Not exported. This symbol is not defined in
32225 the kernel.
32226 (grub_video_unregister): Likewise.
32227 (grub_video_iterate): Likewise.
32228 (grub_video_setup): Likewise.
32229 (grub_video_restore): Likewise.
32230 (grub_video_get_info): Likewise.
32231 (grub_video_get_blit_format): Likewise.
32232 (grub_video_set_palette): Likewise.
32233 (grub_video_get_palette): Likewise.
32234 (grub_video_set_viewport): Likewise.
32235 (grub_video_get_viewport): Likewise.
32236 (grub_video_map_color): Likewise.
32237 (grub_video_map_rgb): Likewise.
32238 (grub_video_map_rgba): Likewise.
32239 (grub_video_fill_rect): Likewise.
32240 (grub_video_blit_glyph): Likewise.
32241 (grub_video_blit_bitmap): Likewise.
32242 (grub_video_blit_render_target): Likewise.
32243 (grub_video_scroll): Likewise.
32244 (grub_video_swap_buffers): Likewise.
32245 (grub_video_create_render_target): Likewise.
32246 (grub_video_delete_render_target): Likewise.
32247 (grub_video_set_active_render_target): Likewise.
32248
32249 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32250 Undefined.
32251 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32252
32253 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32254 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32255 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32256 instead of $(srcdir)/genkernsyms.sh.
32257
32258 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32259 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32260 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32261 instead of $(srcdir)/genkernsyms.sh.
32262
32263 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32264 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32265 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32266 instead of $(srcdir)/genkernsyms.sh.
32267
32268 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32269 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32270 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32271 instead of $(srcdir)/genkernsyms.sh.
32272
32273 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32274 genkernsyms.sh.
32275
32276 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32277 genkernsyms.sh.
32278 (gensymlist.sh): New target.
32279 (genkernsyms.sh): Likewise.
32280
32281 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32282 genkernsyms.sh.in and gensymlist.sh.in.
32283
32284 * genkernsyms.sh: Removed.
32285 * gensymlist.sh: Likewise.
f19dbdb7 32286
7b455f4d 32287 * genkernsyms.sh.in: New file.
32288 * gensymlist.sh.in: Likewise.
32289
1885bb27 322902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32291
32292 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32293 clobber "prefix", since we may have already set it manually.
32294
71538dff 322952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32296
32297 * kern/misc.c (abort): New alias for grub_abort.
32298
2965c7cc 322992006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32300
32301 A new machine-specific function "grub_machine_set_prefix" is
32302 defined. This is called after loading modules, so that a prefix
32303 initialization can use modules. Also, this change adds an
32304 intensive debugging feature for the memory manager via the
32305 configure option "--enable-mm-debug".
f19dbdb7 32306
2965c7cc 32307 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32308 PART.LEN.
32309
32310 * kern/sparc64/ieee1275/init.c (abort): Removed.
32311 (grub_stop): Likewise.
32312 (grub_exit): New function.
32313 (grub_set_prefix): Renamed to ...
32314 (grub_machine_set_prefix): ... this.
32315 (grub_machine_init): Do not call grub_set_prefix.
32316
32317 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32318 (grub_machine_set_prefix): ... this.
32319 (grub_machine_init): Do not call grub_set_prefix.
32320
32321 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32322 (grub_machine_init): Do not set the prefix here.
32323
32324 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32325
32326 * kern/efi/init.c: Include grub/mm.h.
32327 (grub_efi_set_prefix): New function.
32328
32329 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32330 (grub_efi_get_filename): New function.
32331 (grub_print_device_path): Renamed to ...
32332 (grub_efi_print_device_path): ... this.
32333
32334 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32335 [MM_DEBUG] (grub_realloc): Likewise.
32336 [MM_DEBUG] (grub_free): Likewise.
32337 [MM_DEBUG] (grub_memalign): Likewise.
32338 [MM_DEBUG] (grub_mm_debug): New variable.
32339 [MM_DEBUG] (grub_debug_malloc): New function.
32340 [MM_DEBUG] (grub_debug_free): New function.
32341 [MM_DEBUG] (grub_debug_realloc): New function.
32342 [MM_DEBUG] (grub_debug_memalign): New function.
32343
32344 * kern/misc.c (grub_abort): Print a newline to distinguish
32345 the message.
32346
32347 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32348 grub_set_root_dev after loading modules. This is necessary when
32349 setting a prefix depends on modules.
32350
32351 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32352 (grub_efi_print_device_path): ... this.
32353 (grub_efi_get_filename): New prototype.
32354 (grub_efi_set_prefix): Likewise.
32355
32356 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32357 and grub/disk.h.
32358 (grub_efidisk_get_device_handle): New prototype.
32359 (grub_efidisk_get_device_name): Likewise.
32360
32361 * include/grub/mm.h: Include config.h.
32362 (MM_DEBUG): Removed.
32363 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32364 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32365 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32366 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32367 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32368 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32369 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32370 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32371 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32372
32373 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32374
32375 * disk/efi/efidisk.c: Include grub/partition.h.
32376 (iterate_child_devices): New function.
32377 (add_device): First, compare only last device path nodes, so that
32378 devices are sorted by the types.
32379 (grub_efidisk_get_device_handle): New function.
32380 (grub_efidisk_get_device_name): Likewise.
32381
32382 * configure.ac (--enable-mm-debug): New option to enable the
32383 memory manager debugging feature. This makes the binary much
32384 bigger, so is disabled by default.
32385
9cacaa17 323862006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32387
32388 Use grub_abort instead of grub_stop, and grub_exit must be
32389 define in each architecture now. Also, this change adds support
32390 for EFI disks.
f19dbdb7 32391
9cacaa17 32392 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32393 (grub_getkey): New function.
32394 (grub_term_get_current): Likewise.
32395
32396 * util/i386/pc/grub-setup.c: Include grub/term.h.
32397 (grub_getkey): New function.
32398 (grub_term_get_current): Likewise.
32399
32400 * util/misc.c (grub_stop): Renamed to ...
32401 (grub_exit): ... this.
32402
32403 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32404 (grub_exit): ... this.
32405 (grub_machine_init): Use grub_abort instead of abort.
32406 (grub_stop): Removed.
32407
32408 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32409 abort.
32410
32411 * kern/i386/pc/startup.S (grub_exit): New function.
32412 (cold_reboot): New label.
32413
32414 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32415 (grub_efi_init): Call grub_efidisk_init.
32416 (grub_efi_fini): Call grub_efidisk_fini.
32417
32418 * kern/efi/efi.c: Include grub/mm.h.
32419 (grub_efi_console_control_guid): Renamed to ...
32420 (console_control_guid): ... this.
32421 (grub_efi_loaded_image_guid): Renamed to ...
32422 (loaded_image_guid): ... this.
32423 (grub_efi_locate_handle): New function.
32424 (grub_efi_open_protocol): Likewise.
32425 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32426 GRUB_EFI_CONSOLE_CONTROL_GUID.
32427 (grub_efi_exit): Removed.
32428 (grub_stop): Likewise.
32429 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32430 (grub_exit): New function.
32431 (grub_print_device_path): Likewise.
32432
32433 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32434 (grub_enter_rescue_mode): Register "exit".
32435
32436 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32437 (grub_abort): New function.
32438
32439 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32440
32441 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32442
32443 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32444
32445 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32446 (grub_print_device_path): New prototype.
32447 (grub_efi_locate_handle): Likewise.
32448 (grub_efi_open_protocol): Likewise.
32449
32450 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32451 * disk/efi/efidisk.c: Likewise.
32452
32453 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32454
32455 * include/grub/efi/console_control.h
32456 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32457
32458 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32459 last 8 bytes as an array.
32460 (GRUB_EFI_DISK_IO_GUID): New macro.
32461 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32462 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32463 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32464 grub_uint8_t.
32465 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32466 (struct grub_efi_device_path): Rename the member "sub_type" to
32467 "subtype".
32468 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32469 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32470 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32471 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32472 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32473 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32474 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32475 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32476 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32477 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32478 (struct grub_efi_pci_device_path): New structure.
32479 (grub_efi_pci_device_path_t): New type.
32480 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32481 (struct grub_efi_pccard_device_path): New structure.
32482 (grub_efi_pccard_device_path_t): New type.
32483 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32484 (struct grub_efi_memory_mapped_device_path): New structure.
32485 (grub_efi_memory_mapped_device_path_t): New type.
32486 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32487 (struct grub_efi_vendor_device_path): New structure.
32488 (grub_efi_vendor_device_path_t): New type.
32489 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32490 (struct grub_efi_controller_device_path): New structure.
32491 (grub_efi_controller_device_path_t): New type.
32492 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32493 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32494 (struct grub_efi_acpi_device_path): New structure.
32495 (grub_efi_acpi_device_path_t): New type.
32496 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32497 (struct grub_efi_expanded_acpi_device_path): New structure.
32498 (grub_efi_expanded_acpi_device_path_t): New type.
32499 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32500 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32501 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32502 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32503 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32504 (struct grub_efi_atapi_device_path): New structure.
32505 (grub_efi_atapi_device_path_t): New type.
32506 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32507 (struct grub_efi_fibre_channel_device_path): New structure.
32508 (grub_efi_fibre_channel_device_path_t): New type.
32509 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32510 (struct grub_efi_1394_device_path): New structure.
32511 (grub_efi_1394_device_path_t): New type.
32512 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32513 (struct grub_efi_usb_device_path): New structure.
32514 (grub_efi_usb_device_path_t): New type.
32515 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32516 (struct grub_efi_usb_class_device_path): New structure.
32517 (grub_efi_usb_class_device_path_t): New type.
32518 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32519 (struct grub_efi_i2o_device_path): New structure.
32520 (grub_efi_i2o_device_path_t): New type.
32521 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32522 (struct grub_efi_mac_address_device_path): New structure.
32523 (grub_efi_mac_address_device_path_t): New type.
32524 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32525 (struct grub_efi_ipv4_device_path): New structure.
32526 (grub_efi_ipv4_device_path_t): New type.
32527 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32528 (struct grub_efi_ipv6_device_path): New structure.
32529 (grub_efi_ipv6_device_path_t): New type.
32530 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32531 (struct grub_efi_infiniband_device_path): New structure.
32532 (grub_efi_infiniband_device_path_t): New type.
32533 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32534 (struct grub_efi_uart_device_path): New structure.
32535 (grub_efi_uart_device_path_t): New type.
32536 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32537 (struct grub_efi_vendor_messaging_device_path): New structure.
32538 (grub_efi_vendor_messaging_device_path_t): New type.
32539 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32540 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32541 (struct grub_efi_hard_drive_device_path): New structure.
32542 (grub_efi_hard_drive_device_path_t): New type.
32543 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32544 (struct grub_efi_cdrom_device_path): New structure.
32545 (grub_efi_cdrom_device_path_t): New type.
32546 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32547 (struct grub_efi_vendor_media_device_path): New structure.
32548 (grub_efi_vendor_media_device_path_t): New type.
32549 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32550 (struct grub_efi_file_path_device_path): New structure.
32551 (grub_efi_file_path_device_path_t): New type.
32552 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32553 (struct grub_efi_protocol_device_path): New structure.
32554 (grub_efi_protocol_device_path_t): New type.
32555 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32556 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32557 (struct grub_efi_bios_device_path): New structure.
32558 (grub_efi_bios_device_path_t): New type.
32559 (struct grub_efi_disk_io): New structure.
32560 (grub_efi_disk_io_t): New type.
32561 (struct grub_efi_block_io_media): New structure.
32562 (grub_efi_block_io_media_t): New type.
32563 (struct grub_efi_block_io): New structure.
32564 (grub_efi_block_io_t): New type.
32565
32566 * include/grub/misc.h (grub_stop): Removed.
32567 (grub_exit): New prototype.
32568 (grub_abort): Likewise.
32569
32570 * include/grub/disk.h (enum grub_disk_dev_id): Added
32571 GRUB_DISK_DEVICE_EFIDISK_ID.
32572
32573 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32574 disk/efi/efidisk.c.
32575 (kernel_syms.lst): Remove the target if an error occurs.
32576
49986a9f 325772006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32578
32579 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32580 as it was simply too buggy.
32581
970d3b8a 325822006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32583
32584 * kern/misc.c (grub_lltoa): New function.
32585 (grub_vsprintf): Added support for the long long suffix,
32586 i.e. "ll".
32587
ff04ec24 325882006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32589
32590 * Makefile.in (LDFLAGS): Add variable.
32591 (LD): Remove variable.
32592 * configure.ac: Add -m32 to LDFLAGS.
32593 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32594 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32595 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32596 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32597 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32598 variables.
32599 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32600 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32601 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32602
37e5e1a4 326032006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32604
32605 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32606 length for unknown glyph.
32607
c352d8dd 326082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32609
2eab1c0d 32610 Add support for pre-loaded modules into the EFI port.
f19dbdb7 32611
2eab1c0d 32612 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32613 completely. Accept one more argument DIR. The caller has changed.
32614
32615 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32616
32617 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32618 (grub_efi_loaded_image_guid): New variable.
32619 (grub_efi_get_loaded_image): New function.
32620 (grub_arch_modules_addr): Likewise.
32621
32622 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32623 prototype.
32624
32625 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32626 (struct grub_efi_loaded_image): New structure.
32627 (grub_efi_loaded_image_t): New type.
32628
326292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32630
c352d8dd 32631 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32632 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32633 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32634
6d01d6b4 326352006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32636
32637 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32638
976a4ea0 326392006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32640
32641 * DISTLIST: Added include/grub/efi/console.h,
32642 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32643 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32644
32645 * include/grub/efi/console.h: New file.
32646 * include/grub/efi/time.h: Likewise.
32647 * include/grub/i386/efi/kernel.h: Likewise.
32648 * kern/efi/init.c: Likewise.
32649 * kern/efi/mm.c: Likewise.
32650 * term/efi/console.c: Likewise.
f19dbdb7 32651
976a4ea0 32652 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32653 (grub_stop): Removed.
32654 (grub_get_rtc): Likewise.
32655 (grub_machine_init): Simply call grub_efi_init.
32656 (grub_machine_fini): Call grub_efi_fini.
32657
32658 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32659 (grub_efi_output_string): Removed.
32660 (grub_efi_stall): New function.
32661 (grub_stop): Likewise.
32662 (grub_get_rtc): Likewise.
32663
32664 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32665 (grub_efi_stall): New prototype.
32666 (grub_efi_allocate_pages): Likewise.
32667 (grub_efi_free_pages): Likewise.
32668 (grub_efi_get_memory_map): Likewise.
32669 (grub_efi_mm_init): Likewise.
32670 (grub_efi_mm_fini): Likewise.
32671 (grub_efi_init): Likewise.
32672 (grub_efi_fini): Likewise.
32673
32674 * include/grub/i386/efi/time.h: Do not include
32675 grub/symbol.h. Include grub/efi/time.h.
32676 (GRUB_TICKS_PER_SECOND): Removed.
32677 (grub_get_rtc): Likewise.
32678
32679 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32680 Added padding. The EFI spec is buggy.
32681 (GRUB_EFI_BLACK): New macro.
32682 (GRUB_EFI_BLUE): Likewise.
32683 (GRUB_EFI_GREEN): Likewise.
32684 (GRUB_EFI_CYAN): Likewise.
32685 (GRUB_EFI_RED): Likewise.
32686 (GRUB_EFI_MAGENTA): Likewise.
32687 (GRUB_EFI_BROWN): Likewise.
32688 (GRUB_EFI_LIGHTGRAY): Likewise.
32689 (GRUB_EFI_BRIGHT): Likewise.
32690 (GRUB_EFI_DARKGRAY): Likewise.
32691 (GRUB_EFI_LIGHTBLUE): Likewise.
32692 (GRUB_EFI_LIGHTGREEN): Likewise.
32693 (GRUB_EFI_LIGHTCYAN): Likewise.
32694 (GRUB_EFI_LIGHTRED): Likewise.
32695 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32696 (GRUB_EFI_YELLOW): Likewise.
32697 (GRUB_EFI_WHITE): Likewise.
32698 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32699 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32700 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32701 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32702 (GRUB_EFI_BACKGROUND_RED): Likewise.
32703 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32704 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32705 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32706 (GRUB_EFI_TEXT_ATTR): Likewise.
32707
32708 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32709 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32710 (kernel_mod_HEADERS): Added efi/time.h.
32711
83709125 327122006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32713
32714 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32715 include/grub/efi/api.h, include/grub/efi/console_control.h,
32716 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32717 include/grub/i386/efi/time.h, kern/efi/efi.c,
32718 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32719 and util/i386/efi/grub-mkimage.c.
32720
32721 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32722
32723 * genmk.rb (PModule#rule): Do not export symbols if
32724 #{prefix}_EXPORTS is set to "no".
32725
32726 * conf/i386-efi.mk: New file.
32727 * conf/i386-efi.rmk: Likewise.
32728 * include/grub/efi/api.h: Likewise.
32729 * include/grub/efi/console_control.h: Likewise.
32730 * include/grub/efi/efi.h: Likewise.
32731 * include/grub/efi/pe32.h: Likewise.
32732 * include/grub/i386/efi/time.h: Likewise.
32733 * kern/efi/efi.c: Likewise.
32734 * kern/i386/efi/init.c: Likewise.
32735 * kern/i386/efi/startup.S: Likewise.
32736 * util/i386/efi/grub-mkimage.c: Likewise.
32737
327382006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 32739
32740 * include/grub/script.h: Include <grub/parser.h> and
32741 "grub_script.tab.h".
32742 (struct grub_lexer_param): New struct.
32743 (struct grub_parser_param): Likewise.
32744 (grub_script_create_arglist): Pass the state in an argument.
32745 (grub_script_add_arglist): Likewise.
32746 (grub_script_create_cmdline): Likewise.
32747 (grub_script_create_cmdblock): Likewise.
32748 (grub_script_create_cmdif): Likewise.
32749 (grub_script_create_cmdmenu): Likewise.
32750 (grub_script_add_cmd): Likewise.
32751 (grub_script_arg_add): Likewise.
32752 (grub_script_lexer_ref): Likewise.
32753 (grub_script_lexer_deref): Likewise.
32754 (grub_script_lexer_record_start): Likewise.
32755 (grub_script_lexer_record_stop): Likewise.
32756 (grub_script_mem_record): Likewise.
32757 (grub_script_mem_record_stop): Likewise.
32758 (grub_script_malloc): Likewise.
32759 (grub_script_yylex): Likewise.
32760 (grub_script_yyparse): Likewise.
32761 (grub_script_yyerror): Likewise.
32762 (grub_script_yylex): Likewise.
32763 (grub_script_lexer_init): Return the state.
32764
32765 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32766 (grub_script_lexer_done): Likewise.
32767 (grub_script_lexer_getline): Likewise.
32768 (grub_script_lexer_refs): Likewise.
32769 (script): Likewise.
32770 (newscript): Likewise.
32771 (record): Likewise.
32772 (recording): Likewise.
32773 (recordpos): Likewise.
32774 (recordlen): Likewise.
32775 (grub_script_lexer_init): Return the state instead of setting
32776 global variables.
32777 (grub_script_lexer_ref): Use the newly added argument for state
32778 instead of globals.
32779 (grub_script_lexer_deref): Likewise.
32780 (grub_script_lexer_record_start): Likewise.
32781 (grub_script_lexer_record_stop): Likewise.
32782 (recordchar): Likewise.
32783 (nextchar): Likewise.
32784 (grub_script_yylex2): Likewise.
32785 (grub_script_yylex): Likewise.
32786 (grub_script_yyerror): Likewise.
32787
32788 * normal/parser.y (func_mem): Removed variable.
32789 (menu_entry): Likewise.
32790 (err): Likewise.
32791 (%lex-param): New parser option.
32792 (%parse-param): Likewise.
32793 (script): Always return the AST.
32794 (argument): Pass the state around.
32795 (arguments): Likewise.
32796 (grubcmd): Likewise.
32797 (commands): Likewise.
32798 (function): Likewise.
32799 (menuentry): Likewise.
32800 (if_statement): Likewise.
32801 (if): Likewise.
32802
32803 * normal/script.c (grub_script_memused): Removed variable.
32804 (grub_script_parsed): Likewise.
32805 (grub_script_malloc): Added a state argument. Use that instead of
32806 global variables.
32807 (grub_script_mem_record): Likewise.
32808 (grub_script_mem_record_stop): Likewise.
32809 (grub_script_arg_add): Likewise.
32810 (grub_script_add_arglist): Likewise.
32811 (grub_script_create_cmdline): Likewise.
32812 (grub_script_create_cmdif): Likewise.
32813 (grub_script_create_cmdmenu): Likewise.
32814 (grub_script_add_cmd): Likewise.
32815 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 32816
e2a8c904 328172006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 32818
32819 * normal/command.c (grub_command_init): Remove the title command.
32820
32821 * normal/lexer.c (grub_script_yylex): Renamed from this...
32822 (grub_script_yylex2): ... to this.
32823 (grub_script_yylex): New function. Temporary
32824 introduced to filter some tokens.
32825 (grub_script_yyerror): Print a newline.
32826
32827 * normal/main.c (read_config_file): Output information about the
32828 lines that contain errors. Wait for a key after all lines have
32829 been processed. Don't return an empty menu.
32830
32831 * normal/parser.y (func_mem): Don't initialize.
32832 (menu_entry): Likewise.
32833 (err): New variable.
32834 (script): Don't return anything when an error was encountered.
32835 (ws, returns): Removed rules.
32836 (argument): Disabled concatenated variable support.
32837 (arguments): Remove explicit separators.
32838 (grubcmd): Likewise.
32839 (function): Likewise.
32840 (menuentry): Likewise.
32841 (if): Likewise.
32842 (commands): Likewise. Add error handling.
32843
32844 * normal/script.c (grub_script_create_cmdline): If
32845 `grub_script_parsed' is 0, assume the parser encountered an error.
32846
c9a86192 328472006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32848
32849 * configure.ac: Add support for EFI. Fix the typo
32850 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32851
70f3b243 328522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32853
32854 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32855 foreign multibyte characters should be shown correctly.
32856
65f201ad 328572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32858
32859 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32860 calculation.
32861 (read_config_file): Made it to close file before returning.
32862
b4b93674 328632006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32864
32865 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32866 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32867 video/i386/pc/vbefill.c.
32868
32869 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32870 video/i386/pc/vbefill.c.
32871
32872 * include/grub/video.h (grub_video_blit_format): New enum.
32873 (grub_video_mode_info): Added new member blit_format.
32874 (grub_video_get_blit_format): New function prototype.
32875
32876 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32877 function prototype.
32878 (grub_video_vbe_map_rgb): Likewise.
32879 (grub_video_vbe_unmap_color): Likewise.
32880
32881 * include/grub/i386/pc/vbeblit.h: New file.
32882
32883 * include/grub/i386/pc/vbefill.h: New file.
32884
32885 * video/video.c (grub_video_get_blit_format): New function.
32886 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32887 (grub_video_vbe_map_rgb): Likewise.
32888 (grub_video_vbe_unmap_color): Likewise.
32889
32890 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32891 optimized fills.
32892 (grub_video_vbe_blit_render_target): Changed to use more optimized
32893 blits.
32894 (grub_video_vbe_setup): Added detection for optimized settings.
32895 (grub_video_vbe_create_render_target): Likewise.
32896
32897 * video/i386/pc/vbeblit.c: New file.
32898
32899 * video/i386/pc/vbefill.c: New file.
32900
c2379b9c 329012006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32902
32903 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32904 here...
32905
32906 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32907 parsing to support both hex and dec ranges. If filename was missing
32908 show usage information.
32909
bd0d7896 329102006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32911
32912 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32913 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32914
32915 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32916 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32917 (video_mod_SOURCES): Added.
32918 (video_mod_CFLAGS): Likewise.
32919 (video_mod_LDFLAGS): Likewise.
32920 (gfxterm_mod_SOURCES): Likewise.
32921 (gfxterm_mod_CFLAGS): Likewise.
32922 (gfxterm_mod_LDFLAGS): Likewise.
32923 (videotest_mod_SOURCES): Likewise.
32924 (videotest_mod_CFLAGS): Likewise.
32925 (videotest_mod_LDFLAGS): Likewise.
32926 (vesafb_mod_SOURCES): Removed.
32927 (vesafb_mod_CFLAGS): Likewise.
32928 (vesafb_mod_LDFLAGS): Likewise.
32929 (vga_mod_SOURCES): Likewise.
32930 (vga_mod_CFLAGS): Likewise.
32931 (vga_mod_LDFLAGS): Likewise.
32932
32933 * commands/videotest.c: New file.
32934
32935 * font/manager.c (fill_with_default_glyph): Modified to use
32936 grub_font_glyph.
32937 (grub_font_get_glyph): Likewise.
32938 (fontmanager): Renamed from this...
32939 (font_manager): ... to this.
32940
32941 * include/grub/font.h (grub_font_glyph): Added new structure.
32942 (grub_font_get_glyph): Modified to use grub_font_glyph.
32943
32944 * include/grub/misc.h (grub_abs): Added as inline function.
32945
32946 * include/grub/video.h: New file.
32947
32948 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32949 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32950 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32951 (grub_vbe_get_controller_info): Renamed from this...
32952 (grub_vbe_bios_get_controller_info): ... to this.
32953 (grub_vbe_get_mode_info): Renamed from this...
32954 (grub_vbe_bios_get_mode_info): ... to this.
32955 (grub_vbe_set_mode): Renamed from this...
32956 (grub_vbe_bios_set_mode): ... to this.
32957 (grub_vbe_get_mode): Renamed from this...
32958 (grub_vbe_bios_get_mode): ... to this.
32959 (grub_vbe_set_memory_window): Renamed from this...
32960 (grub_vbe_bios_set_memory_window): ... to this.
32961 (grub_vbe_get_memory_window): Renamed from this...
32962 (grub_vbe_bios_get_memory_window): ... to this.
32963 (grub_vbe_set_scanline_length): Renamed from this...
32964 (grub_vbe_set_scanline_length): ... to this.
32965 (grub_vbe_get_scanline_length): Renamed from this...
32966 (grub_vbe_bios_get_scanline_length): ... to this.
32967 (grub_vbe_set_display_start): Renamed from this...
32968 (grub_vbe_bios_set_display_start): ... to this.
32969 (grub_vbe_get_display_start): Renamed from this...
32970 (grub_vbe_bios_get_display_start): ... to this.
32971 (grub_vbe_set_palette_data): Renamed from this...
32972 (grub_vbe_bios_set_palette_data): ... to this.
32973 (grub_vbe_set_pixel_rgb): Removed.
32974 (grub_vbe_set_pixel_index): Likewise.
32975
32976 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32977 from this...
32978 (grub_vbe_bios_get_controller_info): ... to this.
32979 (grub_vbe_get_mode_info): Renamed from this...
32980 (grub_vbe_bios_get_mode_info): ... to this.
32981 (grub_vbe_set_mode): Renamed from this...
32982 (grub_vbe_bios_set_mode): ... to this.
32983 (grub_vbe_get_mode): Renamed from this...
32984 (grub_vbe_bios_get_mode): ... to this.
32985 (grub_vbe_set_memory_window): Renamed from this...
32986 (grub_vbe_bios_set_memory_window): ... to this.
32987 (grub_vbe_get_memory_window): Renamed from this...
32988 (grub_vbe_bios_get_memory_window): ... to this.
32989 (grub_vbe_set_scanline_length): Renamed from this...
32990 (grub_vbe_set_scanline_length): ... to this.
32991 (grub_vbe_get_scanline_length): Renamed from this...
32992 (grub_vbe_bios_get_scanline_length): ... to this.
32993 (grub_vbe_set_display_start): Renamed from this...
32994 (grub_vbe_bios_set_display_start): ... to this.
32995 (grub_vbe_get_display_start): Renamed from this...
32996 (grub_vbe_bios_get_display_start): ... to this.
32997 (grub_vbe_set_palette_data): Renamed from this...
32998 (grub_vbe_bios_set_palette_data): ... to this.
32999 (grub_vbe_bios_get_controller_info): Fixed problem with registers
33000 getting corrupted after calling it. Added more pushes and pops.
33001 (grub_vbe_bios_set_mode): Likewise.
33002 (grub_vbe_bios_get_mode): Likewise.
33003 (grub_vbe_bios_get_memory_window): Likewise.
33004 (grub_vbe_bios_set_scanline_length): Likewise.
33005 (grub_vbe_bios_get_scanline_length): Likewise.
33006 (grub_vbe_bios_get_display_start): Likewise.
33007 (grub_vbe_bios_set_palette_data): Likewise.
33008
33009 * normal/cmdline.c (cl_set_pos): Refresh the screen.
33010 (cl_insert): Likewise.
33011 (cl_delete): Likewise.
33012
33013 * term/gfxterm.c: New file.
33014
33015 * term/i386/pc/vesafb.c: Removed file.
33016
33017 * video/video.c: New file.
33018
33019 * video/i386/pc/vbe.c (real2pm): Added new function.
33020 (grub_video_vbe_draw_pixel): Likewise.
33021 (grub_video_vbe_get_video_ptr): Likewise.
33022 (grub_video_vbe_get_pixel): Likewise
33023 (grub_video_vbe_init): Likewise.
33024 (grub_video_vbe_fini): Likewise.
33025 (grub_video_vbe_setup): Likewise.
33026 (grub_video_vbe_get_info): Likewise.
33027 (grub_video_vbe_set_palette): Likewise.
33028 (grub_video_vbe_get_palette): Likewise.
33029 (grub_video_vbe_set_viewport): Likewise.
33030 (grub_video_vbe_get_viewport): Likewise.
33031 (grub_video_vbe_map_color): Likewise.
33032 (grub_video_vbe_map_rgb): Likewise.
33033 (grub_video_vbe_map_rgba): Likewise.
33034 (grub_video_vbe_unmap_color): Likewise.
33035 (grub_video_vbe_fill_rect): Likewise.
33036 (grub_video_vbe_blit_glyph): Likewise.
33037 (grub_video_vbe_blit_bitmap): Likewise.
33038 (grub_video_vbe_blit_render_target): Likewise.
33039 (grub_video_vbe_scroll): Likewise.
33040 (grub_video_vbe_swap_buffers): Likewise.
33041 (grub_video_vbe_create_render_target): Likewise.
33042 (grub_video_vbe_delete_render_target): Likewise.
33043 (grub_video_vbe_set_active_render_target): Likewise.
33044 (grub_vbe_set_pixel_rgb): Remove function.
33045 (grub_vbe_set_pixel_index): Likewise.
33046 (index_color_mode): Remove static variable.
33047 (active_mode): Likewise.
33048 (framebuffer): Likewise.
33049 (bytes_per_scan_line): Likewise.
33050 (grub_video_vbe_adapter): Added new static variable.
33051 (framebuffer): Likewise.
33052 (render_target): Likewise.
33053 (initial_mode): Likewise.
33054 (mode_in_use): Likewise.
33055 (mode_list): Likewise.
33056
5f97350b 330572006-03-10 Marco Gerards <marco@gnu.org>
33058
33059 * configure.ac (AC_INIT): Bumped to 1.93.
33060
33061 * DISTLIST: Added `include/grub/hfs.h'.
33062
a3c5c6f8 330632006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33064
33065 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33066 18H, which might help the BIOS falling back to next boot media.
33067
6de53d26 330682006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33069
33070 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33071 Poe Chen <poe.poechen@gmail.com>.
33072
77c4a393 330732006-01-17 Marco Gerards <marco@gnu.org>
33074
33075 * include/grub/normal.h: Include <grub/script.h>.
33076 (grub_command_list): Removed struct.
33077 (grub_command_list_t): Removed type.
33078 (grub_menu_entry): Remove members `num' and `command_list'. Add
33079 members `commands' and `sourcecode'.
33080 * include/grub/script.h: Add inclusion guards.
33081 (grub_script_cmd_menuentry): New struct.
33082 (grub_script_execute_menuentry): New prototype.
33083 (grub_script_lexer_record_start): Likewise.
33084 (grub_script_lexer_record_stop): Likewise.
33085 * normal/execute.c (grub_script_execute_menuentry): New function.
33086 * normal/lexer.c (record, recording, recordpos, recordlen): New
33087 variables.
33088 (grub_script_lexer_record_start): New function.
33089 (grub_script_lexer_record_stop): Likewise.
33090 (recordchar): Likewise.
33091 (nextchar): Likewise.
33092 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33093 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33094 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33095 (current_menu): New variable.
33096 (free_menu): Mainly rewritten.
33097 (grub_normal_menu_addentry): New function.
33098 (read_config_file): Rewritten.
33099 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 33100 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 33101 the menu entry.
33102 (run): Mainly rewritten.
33103 * normal/parser.y (menu_entry): New variable.
33104 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33105 (menuentry): New rule.
33106 (command): Add `menuentry'.
33107 (if_statement): Allow additional returns before `fi'.
33108 * normal/script.c (grub_script_create_cmdmenu): New function.
33109
144f1f98 331102006-01-03 Marco Gerards <marco@gnu.org>
33111
33112 * INSTALL: GNU Bison is required.
33113 * configure.ac: Rewritten the test to detect Bison.
33114 * Makefile.in (YACC): New variable. Reported by Xun Sun
33115 <xun.sun.cn@gmail.com>.
33116
af4b2d89 331172006-01-03 Marco Gerards <marco@gnu.org>
33118
33119 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33120 the HFS+ filesystem to filesystem blocks.
33121 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33122 GCC warning is silenced.
33123
15643b71 331242006-01-03 Marco Gerards <marco@gnu.org>
33125
33126 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33127 read from disk from big endian to host byte order.
33128
00905879 331292006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33130
33131 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33132 documentation.
33133 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33134 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33135 embedded HFS+ filesystem.
33136 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33137 (grub_hfs_sblock): Move from here...
33138 * include/grub/hfs.h: To here... New file.
33139 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33140 documentation.
33141 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33142 New macros.
33143 (grub_hfsplus_volheader): Change type of member `magic' to
33144 `grub_uint16_t'.
33145 (grub_hfsplus_data): Add new member `embedded_offset'.
33146 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33147 returned block.
33148 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33149 Calculate the offset.
33150
8899bc3e 331512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33152
33153 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33154 Removed.
33155 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33156
ae8c0277 331572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33158
33159 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33160 ENV->NAME is NULL after allocating ENV->VALUE.
33161
07084456 331622005-12-25 Marco Gerards <marco@gnu.org>
33163
33164 * kern/env.c (grub_env_set): Rewritten the error handling code.
33165
4750f5f1 331662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33167
33168 * geninit.sh: Made more robust, and more portable.
33169
50214199 331702005-12-25 Marco Gerards <marco@gnu.org>
33171
33172 Add support for Apple HFS+ filesystems.
f19dbdb7 33173
50214199 33174 * fs/hfsplus.c: New file.
33175
33176 * DISTLIST: Added `fs/hfsplus.c'.
33177
33178 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33179 (hfsplus_mod_SOURCES): New variable.
33180 (hfsplus_mod_CFLAGS): Likewise.
33181 (hfsplus_mod_LDFLAGS): Likewise.
33182 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33183 (grub_setup_SOURCES): Likewise.
33184 (grub_mkdevicemap_SOURCES): Likewise.
33185 (grub_emu_SOURCES): Likewise.
33186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33187
33188 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33189
33190 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33191
befaed6c 331922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33193
33194 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33195 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33196 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33197 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33198 normal/lexer.c, normal/parser.y, normal/script.c, and
33199 partmap/gpt.c.
33200 Removed kern/sparc64/cache.c.
33201
33202 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33203 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33204 grub_emu_init.c.
33205
33206 * configure.ac (AC_INIT): Bumped to 1.92.
33207
6a124103 332082005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33209
33210 * kern/err.c (grub_error_push): Added new function to support error
33211 stacks.
33212 (grub_error_pop): Likewise.
33213 (grub_error_stack_items): New local variable to support error stacks.
33214 (grub_error_stack_pos): Likewise.
33215 (grub_error_stack_assert): Likewise.
33216 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33217 stack depth.
33218 (grub_print_error): Added support to print errors from error stack.
33219
33220 * include/grub/err.h (grub_error_push): Added function prototype.
33221 (grub_error_pop): Likewise.
33222
be973c1b 332232005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33224
33225 * configure.ac: Accept `powerpc64' as host_cpu.
33226 (amd64): Rename to `biarch32'.
33227
33228 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33229 non-cacheline-aligned addresses.
33230
33231 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33232 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33233 if `size' is non-zero.
33234
b04216ab 332352005-12-03 Marco Gerards <mgerards@xs4all.nl>
33236
33237 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33238 and `cd' to make sure the filename is not prefixed with a
33239 directory name.
33240 (pkgdata_MODULES): Add `gpt.mod'.
33241 (gpt_mod_SOURCES): New variable.
33242 (gpt_mod_CFLAGS): Likewise.
33243 (gpt_mod_LDFLAGS): Likewise.
33244
33245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33246
33247 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33248 New macro.
33249
33250 * partmap/gpt.c: New file.
33251
33252 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33253 GPT partition map is detected.
33254
41730ed9 332552005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33256
33257 * commands/i386/pc/play.c: New file.
33258 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33259 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33260 macros.
f19dbdb7 33261
95dc3643 332622005-11-27 Marco Gerards <mgerards@xs4all.nl>
33263
33264 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33265 ((unused))' to silence gcc warning.
33266
1569ec51 332672005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33268
33269 * configure.ac: Correct `AC_PROG_YACC' test.
33270
9abde152 332712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33272
33273 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33274 check before installing files.
33275
44b83271 332762005-11-22 Mike Small <smallm@panix.com>
33277
33278 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33279 number regex so multidigit numbers are recognized correctly.
33280
332812005-11-22 Mike Small <smallm@panix.com>
33282
33283 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33284 debugging message before attempting to claim memory.
33285 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33286 multiple addresses in case of failure.
33287
9c12956b 332882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33289
33290 * term/tparm.c (get_space): Remove empty `if' statement.
33291
33292 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33293
33294 * kern/parser.c (check_varstate): Rename `state' to 's'.
33295
aeaf81d9 332962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33297
33298 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33299 variable definitions to the beginning of each function. Sort stack
33300 variables by size.
33301 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33302 `buf' argument to `char *'.
33303
79bbb63f 333042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33305
33306 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33307 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33308 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 33309 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33310 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33311 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33312 configfile.mod, search.mod, gzio.mod and test.mod.
33313 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33314 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33315 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33316 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33317 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33318 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33319 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33320 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33321 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33322 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33323 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33324 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33325 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33326 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33327 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33328 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33329 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33330 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33331 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33332 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33333 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33334 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33335 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33336
33337 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33338 `grep --include'.
33339 (pkgdata_MODULES): Add test.mod.
33340
233b1628 333412005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33342
33343 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33344 appending to variables with "+=".
33345 (PModule): Use full pathname to generate *.lst filenames.
33346
33347 * Makefile.in: Fixed list rules moved from genmk.rb.
33348 (.DELETE_ON_ERROR): New special target.
33349 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33350
33351 * conf/i386-pc.rmk: Include conf/common.mk.
33352 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33353 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 33354 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33355 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33356 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33357 configfile.mod, search.mod, gzio.mod and test.mod.
33358 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33359 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33360 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33361 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33362 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33363 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33364 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33365 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33366 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33367 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33368 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33369 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33370 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33371 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33372 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33373 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33374 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33375 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33376 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33377 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33378 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33379 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33380 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33381 here...
33382 * conf/common.rmk: ... to here. New file.
33383
33384 * conf/common.mk: New file.
33385
16f820c8 333862005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33387
33388 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33389 (grub_script.tab.c): ... here.
33390
33391 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33392 (grub_script.tab.c): ... here.
33393
33394 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33395 (grub_script.tab.c): ... here.
33396
33397 * normal/command.c (grub_command_find): Fixed a memory leak of
33398 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33399
63ba1554 334002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33401
33402 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33403 "@" which marks the start of a comment on ARM.
33404 (VARIABLE): Likewise.
33405
7f67dc13 334062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33407
79bbb63f 33408 Add support for Linux/ADFS partition tables.
7f67dc13 33409
33410 * partmap/acorn.c: New file.
33411
33412 * include/grub/acorn_filecore.h: Likewise.
33413
33414 * DISTLIST: Added `partmap/acorn.c' and
33415 `include/grub/acorn_filecore.h'.
f19dbdb7 33416
7f67dc13 33417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33418 `partmap/acorn.c'.
33419 (pkgdata_MODULES): Add `acorn.mod'.
33420 (acorn_mod_SOURCES): New variable.
33421 (acorn_mod_CFLAGS): Likewise.
33422
33423 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33424 `partmap/acorn.c'.
33425 (pkgdata_MODULES): Add `acorn.mod'.
33426 (acorn_mod_SOURCES): New variable.
33427 (acorn_mod_CFLAGS): Likewise.
33428
33429 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33430 (pkgdata_MODULES): Add `acorn.mod'.
33431 (acorn_mod_SOURCES): New variable.
33432 (acorn_mod_CFLAGS): Likewise.
33433 (acorn_mod_LDFLAGS): Likewise.
33434
33435 * include/types.h (grub_disk_addr_t): New typedef.
33436
6d099807 334372005-11-13 Marco Gerards <mgerards@xs4all.nl>
33438
33439 * geninit.sh: New file.
33440
33441 * geninitheader.sh: Likewise.
33442
33443 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33444 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33445 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33446 * commands/configfile.c (grub_configfile_init)
33447 (grub_configfile_fini): Likewise.
33448 * commands/default.c (grub_default_init, grub_default_fini):
33449 Likewise.
33450 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33451 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33452 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33453 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33454 Likewise.
33455 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33456 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33457 Likewise.
33458 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 33459 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 33460 Likewise.
33461 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33462 Likewise.
fe6b695a 33463 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 33464 Likewise.
33465 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33466 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33467 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33468 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33469 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33470 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33471 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33472 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33473 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33474 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33475 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33476 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33477 * partmap/amiga.c (grub_amiga_partition_map_init)
33478 (grub_amiga_partition_map_fini): Likewise.
33479 * partmap/apple.c (grub_apple_partition_map_init)
33480 (grub_apple_partition_map_fini): Likewise.
33481 * partmap/pc.c (grub_pc_partition_map_init)
33482 (grub_pc_partition_map_fini): Likewise.
33483 * partmap/sun.c (grub_sun_partition_map_init,
33484 grub_sun_partition_map_fini): Likewise.
33485 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33486 Likewise.
33487
33488 * util/grub-emu.c: Include <grub_modules_init.h>.
33489 (main): Don't initialize and de-initialize any modules directly,
33490 use `grub_init_all' and `grub_fini_all' instead.
33491
33492 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33493 `grub_vesafb_mod_init'.
33494 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33495 all users.
33496 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33497 `grub_vga_mod_init'. Updated all users.
33498 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 33499
6d099807 33500 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33501 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33502 rules.
33503
33504 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33505 Generate a function to initialize the module in utilities.
33506 Updated all callers.
33507 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33508 initialize the module in utilities. Updated all callers.
33509
9046bcf0 335102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33511
33512 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33513 escape sequence and a literal ^L to clear the screen.
33514
33515 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33516 when returning from Open Firmware.
33517
d13ea639 335182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33519
33520 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33521 (grub_ofconsole_height): Likewise.
33522 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33523 manually insert a '\n'.
33524 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33525 `grub_ofconsole_height'. Return early if these are already set.
33526
a8fcf206 335272005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33528
33529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33530 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33531 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33532 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33533 and `normal/script.c'.
33534 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33535 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33536 (test_mod_SOURCES): New variable.
33537 (test_mod_CFLAGS): Likewise.
33538 (test_mod_LDFLAGS): Likewise.
33539 (pkgdata_MODULES): Add `test.mod'.
33540 (grub_script.tab.c): New rule.
33541 (grub_script.tab.h): Likewise.
33542
b6b32745 335432005-11-07 Marco Gerards <mgerards@xs4all.nl>
33544
33545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33546 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33547 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33548 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33549 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33550 (test_mod_SOURCES): New variable.
33551 (test_mod_CFLAGS): Likewise.
33552 (pkgdata_MODULES): Add `test.mod'.
33553 (grub_script.tab.c): New rule.
33554 (grub_script.tab.h): Likewise.
33555
daac212a 335562005-11-06 Marco Gerards <mgerards@xs4all.nl>
33557
33558 Add initial scripting support.
33559
33560 * commands/test.c: New file.
33561 * include/grub/script.h: Likewise.
33562 * normal/execute.c: Likewise.
33563 * normal/function.c: Likewise.
33564 * normal/lexer.c: Likewise.
33565 * normal/parser.y: Likewise.
33566 * normal/script.c: Likewise.
33567
33568 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 33569
daac212a 33570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33571 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33572 `normal/function.c' and `normal/script.c'.
33573 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33574 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 33575 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33576 variables.
daac212a 33577 (pkgdata_MODULES): Add `test.mod'.
33578 (grub_script.tab.c): New rule.
33579 (grub_script.tab.h): Likewise.
33580
33581 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33582
33583 * include/grub/normal.h (grub_test_init): New prototype.
33584 (grub_test_fini): Likewise.
f19dbdb7 33585
daac212a 33586 * normal/command.c: Include <grub/script.h>.
33587 (grub_command_execute): Rewritten.
f19dbdb7 33588
daac212a 33589 * util/grub-emu.c (main): Call `grub_test_init' and
33590 `grub_test_fini'.
33591
77500b2b 335922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33593
33594 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33595 to 0.
33596 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33597 there are no pending characters.
33598
e45deb9e 335992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33600
33601 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33602 `grub_strndup' to drop device arguments. Replace unnecessary
33603 `grub_strndup' with `grub_strdup'.
33604
4ce32619 336052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33606
33607 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33608 `debug' environment variable has been set.
33609
336102005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33611
4ce32619 33612 * Makefile.in (install-local): Use $(DATA).
33613 (uninstall): Likewise.
33614 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33615 (sbin_UTILITIES): ... to here.
33616 (sbin_SCRIPTS): New variable.
33617 (grub_install_SOURCES): New variable.
33618 * util/powerpc/ieee1275/grub-install.in: New file.
33619 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33620 variable.
33621 (add_segments): Call `grub_util_get_path'.
33622
25fe6f03 336232005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33624
33625 From Timothy Baldwin:
33626 * commands/ls.c (grub_ls_list_files): Close FILE with
33627 grub_file_close.
33628 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33629
04ccf3ec 336302005-10-24 Marco Gerards <mgerards@xs4all.nl>
33631
33632 * include/grub/parser.h: New file.
33633
33634 * kern/parser.c: Likewise.
33635
33636 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33637 (grub_setup_SOURCES): Likewise.
33638 (grub_probefs_SOURCES): Likewise.
33639 (grub_emu_SOURCES): Likewise.
33640 (kernel_img_HEADERS): Add `parser.h'.
33641
33642 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33643 (grub_emu_SOURCES): Add `kern/parser.c'.
33644 (grubof_SOURCES): Likewise.
33645
33646 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33647 (grubof_SOURCES): Add `kern/parser.c'.
33648
33649 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33650
33651 * kern/misc.c (grub_split_cmdline): Removed function.
33652
33653 * kern/rescue.c: Include <grub/parser.h>.
33654 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33655 of `grub_split_cmdline'.
33656
33657 * normal/command.c: Include <grub/parser.h>.
33658 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33659 of `grub_split_cmdline'.
33660
33661 * normal/completion.c: Include <grub/parser.h>.
33662 (cmdline_state): New variable.
33663 (iterate_dir): End the filename with a quote depending on the
33664 command line state.
33665 (get_state): new function.
33666 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33667 split the arguments and determine the current argument. When the
33668 argument string is not quoted, escape all spaces.
33669
6d8f4b0e 336702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33671
33672 * normal/sparc64/setjmp.S: New file.
33673
15cf03ed 336742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33675
33676 * include/grub/sparc64/libgcc.h: New file.
33677 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33678 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33679 normal/sparc64/setjmp.c.
33680
03e8661a 336812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33682
33683 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33684 * kern/sparc64/cache.S: New file.
33685 * kern/sparc64/cache.c: Removed.
33686 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33687 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33688 -mtune=ultrasparc.
33689 (COMMON_LDFLAGS): Add -melf64_sparc.
33690 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33691 (grubof_SOURCES): Use cache.S instead of cache.c.
33692 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33693 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33694 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33695 commented though.
33696 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33697 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33698 (linux_mod_CFLAGS): Commented out.
33699 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33700 out because module isn't built.
33701 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33702 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33703 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33704 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33705 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33706 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33707 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33708 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33709 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33710 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33711 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33712 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33713 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33714 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33715
34eeec8a 337162005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33717
33718 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33719 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33720 longer, because HFS should not be used on PC.
33721
708367a3 337222005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33723
33724 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33725 consistently within the loop.
33726
6fa1251a 337272005-10-15 Marco Gerards <mgerards@xs4all.nl>
33728
33729 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33730 directory can not be read.
33731
4801580b 337322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33733
33734 * configure.ac (AC_INIT): Increase the version number to 1.91.
33735
33736 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33737 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33738 term/i386/pc/serial.c.
33739
219ad426 337402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33741
33742 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33743 file size must be permitted.
33744
33745 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33746 between %ah and %al.
33747
688e5699 337482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33749
33750 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33751 grub_uint64_t.
33752 Call the hook with a NUL-terminated filename.
33753 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33754 grub_cpu_to_be32.
33755
33756 * kern/term.c (cursor_state): New variable.
33757 (grub_term_set_current): Reset the cursor state on a new
33758 terminal.
33759 (grub_setcursor): Rewritten to use CURSOR_STATE.
33760 (grub_getcursor): New function.
33761
33762 * include/grub/term.h (grub_getcursor): New prototype.
33763
33764 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33765 integers on ARM. Reported by Timothy Baldwin
33766 <T.E.Baldwin99@members.leeds.ac.uk>.
33767
bb34586c 337682005-10-11 Marco Gerards <mgerards@xs4all.nl>
33769
33770 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33771 allocated.
33772 (grub_sfs_dir): Likewise.
33773
9a909877 337742005-10-09 Marco Gerards <mgerards@xs4all.nl>
33775
33776 Add support for the SFS filesystem.
33777
33778 * fs/sfs.c: New file.
33779
33780 * DISTLIST: Added `fs/sfs.c'.
33781
33782 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33783 (grub_probefs_SOURCES): Likewise.
33784 (grub_emu_SOURCES): Likewise.
33785 (pkgdata_MODULES): Add `sfs.mod'.
33786 (sfs_mod_SOURCES): New variable.
33787 (sfs_mod_CFLAGS): Likewise.
33788 (sfs_mod_LDFLAGS): Likewise.
33789
33790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33791 (pkgdata_MODULES): Add `sfs.mod'.
33792 (sfs_mod_SOURCES): New variable.
33793 (sfs_mod_CFLAGS): Likewise.
33794
33795 * util/grub-emu.c (main): Call `grub_sfs_init' and
33796 `grub_sfs_fini'.
33797
33798 * include/grub/fs.h (grub_sfs_init): New prototype.
33799 (grub_sfs_fini): Likewise.
33800
57bdbde3 338012005-10-07 Marco Gerards <mgerards@xs4all.nl>
33802
33803 Add support for the AFFS filesystem.
33804
33805 * fs/affs.c: New file.
33806
33807 * DISTLIST: Added `fs/affs.c'.
33808
33809 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33810 (grub_probefs_SOURCES): Likewise.
33811 (grub_emu_SOURCES): Likewise.
33812 (pkgdata_MODULES): Add `affs.mod'.
33813 (affs_mod_SOURCES): New variable.
33814 (affs_mod_CFLAGS): Likewise.
33815 (affs_mod_LDFLAGS): Likewise.
33816
33817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33818 (pkgdata_MODULES): Add `affs.mod'.
33819 (affs_mod_SOURCES): New variable.
33820 (affs_mod_CFLAGS): Likewise.
33821
33822 * util/grub-emu.c (main): Call `grub_affs_init' and
33823 `grub_affs_fini'.
33824
33825 * include/grub/fs.h (grub_affs_init): New prototype.
33826 (grub_affs_fini): Likewise.
33827
047b67e0 338282005-10-01 Marco Gerards <mgerards@xs4all.nl>
33829
33830 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33831
59b8208a 338322005-10-01 Marco Gerards <mgerards@xs4all.nl>
33833
33834 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33835 `-m32' to CFLAGS.
33836
33837 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33838 linking.
f19dbdb7 33839
59b8208a 33840 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33841 (COMMON_LDFLAGS): New variable.
33842 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33843 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33844 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33845 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33846 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33847 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33848 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33849 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33850 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33851 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33852 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33853 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33854 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33855 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33856 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33857 variables.
33858 (normal_mod_ASFLAGS): Add `-m32'.
33859
33860 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33861 (grub_host_size_t, grub_host_ssize_t): New types.
33862 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 33863 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 33864 `GRUB_HOST_SIZEOF_VOID_P'.
33865
33866 * include/grub/kernel.h (struct grub_module_header): Type of
33867 member offset changed to `grub_host_off_t'. Type of member size
33868 changed to `grub_host_size_t'.
33869 (struct grub_module_info): Type of member offset changed to
33870 `grub_host_off_t'. Type of member size changed to
33871 `grub_host_size_t'.
33872
b4093103 338732005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33874
33875 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 33876
b4093103 33877 * kern/i386/pc/startup.S (multiboot_header): New label.
33878 (multiboot_entry): Likewise.
33879 (multiboot_trampoline): Likewise.
33880
33881 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33882 Increased to 0x4A0.
33883
33884 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33885 put parentheses after a question mark.
33886 [!GRUB_UTIL] (my_mod): New variable.
33887
33888 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33889
b2499b29 338902005-09-28 Marco Gerards <mgerards@xs4all.nl>
33891
33892 Adds support for the XFS filesystem. Btrees are not supported
33893 yet.
33894
33895 * fs/xfs.c: New file.
33896
33897 * DISTLIST: Added `fs/xfs.c'.
33898
33899 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33900 (grub_probefs_SOURCES): Likewise.
33901 (grub_emu_SOURCES): Likewise.
33902 (pkgdata_MODULES): Add `xfs.mod'.
33903 (xfs_mod_SOURCES): New variable.
33904 (xfs_mod_CFLAGS): Likewise.
33905
33906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33907 (pkgdata_MODULES): Add `xfs.mod'.
33908 (xfs_mod_SOURCES): New variable.
33909 (xfs_mod_CFLAGS): Likewise.
33910
33911 * util/grub-emu.c (main): Call `grub_xfs_init' and
33912 `grub_xfs_fini'.
33913
33914 * include/grub/fs.h (grub_xfs_init): New prototype.
33915 (grub_xfs_fini): Likewise.
33916
f19dbdb7 33917
83d37a62 339182005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33919
33920 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33921 color modes, allow greater than 16 colors to be configured as
33922 a default palette.
33923
47d2d65e 339242005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33925
33926 * normal/completion.c (complete_arguments): Add the qualifier
33927 const into OPTIONS.
33928
33929 From Omniflux <omniflux+lists@omniflux.com>:
33930 * include/grub/terminfo.h: New file.
33931 * include/grub/tparm.h: Likewise.
33932 * include/grub/i386/pc/serial.h: Likewise.
33933 * term/terminfo.c: Likewise.
33934 * term/tparm.c: Likewise.
33935 * term/i386/pc/serial.c: Likewise.
33936 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33937 serial.mod.
33938 (terminfo_mod_SOURCES): New variable.
33939 (terminfo_mod_CFLAGS): Likewise.
33940 (serial_mod_SOURCES): Likewise.
33941 (serial_mod_CFLAGS): Likewise.
33942
48b671ff 339432005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33944
33945 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33946 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33947 and kern/powerpc/ieee1275/cmain.c, respectively.
33948
33949 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33950 * kern/powerpc/ieee1275/crt0.S: ... here.
33951
33952 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33953 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 33954
48b671ff 33955 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33956 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33957 instead of boot/powerpc/ieee1275/crt0.S and
33958 boot/powerpc/ieee1275/cmain.c, respectively.
33959
33960 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33961 sectors. It was not used anyway.
33962
09fc77a7 339632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33964
33965 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33966 `unused parameter' warning.
33967
003789c7 339682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33969
33970 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33971 function.
33972 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33973 getcharwidth.
33974
67f44c86 339752005-08-28 Marco Gerards <metgerards@student.han.nl>
33976
33977 * include/grub/normal.h (enum grub_completion_type): Added
33978 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33979
33980 * normal/cmdline.c (print_completion): Handle
33981 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33982 * normal/menu_entry.c (store_completion): Likewise.
33983
33984 * normal/completion.c (complete_arguments): New function.
33985 (grub_normal_do_completion): Call `complete_arguments' when the
33986 current words start with a dash.
33987
0b5abe02 339882005-08-27 Marco Gerards <metgerards@student.han.nl>
33989
33990 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33991 `gzio.mod' instead of `io.mod').
33992
d9864ee1 339932005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33994
33995 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33996 (DISTDIRS): Added io and video.
33997 Rewrite the search routine to make an output consistently.
33998
33999 * DISTLIST: Added conf/sparc64-ieee1275.mk,
34000 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
34001 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
34002 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
34003 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
34004 util/powerpc/ieee1275/misc.c.
f19dbdb7 34005
d9864ee1 34006 * include/grub/gzio.h: New file.
34007 * io/gzio.c: Likewise.
f19dbdb7 34008
d9864ee1 34009 * kern/file.c (grub_file_close): Call grub_device_close only if
34010 FILE->DEVICE is not NULL.
34011
34012 * include/grub/mm.h [!NULL] (NULL): New macro.
34013
34014 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
34015
34016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
34017 (pkgdata_MODULES): Added gzio.mod.
34018 (gzio_mod_SOURCES): New variable.
34019 (gzio_mod_CFLAGS): Likewise.
34020
34021 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
34022 (pkgdata_MODULES): Added gzio.mod.
34023 (gzio_mod_SOURCES): New variable.
34024 (gzio_mod_CFLAGS): Likewise.
34025
34026 * commands/cat.c: Include grub/gzio.h.
34027 (grub_cmd_cat): Use grub_gzfile_open instead of
34028 grub_file_open.
f19dbdb7 34029
d9864ee1 34030 * commands/cmp.c: Include grub/gzio.h.
34031 (grub_cmd_cmp): Use grub_gzfile_open instead of
34032 grub_file_open.
34033
34034 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
34035 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
34036 grub_file_open.
34037 (grub_rescue_cmd_module): Likewise.
34038
fa46f4b5 340392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34040
34041 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34042 kern/sparc64/ieee1275/init.c because it contains _start.
34043 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34044
e9211b5d 340452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34046
34047 * configure.ac: Add support for sparc64 host with ieee1275
34048 firmware.
34049 * configure: Generated from configure.ac.
34050 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34051 instead of int.
34052 (grub_ofdisk_read): Likewise.
34053 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34054 pointers as (void *) to remove a warning.
34055 (grub_ofdisk_close): Likewise.
34056 (grub_ofdisk_read): Likewise.
34057 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34058 returns, so make it return void to remove a warning.
34059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34060 Corresponding prototype change.
34061 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34062 values, and cast the pointers as (void *) to remove a warning.
34063 (grub_mm_dump): Likewise.
34064 * conf/sparc64-ieee1275.mk: New file.
34065 * conf/sparc64-ieee1275.rmk: Likewise.
34066 * include/grub/sparc64/setjmp.h: Likewise.
34067 * include/grub/sparc64/types.h: Likewise.
34068 * include/grub/sparc64/ieee1275/console.h: Likewise.
34069 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34070 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34071 * include/grub/sparc64/ieee1275/time.h: Likewise.
34072 * kern/sparc64/cache.c: Likewise.
34073 * kern/sparc64/dl.c: Likewise.
34074 * kern/sparc64/ieee1275/init.c: Likewise.
34075 * kern/sparc64/ieee1275/openfw.c: Likewise.
34076
385c6a92 340772005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34078
34079 * util/console.c (grub_ncurses_putchar): If C is greater than
34080 0x7f, set C to a question mark.
34081 (grub_ncurses_getcharwidth): New function.
34082 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34083 getcharwidth.
34084
34085 * normal/menu.c (print_entry): Made aware of Unicode. First,
34086 convert TITLE to UCS-4, and predict the cursor position by
34087 grub_getcharwidth.
34088
34089 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34090 const to SRC.
34091 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34092
16ccb8b1 340932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34094
34095 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34096 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34097 grub_strcat.
34098
34099 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34100 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34101 grub_strcpy and grub_strlen. Take it into account that a space
34102 character is inserted as a delimiter.
34103
6a85ce79 341042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34105
34106 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 34107 invalid magic in the error.
6a85ce79 34108
34109 * commands/search.c: New file.
f19dbdb7 34110
6a85ce79 34111 * util/grub-emu.c (main): Call grub_search_init and
34112 grub_search_fini.
34113
34114 * kern/rescue.c (grub_rescue_print_disks): Removed.
34115 (grub_rescue_print_devices): New function.
34116 (grub_rescue_cmd_ls): Use grub_device_iterate with
34117 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34118 grub_rescue_print_disks.
34119
34120 * kern/partition.c (grub_partition_iterate): Return the result of
34121 PARTMAP->ITERATE instead of GRUB_ERRNO.
34122
34123 * kern/device.c: Include grub/partition.h.
34124 (grub_device_iterate): New function.
34125
34126 * include/grub/partition.h (grub_partition_iterate): Return int
34127 instead of grub_err_t.
34128
34129 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34130 prototype.
34131 [GRUB_UTIL] (grub_search_fini): Likewise.
34132
34133 * include/grub/device.h (grub_device_iterate): New prototype.
34134
34135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34136 commands/search.c.
34137 (pkgdata_MODULES): Added search.mod.
34138 (search_mod_SOURCES): New variable.
34139 (search_mod_CFLAGS): Likewise.
34140
34141 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34142 (pkgdata_MODULES): Added search.mod.
34143 (search_mod_SOURCES): New variable.
34144 (search_mod_CFLAGS): Likewise.
34145
34146 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34147 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34148 All callers changed.
34149
34150 * DISTLIST: Added commands/search.c.
34151
ef095434 341522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34153
34154 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34155 conversion.
34156 (grub_getcharwidth): New function.
34157
34158 * kern/misc.c (grub_utf8_to_ucs4): New function.
34159
34160 * include/grub/term.h (struct grub_term): Added a new member
34161 "getcharwidth".
34162 (grub_getcharwidth): New prototype.
34163
34164 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34165
34166 * term/i386/pc/console.c (map_char): New function. Segregated from
34167 grub_console_putchar.
34168 (grub_console_putchar): Use map_char.
34169 (grub_console_getcharwidth): New function.
34170 (grub_console_term): Specified grub_console_getcharwidth as
34171 getcharwidth.
34172
34173 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34174 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34175
34176 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34177 GRUB_ERRNO.
34178 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34179 on grub_strtoul completely.
34180 (write_char): Declare local variables in the beginning of the
34181 function.
34182 (grub_vesafb_getcharwidth): New function.
34183 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34184 getcharwidth.
34185
1f0a95e4 341862005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34187
34188 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34189 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34190 commands/i386/pc/vbetest.c.
34191
34192 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34193 call grub_vbe_get_controller_info again, because the returned
34194 information is volatile.
34195 (grub_vbe_set_video_mode): Mostly rewritten.
34196 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34197 grub_vbe_status_t correctly.
34198 (grub_vbe_get_video_mode_info): Likewise.
34199 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34200 several if statements.
34201
34202 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34203 * commands/i386/pc/vbeinfo.c: ... this.
34204
34205 * commands/i386/pc/vbe_test.c: Renamed to ...
34206 * commands/i386/pc/vbetest.c: ... this.
34207
34208 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34209 ...
34210 (grub_cmd_vbeinfo): ... this. Save video modes before
34211 iterating. Skip a video mode, if it is not available, not enough
34212 information is given or it is monochrome. Show the memory
34213 model. Leave the interpretation of MODEVAR to grub_strtoul
34214 completely.
34215 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34216 (GRUB_MOD_FINI): Likewise.
34217
34218 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34219 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34220 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34221 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34222 grub_strtoul completely.
34223 (real2pm): Removed.
34224 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34225 (GRUB_MOD_FINI): Likewise.
34226
34227 * normal/misc.c: Include grub/mm.h.
34228
34229 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34230 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34231 (vbe_list_modes_mod_SOURCES): Removed.
34232 (vbe_list_modes_mod_CFLAGS): Likewise.
34233 (vbe_test_mod_SOURCES): Likewise.
34234 (vbe_test_mod_CFLAGS): Likewise.
34235 (vbeinfo_mod_SOURCES): New variable.
34236 (vbeinfo_mod_CFLAGS): Likewise.
34237 (vbetest_mod_SOURCES): Likewise.
34238 (vbetest_mod_CFLAGS): Likewise.
34239
992ffbbe 342402005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34241
34242 * normal/misc.c: New file.
34243
34244 * DISTLIST: Added normal/misc.c.
f19dbdb7 34245
992ffbbe 34246 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34247 DISK to HOOK. Call HOOK with DISK.
34248 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34249 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34250 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34251
34252 * normal/menu_entry.c (struct screen): Added a new member
34253 "completion_shown".
34254 (completion_buffer): New global variable.
34255 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34256 (store_completion): New function.
34257 (complete): Likewise.
34258 (clear_completions): Likewise.
34259 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34260 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34261 a tab, call complete.
34262
34263 * normal/completion.c (disk_dev): Removed.
34264 (print_simple_completion): Likewise.
34265 (print_partition_completion): Likewise.
34266 (print_func): New global variable.
34267 (add_completion): Do not take the arguments WHAT or PRINT any
34268 longer. Added a new argument TYPE. Instead of printing directly,
34269 call PRINT_FUNC if not NULL.
34270 All callers changed.
34271 (complete_device): Use a local variable DEV instead of
34272 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34273 (grub_normal_do_completion): Take a new argument HOOK. Do not
34274 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34275 empty string, return NULL instead.
34276 All callers changed.
34277
34278 * normal/cmdline.c (print_completion): New function.
34279
34280 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34281 to HOOK.
34282 All callers changed.
34283
34284 * kern/disk.c (grub_print_partinfo): Removed.
34285
34286 * include/grub/partition.h (struct grub_partition_map): Add a new
34287 argument DISK into HOOK of ITERATE.
34288 (grub_partition_iterate): Add a new argument DISK to HOOK.
34289
34290 * include/grub/normal.h (enum grub_completion_type): New enum.
34291 (grub_completion_type_t): New type.
34292 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34293 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34294 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34295 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34296 (grub_normal_do_completion): Added a new argument HOOK.
34297 (grub_normal_print_device_info): New prototype.
34298
34299 * include/grub/disk.h (grub_print_partinfo): Removed.
34300
34301 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34302 (normal_mod_SOURCES): Likewise.
34303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34304 (normal_mod_SOURCES): Likewise.
34305
34306 * commands/ls.c (grub_ls_list_disks): Use
34307 grub_normal_print_device_info instead of grub_print_partinfo. Free
34308 PNAME.
34309 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34310 duplicating the code.
34311
0bd41162 343122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34313
34314 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 34315 follow GCS more precisely.
34316 * commands/i386/pc/vbe_test.c: Likewise.
34317 * include/grub/i386/pc/vbe.h: Likewise.
34318 * term/i386/pc/vesafb.c: Likewise.
34319 * video/i386/pc/vbe.c: Likewise.
0bd41162 34320
6323696a 343212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34322
34323 * DISTLIST: Added term/i386/pc/vesafb.c
34324 DISTLIST: Added video/i386/pc/vbe.c
34325 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34326 DISTLIST: Added commands/i386/pc/vbe_test.c.
34327 * commands/i386/pc/vbe_list_modes.c: New file.
34328 * commands/i386/pc/vbe_test.c: Likewise.
34329 * term/i386/pc/vesafb.c: Likewise.
34330 * video/i386/pc/vbe.c: Likewise.
34331 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34332 (grub_vbe_probe) Added prototype.
34333 (grub_vbe_set_video_mode) Likewise.
34334 (grub_vbe_get_video_mode) Likewise.
34335 (grub_vbe_get_video_mode_info) Likewise.
34336 (grub_vbe_set_pixel_rgb) Likewise.
34337 (grub_vbe_set_pixel_index) Likewise.
34338 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34339 (pkgdata_MODULES): Added vesafb.mod.
34340 (pkgdata_MODULES): Added vbe_list_modes.mod.
34341 (pkgdata_MODULES): Added vbe_test.mod.
34342 (vbe_mod_SOURCES): Added.
34343 (vbe_mod_CFLAGS): Likewise.
34344 (vesafb_mod_SOURCES): Likewise.
34345 (vesafb_mod_CFLAGS): Likewise.
34346 (vbe_list_modes_mod_SOURCES): Likewise.
34347 (vbe_list_modes_mod_CFLAGS): Likewise.
34348 (vbe_test_mod_SOURCES): Likewise.
34349 (vbe_test_mod_CFLAGS): Likewise.
34350
0a74e62f 343512005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34352
0a74e62f 34353 * normal/command.c (grub_command_execute): If INTERACTIVE is
34354 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34355 CMDLINE. Disable the pager if INTERACTIVE is true.
34356 All callers are changed.
34357
34358 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34359 before reading a config file.
34360 * normal/main.c (read_config_file): Even if a command is not
34361 found, register it if it is within an entry.
34362
34363 * util/grub-emu.c: Include sys/types.h and unistd.h.
34364 (options): Added --hold.
34365 (struct arguments): Added a new member "hold".
34366 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34367 missing.
34368 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34369 cleared by a debugger, if it is not zero.
34370
34371 * include/grub/normal.h (grub_command_execute): Add an argument
34372 INTERACTIVE.
34373
e51f85ae 343742005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34375
34376 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34377
e9c6f39b 343782005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34379
34380 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34381 program with another one, because the old one didn't detect a bug
34382 in gcc-3.4. Always use regparm 2, because the new test is still
34383 not enough for gcc-4.0. Someone must investigate a simple test
34384 case which detects a bug in gcc-4.0.
34385
8de3495c 343862005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34387
34388 * DISTLIST: Added normal/completion.c.
34389
34390 * normal/completion.c: New file.
f19dbdb7 34391
8de3495c 34392 * term/i386/pc/console.c (grub_console_getwh): New function.
34393 (grub_console_term): Assign grub_console_getwh to getwh.
34394
34395 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34396 function is defined in normal/completion.c as
34397 grub_normal_do_completion.
34398 (grub_cmdline_get): Use grub_normal_do_completion instead of
34399 grub_tab_complete.
34400
34401 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34402 returns non-zero, otherwise return 0.
34403 (grub_partition_iterate): First, probe the partition map. Then,
34404 call ITERATE only for this partition map.
34405
34406 * kern/misc.c (grub_strncmp): Rewritten.
34407
34408 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34409 returns non-zero. Otherwise return 0.
34410
34411 * include/grub/partition.h (grub_partition_map_iterate): Return
34412 int instead of void.
34413
34414 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34415
34416 * include/grub/misc.h (grub_strncmp): Change the type of N to
34417 grub_size_t.
34418
34419 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34420 of void.
34421
34422 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 34423 unsigned explicitly before comparing it with I.
8de3495c 34424
34425 * kern/main.c (grub_env_write_root): Add the attribute unused into
34426 VAR.
34427
34428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34429 normal/completion.c.
34430 (normal_mod_SOURCES): Likewise.
34431 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34432 (normal_mod_SOURCES): Likewise.
34433
34434 * normal/command.c (grub_iterate_commands): If ITERATE returns
34435 non-zero, return one immediately.
34436
e85e144b 344372005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34438
34439 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34440 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34441 descriptions.
34442 (grub_vbe_get_controller_info): New function.
34443 (grub_vbe_get_mode_info): Likewise.
34444 (grub_vbe_set_mode): Likewise.
34445 (grub_vbe_get_mode): Likewise.
34446 (grub_vbe_set_memory_window): Likewise.
34447 (grub_vbe_get_memory_window): Likewise.
34448 (grub_vbe_set_scanline_length): Likewise.
34449 (grub_vbe_get_scanline_length): Likewise.
34450 (grub_vbe_set_display_start): Likewise.
34451 (grub_vbe_get_display_start): Likewise.
34452 (grub_vbe_set_palette_data): Likewise.
34453 * include/grub/i386/pc/vbe.h: New file.
34454
c46153d2 344552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34456
34457 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34458 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34459 * DISTLIST: Likewise.
34460 * kern/ieee1275/of.c: Moved to ...
34461 * kern/ieee1275/ieee1275.c: ... here.
34462
0cb90c45 344632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34464
34465 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34466 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34467 Pass 0 as `end' parameter to grub_strtoul().
34468
a19fb360 344692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34470
34471 * include/grub/powerpc/ieee1275/console.h: Do not include
34472 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34473 ifdef.
34474 (grub_console_cur_color): Remove i386-specific prototype.
34475 (grub_console_real_putchar): Likewise.
34476 (grub_console_checkkey): Likewise.
34477 (grub_console_getkey): Likewise.
34478 (grub_console_getxy): Likewise.
34479 (grub_console_gotoxy): Likewise.
34480 (grub_console_cls): Likewise.
34481 (grub_console_setcursor): Likewise.
34482 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34483 Include <grub/machine/console.h>.
34484 * term/ieee1275/ofconsole.c: Likewise.
34485
4ac9bd04 344862005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34487
34488 * Makefile.in (LIBLZO): New variable.
34489
34490 * configure.ac: Check for LZO version 2.
34491
34492 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34493 lzo/lzo1x.h instead of lzo1x.h.
34494
34495 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34496 of -llzo.
34497
34498 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34499 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34500
34501 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34502 copying the data from PARTITION to P.
34503
f4917dfd 345042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34505
34506 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34507 negative, unload the module.
34508
34509 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34510 map is "pc_partition_map" but not "pc".
34511 (usage): Fix the description. The options are --boot-image and
34512 --core-image but not --boot-file or --core-file.
34513 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34514 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34515 DEFAULT_DIRECTORY.
34516
34517 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34518 --core-file. Specify INSTALL_DEVICE as an argument.
34519
34520 * util/console.c: Include config.h.
34521 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34522 [HAVE_NCURSES_H]: Include ncurses.h.
34523 [HAVE_CURSES_H]: Include curses.h.
34524 [!A_NORMAL] (A_NORMAL): Defined as zero.
34525 [!A_STANDOUT] (A_STANDOUT): Likewise.
34526
34527 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34528 -lncurses.
34529 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34530
34531 * configure.ac: Check for curses libraries and headers.
34532
34533 * Makefile.in (LIBCURSES): New variable.
34534
34535 * genmk.rb (Script::rule): Set the executable bits.
34536
34537 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34538 name of the PC partition map is "pc_partition_map" but not "pc".
34539
0e143073 345402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34541
34542 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34543 (modules): Likewise.
34544 (usage): Added descriptions for --modules and --grub-probefs.
34545 Handle --modules and --grub-probefs. Save the arguments in MODULES
34546 and GRUB_PROBEFS, respectively.
34547 Auto-detect a filesystem module against GRUBDIR. If the result is
34548 empty and modules are not specified explicitly, abort the
34549 installation. Add the result to MODULES.
34550
34551 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34552 disk/powerpc/ieee1275/ofdisk.c,
34553 include/grub/powerpc/ieee1275/init.h and
34554 term/powerpc/ieee1275/ofconsole.c.
34555 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34556 term/ieee1275/ofconsole.c.
34557
34558 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34559
34560 * COPYING: Upgraded to the latest version. Only the address of the
34561 FSF office has changed.
f19dbdb7 34562
efd6e6d5 345632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34564
34565 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34566 kern/ieee1275.c with kern/ieee1275/of.c.
34567
34568 * kern/ieee1275.c: Moved to ...
34569 * kern/ieee1275/of.c: ... here.
34570
8ceafda2 345712005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34572
34573 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 34574 readability.
8ceafda2 34575
34576 * config.guess: Updated to the latest version from gnulib.
34577 * config.sub: Likewise.
34578 * install.sh: Likewise.
34579 * mkinstalldirs: Likewise.
34580
34581 * include/grub/console.h: Removed. This file is arch-specific. Do
34582 not put this in include/grub.
34583
34584 * include/grub/i386/pc/console.h: Resurrected.
34585
34586 * util/console.c: Include grub/machine/console.h instead of
34587 grub/console.h.
34588 * util/grub-emu.c: Likewise.
34589
267f6cd9 345902005-08-04 Marco Gerards <metgerards@student.han.nl>
34591
34592 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34593 hardcoded value.
f19dbdb7 34594
267f6cd9 34595 From Vincent Pelletier <subdino2004@yahoo.fr>
34596 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34597 Redefined to use grub_getwh.
34598 (grub_term): New member named getwh.
34599 (grub_getwh): New prototype.
34600 * kern/term.c (grub_getwh): New function.
34601 * term/i386/pc/console.c (grub_console_getwh): New function.
34602 (grub_console_term): New member `getwh'.
34603 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34604 (grub_vga_term): New member `getwh'.
0b5abe02 34605 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 34606 grub_ssize_t.
34607 (grub_ofconsole_getw): New function.
34608 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34609 (grub_ofconsole_term): New field named getwh and new initial
34610 value.
34611
3be7266d 346122005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34613
34614 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34615 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34616 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34617 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34618 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34619 of <grub/machine/ieee1275.h>.
34620 * commands/ieee1275/reboot.c: Likewise.
34621 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34622 * kern/ieee1275.c: ... to here. All users updated. Change all
34623 parameter structs to use new type `grub_ieee1275_cell_t'.
34624 * term/powerpc/ieee1275/ofconsole.c: Move ...
34625 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34626 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34627 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34628 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34629 to return int.
34630 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34631 Remove unused prototypes. All users updated.
34632 * include/grub/powerpc/ieee1275/console.h: Removed.
34633 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34634 `grub_ieee1275_cell_t'.
34635 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34636 Cast comparisons with -1 to the correct type.
34637 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34638 type to match `grub_ieee1275_entry_fn'.
34639
8b5f3938 346402005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34641
34642 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34643
34644 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34645 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34646 partmap/sun.c.
34647 (grub_probefs_SOURCES): New variable.
34648
34649 * util/i386/pc/grub-probefs.c: New file.
34650
34651 * util/i386/pc/grub-setup.c (main): Call
34652 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34653 grub_hfs_init and grub_jfs_init to initialize the system. Call
34654 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34655 grub_pc_partition_map_fini to finish the system.
34656
ea409713 346572005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34658
34659 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34660 function.
34661 (grub_multiboot_load_elf32): Likewise.
34662 (grub_multiboot_is_elf64): Likewise.
34663 (grub_multiboot_load_elf64): Likewise.
34664 (grub_multiboot_load_elf): Likewise.
34665 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34666 an ELF32 or ELF64 file.
34667 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34668
34669 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34670 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34671 NULL before calling FS->LABEL.
34672 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34673 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34674 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34675 before calling FS->LABEL.
34676
141a288b 346772005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34678
34679 * util/i386/pc/grub-install.in (datadir): New variable.
34680 (libdir): Removed.
34681 (pkgdatadir): New variable.
34682 (pkglibdir): Removed.
34683
0d5f8a54 346842005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34685
34686 * DISTLIST: Added util/i386/pc/grub-install.in.
34687
34688 * util/i386/pc/grub-install.in: New file.
34689
34690 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34691 (grub_install_SOURCES): Likewise.
34692
34693 * genmk.rb: Added support for scripts.
34694 (Script): New class.
34695 (scripts): New variable.
34696
34697 * Makefile.in (install-local): Install sbin_SCRIPTS by
34698 INSTALL_SCRIPT.
34699 (uninstall): Remove sbin_SCRIPTS.
34700
34701 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34702 device, try to get a GRUB device by
34703 grub_util_biosdisk_get_grub_dev.
34704 Free DEST_DEV.
34705
34706 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34707 description for --device-map.
34708
5f968e1e 347092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34710
34711 Change the semantics of variable hooks. They now return strings
34712 instead of error values.
f19dbdb7 34713
5f968e1e 34714 * util/i386/pc/grub-setup.c: Include grub/env.h.
34715 (setup): Use grub_device_set_root instead of grub_env_set.
34716
34717 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34718 grub_env_get instead of grub_device_set_root and
34719 grub_device_get_root, respectively.
34720
34721 * kern/main.c (grub_env_write_root): New function.
34722 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34723 grub_env_set instead of grub_device_set_root.
34724
34725 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34726 many variables.
34727 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34728 rather than calling ENV->WRITE_HOOK afterwards.
34729 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34730 passing a pointer of a pointer.
34731 (grub_register_variable_hook): Change the types of "read_hook" and
34732 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34733 respectively.
34734 Allocate the default empty string on the heap, because this string
34735 may be freed later.
34736
34737 * kern/device.c: Include grub/env.h.
34738 (grub_device_set_root): Removed.
34739 (grub_device_get_root): Likewise.
34740 (grub_device_open): Use grub_env_get instead of
34741 grub_device_get_root.
34742
34743 * include/grub/env.h (grub_env_read_hook_t): New type.
34744 (grub_env_write_hook_t): Likewise.
34745 (grub_env_var): Change the types of "read_hook" and "write_hook"
34746 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34747 (grub_register_variable_hook): Likewise.
34748
34749 * include/grub/device.h (grub_device_set_root): Removed.
34750 (grub_device_set_root): Likewise.
34751
34752 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34753 make sure that DIRNAME terminates with '/', so that
34754 grub_fat_find_dir will fail if PATH is not a directory.
34755
34756 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34757 from DIRNAME.
34758 Use the qualifier auto for print_files and print_files_long.
34759 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34760 as a regular file.
34761 Put a newline only if there is no error.
34762 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34763 used.
34764
896f0afd 347652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34766
34767 * kern/partition.c (grub_partition_probe): Initialize PART to
34768 NULL. Otherwise, when no partition map is registered, this returns
34769 a garbage.
34770
b28b81b2 347712005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34772
34773 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34774 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34775 valid.
34776
5f3607e0 347772005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34778
34779 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34780 information on each device, if it does not have partitions. Print
34781 "Device" instead of "Disk", because this function is not specific
34782 to disk devices.
34783
34784 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34785 static to ensure that it is put on the memory rather than a
34786 register.
34787
502c87e8 347882005-07-17 Yoshinori Okuji <okuji@enbug.org>
34789
34790 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34791 (grub_cat_init): Likewise.
34792 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34793 (options): Likewise.
34794 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34795 (grub_configfile_init): Likewise.
34796 * font/manager.c (GRUB_MOD_INIT): Likewise.
34797 * commands/help.c (GRUB_MOD_INIT): Likewise.
34798 (grub_help_init): Likewise.
34799 * normal/command.c (grub_command_init): Likewise.
34800 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34801 * disk/loopback.c (grub_loop_init): Likewise.
34802 (GRUB_MOD_INIT): Likewise.
34803 * commands/ls.c (grub_ls_init): Likewise.
34804 (GRUB_MOD_INIT): Likewise.
34805 (options): Likewise.
34806 * commands/boot.c (grub_boot_init): Likewise.
34807 (GRUB_MOD_INIT): Likewise.
34808 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34809 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34810 (GRUB_MOD_INIT): Likewise.
34811 * commands/cmp.c (grub_cmp_init): Likewise.
34812 (GRUB_MOD_INIT): Likewise.
34813
34814 * normal/arg.c: Use <> instead of "" to include header files.
34815 (SHORT_ARG_HELP): New macro.
34816 (SHORT_ARG_USAGE): Likewise.
34817 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34818 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34819 descriptions.
34820 (find_short): Check if C is 'h' or 'u' explicitly.
34821 (grub_arg_show_help): Use space characters instead of tabs. Treat
34822 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34823 are shown with --help and --usage only if they are not used for
34824 the command itself.
34825 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34826 'h' and 'u'.
34827
34828 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34829 const into "longarg". Change the type of "shortarg" to int.
34830
f806d18e 348312005-07-17 Yoshinori Okuji <okuji@enbug.org>
34832
34833 * boot/i386/pc/boot.S (boot_drive_check): New label.
34834
34835 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34836 macro.
34837
34838 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34839 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34840
e293232b 348412005-07-17 Yoshinori Okuji <okuji@enbug.org>
34842
34843 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34844 When turning off Gate A20, skip the check and return immediately,
34845 because this is not fatal usually.
34846
ebedfd00 348472005-07-17 Yoshinori Okuji <okuji@enbug.org>
34848
34849 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34850 be 0x7C00 instead of 0x8000.
34851
34852 * boot/i386/pc/pxeboot.S: Rewritten.
34853
34854 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34855 EXT_C.
34856 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34857 result.
34858
654fc59f 348592005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34860
34861 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34862 robustness. This routine now supports a BIOS call and System
34863 Control Port A to modify the gate A20.
34864
34865 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34866 Increased to 0x440.
34867
09f9923f 348682005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34869
34870 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34871 device path and resulting ihandle.
34872 (grub_ofdisk_close): dprintf the ihandle being closed.
34873 (grub_ofdisk_read): dprintf function parameters.
34874 * kern/mm.c (grub_mm_init_region): Likewise.
34875 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34876 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34877 size, and boot arguments.
34878 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34879 before loading into memory.
34880 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34881 before loading into memory.
34882
7ef504d8 348832005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34884
34885 * kern/mm.c: Added much documentation.
34886 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34887 8, set to 5 instead of 8.
34888
e0f050c2 348892005-07-10 Yoshinori Okuji <okuji@enbug.org>
34890
34891 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34892
34893 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34894 (grub_mkdevicemap_SOURCES): New variable.
34895
34896 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34897 lib/device.c of GRUB Legacy.
34898
7224189a 348992005-07-10 Yoshinori Okuji <okuji@enbug.org>
34900
34901 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34902 instead of PATH is NULL.
34903
68c864eb 349042005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34905
34906 * commands/cmp.c (BUFFER_SIZE): New macro.
34907 (grub_cmd_cmp): Close the right file at the right time. Compare
34908 only data just read. Don't report files of different size as
34909 identical. Dynamically allocate buffers. Move variable
34910 declarations at the beginning of function.
34911
e6f3e614 349122005-07-09 Yoshinori Okuji <okuji@enbug.org>
34913
34914 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34915 reverse.
34916
f8f1559a 349172004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34918
34919 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34920 when backspace is pressed at beginning of line.
34921
39c9d41d 349222005-07-03 Yoshinori Okuji <okuji@enbug.org>
34923
34924 * DISTLIST: Added genfslist.sh.
34925
34926 * normal/main.c (fs_module_list): New variable.
34927 (autoload_fs_module): New function.
34928 (read_fs_list): Likewise.
34929 (grub_normal_execute): Call read_fs_list.
34930
34931 * kern/fs.c (grub_fs_autoload_hook): New variable.
34932 (grub_fs_probe): Added support for auto-loading.
34933
34934 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34935 (grub_fs_module_list_t): New type.
34936
34937 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34938 (grub_fs_autoload_hook): New prototype.
34939
34940 * genfslist.sh: New file.
f19dbdb7 34941
39c9d41d 34942 * genmk.rb: Added a rule to generate a filesystem list.
34943
121c1d83 349442005-06-30 Marco Gerards <metgerards@student.han.nl>
34945
34946 * configure.ac: Fix the test for cross-compiling.
34947
34948 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34949 define GRUB_UTIL anymore.
34950
34951 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34952 so this function works on other systems than just big endian.
34953 (load_modules): Likewise.
34954 (add_segments): Likewise.
34955
e75d76e1 349562005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34957
34958 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34959 contains `l' modifier, get a long from va_arg().
34960
50b5a0a7 349612005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34962
34963 * kern/mm.c (grub_free): If the next free block which is being
34964 merged is the first free block, set the first block to the block
34965 being freed.
34966 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34967
89371b20 349682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34969
34970 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34971 `grub_ieee1275_chosen'.
34972
168d6e58 349732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34974
34975 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34976 (grub_ieee1275_chosen): New variable.
34977 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34978 `chosen'.
34979 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34981 Rename first argument to `phandle' for consistency.
34982 (grub_ieee1275_get_property_length): Likewise.
34983 (grub_ieee1275_next_property): Likewise. Change type of first argument
34984 to grub_ieee1275_phandle_t.
34985 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34986 Move export next to declaration.
34987 (grub_ieee1275_chosen): New variable.
34988 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34989 Correct cosmetic typo.
34990 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34991 `grub_ieee1275_chosen'.
34992 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34993 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34994 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34995 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34996 `grub_ieee1275_chosen'.
34997
ca5baa3f 349982005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34999
35000 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
35001 /chosen/bootargs.
35002 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
35003 /chosen/bootargs as "variable=value" pairs.
35004
708b345f 350052005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
35006
35007 * include/grub/misc.h (grub_dprintf): New macro.
35008 (grub_real_dprintf): New prototype.
35009 (grub_strword): Likewise.
35010 (grub_iswordseparator): Likewise.
35011 * kern/misc.c (grub_real_dprintf): New function.
35012 (grub_strword): Likewise.
35013 (grub_iswordseparator): Likewise.
35014
f4c5e67c 350152005-04-30 Hollis Blanchard <hollis@penguinppc.org>
35016
35017 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
35018 (roundup): Remove macro.
35019 (grub_ieee1275_flags): Make static.
35020 (grub_ieee1275_realmode): Remove.
35021 (grub_ieee1275_test_flag): New function.
35022 (grub_ieee1275_set_flag): Likewise.
35023 (find_options): Rename to `grub_ieee1275_find_options'; update
35024 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
35025 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
35026 (cmain): New prototype.
35027 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
35028 `grub_ieee1275_flags' directly.
35029 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
35030 machine/biosdisk.h.
35031 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
35032 Don't include grub/machine/init.h.
35033 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
35034 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35035 Remove prototype.
35036 (grub_ieee1275_realmode): Likewise.
35037 (grub_ieee1275_flag): New enum.
35038 (grub_ieee1275_test_flag): New prototype.
35039 (grub_ieee1275_set_flag): New prototype.
35040 * include/grub/powerpc/ieee1275/init.h: Remove file.
35041 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35042 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35043 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35044 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35045 comment.
35046 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35047 `grub_ieee1275_test_flag'.
35048 (grub_ieee1275_encode_devname): Likewise.
35049
ed16607e 350502005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35051
35052 * include/grub/powerpc/ieee1275/ieee1275.h
35053 (grub_ieee1275_encode_devname): New prototype.
35054 (grub_ieee1275_get_filename): Likewise.
35055 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35056 function.
35057 (grub_set_prefix): Likewise.
35058 (grub_machine_init): Call grub_set_prefix.
35059 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35060 (grub_parse_type): New enum.
35061 (grub_ieee1275_get_devargs): New function.
35062 (grub_ieee1275_get_devname): Likewise.
35063 (grub_ieee1275_parse_args): Likewise.
35064 (grub_ieee1275_get_filename): Likewise.
35065 (grub_ieee1275_encode_devname): Likewise.
35066
be369920 350672005-03-30 Marco Gerards <metgerards@student.han.nl>
35068
35069 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35070 `grub_loader_unset'.
35071
a5ce3a4a 350722005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35073
35074 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35075 instead of grub_ieee1275_interpret.
35076 (grub_halt_init): New function.
35077 (grub_halt_fini): Likewise.
35078 (GRUB_MOD_INIT): Correct message grammar.
35079 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35080 instead of grub_ieee1275_interpret.
35081 (grub_reboot_init): New function.
35082 (grub_reboot_fini): Likewise.
35083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35084 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35085 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35086 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35087 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35088 function.
35089 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35090 Add prototype.
35091 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35092 prototype.
35093 (grub_halt): Likewise.
35094 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35095 (cmain): Remove __attribute__((unused)).
35096 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35097 (grub_heap_len): Likewise.
35098 (grub_machine_fini): New function.
35099 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35100 (grub_halt): Likewise.
35101 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35102 function.
35103 * util/powerpc/ieee1275/misc.c: New file.
35104
0058f771 351052005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35106
35107 * DISTLIST: New file.
35108 * gendistlist.sh: Likewise.
f19dbdb7 35109
0058f771 35110 * Makefile.in (COMMON_DISTFILES): Removed.
35111 (BOOT_DISTFILES): Likewise.
35112 (CONF_DISTFILES): Likewise.
35113 (DISK_DISTFILES): Likewise.
35114 (FS_DISTFILES): Likewise.
35115 (INCLUDE_DISTFILES): Likewise.
35116 (KERN_DISTFILES): Likewise.
35117 (LOADER_DISTFILES): Likewise.
35118 (TERM_DISTFILES): Likewise.
35119 (UTIL_DISTFILES): Likewise.
35120 (DISTFILES): Likewise.
35121 (uninstall): Uninstall files in $(pkgdata_DATA).
35122 (DISTLIST): New target.
35123 (distdir): Use the contents of the file DISTLIST to get a list of
35124 distributed files.
35125
46b3b8a5 351262005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35127
35128 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35129 descriptor. This is ported from GRUB Legacy.
35130
35131 * gencmdlist.sh: Added an extra semicolon to make it work with
35132 old sed versions. Reported by Robert Bihlmeyer
35133 <robbe@orcus.priv.at>.
35134
5822ff87 351352005-03-08 Yoshinori Okuji <okuji@enbug.org>
35136
35137 Automatic loading of commands is supported.
f19dbdb7 35138
5822ff87 35139 * normal/main.c (read_command_list): New function.
35140 (grub_normal_execute): Call read_command_list.
35141
35142 * normal/command.c (grub_register_command): Return zero or CMD.
35143 Allocate CMD->NAME from the heap.
35144 Initialize CMD->MODULE_NAME to zero.
35145 Find the same name as well. If the same command is found and it is
35146 a dummy command, overwrite members. If it is not a dummy command,
35147 return zero.
35148 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35149 (grub_command_find): If a dummy command is found, load a module
35150 and retry to find a command only once.
35151
35152 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35153 make sure that each command is loaded.
35154
35155 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35156 macro.
35157 (struct grub_command): Remove const from the member `name'.
35158 Add a new member `module_name'.
35159 (grub_register_command): Return grub_command_t.
35160
35161 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35162 sure that each command is loaded.
35163
35164 * genmk.rb (PModule::rule): Specify a module name without the
35165 suffix ".mod" to gencmdlist.sh.
35166
7b1f4b57 351672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35168
35169 * gencmdlist.sh: New file.
f19dbdb7 35170
7b1f4b57 35171 * genmk.rb (PModule::rule): Generate a rule for a command list.
35172 Clean command.lst.
35173 Generate command.lst from $(COMMANDFILES).
35174
35175 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35176 (DATA): Added $(pkgdata_DATA).
35177 (install-local): Install files in $(pkgdata_DATA).
35178
062aaf39 351792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35180
35181 * term/i386/pc/vga.c (debug_command): Removed.
35182 (GRUB_MOD_INIT): Do not register the command "debug".
35183
35184 From Hollis Blanchard:
35185 * commands/configfile.c: New file.
35186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35187 commands/configfile.c.
35188 (pkgdata_MODULES): Added configfile.mod.
35189 (configfile_mod_SOURCES): New variable.
35190 (configfile_mod_CFLAGS): Likewise.
35191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35192 commands/configfile.c.
35193 (pkgdata_MODULES): Added configfile.mod.
35194 (configfile_mod_SOURCES): New variable.
35195 (configfile_mod_CFLAGS): Likewise.
35196 * util/grub-emu.c (main): Call grub_configfile_init and
35197 grub_configfile_fini.
35198 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35199 prototype.
35200 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 35201
cee01aa6 352022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35203
35204 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35205 address.
35206
35207 * commands/help.c (grub_cmd_help): Do not print newlines after
35208 the last command in print_command_help.
35209
93f3a1d8 352102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35211
35212 * commands/default.h: New file.
35213 * commands/timeout.h: Likewise.
35214 * normal/context.c: Likewise.
f19dbdb7 35215
93f3a1d8 35216 * util/misc.c: Do not include sys/times.h.
35217 Include sys/time.h and grub/machine/time.h.
35218 (grub_get_rtc): Rewritten with gettimeofday.
35219
35220 * util/grub-emu.c (main): Call grub_default_init and
35221 grub_timeout_init before grub_normal_init, and call
35222 grub_timeout_fini and grub_default_fini after grub_main.
35223
35224 * util/console.c (grub_ncurses_checkkey): Return the read
35225 character or -1.
35226
35227 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35228 timeouts.
35229
35230 * normal/main.c (read_config_file): Push MENU. If this fails,
35231 print an error and wait for a user input.
35232 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35233 If a menu is empty or an error occurs, pop MENU.
35234 (grub_normal_execute): Pop and free MENU after grub_menu_run
35235 returns.
35236
35237 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35238
35239 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35240 include time.h.
35241 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35242 without GRUB_UTIL.
35243 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35244 time.h.
35245 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35246 without GRUB_UTIL.
35247
35248 * include/grub/normal.h (struct grub_menu_list): New struct.
35249 (grub_menu_list_t): New type.
35250 (struct grub_context): New struct.
35251 (grub_context_t): New type.
35252 (grub_register_command): Got rid of EXPORT_FUNC.
35253 (grub_unregister_command): Likewise.
35254 (grub_context_get): New prototype.
35255 (grub_context_get_current_menu): Likewise.
35256 (grub_context_push_menu): Likewise.
35257 (grub_context_pop_menu): Likewise.
35258 [GRUB_UTIL] (grub_default_init): Likewise.
35259 [GRUB_UTIL] (grub_default_fini): Likewise.
35260 [GRUB_UTIL] (grub_timeout_init): Likewise.
35261 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35262
35263 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35264 commands/timeout.c and normal/context.c.
35265 (pkgdata_MODULES): Added default.mod and timeout.mod.
35266 (normal_mod_SOURCES): Added normal/context.c.
35267 (default_mod_SOURCES): New variable.
35268 (default_mod_CFLAGS): Likewise.
35269 (timeout_mod_SOURCES): Likewise.
35270 (timeout_mod_CFLAGS): Likewise.
35271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35272 conf/i386-pc.rmk.
35273 (pkgdata_MODULES): Added default.mod and timeout.mod.
35274 (normal_mod_SOURCES): Added normal/context.c.
35275 (default_mod_SOURCES): New variable.
35276 (default_mod_CFLAGS): Likewise.
35277 (timeout_mod_SOURCES): Likewise.
35278 (timeout_mod_CFLAGS): Likewise.
35279
35280 * Makefile.in (all-local): Added $(MKFILES).
35281
4ed2e1dd 352822005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35283
35284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35285 (grub_emu_SOURCES): Likewise.
35286 (pkgdata_MODULES): Add `sun.mod'.
35287 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35289 `partmap/sun.c'.
35290 (pkgdata_MODULES): Add `sun.mod'.
35291 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35292 * include/grub/partition.h (grub_sun_partition_map_init): New
35293 prototype.
35294 (grub_sun_partition_map_fini): Likewise.
35295 * partmap/sun.c: New file.
35296 * util/grub-emu.c (main): Initialize and de-initialize the sun
35297 partitionmap support.
35298
4d4e372e 352992005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35300
35301 This implements an Emacs-like menu entry editor.
f19dbdb7 35302
4d4e372e 35303 * normal/menu_entry.c: New file.
f19dbdb7 35304
4d4e372e 35305 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35306 characters to ASCII.
35307 (saved_char): New variable.
35308 (grub_ncurses_checkkey): Rewritten completely.
35309 (grub_ncurses_getkey): Likewise.
35310 (grub_ncurses_init): Call raw instead of cbreak.
35311
35312 * normal/menu.c (print_entry): Do not put a space.
35313 (init_page): Renamed to ...
35314 (grub_menu_init_page): ... this. All callers changed.
35315 (edit_menu_entry): Removed.
35316 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35317
35318 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35319
35320 * kern/misc.c (grub_vprintf): Call grub_refresh.
35321
35322 * normal/menu.c (DISP_LEFT): Renamed to ...
35323 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35324 * normal/menu.c (DISP_UP): Renamed to ...
35325 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35326 * normal/menu.c (DISP_RIGHT): Renamed to ...
35327 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35328 * normal/menu.c (DISP_DOWN): Renamed to ...
35329 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35330 * normal/menu.c (DISP_HLINE): Renamed to ...
35331 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35332 * normal/menu.c (DISP_VLINE): Renamed to ...
35333 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35334 * normal/menu.c (DISP_UL): Renamed to ...
35335 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35336 * normal/menu.c (DISP_UR): Renamed to ...
35337 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35338 * normal/menu.c (DISP_LL): Renamed to ...
35339 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35340 * normal/menu.c (DISP_LR): Renamed to ...
35341 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35342 * normal/menu.c (TERM_WIDTH): Renamed to ...
35343 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35344 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35345 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35346 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35347 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35348 * normal/menu.c (TERM_MARGIN): Renamed to ...
35349 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35350 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35351 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35352 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35353 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35354 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35355 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35356 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35357 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35358 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35359 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35360 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35361 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35362 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35363 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35364 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35365 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35366 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35367 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35368 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35369 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35370 All callers changed.
35371
35372 * include/grub/normal.h: New prototype.
35373
35374 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35375 normal/menu_entry.c.
35376 (normal_mod_SOURCES): Likewise.
35377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35378 (normal_mod_SOURCES): Likewise.
35379
e6b92c8a 353802005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35381
35382 * include/grub/normal.h (grub_halt_init): New prototype.
35383 (grub_halt_fini): Likewise.
35384 (grub_reboot_init): Likewise.
35385 (grub_reboot_fini): Likewise.
35386
35387 * util/grub-emu.c: Include signal.h.
35388 (main_env): New global variable.
35389 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35390 catch C-c.
35391 (grub_machine_fini): New function.
35392 (main): Call grub_halt_init and grub_reboot_init before
35393 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35394 Call setjmp with MAIN_ENV to go back afterwards.
35395 Call grub_machine_fini right before return.
35396
35397 * include/grub/util/misc.h: Include setjmp.h.
35398 (main_env): New prototype.
35399
35400 * include/grub/kernel.h (grub_machine_fini): New prototype.
35401 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35402 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35403
35404 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35405 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35406 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 35407
e6b92c8a 35408 * util/i386/pc/misc.c: New file.
f19dbdb7 35409
e6b92c8a 35410 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35411 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35412 commands/i386/pc/reboot.c.
35413
c642636f 354142005-02-14 Guillem Jover <guillem@hadrons.org>
35415
35416 * include/grub/dl.h (grub_dl_check_header): New prototype.
35417 (grub_arch_dl_check_header): Change return type to grub_err_t,
35418 remove size parameter and export function. Update all callers.
35419 * kern/dl.c (grub_dl_check_header): New function.
35420 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35421 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35422 are inside the core.
35423 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35424 independent ELF header checks.
35425 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35426 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35427 `grub_dl_check_header' instead of explicit checks. Check for the
35428 ELF type.
35429 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35430 `grub_dl_check_header' instead of explicit checks. Remove arch
35431 specific ELF header checks.
35432
e6b92c8a 35433 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35434 argument SIZE.
35435
5eabe94b 354362005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35437
35438 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35439 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35440
1b14a681 354412005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35442
35443 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 35444 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 35445 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 35446 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 35447 * partmap/amiga.c (amiga_partition_map_iterate): Return
35448 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35449 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35450
aca108aa 354512005-02-01 Guillem Jover <guillem@hadrons.org>
35452
35453 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35454 help info.
35455
c9f9c556 354562005-01-31 Marco Gerards <metgerards@student.han.nl>
35457
35458 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35459 Removed prototype.
35460 (grub_rescue_cmd_linux): New prototype.
35461 (grub_rescue_cmd_initrd): Likewise.
35462 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35463 `bi_rec'.
35464 (grub_linux_release_mem): Release the memory for the initrd.
35465 (grub_load_linux): Renamed from this...
35466 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35467 Changed `entry' not to be static. Loop over memory regions to
35468 find another one when the default fails.
35469 (grub_rescue_cmd_initrd): New function.
35470 (grub_linux_init): Remove function.
35471 (grub_linux_fini): Likewise.
35472 (GRUB_MOD_INIT): Register `initrd'.
35473 (GRUB_MOD_FINI): Unregister `initrd'.
35474 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35475 Function removed.
35476 (grub_linux_normal_fini): Likewise.
35477 (GRUB_MOD_INIT): Register `initrd'.
35478 (GRUB_MOD_FINI): Unregister `initrd'.
35479
990cf3aa 354802005-01-31 Marco Gerards <metgerards@student.han.nl>
35481
35482 * commands/help.c: New file.
35483 * normal/arg.c (show_help): Renamed to...
35484 (grub_arg_show_help): ... this.
35485 * commands/i386/pc/halt.c: New file.
35486 * commands/i386/pc/reboot.c: Likewise.
35487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35488 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35489 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35490 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35491 variables.
35492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35493 `commands/help.c'.
35494 (pkgdata_MODULES): Add `help.mod'.
35495 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35496 * grub/i386/pc/init.h (grub_reboot): New prototype.
35497 (grub_halt): Likewise.
35498 * include/grub/normal.h (grub_arg_show_help): New prototype.
35499 (grub_help_init): Likewise.
35500 (grub_help_fini): Likewise.
35501 * util/grub-emu.c (main): Initialize and deinitialize the help
35502 command.
35503
35504 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35505
35506 * normal/command.c (grub_command_init): Fixed the description of
35507 the `set' and `unset' commands.
35508
355092005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 35510
35511 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35512 function.
35513 * commands/ieee1275/halt.c: New file.
35514 * commands/ieee1275/reboot.c: Likewise.
35515 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35516 `__attribute__ ((unused))'. Some GCS related fixed.
35517 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35518 (grub_suspend_fini): Likewise.
35519 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35520 and `halt.mod'.
35521 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35522 (halt_mod_CFLAGS): New variables.
35523 * include/grub/powerpc/ieee1275/ieee1275.h
35524 (grub_ieee1275_interpret): New prototype.
35525
1ab09cc7 355262005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35527
35528 * include/grub/misc.h (memmove): New prototype.
35529 (memcpy): Likewise.
35530
8b8cbdb2 355312005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35532
35533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35534 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35535
e3741a27 355362005-01-22 Marco Gerards <metgerards@student.han.nl>
35537
35538 * kern/misc.c (grub_strndup): Function rewritten.
35539
776bd780 355402005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35541
35542 * normal/menu.c (TERM_WIDTH): Macro redefined.
35543 (TERM_TOP_BORDER_Y): Likewise.
35544 (draw_border): Replaced while-loop by a for-loop. Make the number
35545 of lines consistent with the number of lines displayed in
35546 print_entries. Added a margin below the rectangle.
35547 (print_entry): Make the entry fit in the rectangle.
35548 (print_entries): Display the scroll arrows next to the right
35549 border.
35550
78026bce 355512005-01-21 Marco Gerards <metgerards@student.han.nl>
35552
35553 * fs/minix.c (grub_minix_find_file): Reserve more space for
35554 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35555 `grub_strncpy' to copy `path' into it.
35556
67bbaf0f 355572005-01-21 Marco Gerards <metgerards@student.han.nl>
35558
35559 Add the loopback device, a device via which files can be accessed
35560 as devices.
f19dbdb7 35561
67bbaf0f 35562 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35563 (pkgdata_MODULES): Add loopback.mod.
35564 (loopback_mod_SOURCES): New variable.
35565 (loopback_mod_CFLAGS): Likewise.
35566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35567 `disk/loopback.c'.
35568 (pkgdata_MODULES): Add loopback.mod.
35569 (loopback_mod_SOURCES): New variable.
35570 (loopback_mod_CFLAGS): Likewise.
35571 * disk/loopback.c: new file.
35572 * include/grub/normal.h (grub_loop_init): New prototype.
35573 (grub_loop_fini): New prototype.
35574 * util/grub-emu.c (main): Initialize and de-initialize loopback
35575 support.
35576 * include/grub/disk.h (grub_disk_dev_id): Add
35577 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35578
6f1c18bd 355792005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35580
35581 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35582 function.
35583 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35584 (suspend_mod_SOURCES): New variable.
35585 (suspend_mod_CFLAGS): Likewise.
35586 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35587 New prototype.
35588 * commands/ieee1275/suspend.c: New file.
35589
b38551da 355902005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35591
35592 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 35593 ((unused))' to `__attribute__ ((used))'.
b38551da 35594 (GRUB_MOD_FINI): Likewise.
35595 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35596 * genmk.rb (PModule): Assign space to common symbols when linking
35597 modules.
35598
777aff39 355992005-01-20 Marco Gerards <metgerards@student.han.nl>
35600
35601 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35602 `unsigned' arguments to `grub_size_t'.
35603 (grub_malloc): Likewise.
35604 (grub_realloc): Likewise.
35605 (grub_memalign): Likewise.
35606 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35607 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35608 * util/misc.c (grub_malloc): Likewise.
35609 (grub_realloc): Likewise.
35610 * kern/mm.c (get_header_from_pointer): Change the casts to
35611 `unsigned' into a cast to `grub_size_t'.
35612
35613 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35614 point to `currnode' when `currnode' is changed.
35615
35616 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35617 Schottelius <nico-linux@schottelius.org>.
35618
d0ff18e1 356192005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35620
35621 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35622 (note_path): Remove variable.
35623 (GRUB_IEEE1275_NOTE_NAME): New macro.
35624 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35625 (grub_ieee1275_note_hdr): New structure.
35626 (grub_ieee1275_note_desc): Likewise.
35627 (grub_ieee1275_note): Likewise.
35628 (load_note): Remove `dir' argument. All callers updated. Remove
35629 `note_img' and `path'. Do not load a file from `note_path'.
35630 Initialize a struct grub_ieee1275_note and write that to `out'.
35631 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35632
4ca7004c 356332005-01-05 Marco Gerards <metgerards@student.han.nl>
35634
35635 * util/misc.c (grub_util_read_image): Revert last change. It
35636 called `grub_util_read_at', which seeks from the beginning of the
35637 file.
35638
0b412211 356392005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35640
35641 * TODO: Add note about endianness in grub-mkimage.
35642 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35643 section.
35644 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35645 (grub_mkimage_SOURCES): New target.
35646 * include/grub/kernel.h (grub_start_addr): Remove variable.
35647 (grub_end_addr): Likewise.
35648 (grub_total_module_size): Likewise.
35649 (grub_kernel_image_size): Likewise.
35650 (GRUB_MODULE_MAGIC): New constant.
35651 (grub_module_info): New structure.
35652 (grub_arch_modules_addr): New prototype.
35653 (grub_get_end_addr): Remove prototype.
35654 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35655 * include/grub/powerpc/ieee1275/kernel.h: New file.
35656 * include/grub/util/misc.h (grub_util_get_fp_size): New
35657 prototype.
35658 (grub_util_read_at): Likewise.
35659 (grub_util_write_image_at): Likewise.
35660 * kern/main.c (grub_get_end_addr): Remove function.
35661 (grub_load_modules): Call grub_arch_modules_addr instead of using
35662 grub_end_addr. Look for a grub_module_info struct in memory. Use
35663 the grub_module_info fields instead of calling grub_get_end_addr
35664 as loop conditions. Move grub_add_unused_region code here.
35665 (grub_add_unused_region): Remove function.
35666 * kern/i386/pc/init.c: Include grub/cache.h.
35667 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35668 one call to add_mem_region.
35669 (grub_arch_modules_addr): New function.
35670 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35671 (grub_total_module_size): Likewise.
35672 Include grub/machine/kernel.h.
35673 (grub_arch_modules_addr): New function.
35674 * util/grub-emu.c (grub_end_addr): Remove variable.
35675 (grub_total_module_size): Likewise.
35676 (grub_arch_modules_addr): New function.
35677 * util/misc.c: Include unistd.h.
35678 (grub_util_get_fp_size): New function.
35679 (grub_util_read_at): Likewise.
35680 (grub_util_write_image_at): Likewise.
35681 (grub_util_read_image): Call grub_util_read_at.
35682 (grub_util_write_image): Call grub_util_write_image_at.
35683 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35684 additional memory in kernel_img for a struct grub_module_info.
35685 Fill in that grub_module_info.
35686 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35687
458786f8 356882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35689
35690 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35691 New function.
35692 * include/grub/powerpc/ieee1275/ieee1275.h
35693 (grub_ieee1275_milliseconds): New prototype.
35694 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35695 Change to 1000.
35696 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35697 grub_ieee1275_milliseconds.
35698
ac507d1b 356992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35700
35701 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35702 variable.
35703 (find_options): New function.
35704 (cmain): Call find_options.
35705 * include/grub/powerpc/ieee1275/ieee1275.h
35706 (grub_ieee1275_realmode): New extern variable.
35707 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35708 grub_map if grub_ieee1275_realmode is false.
35709
6b8fd1c4 357102004-12-29 Marco Gerards <metgerards@student.han.nl>
35711
35712 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35713 lines are inserted and make it work like readline. Reported by
35714 Vincent Pelletier <subdino2004@yahoo.fr>.
35715
8514a1e0 357162004-12-28 Marco Gerards <metgerards@student.han.nl>
35717
35718 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35719
35720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35721 `kern/powerpc/cache.S'.
35722
924b6140 357232004-12-27 Marco Gerards <metgerards@student.han.nl>
35724
35725 * genmk.rb: Handle the `Program' class in the main loop. Written
35726 by Johan Rydberg <jrydberg@gnu.org>.
35727 (Program): New class.
35728 (programs): New variable.
35729 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35730 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35731 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35732 (help_arch): Function removed.
35733 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35734 `powerpc/libgcc.h' and `loader.h'.
35735 (pkgdata_PROGRAMS): New variable.
35736 (sbin_UTILITIES): Variable removed.
35737 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35738 (grubof_SOURCES): Variable re-defined so it only includes the
35739 core functionality.
35740 (grubof_CFLAGS): Remove `-DGRUBOF'.
35741 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35742 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35743 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35744 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35745 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35746 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35747 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35748 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35749 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35750 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35751 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35752 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35753 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35754 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35755 (pc_mod_CFLAGS): New variables.
35756 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35757 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35758 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35759 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35760 Moved from here...
35761 * include/grub/i386/pc/init.h (grub_os_area_addr)
35762 (rub_os_area_size): ... to here.
35763 * include/grub/powerpc/ieee1275/ieee1275.h
35764 (grub_ieee1275_entry_fn): Export symbol.
35765 * include/grub/powerpc/ieee1275/init.h: New file.
35766 * include/grub/powerpc/libgcc.h: Likewise.
35767 * include/grub/cache.h: Likewise.
35768 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35769 <hollis@penguinppc.org>.
35770 * kern/dl.c: Include <grub/cache.h>.
35771 (grub_dl_flush_cache): New function.
35772 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35773 for this module.
35774 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35775 (grub_console_init): Removed prototypes.
35776 (grub_machine_init): Don't initialize the modules anymore.
35777 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35778 static.
35779 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35780 Macro undef removed.
35781 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35782 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35783 relocation `R_PPC_REL32'. Return an error when the relocation is
35784 unknown.
35785 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35786 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35787 * util/misc.c (grub_arch_sync_caches): Likewise.
35788
e4b47e0c 357892004-12-19 Marco Gerards <metgerards@student.han.nl>
35790
35791 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35792 `symlist.c', add `grubof_symlist.c'.
35793 (symlist.c): Variable removed.
35794 (grubof_HEADERS): Variable added.
35795 (grubof_symlist.c): New target.
35796 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35797 `kernel_img_HEADERS'.
35798 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35799 * kern/powerpc/dl.c: New file.
35800 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35801 Function removed.
35802 (grub_arch_dl_relocate_symbols): Likewise.
35803 (grub_register_exported_symbols): Likewise.
35804
4ceb3636 358052004-12-13 Marco Gerards <metgerards@student.han.nl>
35806
35807 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35808 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35809 to fail instead. Reported by Vincent Pelletier
35810 <subdino2004@yahoo.fr>.
35811
35812 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35813 it is not allocated. Reported by Vincent Pelletier
35814 <subdino2004@yahoo.fr>.
35815
35816 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35817 output so the output looks better.
f19dbdb7 35818
3f1578fe 358192004-12-04 Marco Gerards <metgerards@student.han.nl>
35820
35821 Modulize the partition map support and add support for the amiga
35822 partition map.
f19dbdb7 35823
3f1578fe 35824 * commands/ls.c: Include <grub/partition.h> instead of
35825 <grub/machine/partition.h>.
35826 * kern/disk.c: Likewise.
35827 * kern/rescue.c: Likewise.
35828 * loader/i386/pc/chainloader.c: Likewise.
35829 * normal/cmdline.c: Likewise.
35830 * kern/powerpc/ieee1275/init.c: Likewise.
35831 (grub_machine_init): Call `grub_pc_partition_map_init',
35832 `grub_amiga_partition_map_init' and
35833 `grub_apple_partition_map_init'.
35834 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35835 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35836 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35837 `partition.h' and `pc_partition.h'.
35838 (grub_setup_SOURCES): Remove
35839 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35840 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35841 (grub_emu_SOURCES): Likewise.
35842 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35843 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35844 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35846 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35847 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35848 (grubof_SOURCES): Likewise.
35849 * disk/i386/pc/partition.c: File removed.
35850 * disk/powerpc/ieee1275/partition.c: Likewise.
35851 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35852 * include/grub/i386/pc/partition.h: Likewise.
35853 * kern/partition.c: New file.
35854 * partmap/amiga.c: Likewise.
35855 * partmap/apple.c: Likewise.
35856 * partmap/pc.c: Likewise.
35857 * include/grub/partition.h: Likewise..
35858 * include/grub/pc_partition.h: Likewise.
35859 * util/grub-emu.c: Include <grub/partition.h> instead of
35860 <grub/machine/partition.h>.
35861 (main): Call `grub_pc_partition_map_init',
35862 `grub_amiga_partition_map_init' and
35863 `grub_apple_partition_map_init' and deinitialize afterwards.
35864 * util/i386/pc/biosdisk.c: Include `#include
35865 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35866 `<grub/machine/partition.h>'.
35867 * util/i386/pc/grub-setup.c: Likewise.
35868 * util/i386/pc/biosdisk.c: Likewise.
35869 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35870 partition information in case of a PC partition.
35871 * util/i386/pc/grub-setup.c: Include `#include
35872 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35873 `<grub/machine/partition.h>'.
35874 (setup): Only access the PC specific partition information in case
35875 of a PC partition.
35876
0ef4ced9 358772004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35878
0ef4ced9 35879 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35880 (grub_longjmp): Likewise.
35881 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35882 20.
35883 * normal/powerpc/setjmp.S: New file.
35884 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35885 `normal/powerpc/setjmp.S'.
35886 (grubof_CFLAGS): Add `-DGRUBOF'.
35887 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35888 [GRUB_UTIL && !GRUBOF].
f19dbdb7 35889
19950e29 358902004-11-16 Marco Gerards <metgerards@student.han.nl>
35891
35892 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35893 property named `name'. Correctly handle the error returned by
35894 `grub_ieee1275_finddevice' if a device can not be opened.
35895
a2fea427 358962004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35897
35898 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35899 `actual' for negativity.
35900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35901 kern/fshelp.c.
35902
41ea0ea3 359032004-11-01 Marco Gerards <metgerards@student.han.nl>
35904
35905 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35906 (PAGE_OFFSET): New macro.
35907 (CRTC_ADDR_PORT): Likewise.
35908 (CRTC_DATA_PORT): Likewise.
35909 (START_ADDR_HIGH_REGISTER): Likewise.
35910 (START_ADDR_LOW_REGISTER): Likewise.
35911 (GRAPHICS_ADDR_PORT): Likewise.
35912 (GRAPHICS_DATA_PORT): Likewise.
35913 (READ_MAP_REGISTER): Likewise.
35914 (INPUT_STATUS1_REGISTER): Likewise.
35915 (INPUT_STATUS1_VERTR_BIT): Likewise.
35916 (page): New variable.
35917 (wait_vretrace): New function.
35918 (set_read_map): Likewise.
35919 (set_start_address): Likewise.
35920 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35921 the right page.
35922 (check_vga_mem): Take the page into account.
35923 (write_char): Likewise.
35924 (write_cursor): Likewise.
35925 (scroll_up): Likewise. Copy the page to the page that is not
35926 shown and switch between both pages.
35927 (grub_vga_putchar): Fix off by one error.
35928 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35929 account.
35930
ad0bd20b 359312004-11-01 Marco Gerards <metgerards@student.han.nl>
35932
35933 Add support for iso9660 (including rockridge).
f19dbdb7 35934
ad0bd20b 35935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35936 (iso9660_mod_SOURCES): New variable.
35937 (iso9660_mod_CFLAGS): Likewise.
35938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35939 * include/grub/fs.h (grub_iso9660_init): New prototype.
35940 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35941 * fs/iso9660.c: New file.
35942
35943 * include/grub/misc.h (grub_strncat): New prototype.
35944 * kern/misc.c (grub_strncat): New function.
f19dbdb7 35945
ad0bd20b 35946 * fs/hfs.c (grub_hfs_mount): Translate the error
35947 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35948 * fs/jfs.c (grub_jfs_mount): Likewise.
35949 * fs/ufs.c (grub_ufs_mount): Likewise.
35950
a5477a59 359512004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35952
35953 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35954 which initialized BAT registers.
35955 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35956 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35957 Move from here...
35958 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35959 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35960 ... to here.
35961 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35962 (grub_mapclaim): Likewise.
35963 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35964 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35965 hand.
35966
9304c1f8 359672004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35968
35969 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35970 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35971 -ffreestanding and -msoft-float.
35972
86f4ae25 359732004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35974
35975 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35976 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35977 set in grub_ieee1275_flags.
35978
38912228 359792004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35980
35981 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35982 prototype.
35983 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35984 grub_console_init first.
35985 Change the memory range used for grub_ieee1275_claim and
35986 grub_mm_init_region.
35987 Print an error message if the claim fails.
35988 Include <grub/misc.h>.
35989
d1923dc8 359902004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35991
35992 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35993 Call grub_children_iterate for device nodes of type `scsi',
35994 `ide', or `ata'.
35995 (grub_ofdisk_open): Remove manual device alias resolution.
35996 Fix memory leak when device cannot be opened.
f19dbdb7 35997 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 35998 (grub_children_iterate): New prototype.
35999 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
36000 New function.
36001 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36002 Return -1 if args.size was -1.
36003
4512e4f3 360042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36005
36006 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
36007 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
36008 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
36009 Open Firmware's memory for it; claim memory from _start to _end.
36010 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
36011 (_end): New extern.
36012 (_start): Zero BSS from __bss_start to _end.
36013 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36014 New extern.
36015 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
36016
4d61feb0 360172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36018
ad0bd20b 36019 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
36020 -1 if args.base was -1.
4d61feb0 36021
026fa2f9 360222004-10-08 Hollis Blanchard <hollis@penguinppc.org>
36023
36024 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
36025 escape sequence instead of a literal ^L. Also call
36026 grub_ofconsole_gotoxy.
36027
9f2220ef 360282004-10-03 Hollis Blanchard <hollis@penguinppc.org>
36029
36030 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
36031 void * arguments to grub_addr_t. All callers updated. Also make
36032 the `result' argument optional.
36033 (grub_ieee1275_release): change void * arguments to grub_addr_t.
36034 All callers updated.
36035
8a572cd7 360362004-09-22 Hollis Blanchard <hollis@penguinppc.org>
36037
36038 * commands/ls.c (grub_ls_list_files): Use the string following the
36039 initial ')', if present, as the filesystem path.
36040 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36041
36042 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36043
18aa81f2 360442004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36045
36046 Make the source code of the menu interface more readable.
f19dbdb7 36047
18aa81f2 36048 * normal/menu.c: Include grub/mm.h.
36049 (TERM_WIDTH): New macro.
36050 (TERM_HEIGHT): Likewise.
36051 (TERM_INFO_HEIGHT): Likewise.
36052 (TERM_MARGIN): Likewise.
36053 (TERM_SCROLL_WIDTH): Likewise.
36054 (TERM_TOP_BORDER_Y): Likewise.
36055 (TERM_LEFT_BORDER_X): Likewise.
36056 (TERM_BORDER_WIDTH): Likewise.
36057 (TERM_MESSAGE_HEIGHT): Likewise.
36058 (TERM_BORDER_HEIGHT): Likewise.
36059 (TERM_NUM_ENTRIES): Likewise.
36060 (TERM_FIRST_ENTRY_Y): Likewise.
36061 (TERM_ENTRY_WIDTH): Likewise.
36062 (TERM_CURSOR_X): Likewise.
36063 (draw_border): Use macros instead of magic numbers.
36064 (print_entry): Likewise.
36065 (print_entries): Likewise.
36066 (run_menu): Likewise. Also, handle the key 'e'.
36067 (run_menu_entry): Ignore empty command lines.
36068 (print_message): Added a new argument EDIT. If EDIT is true,
36069 print a different message.
36070 (init_page): Likewise.
36071 (edit_menu_entry): New function. Not implemented yet.
36072
b47efe30 360732004-09-17 Marco Gerards <metgerards@student.han.nl>
36074
36075 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36076 can be loaded from normal mode.
f19dbdb7 36077
b47efe30 36078 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36079 `multiboot.mod'.
36080 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36081 (multiboot_mod_CFLAGS): New variables.
36082 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 36083 * loader/i386/pc/multiboot_normal.c: Likewise.
36084
b47efe30 36085 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36086 attribute `unused'.
f19dbdb7 36087
b47efe30 36088 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36089 `fdiro' to read the mode information from instead of `diro'.
36090
36091 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36092 looking up a symlink.
36093
36094 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36095 macro.
36096 * normal/command.c (grub_command_execute): Don't parse the
36097 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36098 flags of the command.
36099
36100 * normal/menu.c (grub_menu_run): Fix typo.
36101
da75ac71 361022004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36103
36104 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36105
36106 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36107 `y + 1' instead of `y - 1'.
36108
36109 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 36110
062b24c2 361112004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36112
36113 From Hollis Blanchard <hollis@penguinppc.org>:
36114 * kern/misc.c (memmove): New alias for grub_memmove.
36115 (memcmp): New alias for grub_memcmp.
36116 (memset): New alias for grub_memset.
f19dbdb7 36117 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 36118 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 36119 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 36120 (grub_ieee1275_get_property): Likewise.
f19dbdb7 36121
8ddad845 361222004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36123
36124 Added normal mode command `chainloader' as module chain.mod, which
36125 depends on normal.mod and _chain.mod.
f19dbdb7 36126
8ddad845 36127 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36128 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36129 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36130 Deleted prototype.
36131 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36132 but arguments parsing moved to ...
36133 (grub_chainloader_cmd): ... here. New function.
36134 * include/grub/i386/pc/chainloader.h: New file.
36135 * loader/i386/pc/chainloader_normal.c: Likewise.
36136
2c1f4ce3 361372004-09-11 Marco Gerards <metgerards@student.han.nl>
36138
36139 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36140 (grub_mkimage_LDFLAGS): Likewise.
36141 (grub_emu_SOURCES): Likewise.
36142 (kernel_img_HEADERS): Added fshelp.h.
36143 * fs/ext2.c: Include <grub/fshelp.h>.
36144 (FILETYPE_REG): New macro.
36145 (FILETYPE_INO_REG): Likewise.
36146 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36147 Changed all users.
36148 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36149 all users.
36150 (grub_fshelp_node): New struct.
36151 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36152 to a pointer.
36153 (grub_ext2_get_file_block): Removed function.
36154 (grub_ext2_read_block): New function.
36155 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36156 This function was written.
36157 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36158 (grub_ext2_find_file): Removed function.
36159 (grub_ext2_read_symlink): New function.
36160 (grub_ext2_iterate_dir): Likewise.
36161 (grub_ext2_open): Rewritten.
36162 (grub_ext2_dir): Rewritten.
36163 * include/grub/fshelp.h: New file.
36164 * fs/fshelp.c: Likewise.
36165
3c52136a 361662004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36167
36168 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36169 (print_message): Add a missing newline.
36170 (run_menu): Added timeout support.
36171 (run_menu_entry): New local function.
36172 (grub_menu_run): Added support for booting.
36173
36174 * kern/loader.c (grub_loader_is_loaded): New function.
36175
36176 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36177 (grub_get_rtc): Exported.
36178
36179 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36180 (grub_get_rtc): Exported.
36181
36182 * include/grub/normal.h (struct grub_command_list): Remove
36183 constant from the member `command'.
36184
36185 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36186
36187 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36188
36189 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36190
aa033560 361912004-08-28 Marco Gerards <metgerards@student.han.nl>
36192
36193 Add support for the JFS filesystem.
36194
36195 * fs/jfs.c: New file.
36196 * include/grub/fs.h (grub_jfs_init): New prototype.
36197 (grub_jfs_fini): New prototype.
36198 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36199 (grub_emu_SOURCES): Likewise.
36200 (pkgdata_MODULES): Add jfs.mod.
36201 (jfs_mod_SOURCES): New variable.
36202 (jfs_mod_CFLAGS): Likewise.
36203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36204 (grubof_SOURCES): Likewise.
36205 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36206
36207 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36208 endian to the host endian.
36209 (grub_fat_utf16_to_utf8): Move function from there...
36210 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 36211 the endianness of the source string anymore.
aa033560 36212 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36213
94bc45af 362142004-08-24 Marco Gerards <metgerards@student.han.nl>
36215
36216 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36217 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36218 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36219 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 36220
94bc45af 36221 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36222 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36223 for `node_found' and `it_dir'.
36224 (grub_hfs_dir): Add prototype for `dir_hook'.
36225
36226 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36227 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36228 and `indir32' to silence a gcc warning.
36229
36230 * include/grub/fs.h (grub_hfs_init): New prototype.
36231 (grub_hfs_fini): Likewise.
f19dbdb7 36232
36233
97543f08 362342004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36235
36236 Each disk device has its own id now. This is useful to make use
36237 of multiple disk devices.
f19dbdb7 36238
97543f08 36239 * include/grub/disk.h (grub_disk_dev_id): New enum.
36240 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36241 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36242
36243 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36244 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36245
36246 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36247 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36248
36249 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36250 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36251
36252 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36253 "id" which is used by the cache manager.
36254
36255 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36256 of just "GRUB".
36257
64372eb4 362582004-08-18 Marco Gerards <metgerards@student.han.nl>
36259
36260 * fs/hfs.c: New file.
36261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36262 (grub_emu_SOURCES): Likewise.
36263 (pkgdata_MODULES): Add hfs.mod.
36264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36265 (grubof_SOURCES): Likewise.
36266 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36267
36268 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36269 * kern/misc.c (grub_strncasecmp): Add function.
36270
cc61b58f 362712004-08-14 Marco Gerards <metgerards@student.han.nl>
36272
36273 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36274 with parentheses.
36275
36276 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36277 (grub_ext2_dir): In case the directory entry type is unknown, read
36278 it from the inode.
36279
0ef123f6 362802004-08-02 Peter Bruin <pjbruin@dds.nl>
36281
36282 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36283 grub_load_linux instead of grub_rescue_cmd_linux as second
36284 argument of grub_rescue_register_command.
36285
36286 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36287
a447c5df 362882004-07-27 Marco Gerards <metgerards@student.han.nl>
36289
36290 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36291 function.
36292 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36293 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36294 `loader/powerpc/ieee1275/linux.c',
36295 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36296 * include/grub/powerpc/ieee1275/ieee1275.h
36297 (grub_ieee1275_release): New prototype.
36298 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36299 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36300 normal, boot, linux and linux_normal.
36301 * loader/powerpc/ieee1275/linux.c: New file.
36302 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36303
5a9e3546 363042004-07-12 Marco Gerards <metgerards@student.han.nl>
36305
36306 * normal/arg.c (grub_arg_parse): Correct error handling after
36307 reallocating the argumentlist (check if `argl' is not null instead
36308 of checking if `args' is not null).
36309 * kern/mm.c (grub_realloc): Return the same pointer when using the
36310 same region, instead of returning the header address.
36311
e15199cb 363122004-07-11 Marco Gerards <metgerards@student.han.nl>
36313
36314 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36315 one block instead of two when looking for the initial partition.
36316 (grub_partition_probe): Initialize the local variable `p' with 0.
36317 Use base 10 for the grub_strtoul call.
36318 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36319 need for one local variable.
36320 (grub_strtoul): Don't add the new value to `num', instead of that
36321 just assign it.
36322
020616c2 363232004-07-11 Marco Gerards <metgerards@student.han.nl>
36324
36325 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36326 (pxeboot_img_SOURCES): New variable.
36327 (pxeboot_img_ASFLAGS): Likewise.
36328 (pxeboot_img_LDFLAGS): Likewise.
36329 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36330 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36331 <lode_leroy@hotmail.com>.
36332
6c51eb64 363332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36334
36335 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36336 there was no input.
36337
cfb12aff 363382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36339
36340 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36341 the history buffer logic.
36342
6eabba74 363432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36344
36345 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36346 (FILETYPE_INO_SYMLINK): New macros.
36347 (grub_ext2_find_file): Check if the node is a directory using the
36348 inode stat information instead of using the filetype in the
36349 dirent. Exclude the first character of an absolute symlink.
36350 (grub_ext2_dir): Mask out the filetype part of the mode member of
36351 the inode.
36352
66e19ef8 363532004-05-24 Marco Gerards <metgerards@student.han.nl>
36354
36355 Add support for UFS version 1 and 2. Add support for the minix
36356 filesystem version 1 and 2, both the variants with 14 and 30 long
36357 filenames.
f19dbdb7 36358
66e19ef8 36359 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36360 fs/minix.c.
36361 (grub_emu_SOURCES): Likewise.
36362 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36363 (ufs_mod_SOURCES): New variable.
36364 (ufs_mod_CFLAGS): Likewise.
36365 (minix_mod_SOURCES): Likewise.
36366 (minix_mod_CFLAGS): Likewise.
36367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36368 fs/minix.c.
36369 (grubof_SOURCES): Likewise.
36370 * fs/ufs.c: New file.
36371 * fs/minix.c: New file.
36372 * include/grub/fs.h (grub_ufs_init): New prototype.
36373 (grub_ufs_fini): Likewise.
36374 (grub_minix_init): Likewise.
36375 (grub_minix_fini): Likewise.
36376 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36377 minix fs.
36378
cc2e748a 363792004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36380
36381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36382 commands/ls.c, commands/terminal.c, commands/boot.c,
36383 commands/cmp.c and commands/cat.c.
36384 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36385
36386 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36387 "env.h"
36388
4b13b216 363892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36390
36391 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36392 and grub_, respectively. Because the conversion is trivial and
36393 mechanical, I omit the details here. Please refer to the CVS
36394 if you need more information.
36395
6a142551 363962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36397
36398 * include/pupa: Renamed to ...
36399 * include/grub: ... this.
36400 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36401 * util/i386/pc/grub-mkimage.c: ... this.
36402 * util/i386/pc/pupa-setup.c: Renamed to ...
36403 * util/i386/pc/grub-setup.c: ... this.
36404 * util/pupa-emu.c: Renamed to ...
36405 * util/grub-emu.c: ... this.
36406
e56cdf21 364072004-03-29 Marco Gerards <metgerards@student.han.nl>
36408
36409 Add support for the newworld apple macintosh (PPC). This has been
36410 tested on the powerbook 2000 only. It only adds support for
36411 generic ieee1275 functions, console and disk support. This should
36412 be easy to port to other architectures with support for Open
36413 Firmware.
f19dbdb7 36414
e56cdf21 36415 * configure.ac: Accept the powerpc as host_cpu. In the case of
36416 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36417 specific tests are only executed while building for the i386.
36418 Inverse test for crosscompile.
36419 * genmk.rb (Utility): Allow assembler files.
36420 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36421 * conf/powerpc-ieee1275.rmk: New file.
36422 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36423 * disk/powerpc/ieee1275/partition.c: Likewise.
36424 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36425 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36426 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36427 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36428 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36429 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36430 * include/pupa/powerpc/ieee1275/loader.h
36431 * include/pupa/powerpc/setjmp.h: Likewise.
36432 * include/pupa/powerpc/types.h: Likewise.
36433 * kern/powerpc/ieee1275/init.c: Likewise.
36434 * kern/powerpc/ieee1275/openfw.c: Likewise.
36435 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36436
36437 These files were written by Johan Rydberg
36438 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 36439
e56cdf21 36440 * boot/powerpc/ieee1275/cmain.c: New file.
36441 * boot/powerpc/ieee1275/crt0.S: Likewise.
36442 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36443 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36444
8c8cc205 364452004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36446
36447 * Makefile.in: Update copyright.
36448 * genmodsrc.sh: Likewise.
36449 * gensymlist.sh: Likewise.
36450 * term/i386/pc/vga.c: Indent correctly.
36451
36452 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36453 bugreporting address.
36454 * util/i386/pc/pupa-setup.c (usage): Likewise,
36455 (main): Call pupa_ext2_init and pupa_ext2_fini.
36456
f19dbdb7 36457 * fs/fat.c (log2): Renamed to ...
8c8cc205 36458 (fat_log2): ... this.
36459 All callers changed.
36460 * kern/misc.c (memcpy): Alias to pupa_memmove.
36461 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36462 lvalue cast.
36463 * util/console.c (pupa_ncurses_fini): Return 0.
36464
36465 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36466 Move fail label here.
36467 [__GNU__]: Don't warn when using stat.
36468 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36469 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36470 long int. Use strtol instead of strtoul.
f19dbdb7 36471
db1771cf 364722004-03-14 Marco Gerards <metgerards@student.han.nl>
36473
36474 * commands/boot.c: New file.
36475 * commands/cat.c: Likewise.
36476 * commands/cmp.c: Likewise.
36477 * commands/ls.c: Likewise.
36478 * commands/terminal.c: Likewise.
36479 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36480 (pupa_register_command): Changed interface to match the new
36481 argument parser.
36482 (pupa_command_execute): Changed (almost rewritten) so it uses
36483 pupa_split_command. Added support for setting variables using the
36484 syntax `foo=bar'.
36485 (rescue_command): Changed to work with the new argument parser.
36486 (terminal_command): Moved from here to commands/terminal.c.
36487 (set_command): New function.
36488 (unset_command): New function.
36489 (insmod_command): New function.
36490 (rmmod_command): New function.
36491 (lsmod_command): New function.
36492 (pupa_command_init): Don't initialize the command terminal
36493 anymore. Initialize the commands set, unset, insmod, rmmod and
36494 lsmod.
36495 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36496 (kernel_img_HEADERS): Add arg.h and env.h.
36497 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36498 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36499 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36500 normal/arg.c.
36501 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36502 terminal.mod.
36503 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36504 (boot_mod_SOURCES): New variable.
36505 (terminal_mod_SOURCES): Likewise.
36506 (ls_mod_SOURCES): Likewise.
36507 (cmp_mod_SOURCES): Likewise.
36508 (cat_mod_SOURCES): Likewise.
36509
36510 * normal/arg.c: New file.
36511 * kern/env.c: Likewise.
36512 * include/pupa/arg.h: Likewise.
36513 * include/pupa/env.h: Likewise.
36514 * font/manager.c (font_command): Changed to match argument parsing
36515 interface changes.
36516 (PUPA_MOD_INIT): Likewise.
36517 * hello/hello.c (pupa_cmd_hello): Likewise.
36518 (PUPA_MOD_INIT): Likewise.
36519 * include/pupa/disk.h: Include <pupa/device.h>.
36520 (pupa_print_partinfo): New prototype.
36521 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36522 (pupa_dl_get_prefix): Likewise.
36523 * include/pupa/misc.h: Include <pupa/err.h>.
36524 (pupa_isgraph): New prototype.
36525 (pupa_isdigit): Likewise.
36526 (pupa_split_cmdline): Likewise.
36527 * include/pupa/normal.h: Include <pupa/arg.h>.
36528 (pupa_command): Changed the prototype of the member `func' to
36529 match the argument parsing interface. Added member `options'.
36530 (pupa_register_command): Updated to match function.
36531 (pupa_arg_parse): New prototype.
36532 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36533 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36534 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36535 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36536 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36537 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36538 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36539 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36540 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36541 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36542 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36543 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36544 * kern/disk.c: Include <pupa/file.h>.
36545 (pupa_print_partinfo): New function.
36546 * kern/dl.c: Include <pupa/env.h>.
36547 (pupa_dl_dir): Variable removed.
36548 (pupa_dl_load): Use the environment variable `prefix' instead of
36549 the variable pupa_dl_dir.
36550 (pupa_dl_set_prefix): Function removed.
36551 (pupa_dl_get_prefix): Likewise.
36552 * kern/i386/pc/init.c: Include <pupa/env.h>.
36553 (pupa_machine_init): Use the environment variable `prefix' instead of
36554 using pupa_dl_set_prefix to set the prefix.
36555 * kern/main.c: Include <pupa/env.h>.
36556 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36557 using pupa_dl_get_prefix to get the prefix.
36558 * kern/misc.c: Include <pupa/env.h>.
36559 (pupa_isdigit): New function.
36560 (pupa_isgraph): Likewise.
36561 (pupa_ftoa): Likewise.
36562 (pupa_vsprintf): Added support for printing values of the type
36563 `double'. Make it possible to format variable output when using
36564 formatting like `%1.2%f'.
36565 (pupa_split_cmdline): New function.
36566 * kern/rescue.c: Include <pupa/env.h>.
36567 (next_word): Removed function.
36568 (pupa_rescue_cmd_prefix): Likewise.
36569 (pupa_rescue_cmd_set): New function.
36570 (pupa_rescue_cmd_unset): New function.
36571 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36572 split the command line instead of splitting it here. Added
36573 support for setting variables using the syntax `foo=bar'. Don't
36574 initialize the prefix command anymore. Initialized the set and
36575 unset commands.
36576 * normal/cmdline.c: Include <pupa/env.h>.
36577 (pupa_tab_complete): Added prototypes for print_simple_completion,
36578 print_partition_completion, add_completion, iterate_commands,
36579 iterate_dev, iterate_part and iterate_dir. Moved code to print
36580 partition information from here to kern/disk.c.
fe6b695a 36581 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 36582 * normal/main.c: Include <pupa/env.h>.
36583 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36584 instead of using pupa_dl_get_prefix to get the prefix.
36585 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36586 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36587 warning.
36588 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36589 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36590 ((unused))' to silence a gcc warning.
36591 (pupa_vga_setcolor): Likewise.
36592 (debug_command): Changed to match argument parsing
36593 interface changes.
36594 * util/pupa-emu.c: Include <pupa/env.h>.
36595 (options): Added 0's for unused fields to silence a gcc warning.
36596 (argp): Likewise.
36597 (main): Use the environment variable `prefix' instead of using
36598 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36599 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36600 and terminal.
36601
36602 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36603 * util/misc.c: Include <malloc.h>.
36604 (pupa_malloc): Rewritten so errors are correctly reported.
36605 (pupa_realloc): Likewise.
36606 (pupa_memalign): Likewise.
36607 (pupa_mm_init_region): Declare unused variables with
36608 `__attribute__ ((unused))' to silence a gcc warning.
36609 * normal/i386/setjmp.S: Remove tab at the end of the file to
36610 silence a gcc warning.
36611 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36612 variables with `__attribute__ ((unused))' to silence a gcc
36613 warning.
36614 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36615 local variable i unsigned to silence a gcc warning.
36616
36617 * kern/term.c: Include <pupa/misc.h>.
36618 (pupa_more_lines): New variable.
36619 (pupa_more): Likewise.
36620 (pupa_putcode): When the pager is active pause at the end of every
36621 screen.
36622 (pupa_set_more): New function.
36623 * include/pupa/term.h (pupa_set_more): New prototype.
36624
36625
3b1139cb 366262004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36627
36628 Now this project is GRUB 2 rather than PUPA. The location of
36629 the CVS repository was moved to GRUB's.
f19dbdb7 36630
3b1139cb 36631 * configure.ac: Use bug-grub as the reporting address.
36632 Use GRUB instead of PUPA.
36633 Change the version number to 1.90.
36634
8367695c 366352004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36636
36637 * genkernsyms.sh: Updated copyright information.
36638 * genmk.rb: Likewise.
36639 * genmodsrc.sh: Likewise.
36640 * gensymlist.sh: Likewise.
36641 * boot/i386/pc/boot.S: Likewise.
36642 * boot/i386/pc/diskboot.S: Likewise.
36643 * disk/i386/pc/biosdisk.c: Likewise.
36644 * disk/i386/pc/partition.c: Likewise.
36645 * font/manager.c: Likewise.
36646 * fs/ext2.c: Likewise.
36647 * fs/fat.c: Likewise.
36648 * include/pupa/boot.h: Likewise.
36649 * include/pupa/device.h: Likewise.
36650 * include/pupa/disk.h: Likewise.
36651 * include/pupa/dl.h: Likewise.
36652 * include/pupa/elf.h: Likewise.
36653 * include/pupa/err.h: Likewise.
36654 * include/pupa/file.h: Likewise.
36655 * include/pupa/font.h: Likewise.
36656 * include/pupa/fs.h: Likewise.
36657 * include/pupa/kernel.h: Likewise.
36658 * include/pupa/loader.h: Likewise.
36659 * include/pupa/misc.h: Likewise.
36660 * include/pupa/mm.h: Likewise.
36661 * include/pupa/net.h: Likewise.
36662 * include/pupa/normal.h: Likewise.
36663 * include/pupa/rescue.h: Likewise.
36664 * include/pupa/setjmp.h: Likewise.
36665 * include/pupa/symbol.h: Likewise.
36666 * include/pupa/term.h: Likewise.
36667 * include/pupa/types.h: Likewise.
36668 * include/pupa/i386/setjmp.h: Likewise.
36669 * include/pupa/i386/types.h: Likewise.
36670 * include/pupa/i386/pc/biosdisk.h: Likewise.
36671 * include/pupa/i386/pc/boot.h: Likewise.
36672 * include/pupa/i386/pc/console.h: Likewise.
36673 * include/pupa/i386/pc/init.h: Likewise.
36674 * include/pupa/i386/pc/kernel.h: Likewise.
36675 * include/pupa/i386/pc/linux.h: Likewise.
36676 * include/pupa/i386/pc/loader.h: Likewise.
36677 * include/pupa/i386/pc/memory.h: Likewise.
36678 * include/pupa/i386/pc/multiboot.h: Likewise.
36679 * include/pupa/i386/pc/partition.h: Likewise.
36680 * include/pupa/i386/pc/time.h: Likewise.
36681 * include/pupa/i386/pc/vga.h: Likewise.
36682 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36683 * include/pupa/util/getroot.h: Likewise.
36684 * include/pupa/util/misc.h: Likewise.
36685 * include/pupa/util/resolve.h: Likewise.
36686 * kern/device.c: Likewise.
36687 * kern/disk.c: Likewise.
36688 * kern/dl.c: Likewise.
36689 * kern/err.c: Likewise.
36690 * kern/file.c: Likewise.
36691 * kern/fs.c: Likewise.
36692 * kern/loader.c: Likewise.
36693 * kern/main.c: Likewise.
36694 * kern/misc.c: Likewise.
36695 * kern/mm.c: Likewise.
36696 * kern/rescue.c: Likewise.
36697 * kern/term.c: Likewise.
36698 * kern/i386/dl.c: Likewise.
36699 * kern/i386/pc/init.c: Likewise.
36700 * kern/i386/pc/lzo1x.S: Likewise.
36701 * kern/i386/pc/startup.S: Likewise.
36702 * loader/i386/pc/chainloader.c: Likewise.
36703 * loader/i386/pc/linux.c: Likewise.
36704 * loader/i386/pc/multiboot.c: Likewise.
36705 * normal/cmdline.c: Likewise.
36706 * normal/command.c: Likewise.
36707 * normal/main.c: Likewise.
36708 * normal/menu.c: Likewise.
36709 * normal/i386/setjmp.S: Likewise.
36710 * term/i386/pc/console.c: Likewise.
36711 * term/i386/pc/vga.c: Likewise.
36712 * util/console.c: Likewise.
36713 * util/genmoddep.c: Likewise.
36714 * util/misc.c: Likewise.
36715 * util/pupa-emu.c: Likewise.
36716 * util/resolve.c: Likewise.
36717 * util/unifont2pff.rb: Likewise.
36718 * util/i386/pc/biosdisk.c: Likewise.
36719 * util/i386/pc/getroot.c: Likewise.
36720 * util/i386/pc/pupa-mkimage.c: Likewise.
36721 * util/i386/pc/pupa-setup.c: Likewise.
36722
e6eced71 367232004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36724
36725 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36726 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36727 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36728 reading and reset it after reading.
36729 (pupa_ext2_close): Return PUPA_ERR_NONE.
36730
36731 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36732 Correct value.
36733 (struct linux_kernel_header): Add kernel_version and
36734 initrd_addr_max.
36735 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36736 pupa_file_read succeeds.
36737 (pupa_rescue_cmd_initrd): Implement.
36738
5aded270 367392003-12-03 Marco Gerards <metgerards@student.han.nl>
36740
36741 * fs/ext2.c (pupa_ext2_label): New function.
36742 (pupa_ext2_fs): Added label.
36743 * fs/fat.c (pupa_fat_label): New function.
36744 (pupa_fat_fs): Added label.
36745 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36746
36747 * kern/misc.c (pupa_strndup): New function.
36748 * include/pupa/misc.h (pupa_strndup): New prototype.
36749
36750 * include/pupa/normal.h: Include <pupa/err.h>.
36751 (pupa_set_history): New prototype.
36752 (pupa_iterate_commands): New prototype.
36753 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36754 <pupa/disk.h>, <pupa/file.h>.
36755 (hist_size): New variable.
36756 (hist_lines): Likewise.
36757 (hist_end): Likewise.
36758 (hist_used): Likewise.
36759 (pupa_set_history): New function.
36760 (pupa_history_get): Likewise.
36761 (pupa_history_add): Likewise.
36762 (pupa_history_replace): Likewise.
36763 (pupa_tab_complete): Likewise.
36764 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36765 completion shows partitionnames while completing partitions, this
36766 feature was suggested by Jeff Bailey.
36767 * normal/command.c (pupa_iterate_commands): New function.
36768 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36769 (pupa_normal_init): Initialize history buffer.
36770 (PUPA_MOD_INIT): Likewise.
36771 (pupa_normal_fini): Free the history buffer.
36772 (PUPA_MOD_FINI): Likewise.
36773
36774 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36775 key.
36776
36777 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36778 * configure.ac [i386]: Check for regparam bug.
36779 (NESTED_FUNC_ATTR) [! i386]: Defined.
36780
1f7315a3 367812003-11-17 Marco Gerards <metgerards@student.han.nl>
36782
36783 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36784 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36785 (pupa_emu_SOURCES): New variable.
36786 (pupa_emu_LDFLAGS): Likewise.
36787 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36788 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36789 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36790 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36791 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36792 (pupa_jmp_buf): New typedef.
36793 (pupa_setjmp) [PUPA_UTIL]: New macro.
36794 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36795 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36796 (pupa_refresh): New prototype.
36797 * include/pupa/util/getroot.h: New file.
36798 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36799 it.
36800 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36801 (pupa_rescue_cmd_cat): Likewise.
36802 (pupa_rescue_cmd_ls): Likewise.
36803 (pupa_rescue_cmd_testload): Likewise.
36804 (pupa_rescue_cmd_lsmod): Likewise.
36805 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36806 * normal/menu.c (run_menu): Likewise.
36807 * kern/term.c (pupa_cls): Likewise.
36808 (pupa_refresh): New function.
36809 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36810 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36811 * util/console.c: New file.
f19dbdb7 36812
1f7315a3 36813 * util/i386/pc/getroot.c: New file.
36814 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36815 (pupa_putchar): New function.
36816 (pupa_refresh): Likewise.
36817 (xgetcwd): Function moved to ...
36818 (strip_extra_slashes): Likewise.
36819 (get_prefix): Likewise.
f19dbdb7 36820 * util/i386/pc/getroot.c: ... here.
1f7315a3 36821 (find_root_device): Function moved and renamed to...
36822 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36823 Changed all callers.
36824 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36825 and renamed to...
36826 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36827 Changed all callers.
36828 * util/misc.c (pupa_memalign): New function.
36829 (pupa_mm_init_region): Likewise.
36830 (pupa_register_exported_symbols): Likewise.
36831 (pupa_putchar): Function removed.
36832 * util/pupa-emu.c: New file.
36833
9a5c1ade 368342003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36835
36836 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36837 (_multiboot_mod_SOURCES): New variable.
36838 (_multiboot_mod_CFLAGS): Likewise.
36839 * loader/i386/pc/multiboot.c: New file.
36840 * include/pupa/i386/pc/multiboot.h: Likewise.
36841 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36842 (pupa_multiboot_real_boot): New function.
36843 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36844 (pupa_multiboot_real_boot): New prototype.
36845 (pupa_rescue_cmd_multiboot): Likewise
36846 (pupa_rescue_cmd_module): Likewise.
36847
36848 * kern/loader.c (pupa_loader_set): Continue when
36849 pupa_loader_unload_func() fails.
36850 (pupa_loader_unset): New function.
36851 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36852
36853 * kern/misc.c (pupa_stpcpy): New function.
36854 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36855
8e72a9c0 368562003-11-12 Marco Gerards <metgerards@student.han.nl>
36857
36858 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36859 for available extensions.
36860
36861 * include/pupa/i386/pc/time.h: New file.
36862 * kern/disk.c: Include <pupa/machine/time.h>.
36863 (PUPA_CACHE_TIMEOUT): New macro.
36864 (pupa_last_time): New variable.
36865 (pupa_disk_open): Flush the cache when there was a timeout.
36866 (pupa_disk_close): Reset the timer.
36867 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36868 pupa_currticks.
36869 * util/misc.c: Include <sys/times.h>
36870 (pupa_get_rtc): New function.
36871
c4adbd32 368722003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36873
36874 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36875 as blocks.
36876 (pupa_ext2_get_file_block): Use blocks member.
36877
36878 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36879 first block. Return -1 instead of pupa_errno on error.
36880
bfd30f06 368812003-10-27 Marco Gerards <metgerards@student.han.nl>
36882
36883 * README: In the pupa-mkimage example use _chain instead of chain
36884 and ext2 instead of fat.
36885 * TODO: Replace ext2fs with jfs as an example. Add an item for
36886 adding journal playback for ext2fs.
36887 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36888 (pkgdata_MODULES): Added ext2.mod.
36889 (ext2_mod_SOURCES): New variable.
36890 (ext2_mod_CFLAGS): Likewise.
36891 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36892 * include/pupa/misc.h (pupa_strncpy): New prototype.
36893 (pupa_strcat): Likewise.
36894 (pupa_strncmp): Likewise.
36895 * kern/misc.c (pupa_strcat): Enable function.
36896 (pupa_strncpy): New function.
36897 (pupa_strncmp): Likewise.
36898 * fs/ext2.c: New file.
f19dbdb7 36899
bfd30f06 36900 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36901 when the read failed before retrying.
36902 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36903 (_FILE_OFFSET_BITS): Likewise.
36904 * configure.ac: Added AC_SYS_LARGEFILE.
36905
98d15063 369062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36907
36908 * genmk.rb (PModule#rule): Make sure to get only symbol names
36909 from the output of nm.
59cad637 36910 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 36911
18d9c7cd 369122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36913
36914 I forgot to check in these changes for a long time. This adds
36915 incomplete support for VGA console, and this is still very
36916 buggy. Also, a lot of consideration is required for I18N,
36917 UNICODE, and VGA font issues. Therefore, assume that this is
36918 such that "better than nothing".
f19dbdb7 36919
18d9c7cd 36920 * font/manager.c: New file.
36921 * include/pupa/font.h: Likewise.
36922 * include/pupa/i386/pc/vga.h: Likewise.
36923 * term/i386/pc/vga.c: Likewise.
36924 * util/unifont2pff.rb: Likewise.
36925
36926 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36927 (pkgdata_MODULES): Added vga.mod and font.mod.
36928 (vga_mod_SOURCES): New variables.
36929 (vga_mod_CFLAGS): Likewise.
36930 (font_mod_SOURCES): Likewise.
36931 (font_mod_CFLAGS): Likewise.
36932
36933 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36934
36935 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 36936 (struct pupa_term): Added init and fini.
18d9c7cd 36937 Changed the argument of putchar to pupa_uint32_t.
36938
36939 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36940 (pupa_console_real_putchar): New prototype.
36941 (pupa_console_putchar): Removed.
36942 (pupa_console_checkkey): Exported.
36943 (pupa_console_getkey): Likewise.
36944
36945 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36946 characters.
36947
36948 * kern/term.c (pupa_term_set_current): Rewritten.
36949 (pupa_putchar): Likewise.
36950 (pupa_putcode): New function.
36951
36952 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36953 (pupa_console_real_putchar): ... this.
36954 (pupa_vga_set_mode): New function.
36955 (pupa_vga_get_font): Likewise.
36956
36957 * normal/command.c: Include pupa/term.h.
36958 (terminal_command): New function.
36959 (pupa_command_init): Register the command "terminal".
36960
36961 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36962 (DISP_UP): Likewise.
36963 (DISP_RIGHT): Likewise.
36964 (DISP_DOWN): Likewise.
36965 (DISP_HLINE): Likewise.
36966 (DISP_VLINE): Likewise.
36967 (DISP_UL): Likewise.
36968 (DISP_UR): Likewise.
36969 (DISP_LL): Likewise.
36970 (DISP_LR): Likewise.
36971
36972 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 36973
977329f5 369742003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36975
36976 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36977 FIX. Reverse the path_list.
36978
36979 * include/pupa/normal.h: Export pupa_register_command and
36980 pupa_unregister_command.
36981
36982 * hello/hello.c (pupa_cmd_hello): New module.
36983 * conf/i386-pc.rmk: Added hello.mod.
36984
1f5ab428 369852003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36986
36987 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 36988
1f5ab428 36989 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36990 (compress_kernel): New variable.
36991 (generate_image): Heavily modified to support compressing a
36992 large part of the core image.
36993
36994 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36995 leak.
36996 (pupa_util_load_image): New function.
36997
36998 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36999 (pupa_compressed_size): New variable.
37000 (codestart): Enable Gate A20 here.
37001 Decompress the compressed part of the core image.
37002 Rearrange the code to put functions and variables which are
37003 required for initialization in the non-compressed part.
37004 Include lzo1x.S.
37005
37006 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
37007 here.
37008
37009 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
37010
f19dbdb7 37011 * include/pupa/i386/pc/kernel.h
1f5ab428 37012 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
37013 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
37014 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37015 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37016 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
37017
37018 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
37019
37020 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
37021 (Utility#rule): Likewise.
37022
37023 * configure.ac: Check if LZO is available.
37024
ce5bf700 370252003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
37026
37027 * include/pupa/normal.h: New file.
37028 * include/pupa/setjmp.h: Likewise.
37029 * include/pupa/i386/setjmp.h: Likewise.
37030 * normal/cmdline.c: Likewise.
37031 * normal/command.c: Likewise.
37032 * normal/main.c: Likewise.
37033 * normal/menu.c: Likewise.
37034 * normal/i386/setjmp.S: Likewise.
f19dbdb7 37035
ce5bf700 37036 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
37037 (pupa_rescue_cmd_initrd): Likewise.
37038
37039 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37040 Likewise.
37041
37042 * kern/i386/pc/startup.S (translation_table): New variable.
37043 (translate_keycode): New function.
37044 (pupa_console_getkey): Call translate_keycode.
37045
37046 * kern/rescue.c (attempt_normal_mode): New function.
37047 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37048 it failed, print a message.
37049
37050 * kern/mm.c (pupa_real_malloc): Print more information when a
37051 free magic is broken.
37052 (pupa_free): If the first free header is not free actually, set
37053 it to P.
37054
37055 * kern/main.c (pupa_load_normal_mode): Just load the module
37056 "normal".
37057 (pupa_main): Don't print the message
37058 "Entering into rescue mode..." here.
37059
37060 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37061 Declared.
37062 (pupa_rescue_cmd_initrd): Likewise.
37063 (pupa_rescue_cmd_initrd): Likewise.
37064
37065 * include/pupa/symbol.h (FUNCTION): Specify the type.
37066 (VARIABLE): Likewise.
37067
37068 * include/pupa/err.h (pupa_err_t): Added
37069 PUPA_ERR_UNKNOWN_COMMAND.
37070
37071 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37072 (pupa_dl_get_prefix): Likewise.
37073
37074 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37075 Added _chain.mod and _linux.mod instead of chain.mod and
37076 linux.mod.
37077 (chain_mod_SOURCES): Renamed to ...
37078 (_chain_mod_SOURCES): ... this.
37079 (chain_mod_CFLAGS): Renamed to ...
37080 (_chain_mod_CFLAGS): ... this.
37081 (linux_mod_SOURCES): Renamed to ...
37082 (_linux_mod_SOURCES): ... this.
37083 (linux_mod_CFLAGS): Renamed to ...
37084 (_linux_mod_CFLAGS): ... this.
37085 (normal_mod_SOURCES): New variable.
37086 (normal_mod_CFLAGS): Likewise.
37087 (normal_mod_ASFLAGS): Likewise.
37088
370892003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37090
37091 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37092 possible.
37093
fe6b695a 37094 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 37095 recursively.
37096 (pupa_dl_unref): Unrefer depending modules recursively.
37097 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37098 a module is unloaded before one depending on that module is
37099 unloaded.
37100 (pupa_dl_unload): Unload depending modules explicitly,
37101 if possible.
37102
c04da074 371032003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37104
37105 * include/pupa/i386/pc/linux.h: New file.
37106 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 37107
c04da074 37108 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37109 Removed.
37110 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37111 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37112 of PUPA_CHAINLOADER_BOOT_SECTOR.
37113
37114 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37115 (pupa_linux_prot_size): New variable.
37116 (pupa_linux_tmp_addr): Likewise.
37117 (pupa_linux_real_addr): Likewise.
37118 (pupa_linux_boot_zimage): New function.
37119 (pupa_linux_boot_bzimage): Likewise.
37120
37121 * kern/i386/pc/init.c (struct mem_region): New structure.
37122 (MAX_REGIONS): New macro.
37123 (mem_regions): New variable.
37124 (num_regions): Likewise.
37125 (pupa_os_area_addr): Likewise.
37126 (pupa_os_area_size): Likewise.
37127 (pupa_lower_mem): Likewise.
37128 (pupa_upper_mem): Likewise.
37129 (add_mem_region): New function.
37130 (compact_mem_regions): Likewise.
37131 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37132 the size of the conventional memory and that of so-called upper
37133 memory (before the first memory hole).
37134 Instead of adding each found region to free memory, use
37135 add_mem_region and add them after removing overlaps.
37136 Also, add only 1/4 of the upper memory to free memory. The rest
37137 is used for loading OS images. Maybe this is ad hoc, but this
37138 makes it much easier to relocate OS images when booting.
37139
37140 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37141 (pupa_enter_rescue_mode): Don't register initrd and module.
37142
37143 * kern/mm.c: Include pupa/dl.h.
37144
37145 * kern/main.c: Include pupa/file.h and pupa/device.h.
37146
37147 * kern/loader.c (pupa_loader_load_module_func): Removed.
37148 (pupa_loader_load_module): Likewise.
37149
37150 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37151 ``.o''.
37152
37153 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37154 (pupa_linux_tmp_addr): Likewise.
37155 (pupa_linux_real_addr): Likewise.
37156 (pupa_linux_boot_zimage): Likewise.
37157 (pupa_linux_boot_bzimage): Likewise.
37158
37159 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37160 (pupa_upper_mem): Likewise.
37161 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37162 module is too dangerous.
37163
37164 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37165 (pupa_os_area_size): Likewise.
37166 (pupa_loader_set): Remove the first argument. Loader doesn't
37167 manage modules or initrd any longer.
37168 (pupa_loader_load_module): Removed.
37169
37170 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37171 (linux_mod_SOURCES): New variable.
37172 (linux_mod_CFLAGS): Likewise.
37173
a13f9237 371742003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37175
37176 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37177 the length of a blocklist correctly.
37178
37179 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37180 Use ioctl only if the OS file is a block device.
37181 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37182 not very useful for normal files.
37183
37184 * kern/main.c (pupa_set_root_dev): New function.
37185 (pupa_load_normal_mode): Likewise.
37186 (pupa_main): Call those above.
37187
37188 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37189 pupa_uint16_t.
37190
37191 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37192
a5ffe966 371932003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37194
37195 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37196 (setup): Configure the installed partition information and the
37197 dl prefix.
37198
37199 * loader/i386/pc/chainloader.c (my_mod): New variable.
37200 (pupa_chainloader_unload): New function.
37201 (pupa_rescue_cmd_chainloader): Refer itself.
37202 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37203
37204 * kern/i386/pc/startup.S (install_partition): Removed.
37205 (version_string): Likewise.
37206 (config_file): Likewise.
37207 (pupa_install_dos_part): New variable.
37208 (pupa_install_bsd_part): Likewise.
37209 (pupa_prefix): Likewise.
37210 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37211
37212 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37213 and pupa/misc.h.
37214 (make_install_device): New function.
37215 (pupa_machine_init): Set the dl prefix.
37216
37217 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37218 (buf): Renamed to ...
37219 (linebuf): ... this.
37220 (pupa_rescue_cmd_prefix): New function.
37221 (pupa_rescue_cmd_insmod): Likewise.
37222 (pupa_rescue_cmd_rmmod): Likewise.
37223 (pupa_rescue_cmd_lsmod): Likewise.
37224 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37225 rmmod and lsmod.
37226
37227 * kern/mm.c (pupa_memalign): If failed even after invalidating
37228 disk caches, unload unneeded modules and retry.
37229
37230 * kern/misc.c (pupa_memmove): New function.
37231 (pupa_memcpy): Removed.
37232 (pupa_strcpy): New function.
37233 (pupa_itoa): Made static.
37234
37235 * kern/dl.c (pupa_dl_iterate): New function.
37236 (pupa_dl_ref): Likewise.
37237 (pupa_dl_unref): Likewise.
37238 (pupa_dl_unload): Return if succeeded or not.
37239 (pupa_dl_unload_unneeded): New function.
37240 (pupa_dl_unload_all): Likewise.
37241 (pupa_dl_init): Renamed to ...
37242 (pupa_dl_set_prefix): ... this.
37243 (pupa_dl_get_prefix): New function.
37244
37245 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37246 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37247 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37248 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37249 (pupa_install_dos_part): Declared.
37250 (pupa_install_bsd_part): Likewise.
37251 (pupa_prefix): Likewise.
37252 (pupa_boot_drive): Likewise.
37253
37254 * include/pupa/types.h: Fix a typo.
37255
37256 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37257 pupa_memmove.
37258 (pupa_memmove): Declared.
37259 (pupa_strcpy): Likewise.
37260
37261 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37262 pupa_mod_init takes one argument, its own module.
37263 (pupa_dl_unload_unneeded): Declared.
37264 (pupa_dl_unload_all): Likewise.
37265 (pupa_dl_ref): Likewise.
37266 (pupa_dl_unref): Likewise.
37267 (pupa_dl_iterate): Likewise.
37268 (pupa_dl_init): Renamed to ...
37269 (pupa_dl_set_prefix): ... this.
37270 (pupa_dl_get_prefix): Declared.
37271
37272 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 37273 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 37274 unloaded.
37275 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37276 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37277
37278 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37279 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37280
012d7999 372812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37282
37283 * util/i386/pc/pupa-setup.c (setup): Define the internal
37284 function find_first_partition_start at the top level, because GCC
37285 3.0.x cannot compile internal functions in deeper scopes
37286 correctly.
37287 (find_root_device): Use lstat instead of stat.
37288 Don't follow symbolic links.
37289 Fix the path-constructing code.
37290
37291 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37292 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37293 by a BLKGETSIZE ioctl first, because block devices don't fill
37294 the member st_mode of the structure stat on Linux.
37295 [__linux__] (linux_find_partition): Use a temporary buffer
37296 REAL_DEV for the working space. Copy it to DEV before returning.
37297 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37298 buffer cache consistent.
37299 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37300 strncmp. The previous value was merely wrong.
37301 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37302
37303 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37304 FAT size is 12. The previous value was merely wrong.
37305
37306 * kern/main.c (pupa_main): Don't split the starting message from
37307 newlines.
37308
37309 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37310 LF, because BIOS goes crazy about character attributes in this
37311 case.
37312
1cc73a62 373132003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37314
37315 * include/i386/pc/util/biosdisk.h: New file.
37316 * util/i386/pc/biosdisk.c: Likewise.
37317 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 37318
1cc73a62 37319 * Makefile.in (INCLUDE_DISTFILES): Added
37320 include/pupa/i386/pc/util/biosdisk.h.
37321 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37322 directory util/i386/pc.
37323 (install-local): Added a rule for sbin_UTILITIES.
37324 (uninstall): Likewise.
37325
37326 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37327
37328 * util/misc.c (xrealloc): New function.
37329 (pupa_malloc): Likewise.
37330 (pupa_free): Likewise.
37331 (pupa_realloc): Likewise.
37332 (pupa_stop): Likewise.
37333 (pupa_putchar): Likewise.
37334
37335 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37336
37337 * include/pupa/util/misc.h (xrealloc): Declared.
37338
37339 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37340 macro.
37341 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37342 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37343
37344 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37345 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37346
37347 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37348 way should be implemented.
37349 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37350
37351 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37352 the size of NAME for safety.
37353 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37354 0x88.
37355
37356 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37357 (pupa_setup_SOURCES): Likewise.
37358
37359 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37360
08b70fe8 373612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37362
37363 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37364 bunch of pushl's from pusha, because this destroys the return
37365 value.
37366
62ddcc8f 373672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37368
37369 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37370 This means that any missing prototypes could be fatal. Also, you
37371 must take care when writing assembly code. See the comments at
37372 the beginning of startup.S, for more details.
f19dbdb7 37373
62ddcc8f 37374 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37375 compilation mechanism.
37376 (pupa_chainloader_real_boot): Likewise.
37377 (pupa_biosdisk_rw_int13_extensions): Likewise.
37378 (pupa_biosdisk_rw_standard): Likewise.
37379 (pupa_biosdisk_check_int13_extensions): Likewise.
37380 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37381 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37382 (pupa_get_memsize): Likewise.
37383 (pupa_get_mmap_entry): Likewise.
37384 (pupa_console_putchar): Likewise.
37385 (pupa_console_setcursor): Likewise.
37386 (pupa_getrtsecs): Use pushl instead of push.
37387
37388 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37389 memory instead of the stack for a mmap entry, because some
37390 BIOSes may ignore the maximum size and overflow.
37391
37392 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37393
37394 * genmk.rb (PModule#rule): Compile automatically generated
37395 sources with module-specific CFLAGS as well as other sources.
37396
9962ed99 373972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37398
37399 * configure.ac: Check ld.
37400 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37401 respectively, before checking endianness and sizes.
37402
37403 * Makefile.in (LD): New variable.
f19dbdb7 37404
abdfc3c5 374052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37406
37407 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37408
6a161fa9 374092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37410
37411 * Changelog: New file.
37412