]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
[grub2.git] / ChangeLog
CommitLineData
91a1a164
TH
12011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2
3 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4 loader.
5
2ded951e
AB
62011-09-28 Andreas Born <futur.andy@googlemail.com>
7
8 Fix incorrect identifiers in bash-completion.
9
10 * util/bash-completion.d/grub-completion.bash.in
11 (_grub_mkpasswd-pbkdf2): Rename to ...
12 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13 (_grub_script-check): Rename to ...
14 (_grub_script_check): ... this. All users updated.
15
69915030
VS
162011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
19 Return 0 if disk isn't biosdisk.
20
20fd15f9
GS
212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
22
23 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
24 on NetBSD.
25 * Makefile.util.def (grub-fstest): Likewise.
26
1a7d7db9
GS
272011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
28
29 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
30 Get sector size from disk label.
31
2221ab6c
CW
322011-09-05 Colin Watson <cjwatson@ubuntu.com>
33
34 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
35 */README* as well as README*.
36 Reported by: Axel Beckert.
37
ca51c4a0
VS
382011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
41 case of less than 256 MiB of RAM.
42
ab80f326
VS
432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/commands/wildcard.c (make_regex): Handle @.
46
4155e697
VS
472011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/grub-install.in: Move cryptodisk logic to appropriate place.
50
ab178c08
SJ
512011-08-21 Szymon Janc <szymon@janc.net.pl>
52
53 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
54 AC_LANG_CONFTEST macros.
55
7dc3c686
SJ
562011-08-20 Szymon Janc <szymon@janc.net.pl>
57
58 Add grub-fstest option to uncompress data for commands.
59
60 * util/grub-fstest.c (uncompress): New var.
61 (options): New option -u.
62
fe8d4a7b
SJ
632011-08-20 Szymon Janc <szymon@janc.net.pl>
64
65 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
66 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
67
a5219af1
SJ
682011-08-20 Szymon Janc <szymon@janc.net.pl>
69
70 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
71 file type was not recognized correctly (not gzip or corrupted).
72
f87abff5
VS
732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
76 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
77
d94497ea
VS
782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
81 loongson.
82 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
83 video_radeon_fuloong2e.
84 * grub-core/video/radeon_fuloong2e.c: New file.
85 * include/grub/video.h (grub_video_id_t): Add new ID
86 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
87
0d1fd011
VS
882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
91 define.
92 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
93 that PRID matches the detected subplatform and reset the subplatform
94 if it doesn't.
95
84beb0ee
VS
962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
99
1227c133
VS
1002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Fix PCI iterating on functions >= 4.
103
104 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
105 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
106 Removed.
107 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
108 (grub_pci_read): Fix bitmask.
109 (grub_pci_read_word): Likewise.
110 (grub_pci_read_byte): Likewise.
111 (grub_pci_write): Likewise.
112 (grub_pci_write_word): Likewise.
113 (grub_pci_write_byte): Likewise.
114
9594c689
VS
1152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
118 can still be specified in TARGET_CFLAGS)
119
14a2562c
VS
1202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
123
124 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
125 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
126 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
127 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
128 (FULOONG): Rename to ...
129 (FULOONG2F): ... this. All users updated.
130 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
131 (machtype_fuloong2f_str): ... this.
132 (machtype_fuloong2e_str): New string.
133 Check for machtype_fuloong2e_str.
134 * grub-core/loader/mips/linux.c (loongson_machtypes)
135 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
136 * grub-core/term/serial.c (loongson_defserial)
137 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
138 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
139 loongson_defserial.
140 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
141 Rename to ...
142 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
143 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
144 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
145 to IMAGE_FULOONG2F_FLASH. All users updated.
146 (image_targets): Rename images.
147 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
148
b526cbb6
SJ
1492011-08-19 Szymon Janc <szymon@janc.net.pl>
150
151 Make enable of disk cache statistics code configurable.
152
153 * configure.ac: --enable-cache-stats added.
154 * config.h.in (DISK_CACHE_STATS): New define.
155 * grub-core/Makefile.core.def (cacheinfo): New command.
156 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
157 * grub-core/commands/cacheinfo.c: New file.
158 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
159 moved to cacheinfo.c.
160 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
161 debug code.
162 * include/grub/disk.h: Likewise.
163
fb739ccd
SJ
1642011-08-19 Szymon Janc <szymon@janc.net.pl>
165
166 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
167 * grub-core/Makefile.am: Likewise.
168
2bba8cfd
VS
1692011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
172 non-zero pull.
173
43526629
VS
1742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
177 All users updated.
178 (grub_jfs_lookup_symlink): Use correct starting inode.
179
5c144cc8
VS
1802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * util/grub-setup.c (main): Add missing gcry initialisation.
183
b1257f65
VS
1842011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
185
186 Don't accept text modes on EFI when booting Linux.
187
188 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
189 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
190
828bc390
ML
1912011-08-15 Mario Limonciello <mario_limonciello@dell.com>
1922011-08-15 Colin Watson <cjwatson@ubuntu.com>
193
194 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
195 use of "/path/.." as in grub-install for EFI as well as handling
196 symlinks correctly.
197 Fixes Debian bug #637768.
198
5f60ccac
CW
1992011-08-15 Colin Watson <cjwatson@ubuntu.com>
200
201 * util/grub-probe.c: Remove duplicate #include.
202
6dc212f9
RM
2032011-08-10 Robert Millan <rmh@gnu.org>
204
205 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
206
207 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
208 function.
209 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
210 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
211
66816d85
RM
2122011-08-03 Robert Millan <rmh@gnu.org>
213
214 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
215 la_array as packed.
216 Reported by: Zachary Bedell
217
20168fca
CW
2182011-07-26 Colin Watson <cjwatson@ubuntu.com>
219
220 * configure.ac: The Loongson port requires grub-mkfont due to its
221 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
222 be built.
223
303b6246
CW
2242011-07-26 Colin Watson <cjwatson@ubuntu.com>
225
226 * util/grub-install.in: Don't source grub-mkconfig_lib until after
227 processing arguments (otherwise help2man fails when GRUB has not yet
228 been installed).
229
6795300e
VS
2302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
231
41aa28ea
VS
232 New script grub-mkstandalone.
233
234 * Makefile.util.def (grub-mkstandalone): New script.
235 * docs/man/grub-mkstandalone.h2m: New file.
236 * util/grub-mkstandalone.in: Likewise.
237
2382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Support ATA disks with 4K sectors.
6795300e
VS
241
242 * include/grub/ata.h (grub_ata): New member log_sector_size.
243 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
244 (grub_ata_identify): Read sector size.
245 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
246
92227597
VS
2472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/grub-install.in: Don't use uhci outside of x86.
250
c77069f5
VS
2512011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-mkrescue.in: Add missing quotes.
254
2552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
256
257 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
258 dereference.
259
583168a2
VS
2602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
263
6be1c01f
VS
2642011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * include/grub/video.h: add missing EXPORT_FUND on
267 grub_video_edid_checksum and grub_video_edid_preferred_mode.
268
a1167439
VS
2692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * include/grub/mips/kernel.h: Fix define conflict.
272
bf66054f
VS
2732011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
276 all four ways.
277
8fc4fa45
CW
2782011-07-21 Colin Watson <cjwatson@ubuntu.com>
279
280 Preferred resolution detection for VBE.
281
282 * grub-core/video/video.c (grub_video_edid_checksum): New function.
283 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
284 the Flat Panel extension, in line with the X.org VESA driver.
285 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
286 New function.
287 (grub_vbe_bios_get_ddc_capabilities): Likewise.
288 (grub_vbe_bios_read_edid): Likewise.
289 (grub_vbe_get_preferred_mode): Likewise.
290 (grub_video_vbe_setup): When the mode is "auto", try to get the
291 preferred mode from VBE, and use the largest mode that is no larger
292 than the preferred mode (some BIOSes expose a preferred mode that is
293 not in their mode list!). If this fails, fall back to 640x480 as a
294 safe conservative choice.
295 (grub_video_vbe_get_edid): New function.
296 (grub_video_vbe_adapter): Add get_edid.
297 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
298 (struct grub_video_adapter): Add get_edid.
299 (grub_video_edid_checksum): Add prototype.
300 (grub_video_edid_preferred_mode): Likewise.
301 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
302 structure.
303
304 * grub-core/commands/videoinfo.c (print_edid): New function.
305 (grub_cmd_videoinfo): Print EDID if available.
306
307 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
308 is more appropriate on a wider range of platforms than 640x480.
309 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
310 documentation.
311
ca5572a9
VS
3122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
315
e4bcf625
VS
3162011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * po/POTFILES.in: Regenerate.
319
c4edd548
VS
3202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
323 incorrect memory usage.
324
16a2bab0
VS
3252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub-install.in: Source grub-mkconfig_lib.
328
2e418de6
VS
3292011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Remove getroot.c from core on emu platform.
332
333 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
334 kern/emu/raid.c.
335 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
336 useless.
337 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
338 * util/getroot.c (get_win32_path): ... here.
339 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
340 * util/getroot.c (fini_libzfs): ... here.
341 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
342 * util/getroot.c (grub_get_libzfs_handle): ... here.
343 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
344 Moved from here...
345 * util/getroot.c (grub_find_zpool_from_dir): ... here.
346 * grub-core/kern/emu/misc.c
347 (grub_make_system_path_relative_to_its_root): Moved from here...
348 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
349 * grub-core/kern/emu/getroot.c: Moved from here ...
350 * util/getroot.c: ... here. All users updated.
351 * grub-core/kern/emu/raid.c: Moved from here ...
352 * util/raid.c: ... here. All users updated.
353
def9832a
VS
3542011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * po/POTFILES.in: Regenerate.
357
cd8fe79a
VS
3582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
359
360 Fix compilation on GNU/Linux.
361
362 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
363 Disable geli.
364 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
365 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
366 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
367
a251b719
VS
3682011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3692011-07-07 Michael Gorven <michael@gorven.za.net>
3702011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
371
372 LUKS and GELI support.
373
374 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
375 grub-core/disk/luks.c, grub-core/disk/geli.c,
376 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
377 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
378 grub-core/lib/arg.c.
379 (libgrubmods.a): Remove gcrypts cflags and cppflags.
380 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
381 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
382 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
383 (grub-bin2h): Add libgcry.a.
384 (grub-mkimage): Likewise.
385 (grub-mkrelpath): Likewise.
386 (grub-script-check): Likewise.
387 (grub-editenv): Likewise.
388 (grub-mkpasswd-pbkdf2): Likewise.
389 (grub-pe2elf): Likewise.
390 (grub-fstest): Likewise.
391 (grub-mkfont): Likewise.
392 (grub-mkdevicemap): Likewise.
393 (grub-probe): Likewise.
394 (grub-ofpath): Likewise.
395 (grub-mklayout): Likewise.
396 (example_unit_test): Likewise.
397 (grub-menulst2cfg): Likewise.
398 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
399 * grub-core/Makefile.core.def (cryptodisk): New module.
400 (luks): Likewise.
401 (geli): Likewise.
402 * grub-core/disk/AFSplitter.c: New file.
403 * grub-core/disk/cryptodisk.c: Likewise.
404 * grub-core/disk/geli.c: Likewise.
405 * grub-core/disk/luks.c: Likewise.
406 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
407 grub_util_is_lvm.
408 (grub_util_get_dm_abstraction): New function.
409 (grub_util_follow_gpart_up): Likewise.
410 (grub_util_get_geom_abstraction): Likewise.
411 (grub_util_get_dev_abstraction): Use new functions.
412 (grub_util_pull_device): Pull GELI and LUKS.
413 (grub_util_get_grub_dev): Handle LUKS and GELI.
414 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
415 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
416 (follow_geom_up): Removed.
417 (grub_util_fd_seek): New function.
418 (open_device): Use grub_util_fd_seek.
419 (nread): Rename to ..
420 (grub_util_fd_read): ... this. All users updated.
421 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
422 (grub_crypto_cbc_decrypt): Likewise.
423 (grub_crypto_hmac_write): Likewise.
424 (grub_crypto_hmac_buffer): Likewise.
425 (grub_password_get): Extend to util.
426 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
427 New member modname.
428 (gcry_md_spec) [GRUB_UTIL]: Likewise.
429 * include/grub/cryptodisk.h: New file.
430 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
431 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
432 LUKS and GELI.
433 (grub_util_follow_gpart_up): New proto.
434 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
435 (grub_util_fd_read): Likewise.
436 (grub_cryptodisk_cheat_mount): Likewise.
437 (grub_util_cryptodisk_print_uuid): Likewise.
438 (grub_util_get_fd_sectors): Likewise.
439 * util/grub-fstest.c (mount_crypt): New var.
440 (fstest): Mount crypto if requested.
441 (options): New option -C.
442 (argp_parser): Parse -C.
443 (main): Init and fini gcry.
444 * util/grub-install.in: Support cryptodisk install.
445 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
446 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
447 cryptodisk.
448 (prepare_grub_to_access_device): Likewise.
449 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
450 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
451 (probe_cryptodisk_uuid): New function.
452 (probe_abstraction): Likewise.
453 (probe): Use new functions.
454 * util/import_gcry.py: Create Makefile.utilgcry.def.
455 Add modname member.
456
9bfdcbbc
VS
4572011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
458
459 Lazy device scanning.
460
461 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
462 (grub-setup): Remove util/raid.c.
463 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
464 * grub-core/disk/lvm.c (scan_depth): New variable.
465 (grub_lvm_iterate): Rescan if necessary.
466 (find_lv): New function based on grub_lvm_open.
467 (grub_lvm_open): Use find_lv. Rescan on error.
468 (is_node_readable): New function.
469 (is_lv_readable): Likewise.
470 (grub_lvm_scan_device): Skip already found disks.
471 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
472 Stop if searched device is found and readable.
473 * grub-core/disk/raid.c (inscnt): New variable.
474 (scan_depth): Likewise.
475 (scan_devices): New function based on grub_raid_register. Abort if
476 looked for device is found.
477 (grub_raid_iterate): Rescan if needed.
478 (find_array): NEw function based on -grub_raid_open.
479 (grub_raid_open): Use find_array and rescan.
480 (insert_array): Set became_readable_at.
481 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
482 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
483 New function.
484 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
485 (grub_util_pull_device): New function.
486 (grub_util_get_grub_dev): Call grub_util_pull_device.
487 * util/raid.c: Moved to ..
488 * grub-core/kern/emu/raid.c: ... here.
489 (grub_util_raid_getmembers): New parameter "bootable".
490 All users updated. Support 1.x.
491 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
492 All users updated.
493 * include/grub/disk.h (grub_disk_pull_t): New enum.
494 (grub_disk_dev): Change iterate prototype.
495 All users updated.
496 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
497 New proto.
498 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
499 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
500 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
501 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
502 All users updated.
503 * include/grub/util/raid.h: Removed.
504
1c358e59
VS
5052011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * po/POTFILES.in: Regenerate.
508
abee94ed
VS
5092011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Unify sparc init with other ieee1275.
512
513 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
514 instead of kern/sparc64/ieee1275/init.c.
515 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
516 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
517 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
518 grub/machine/kernel.h.
519 (grub_ieee1275_original_stack) [__sparc__]: New variable.
520 (grub_claim_heap) [__sparc__]: Use sparc version.
521 (grub_machine_init): Moved args parsing to
522 (grub_parse_cmdline): ...this.
523 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
524 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
525 New definition.
526 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
527
528 Move BOOTP to separate file.
529
530 * grub-core/Makefile.core.def (net): Add net/bootp.c.
531 * grub-core/net/net.c: Move all BOOTP functions to
532 * grub-core/net/bootp.c: ... here.
533
534 Use frame interface on PXE.
535
536 * grub-core/Makefile.core.def (pxecmd): Removed.
537 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
538 * grub-core/commands/i386/pc/pxecmd.c: Removed.
539 * grub-core/i386/pc/pxe.c: Moved from here ...
540 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
541 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
542 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
543
544 EFI network support.
545
546 * grub-core/Makefile.core.def (efinet): New module.
547 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
548 here...
549 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
550 All users updated.
551 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
552 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
553 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
554 * grub-core/net/drivers/efi/efinet.c: New file.
555 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
556 (grub_efi_net_config): New extern var.
557
558 Various cleanups and bugfixes.
559
560 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
561 error.
562 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
563 disk declared as partition.
564 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
565 leak on failure.
566 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
567 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
568 (grub_debug_zalloc): Likewise.
569 (grub_debug_realloc): Likewise.
570 (grub_debug_memalign): Likewise.
571 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
572 Check that target is IPv4.
573 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
574 local-mac-address as fallback.
575 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
576 memory leak.
577 * grub-core/net/ip.c (ipchksum): Rename to ...
578 (grub_net_ip_chksum): ... this. All users updated.
579 (grub_net_recv_ip_packets): Special handling for DHCP.
580 * util/grub-mkimage.c (generate_image): Zero-out aout header.
581
582 Unify prefix handling
583
584 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
585 (grub_machine_get_bootlocation): ... this.
586 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
587 (grub_machine_get_bootlocation): ... this.
588 (grub_prefix): New variable.
589 (prefix): Removed.
590 (root_dev): New variable.
591 (dir): Likewise.
592 (main): Use new variables.
593 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
594 Revamped into ...
595 (grub_machine_get_bootlocation): ... this.
596 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
597 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
598 (grub_machine_get_bootlocation): ... this.
599 (grub_machine_set_prefix): Removed.
600 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
601 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
602 Revamped into ...
603 (grub_machine_get_bootlocation): ... this.
604 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
605 (grub_set_prefix_and_root): ... this. All users updated.
606 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
607 Revamped into ...
608 (grub_machine_get_bootlocation): ... this.
609 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
610 (grub_machine_get_bootlocation): New proto.
611 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
612
613 Less intrusive and more reliable seek on network implementation.
614
615 * grub-core/kern/file.c (grub_file_net_seek): Removed.
616 (grub_file_seek): Don't call grub_file_net_seek.
617 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
618 (grub_net_fs_read_real): .. this.
619 (grub_net_seek_real): Use net->offset.
620 (grub_net_fs_read): Seek if necessary.
621
622 Unify IEEE1275 netwotk config with the other platforms.
623
624 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
625 New variable.
626 (grub_machine_get_bootlocation): Support network.
627 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
628 Support type and device parsing.
629 (grub_ieee1275_get_device_type): New function.
630 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
631 into ...
632 (grub_ieee1275_net_config_real): ... this.
633 (grub_ofnet_probecards): Removed.
634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
635 * include/grub/ieee1275/ofnet.h: Removed.
636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
637 extern var.
638 (grub_ieee1275_get_device_type): New function.
639
640 Unify network device closing across platforms and make more robust.
641
642 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
643 grub_grubnet_fini.
644 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
645 already.
646 * grub-core/net/net.c (grub_net_network_level_interface_register):
647 Update num_ifaces.
648 (grub_net_card_unregister): Close all interfaces.
649 (receive_packets): Don't poll if no iterfaces are registered.
650 Open if necessary.
651 (grub_net_fini_hw): New function.
652 (grub_net_restore_hw): Likewise.
653 (fini_hnd): New variable.
654 (GRUB_MOD_INIT): Register preboot hook.
655 (GRUB_MOD_FINI): Run and unregister preboot hook.
656
657 Poll network cards when idle.
658
659 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
660 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
661 * grub-core/net/net.c (receive_packets): Save last poll time.
662 (grub_net_poll_cards_idle_real): New function.
663 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
664 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
665 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
666
667 Rename ofnet interfaces.
668
669 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
670 (grub_ofnet_findcards): Use ofnet_%s names.
671
672 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
673
674 Cleanup socket opening.
675
676 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
677 (grub_net_fs_close): Likewise.
678 (grub_net_fs_read_real): Use eof member.
679 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
680 (+grub_net_udp_close): New inline function.
681
682 * include/grub/net/tftp.h: Moved to the top of ...
683 * grub-core/net/tftp.c: ... here.
684 * include/grub/net/ip.h: Moved mostly to the top of ...
685 * grub-core/net/ip.c: ... here.
686 * include/grub/net/ethernet.h: Moved mostly to the top of ...
687 * grub-core/net/ethernet.c: ... here.
688
689 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
690
691 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
692 FS name.
693
694 * include/grub/net/ip.h (ipv4_ini): Removed.
695 (ipv4_fini): Likewise.
696
697 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
698 (grub_net_send_ip_packets): Likewise.
699
cf1337aa
VS
7002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
703 grub_read_cmos prototype.
704
93c06ff9
VS
7052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
706
707 VGA text support in qemu-mips
708
709 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
710 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
711 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
712 text.
713 * grub-core/kern/i386/qemu/init.c: Renamed to ...
714 * grub-core/kern/vga_init.c: ... this.
715 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
716 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
717 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
718 Adjust.
719 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
720 GRUB_MACHINE_PCI_IO_BASE.
721
748ccabe
VS
7222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
723
724 MIPS qemu flash support.
725
726 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
727 magic.
728 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
729 (grub_machine_init): Probe memory if its size isn't known.
730 * util/grub-mkimage.c (image_targets): Add flash targets.
731 (generate_image): Handle flash targets.
732
d7345994
VS
7332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
734
735 MIPS qemu at_keyboard support.
736
737 * gentpl.py (videoinkernel): Add qemu-mips.
738 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
739 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
740 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
741 modules.
742 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
743 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
744 * grub-core/term/serial.c (grub_serial_register)
745 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
746
a07a81b3
VS
7472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
748
749 CMOS support on sparc.
750
751 * gentpl.py (cmos): Add powerpc and sparc.
752 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
753 powerpc and sparc.
754 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
755 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
756 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
757 grub_set_datetime_cmos.
758 * grub-core/lib/ieee1275/cmos.c: New file.
759 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
760 (find_rtc): Set no_ieee1275_rtc on error.
761 (grub_get_datetime): Call grub_get_datetime_cmos on error.
762 (grub_set_datetime): Call grub_set_datetime_cmos on error.
763 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
764 fail. Move value to argument. All users updated
765 (grub_cmos_write): Likewise.
766 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
767 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
768 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
769 grub_get_datetime_cmos and grub_set_datetime_cmos.
770
77546584
GS
7712011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
772
773 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
774 sourcing grub-mkconfig_lib.
775 * util/update-grub_lib.in: Likewise.
776 * util/grub.d/00_header.in: Likewise.
777 * util/grub.d/10_hurd.in: Likewise.
778 * util/grub.d/10_kfreebsd.in: Likewise.
779 * util/grub.d/10_linux.in: Likewise.
780 * util/grub.d/10_netbsd.in: Likewise.
781 * util/grub.d/10_windows.in: Likewise.
782 * util/grub.d/20_linux_xen.in: Likewise.
783 * util/grub.d/30_os-prober.in: Likewise.
784
54894791
CW
7852011-06-28 Colin Watson <cjwatson@ubuntu.com>
786
787 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
788 default_bg_color rather than black.
789 (grub_gfxterm_fullscreen): Likewise.
790 (grub_gfxterm_background_color_cmd): Save new background color in
791 default_bg_color.
792
8d5d8444
VS
7932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
796
5afeb5bd
VS
7972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
800 mismerge.
801
ba7df45e
VS
8022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Chainloading on coreboot support.
805
806 * grub-core/Makefile.core.def (chain): Add coreboot.
807 * grub-core/loader/i386/coreboot/chainloader.c: New file.
808
d0b526b2
VS
8092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
812 if it happens.
813
5ff1d945
VS
8142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Implement time command.
817
818 * grub-core/Makefile.core.def (time): New module.
819 * grub-core/commands/time.c: New file.
820 * grub-core/script/parser.y: Remove "time" keyword.
821 * grub-core/script/yylex.l: Likewise.
822
5ebaad7e
VS
8232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
826
bdea3798
VS
8272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
830 when handling leftovers.
831
b28c5655
VS
8322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
835 so that help2man doesn't fail.
836
b6f945dc
VS
8372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
840 type in pointers on sparc64.
841 (get_card_packet): Likewise.
842
f9b75e8a
CW
8432011-06-27 Colin Watson <cjwatson@ubuntu.com>
844
845 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
846 with `*'.
847 (grub_cmd_videoinfo): Fetch current video mode.
848
1e3d9b86
VS
8492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
852 because of underlying system restrictions.
853
efff4b1c
VS
8542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
857 necessary.
858
9fc9ce37
VS
8592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Coreboot video support.
862
863 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
864 (vbe): Likewise.
865 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
866 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
867 here ...
868 * grub-core/kern/i386/int.S: ... here.
869 * grub-core/video/i386/pc/vbe.c: Updated includes.
870 * grub-core/video/i386/pc/vga.c: Likewise.
871 * include/grub/i386/coreboot/memory.h
872 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
873 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
874 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
875 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
876 Disable interrupts.
877 * include/grub/i386/pc/vga.h: Removed. All users updated.
878
41bec7fe
VS
8792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
882 definitions for dprintf.
883 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
884
ca80309d
VS
8852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
888 prototype.
889 (get_card_packet): Likewise.
890
9e322ce8
YB
8912011-06-26 Yves Blusseau <blusseau@zetam.org>
892
893 Display the path of the file when file is not found
894
895 * grub-core/fs/fat.c: Display the filename when file is not found.
896 * grub-core/fs/fshelp.c: Likewise.
897 * grub-core/fs/hfs.c: Likewise.
898 * grub-core/fs/jfs.c: Likewise.
899 * grub-core/fs/minix.c: Likewise.
900 * grub-core/fs/ufs.c: Likewise.
901 * grub-core/fs/btrfs.c: Likewise.
902 * grub-core/commands/i386/pc/play.c: Likewise.
903
cbf597af
SJ
9042011-06-26 Szymon Janc <szymon@janc.net.pl>
905
906 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
907 pointer checks before calling grub_free().
908 * grub-core/commands/wildcard.c (match_devices): Likewise.
909 * grub-core/commands/wildcard.c (match_files): Likewise.
910 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
911 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
912 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
913 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
914 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
915 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
916 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
917 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
918 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
919
6295b32f
P
9202011-06-25 Patrick <p55@mailinator.com>
921
922 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
923
77c0840b
VS
9242011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
927 (grub_pxe_send): Likewise.
928 (GRUB_MOD_INIT): Fix types.
929
40ea05de
SJ
9302011-06-24 Szymon Janc <szymon@janc.net.pl>
931
932 * grub-core/io/xzio.c: Fix code style issues
933
90162423
MRA
9342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9352011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
936
937 Network infrastructure.
938 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
939
940 * include/grub/net/arp.h: New file.
90162423
MRA
941 * include/grub/net/device.h: Likewise.
942 * include/grub/net/ethernet.h: Likewise.
943 * include/grub/net/ip.h: Likewise.
944 * include/grub/net/netbuff.h: Likewise.
945 * include/grub/net/tftp.h: Likewise.
946 * include/grub/net/udp.h: Likewise.
947 * include/grub/ieee1275/ofnet.h: Likewise.
948 * include/grub/emu/export.h: Likewise.
949 * include/grub/net.h: Likewise.
950 * grub-core/net/arp.c: Likewise.
951 * grub-core/net/ethernet.c: Likewise.
952 * grub-core/net/ip.c: Likewise.
953 * grub-core/net/udp.c: Likewise.
954 * grub-core/net/tftp.c: Likewise.
955 * grub-core/net/netbuff.c: Likewise.
956 * grub-core/net/net.c: Likewise.
957 * grub-core/net/drivers/emu/emunet.c: Likewise.
958 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
959 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
960 export.h.
961 * grub-core/Makefile.core.def (net): New module.
962 (tftp): Likewise.
963 (ofnet): Likewise.
964 (emunet): Likewise.
965 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
966 network protocols.
967 * grub-core/kern/device.c (grub_net_open) : New variable.
968 (grub_device_open): Handle network device.
969 (grub_device_close): Likewise.
970 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
971 (grub_grubnet_fini): Likewise.
972 (grub_file_seek): Seek in network device.
973 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
974 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
975 network root.
976 (grub_machine_fini): Call grub_grubnet_fini.
977 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
978 network.
979 (grub_ieee1275_get_aliasdevname): New function.
980 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
981 Add unofficial Solaris network info.
982 (grub_multiboot_make_mbi): Likewise.
983 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
984 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
985 * include/grub/device.h (grub_fs): Removed.
986 * include/grub/err.h (grub_err_t): Add network-related values.
987 * include/grub/i386/pc/pxe.h: Removed bootp parts.
988 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
989 (grub_ieee1275_get_aliasdevname): New proto.
990 * include/grub/net.h: Rewritten.
423a1849 991
031f22a0
VS
9922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
995 names.
996
4388ca72
VS
9972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1000 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1001 it truncates the output.
1002 Reported by: Ximin Luo.
1003
98e2f506
VS
10042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1007
2a5e94d8
VS
10082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1011 partmap before abstraction.
1012
535c1910
AK
10132011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1014
1015 * util/grub-mkconfig_lib.in: Add missing quotes.
1016
bc09e1a2
VS
10172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1020 old method if mountinfo would return /dev/root and /dev/root doesn't
1021 exist.
1022
290766fb
VS
10232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 ZFS zlib support
1026
1027 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1028 (decomp_table): Add zlib entries.
1029 (zio_read): USe 8 bits for compression function rather than 3.
1030 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1031
10322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/disk/ahci.c: Add missing license statements.
1035 * grub-core/fs/romfs.c: Likewise.
1036 * grub-core/lib/ia64/setjmp.S: Likewise.
1037 * grub-core/loader/i386/pc/freedos.c: Likewise.
1038 * grub-core/loader/ia64/efi/linux.c: Likewise.
1039 * grub-core/video/colors.c: Likewise.
1040 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1041
5ab3f48a
VS
10422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 AHCI support.
1045
1046 * grub-core/Makefile.core.def (ata_pthru): Removed.
1047 (ahci): New module.
1048 (pata): Likewise.
1049 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1050 on unload.
1051 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1052 readwrite.
1053 (grub_hdparm_do_check_powermode_cmd): Likewise.
1054 (grub_hdparm_do_smart_cmd): Likewise.
1055 (grub_hdparm_set_val_cmd): Likewise.
1056 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1057 * grub-core/disk/ahci.c: New file.
1058 * grub-core/disk/ata.c: Factor out the low-level part into ...
1059 * grub-core/disk/pata.c: ... here.
1060 * grub-core/disk/ata_pthru.c: Contents moved to ...
1061 * grub-core/disk/pata.c: ... here.
1062 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1063 (grub_scsi_iterate): Use grub_scsi_names.
1064 (grub_scsi_open): Likewise.
1065 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1066 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1067 (grub_ata_regs_t): New struct.
1068 (grub_disk_ata_pass_through_parms): Likewise.
1069 (grub_ata_device): Renamed to ...
1070 (grub_ata): ... this.
1071 (grub_ata_dev): New struct.
1072 Removed all low-level inline functions.
1073 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1074 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1075 iterate hooks and open. All users updated.
1076 * util/grub-install.in: Handle AHCI disk module.
1077
c31dc5f5
SJ
10782011-06-23 Szymon Janc <szymon@janc.net.pl>
1079
1080 Add support for DRI and RSTn markers in JPEG files.
1081
1082 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1083 (JPEG_MARKER_RST0): Likewise.
1084 (JPEG_MARKER_RST1): Likewise.
1085 (JPEG_MARKER_RST2): Likewise.
1086 (JPEG_MARKER_RST3): Likewise.
1087 (JPEG_MARKER_RST4): Likewise.
1088 (JPEG_MARKER_RST5): Likewise.
1089 (JPEG_MARKER_RST6): Likewise.
1090 (JPEG_MARKER_RST7): Likewise.
1091 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1092 (grub_jpeg_decode_dri): New function.
1093 (grub_jpeg_decode_sos): Move image data related part into
1094 grub_jpeg_decode_data function.
1095 (grub_jpeg_decode_data): New function.
1096 (grub_jpeg_reset): New function.
1097 (grub_jpeg_decode_jpeg): Handle new markers.
1098
fe12fd5b
VS
10992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * util/ieee1275/ofpath.c (check_sas): Close fd.
1102 (main): Free of_path.
1103 Reported by: David Volgyes <dvolgyes>.
1104
03147f46
VS
11052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1108 Reported by: David Volgyes <dvolgyes>.
1109
cad3237f
VS
11102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1113 file after stat.
1114 Reported by: David Volgyes <dvolgyes>.
1115
13548d26
VS
11162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1119
1120 Reported by: David Volgyes <dvolgyes>.
1121
e061a1b5
VS
11222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1125 Prevent memory leak.
1126
1abe47dc
VS
11272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1130 (main): Close file.
e061a1b5 1131 Reported by: David Volgyes <dvolgyes>.
1abe47dc 1132
fbc62666
VS
11332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1136 to continue if allocation is failed.
1137
1138 Reported by: David Volgyes <dvolgyes>.
1139
e98c83e9
DV
11402011-06-23 David Volgyes <dvolgyes>
1141
1142 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1143 dereference.
1144
a199a8cd
VS
11452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Fix spurious warning.
1148
1149 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1150 (acorn_partition_map_find): Use .bin member.
1151
e2d1dba0
VS
11522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1155 /dev/root as a valid device.
1156
8a5d6919
JM
11572011-06-23 Jim Meyering <meyering@redhat.com>
1158
e2d1dba0
VS
1159 Avoid NULL deref in grub_device_open.
1160
8a5d6919
JM
1161 * grub-core/kern/device.c (grub_device_open): Don't dereference
1162 a NULL pointer upon failed grub_env_get.
1163
f7db6f4a
VS
11642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Support non-512B sectors and agglomerate reads.
1167
1168 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1169 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1170 (disk_io_guid): Removed.
1171 (make_devices): Locate solely by BlockIO.
1172 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1173 (grub_efidisk_read): Use read_blocks.
1174 (grub_efidisk_write): Use write_blocks.
1175 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1176 log_sector_size.
1177 (get_safe_sectors): Handle non-512B sectors.
1178 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1179 sectors.
1180 (grub_biosdisk_write): Handle non-512B sectors.
1181 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1182 (grub_scsi_read): Remove special non-512B block handling (now handled
1183 one level up).
1184 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1185 and do sanity checks.
1186 (grub_disk_adjust_range): Handle non-512B sectors.
1187 (transform_sector): New function.
1188 (grub_disk_read_small): Likewise.
1189 (grub_disk_read): Rewritten.
1190 (grub_disk_write): Handle non-512B sectors.
1191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1192 log_sector_size.
1193 (open_device): Use log_sector_size.
1194 (grub_util_biosdisk_read): Likewise.
1195 (grub_util_biosdisk_write): Likewise.
1196 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1197 non-512B sectors.
1198 (pc_partition_map_embed): Likewise.
1199 * include/grub/disk.h (grub_disk): New field log_sector_size.
1200 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1201 (GRUB_DISK_CACHE_BITS): Increased to 6.
1202 * util/grub-fstest.c (fstest): New command testload.
1203 (argp_parser): Likewise.
1204
881ac815
RM
12052011-06-16 Robert Millan <rmh@gnu.org>
1206
1207 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1208 `ata' driver on kernel of FreeBSD 9.
1209
1210 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1211 (get_ataraid_disk_name): New functions.
1212 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1213 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1214 get_ataraid_disk_name() and get_ada_disk_name().
1215
1e9aef7d
CW
12162011-06-13 Colin Watson <cjwatson@ubuntu.com>
1217
1218 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1219 input format.
1220
351c7c8a
CW
12212011-05-29 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1224 `ftp.gnu.org' for `alpha.gnu.org'.
1225
6b4e6430
CW
12262011-05-27 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1229 partitions under /dev/disk/by-id/.
1230
c64db050
CW
12312011-05-27 Colin Watson <cjwatson@ubuntu.com>
1232
1233 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1234 after ten consecutive open failures. Scanning all the way up to
1235 10000 is excessive and can cause serious performance problems in
1236 some configurations.
1237 Fixes Ubuntu bug #787461.
1238
245f4aba
VS
12392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1242 opening new one.
1243
f767c929
VS
12442011-05-21 Colin Watson <cjwatson@ubuntu.com>
12452011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Don't stat devices unless we have to.
1248
1249 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1250 dir == /dev/mapper.
1251 (grub_guess_root_device): Use already known os_dev if possible.
1252 * grub-core/kern/emu/hostdisk.c
1253 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1254 if device is known to be a dm one.
1255
f35fa3a6
CW
12562011-05-20 Colin Watson <cjwatson@ubuntu.com>
1257
1258 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1259 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1260 Reported by: Pawel Tecza.
1261
9a79fcf2
VS
12622011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1265 (lsefisystab): Likewise.
1266 (lssal): Likewise.
1267 (lsefimmap): Likewise.
1268 (hdparm): Enable on qemu-mips.
1269 (setjmp): Add ia64 nodist.
1270 (serial): Simplify tags.
1271
63e3eea9
CW
12722011-05-18 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * Makefile.util.def (grub-ofpathname): Install manual page.
1275
09728256
CW
12762011-05-18 Colin Watson <cjwatson@ubuntu.com>
1277
1278 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1279
8b63a142
CW
12802011-05-18 Colin Watson <cjwatson@ubuntu.com>
1281
1282 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1283
e775d8ed
VS
12842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1287 into dprintf.
1288
bf947d36
VS
12892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 Use full 64-bit division.
1292
1293 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1294 (grub_divmod64): ... this.
1295 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1296 version.
1297
b84f26c5
CW
12982011-05-18 Colin Watson <cjwatson@ubuntu.com>
1299
1300 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1301 `source'.
1302
5626056f
CW
13032011-05-18 Colin Watson <cjwatson@ubuntu.com>
1304
1305 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1306 to avoid accidents when debugging with 'sh -x'.
1307 * grub-core/gensyminfo.sh.in: Likewise.
1308 * tests/example_scripted_test.in: Likewise.
1309 * tests/grub_cmd_regexp.in: Likewise.
1310 * tests/grub_script_blanklines.in: Likewise.
1311 * tests/grub_script_dollar.in: Likewise.
1312 * tests/grub_script_expansion.in: Likewise.
1313 * tests/grub_script_final_semicolon.in: Likewise.
1314 * tests/partmap_test.in: Likewise.
1315 * tests/util/grub-shell-tester.in: Likewise.
1316 * tests/util/grub-shell.in: Likewise.
1317
e2965f4a
CW
13182011-05-18 Colin Watson <cjwatson@ubuntu.com>
1319
1320 Move gfxmenu color handling to video, so that gfxterm can use it
1321 too.
1322
1323 * grub-core/gfxmenu/named_colors.c: Move to ...
1324 * grub-core/video/colors.c: ... here. Rename
1325 grub_gui_get_named_color to grub_video_get_named_color.
1326 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1327 * grub-core/video/colors.c (my_isxdigit): ... here.
1328 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1329 Move to ...
1330 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1331 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1332 to ...
1333 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1334
1335 * include/grub/gui.h (grub_gui_color_t): Move to ...
1336 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1337 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1338 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1339 * include/grub/gui.h (grub_gui_map_color): Move to ...
1340 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1341 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1342 to ...
1343 * include/grub/video.h (grub_video_get_named_color): ... here.
1344 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1345 * include/grub/video.h (grub_video_parse_color): ... here.
1346
1347 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1348 video/colors.c.
1349 (gfxmenu): Remove gfxmenu/named_colors.c.
1350 (video) [videomodules]: Add video/colors.c.
1351
1352 Add a background_color command.
1353
1354 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1355 function.
1356 (GRUB_MOD_INIT): Register background_color command.
1357 (GRUB_MOD_FINI): Unregister background_color command.
1358 (redraw_screen_rect): Allow blend/replace of text layer to be
1359 controlled independently from whether there is a background bitmap.
1360 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1361 changing bitmap.
1362
1e4b4390
VS
13632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1364
26618ff0
VS
1365 Patch BPB in ntldr and chainloader --bpb.
1366
1e4b4390
VS
1367 * grub-core/fs/fat.c: Include grub/fat.h.
1368 (grub_fat_bpb): Moved to ...
1369 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1370 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1371 grub/ntfs.h.
1372 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1373 Moved from here...
1374 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1375 here.
1376 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1377 New function.
1378 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1379 (GRUB_MOD_INIT): Show --bpb.
1380 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1381 * grub-core/normal/main.c (features): New variable.
1382 (GRUB_MOD_INIT): Set feature_* variables.
1383 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1384 proto.
1385 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1386
cf02731e
VS
13872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1390 for cleanness.
1391
e3a1073f
VS
13922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 FreeDOS direct loading support.
1395
1396 * docs/grub.texi (Supported OS): Add FreeDOS.
1397 * grub-core/Makefile.core.def (freedos): New module.
1398 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1399 variable.
1400 (grub_relocator16_boot): Handle %ebx.
1401 * grub-core/lib/i386/relocator16.S: Likewise.
1402 * grub-core/loader/i386/pc/freedos.c: New file.
1403
05caa461
VS
14042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Long Linux command line support.
1407
1408 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1409 (maximal_cmdline_size): New variable.
1410 (allocate_pages): Use maximal_cmdline_size.
1411 (grub_cmd_linux): Set and use maximal_cmdline_size.
1412 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1413 (allocate_pages): Use maximal_cmdline_size.
1414 (grub_cmd_linux): Set and use maximal_cmdline_size.
1415 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1416 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1417 and cmdline_size.
1418
a2491e23
VS
14192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14202011-05-18 Colin Watson <cjwatson@ubuntu.com>
1421
1422 Improve devmapper support
1423
1424 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1425 (grub_util_is_lvm): New function.
1426 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1427 than lvm if not dmraid.
1428 Handle mapped md nodes.
1429 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1430 (grub_util_device_is_mapped): ... this. Make always available. All users
1431 updated.
1432 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1433 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1434 dmraid nodes.
1435 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1436
6ad6223e
VS
14372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1440
1441 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1442 * grub-core/modinfo.sh.in: New file.
1443 * grub-core/Makefile.core.def (modinfo.sh): New script.
1444 * util/grub-mknetdir.in: Use modinfo.sh.
1445 * util/grub-mkrescue.in: Likewise.
1446
543a8f6e
VS
14472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1450 Fix potential usage of Elf32 instead of Elf64 when compiling on
1451 32-bit architecture. Add endianness macros while on it.
1452
4959e111
VS
14532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Use mipsel- rather than mips- in directories involving mipsel ports to
1456 allow both endiannesses coexist.
1457
1458 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1459 mips. All conditions adjusted.
1460 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1461 variable.
1462 * util/grub-install.in: Adjust conditions to take renaming into account.
1463 * util/grub-mkimage.c (image_targets): Likewise. New target
1464 mips-qemu_mips-elf for bigendian mips.
1465
35341bbc
VS
14662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 Avoid unnecessary copying on MIPS.
1469
1470 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1471 early if src == dest.
1472 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1473 compression is none.
1474
b772baed
VS
14752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Reduce memory footprint on SGI by putting modules before the kernel
1478 as opposed to after.
1479
1480 * grub-core/Makefile.core.def (kernel): Increase linking address.
1481 (none_decompress): Likewise.
1482 (xz_decompress): Likewise.
1483 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1484 address.
1485 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1486 layout change.
1487 (grub_arch_modules_addr): New function.
1488 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1489 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1490 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1491 here.
1492 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1493 (grub_total_modules_size): ... this. Make global.
1494 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1495 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1496 New definition.
1497 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1498 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1499 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1500 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1501 * util/grub-mkimage.c (image_target_desc): New flag
1502 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1503 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1504 (generate_image): Handle images with modules before kernel.
1505
566a1917
VS
15062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 Prevent potential loss of memory map by overwrite on qemu-mips.
1509
1510 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1511 Save ram size in $s4.
1512 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1513 All users changed to grub_arch_memsize.
1514 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1515 Loongson.
1516 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1517 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1518 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1519 external variable.
1520
5d420cd9
CW
15212011-05-17 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * .bzrignore: Remove grub-dumpbios.
1524
d064b830
CW
15252011-05-17 Colin Watson <cjwatson@ubuntu.com>
1526
1527 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1528 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1529 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1530 existing options which append).
1531 * docs/grub.texi (Simple configuration): Document new options.
1532 Reported by: Ian Jackson. Fixes Debian bug #617538.
1533
3ca2b466
CW
15342011-05-17 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * util/grub-fstest.c (cmd_cat): New function.
1537 (fstest): Handle CMD_CAT.
1538 (options): Add cat.
1539 (argp_parser): Handle cat.
1540
24c9143a
CW
15412011-05-17 Colin Watson <cjwatson@ubuntu.com>
1542
1543 * Makefile.util.def (grub-bin2h): Don't install.
1544 * docs/man/grub-bin2h.h2m: Remove.
1545
90f7ac19
VS
15462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1549 place.
1550
8d4a5178
VS
15512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Reenable qemu-mips port.
1554
1555 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1556 Fix small arc bug while on it.
1557 * gentpl.py: Handle qemu_mips.
1558 * grub-core/Makefile.am: Likewise.
1559 * grub-core/Makefile.core.def: Likewise.
1560 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1561 inappropriate includes.
1562 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1563 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1564 * grub-core/kern/main.c (grub_modules_get_end)
1565 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1566 * grub-core/kern/mips/qemu-mips: Moved to ..
1567 * grub-core/kern/mips/qemu_mips: ... this.
1568 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1569 (grub_machine_init): Call terminfo_init and serial_init.
1570 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1571 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1572 New variable.
1573 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1574 parameter passing.
1575 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1576 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1577 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1578 * include/grub/mips/qemu_mips/cmos.h: New file.
1579 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1580 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1581 Removed.
1582 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1583 Use correct mips-style address.
1584 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1585 (GRUB_TICKS_PER_SECOND): Removed.
1586 (grub_get_rtc): Likewise.
1587 (grub_cpu_idle): Likewise.
1588 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1589 New definition.
1590 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1591 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1592 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1593 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1594 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1596 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1597 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1598
400b9371
VS
15992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 SGI ARCS port.
1602
1603 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1604 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1605 platforms.
1606 * configure.ac: New target mips-arc.
1607 * gentpl.py: Likewise.
1608 * grub-core/Makefile.am: Likewise.
1609 * grub-core/Makefile.core.def: Likewise.
1610 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1611 (none_decompress): Likewise.
1612 (lsdev): New module.
1613 (datetime): Use lib/arc/datetime.c on ARC.
1614 (part_dvh): New module.
1615 * grub-core/commands/arc/lsdev.c: New file.
1616 * grub-core/disk/arc/arcdisk.c: Likewise.
1617 * grub-core/kern/mips/arc/init.c: Likewise.
1618 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1619 aligned addresses.
1620 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1621 support.
1622 (grub_arch_dl_relocate_symbols): Likewise.
1623 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1624 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1625 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1626 platforms.
1627 * grub-core/lib/arc/datetime.c: New file.
1628 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1629 pci.h on non-loongson.
1630 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1631 (grub_linux_boot): Set unused registers to 0.
1632 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1633 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1634 * grub-core/mmap/mips/uppermem.c: ...here.
1635 * grub-core/partmap/dvh.c: New file.
1636 * grub-core/term/arc/console.c: Likewise.
1637 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1638 (grub_terminfo_set_current): Add terminal "arc".
1639 (grub_terminfo_readkey): Support ARC sequences.
1640 * include/grub/arc/arc.h: New file.
1641 * include/grub/arc/console.h: Likewise.
1642 * include/grub/disk.h (grub_disk_dev_id): Add
1643 GRUB_DISK_DEVICE_ARCDISK_ID.
1644 * include/grub/mips/arc/kernel.h: New file.
1645 * include/grub/mips/arc/memory.h: Likewise.
1646 * include/grub/mips/arc/time.h: Likewise.
1647 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1648 * include/grub/mips/kernel.h (grub_halt): ... here.
1649 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1650 here...
1651 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1652 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1653 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1654 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1655 proto.
1656 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1657 from here ...
1658 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1659 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1660 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1661 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1662 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1663 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1664 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1665 (grub_phys_addr_t): Moved from here ...
1666 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1667 (grub_vtop): Moved from here ...
1668 * include/grub/mips/memory.h (grub_vtop): ... here.
1669 (grub_map_memory): Moved from here ...
1670 * include/grub/mips/memory.h (grub_map_memory): ... here.
1671 (grub_unmap_memory): Moved from here ...
1672 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1673 (grub_machine_mmap_iterate): Moved from here ...
1674 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1675 (grub_mmap_get_lower): Moved from here ...
1676 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1677 (grub_mmap_get_upper): Moved from here ...
1678 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1679 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1680 here ...
1681 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1682 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1683 here ...
1684 * include/grub/mips/time.h (grub_get_rtc): ... here.
1685 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1686 here ...
1687 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1688 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1689 here ...
1690 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1691 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1692 definition.
1693 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1694 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1695 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1696 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1697 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1698 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1699 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1700 (GRUB_MACHINE_LINK_ADDR): Likewise.
1701 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1702 to 6.
1703 * util/grub-install.in: Run dvhtool on ARC.
1704 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 1705 (generate_image): Handle ECOFF output for mips-arc.
400b9371 1706
c8ecc840
VS
17072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1710 blocks.
1711
153a4b55
VS
17122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1715 after enabling port.
1716
ff44d107
VS
17172011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Skip incorrect USB devices.
1720
1721 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1722 configcnt == 0.
1723 * include/grub/usb.h (grub_usb_err_t): New enum value
1724 GRUB_USB_ERR_BADDEVICE.
1725
638dbe4f
VS
17262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 Fuloong video init support.
1729
1730 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1731 well.
1732 (grub_vga_read_arx): New function.
1733 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1734 definition.
1735 (framebuffer): New members io, mmioptr and mmiobase.
1736 (read_sis_cmd): New function.
1737 (write_sis_cmd): Likewise.
1738 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1739 rather than 640x400.
1740 * grub-core/video/sis315_init.c: New file.
1741
c3fc520c
VS
17422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1745 non-loongson.
1746 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1747 to grub_dl_register_symbol.
1748
67b1e5c9
VS
17492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 Fix compilation errors.
1752
1753 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1754 potentially unused.
1755 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1756 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1757 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1758 to loongson machines.
1759
b756f75f
VS
17602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Several FS mtime support.
1763
1764 * grub-core/fs/affs.c (grub_affs_time): New struct.
1765 (grub_affs_file): New field mtime.
1766 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1767 type. Removed 'size'. New field 'di'. All users updated.
1768 (grub_affs_mount): Simplify checsum checking.
1769 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1770 (grub_affs_dir): Handle mtime.
1771 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1772 (grub_cpio_dir): Likewise.
1773 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1774 (grub_hfs_filerec): New field mtime.
1775 (grub_hfs_dir): Handle mtime.
1776 (grub_hfs_mtime): New function.
1777 (grub_hfs_fs): Register grub_hfs_mtime.
1778 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1779 (grub_iso9660_dir): New field mtime.
1780 (grub_fshelp_node): New field dirent.
1781 (iso9660_to_unixtime): New function.
1782 (iso9660_to_unixtime2): Likewise.
1783 (grub_iso9660_read_symlink): Use node->dirent.
1784 (grub_iso9660_iterate_dir): Likewise.
1785 (grub_iso9660_dir): Set mtime.
1786 (grub_iso9660_mtime): New function.
1787 (grub_iso9660_fs): Register grub_iso9660_mtime.
1788 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1789 (grub_jfs_inode): New fields atime, ctime and mtime.
1790 (grub_jfs_dir): Set mtime.
1791 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1792 * grub-core/fs/ntfs.c (list_file): Set mtime.
1793 (grub_ntfs_dir): Likewise.
1794 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1795 (grub_reiserfs_iterate_dir): Set mtime.
1796 (grub_reiserfs_dir): Likewise.
1797 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1798 (grub_fshelp_node): Likewise.
1799 (grub_sfs_iterate_dir): Set mtime.
1800 (grub_sfs_dir): Likewise.
1801 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1802 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1803 (grub_xfs_inode): New fields atime, mtime, ctime.
1804 (grub_xfs_dir): Set mtime.
1805 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1806 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1807 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1808
1809 Support UDF symlinks.
1810
1811 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1812 (grub_ufs_read_symlink): New function. All users updated.
1813
1814 Check amiga partmap checksum.
1815
1816 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1817 (grub_amiga_partition): Likewise.
1818 (amiga_partition_map_checksum): New function.
1819 (amiga_partition_map_iterate): Check checksum.
1820
5470225d
VS
18212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 ROMFS support.
1824
1825 * Makefile.util.def (libgrubmods.a): Add romfs.
1826 * grub-core/Makefile.core.def (romfs): New module.
1827 * grub-core/fs/romfs.c: New file.
1828
d4680a35
VS
18292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Squashfs v4 support.
1832
1833 * Makefile.util.def (libgrubmods.a): Add squash4.
1834 * grub-core/Makefile.core.def (squash4): New module.
1835 * grub-core/fs/squash4.c: New file.
1836 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1837 disk_input_start, disk_input.
1838 (get_byte): Handle disk_input.
1839 (grub_zlib_disk_read): New function.
1840 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1841
bcb18e74
FZ
18422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18432011-05-15 Feiran Zheng <famcool@gmail.com>
1844
1845 * Makefile.util.def (libgrubmods.a): Add minix3.
1846 * grub-core/Makefile.core.def (minix3): New module.
1847 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1848 (GRUB_MINIX_BSIZE): Removed.
1849 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1850 (grub_minix_ino_t): New type.
1851 (grub_minix_le_to_cpu_ino): New macro.
1852 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1853 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1854 (grub_minix_data): New field block_size.
1855 (grub_minix_read_file): Handle 64-bit correctly.
1856 * grub-core/fs/minix3.c: New file.
1857
32297d5f
TG
18582011-05-15 Tristan Gingold <gingold@free.fr>
18592011-05-15 Robert Millan <rmh.grub@aybabtu.com>
18602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 IA64 support.
1863
1864 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1865 * configure.ac: Add ia64-efi target.
1866 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1867 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1868 * gentpl.py: Add ia64_efi platform.
1869 Rename x86_efi to efi and Add ia64-efi. All users updated.
1870 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1871 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1872 Remove kern/generic/rtc_get_time_ms.c on EFI.
1873 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1874 kern/ia64/dl_helper.c on ia64-efi.
1875 Add kern/emu/cache.c on emu.
1876 (linux): Use on loader/ia64/efi/linux.c on ia64.
1877 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1878 whether symbol is a function.
1879 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1880 (grub_symbol): New field 'isfunc'.
1881 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1882 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1883 (grub_dl_load_segments): Place all sections into the same region.
1884 [__ia64__]: Create trampolines and got.
1885 [GRUB_MACHINE_EMU]: Call mprotect.
1886 (grub_dl_resolve_symbols): Resolve symbol type as well.
1887 [__ia64__]: Create function descriptors.
1888 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1889 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1890 (grub_get_rtc): New function.
1891 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1892 * grub-core/kern/emu/cache.S: Renamed to ...
1893 * grub-core/kern/emu/cache_s.S: ... this.
1894 [__ia64__]: Add a nop.
1895 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1896 [__ia64__]: New function.
1897 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1898 * grub-core/kern/ia64/dl.c: New file.
1899 * grub-core/kern/ia64/dl_helper.c: Likewise.
1900 * grub-core/kern/ia64/efi/init.c: New file.
1901 * grub-core/kern/ia64/efi/startup.S: Likewise.
1902 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1903 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1904 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1905 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1906 * grub-core/loader/ia64/efi/linux.c: New file.
1907 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1908 (GRUB_MOD_DEP): Likewise.
1909 (grub_dl) [__ia64__]: New fields got and tramp.
1910 (grub_dl): New field 'base'.
1911 (grub_dl_register_symbol): New argument isfunc. All users updated.
1912 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1913 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1914 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1915 (grub_ia64_dl_get_tramp_got_size): New proto.
1916 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1917 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1918 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1919 * include/grub/efi/api.h: Skip call wrappers on ia64.
1920 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1921 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1922 * include/grub/elf.h (ELF_ST_INFO): New definition.
1923 * include/grub/ia64/efi/kernel.h: New file.
1924 * include/grub/ia64/efi/memory.h: Likewise.
1925 * include/grub/ia64/efi/time.h: Likewise.
1926 * include/grub/ia64/kernel.h: Likewise.
1927 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1928 * include/grub/ia64/time.h: New file.
1929 * include/grub/ia64/types.h: Likewise.
1930 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1931 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1932 New protos.
1933 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1934 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1935 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1936 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1937 All users updated.
1938 (EFI64_HEADER_SIZE): New definition. All users updated.
1939 (image_targets): Add ia64-efi.
1940 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1941 jumpers_addr. All users updated.
1942 Create function descriptors.
1943 (count_funcs): New function.
1944 (unaligned_uint32): New struct.
1945 (MASK20): New definition.
1946 (MASK19): Likewise.
1947 (MASKF21): Likewise.
1948 (add_value_to_slot_20b): New function.
1949 (add_value_to_slot_21_real): Likewise.
1950 (add_value_to_slot_21): Likewise.
1951 (ia64_kernel_trampoline): New struct.
1952 (nopm): New variable.
1953 (jump): Likewise.
1954 (make_trampoline): New function.
1955 (relocate_addresses): Handle ia64.
1956 (make_reloc_section): Likewise.
1957 (load_image): Likewise.
1958
983b414d
VS
19592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
1962 warning. Move variables before code while on it.
1963
5d063cdc
VS
19642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Fuloong support.
1967
1968 * configure.ac: Rename yeeloong platform to loongson. All users updated.
1969 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
1970 * grub-core/boot/mips/loongson/fuloong.S: New file.
1971 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
1972 Explicitly init CS5536.
1973 [FULOONG]: Don't use serial until CS5536 is available.
1974 Set GPIO based on dumps.
1975 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
1976 [FULOONG]: Handle GPIO and memory controller differences.
1977 Parse machine type in $a2.
1978 * grub-core/boot/mips/startup_raw.S: Determine and save the
1979 architecture.
1980 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
1981 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
1982 init on architecture type.
1983 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1984 SIS315E. Don't init at_keyboard on fuloong.
1985 (grub_halt): Support Fuloong.
1986 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
1987 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
1988 (loongson_machtypes): New array.
1989 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
1990 type.
1991 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
1992 config. All users updated. Handle CS5536 serial.
1993 * grub-core/term/serial.c (grub_serial_register): Conditionalise
1994 default port on machine type. Register serial as inactive.
1995 * grub-core/video/sis315pro.c: New file.
1996 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
1997 definition.
1998 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
1999 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2000 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2001 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2002 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2003 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2004 to ...
2005 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2006 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2007 definition.
2008 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2009 (grub_arch_machine): New extern var.
2010 * include/grub/mips/loongson/serial.h
2011 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2012 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2013 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2014 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2015 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2016 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2017 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2018 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2019 * include/grub/term.h (grub_term_register_input_inactive): New inline
2020 function.
2021 (grub_term_register_output_inactive): Likewise.
2022 * include/grub/video.h (grub_video_driver_id): New value
2023 GRUB_VIDEO_DRIVER_SIS315PRO.
2024 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2025 New field "names". All users updated.
2026 New field value IMAGE_FULOONG_FLASH.
2027 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2028
6ada82d1
JU
20292011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2030
2031 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2032 and add some clarification.
2033
90c571a4
VS
20342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2037 platforms if kernel is compressed.
2038
de04eecf
VS
20392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2042 unused modules since currently referrence counter isn't reliable and
2043 there isn't much memory to recover there anyway.
2044
57688121
VS
20452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2048 rather than resetting it to allow modules to reference themselves
2049 in init.
2050
3d2c7e35
VS
20512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2054 counter on dependencies since grub_dl_unref already handles this.
2055
b25db218
VS
20562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2059 on error if not already done.
2060
25a45338
VS
20612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Fix few potential memory misusage.
2064
2065 * grub-core/font/font.c (load_font_index): Don't free char_index to
2066 avoid double free.
b25db218
VS
2067 (grub_font_load): Zero-fill font at alloc for safety.
2068 Close file on error.
2069 (free_font): Free bmp_idx.
25a45338 2070
0cac83df
VS
20712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * docs/grub.texi (Installation): Fix several outdated claims.
2074
2217a143
VS
20752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Handle module_license on windows.
2078
2079 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2080 sections shifted.
2081 (insert_string): Make argument const char * instead of char *.
2082 (write_section_data): Handle long section names.
2083 Handle module_license.
2084
d4de6b01
VS
20852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2088 handle class-free menuentries.
2089 (grub_normal_add_menu_entry): Add a check to be sure.
2090
4c2a3b43
VS
20912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2094 PgUp and PgDown.
2095
85c6210f
VS
20962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * configure.ac: Bump version to 1.99.
2099
36084912
VS
21002011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 Give ATA device a bit more time on first try in order to allow disks
2103 to spin up.
2104
2105 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2106 if dev->present is 1. Reset dev->present on failure.
2107 (grub_ata_device_initialize): Set dev->present to 1.
2108 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2109 (grub_ata_device): New member 'present'.
2110
bda0e219
VS
21112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * util/grub-mkimage.c (generate_image): Update hash.
2114
19e1c41b
VS
21152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Flush caches on DMA memory.
2118
2119 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2120 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2121 (grub_dma_free): Likewise.
2122 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2123
91bbcc0c
VS
21242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2127 to avoid asm treating ld and sd as macros.
2128
60ddfad3
VS
21292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2132 decompressor.
2133
a298aa04
VS
21342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2137 grub_decompress_core since later would fail if grub_decompress_core
2138 is too far.
2139
9b44feca
VS
21402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2143 R_MIPS_JALR since it's used by newer compiler.
2144
56dbe7b4
VS
21452011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2148
52856af2
VS
21492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2152 file_path to 0 for surety.
2153 (grub_chainloader_boot): Set exit_data to NULL.
2154 Unset the loader once done.
2155 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2156
9c9bfc6d
VS
21572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2160 unknown key into a dprintf.
2161
dd94a3df
VS
21622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2165 on first non-existant partition.
2166
fa68d99c
VS
21672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2170 openning fails.
2171 Reported by: Mark Korenberg.
2172
157effb7
VS
21732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2176 overflow.
2177
ea75312f
VS
21782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2181 before closing to ensure that it will be readable by grub-setup.
2182
072b5d31
VS
21832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2186 (devpath_1): Use MAKE_PIWG_PATH.
2187 (devpath_2): Likewise.
2188 (devpath_3): Likewise.
2189 (devpath_4): Likewise.
2190 (devpath_5): Likewise.
2191 (devpath_6): Likewise.
2192
2193 The appleldr.mod was checked that to be binary identical to previous
2194 version.
2195
7fae0051
Z
21962011-05-05 Zach <mikezackles>
2197
2198 Support 2010 Macbooks.
2199
2200 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2201 (devs): Add devpath_6.
2202
7c515bee
VS
22032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2206 /dev/random. /dev/urandom is good enough for our purposes (salting).
2207
ed660bd8
VS
22082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2211
ee5614b7
VS
22122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2215 hexadecimal.
2216
664889a6
VS
22172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2220 and not 0 on failure.
2221
bd405bbc
CW
22222011-05-03 Colin Watson <cjwatson@ubuntu.com>
2223
2224 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2225 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2226 disk; otherwise grub_fs_probe will not fall back to the next
2227 filesystem.
2228 (grub_pxefs_open): Likewise, for consistency.
2229 Reported and tested by: Ezekiel Grave.
2230
4ebff753
CW
22312011-05-03 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * tests/partmap_test.in: Don't hardcode path to parted.
2234 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2235
8f942553
CW
22362011-05-01 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2239 of `ls' to find out which devices are available.
2240
3c62402d
VS
22412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2244 than source address for efi mmap buffer.
2245
723f63f2
VS
22462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2249 wrong action on non-detecting the magic.
2250
68797f92
VS
22512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2254 already supplied by another part of the module (fixes compilation on
2255 FreeBSD).
2256
6be8715d
VS
22572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2260 match the one used by mdadm.
2261
e91dba5b
CW
22622011-04-21 Colin Watson <cjwatson@ubuntu.com>
2263
2264 * po/README: Add instructions for creating po/LINGUAS.
2265
c85140b3
CW
22662011-04-21 Colin Watson <cjwatson@ubuntu.com>
2267
2268 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2269 #551428.
2270
2271 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2272 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2273 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2274 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2275 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2276 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2277 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2278 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2279 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2280 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2281 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2282 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2283 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2284 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2285 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2286 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2287 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2288 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2289 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2290 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2291 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2292 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2293
92051871
CW
22942011-04-21 Colin Watson <cjwatson@ubuntu.com>
2295
2296 * grub-core/kern/emu/getroot.c
2297 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2298 test that was incorrectly reintroduced in r3214.
2299 Reported by: Ian Dall. Fixes Savannah bug #33133.
2300
b13f79a4
CW
23012011-04-21 Colin Watson <cjwatson@ubuntu.com>
2302
2303 Fix stack pointer handling in 16-bit relocator.
2304
2305 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2306 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2307 Fixes Ubuntu bug #683904.
2308
9b710a88
VS
23092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * configure.ac: Bump version to 1.99~rc2.
2312
d97e7b59
VS
23132011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2316 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2317 * grub-core/lib/x86_64/setjmp.S: Likewise.
2318 * grub-core/lib/mips/setjmp.S: Likewise.
2319 * grub-core/lib/powerpc/setjmp.S: Likewise.
2320 * grub-core/lib/sparc64/setjmp.S: Likewise.
2321
0624551c
VS
23222011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2325 * grub-core/lib/efi/datetime.c: Likewise.
2326
e8f28d4c
VS
23272011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2330 New function.
2331 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2332 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2333 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2334
bba79a15
VS
23352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2338 bitmap.
2339 (grub_gfxterm_term_init): Likewise.
2340
abc474ef
VS
23412011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Take into account the decorations the computing menu entry width.
2344
2345 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2346 (grub_gfxmenu_create_box): Register get_border_width.
2347 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2348 if available.
2349 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2350 get_border_width.
2351
e74b3947
EP
23522011-04-18 Endres Puschner <code@e7p.de>
2353
2354 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2355 Don't skip first class.
2356
34faa595
VS
23572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2360 chunks.
2361 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2362
93a777e3
VS
23632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 Complete 64-bit division support.
2366
2367 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2368 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2369 * include/grub/misc.h (grub_divmod64): Rename to ...
2370 (grub_divmod64_full): ... this.
2371 (grub_divmod64): New inline function.
2372
a5102d94
VS
23732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2376
f3fb7b36
VS
23772011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2380 performing the necessary test.
2381
9ac718b0
VS
23822011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2385 (kfreebsd.elf): Likewise.
2386 (pc-chainloader.elf): Likewise.
2387 (ntldr.elf): Likewise.
2388
50d2cc5a
VS
23892011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Identify RAID by its UUID rather than (guessed) name.
2392
2393 * grub-core/disk/raid.c (ascii2hex): New function.
2394 (grub_raid_open): Accept mduuid/%s specification.
2395 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2396 (get_mdadm_uuid): ... this.
2397 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2398
e03f7bea
VS
23992011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2402 to negative size.
2403
e74c3112
CW
24042011-04-13 Colin Watson <cjwatson@ubuntu.com>
2405
2406 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2407 btrfs subvolume.
2408 * util/grub.d/20_linux_xen.in: Likewise.
2409
78fa584f
CW
24102011-04-13 Colin Watson <cjwatson@ubuntu.com>
2411
2412 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2413 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2414
2415 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2416 Build a list of relevant visible mounts using the mnt_id and
2417 parent_mnt_id fields, and then scan that list at the end.
2418
9d5f8162
CW
24192011-04-12 Colin Watson <cjwatson@ubuntu.com>
2420
2421 * docs/grub.texi (normal): New section.
2422 (normal_exit): New section.
2423 (Embedded configuration): Add reference to normal.
2424 (GRUB only offers a rescue shell): Likewise.
2425 * docs/grub-dev.texi (Error Handling): Fix typo.
2426
09a9d66f
CW
24272011-04-12 Colin Watson <cjwatson@ubuntu.com>
2428
2429 * NEWS: Drop obsolete entry about probe-only btrfs support.
2430
0c676933
CW
24312011-04-12 Colin Watson <cjwatson@ubuntu.com>
2432
2433 * util/import_gcry.py: Fix typo.
2434
ec9f5e0d
VS
24352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * NEWS: Add btrfs support.
2438
fe6b2cba
VS
24392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24402011-04-11 Colin Watson <cjwatson@ubuntu.com>
2441
2442 BtrFS support. Written by me (Vladimir) with important bugfixes and
2443 even more important testing by Colin.
2444
2445 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2446 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2447 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2448 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2449 mem_input_off and mem_input. All users updated to accept in-RAM input.
2450 (gzio_seek): New function.
2451 (test_zlib_header): Likewise.
2452 (grub_gzio_read): Likewise.
2453 (grub_zlib_decompress): Likewise.
2454 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2455 Accept partial and non-virtual mounts.
2456 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2457 avoid receiving /dev/dm-X as device.
2458 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2459 Handle bind and partial mounts.
2460 * grub-core/lib/crc.c: New file.
2461 * include/grub/deflate.h: Likewise.
2462 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2463 proto.
2464 * include/grub/lib/crc.h: New file.
2465
e745cf0c
VS
24662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Implement automatic module license checking according to new GNU
2469 guidelines.
2470
2471 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2472 (grub_dl_load_core): Use grub_dl_check_license.
2473 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2474 (GRUB_MOD_LICENSE): Likewise.
2475 (GRUB_MOD_DUAL_LICENSE): Likewise.
2476 All modules updated.
2477
2a9bc016
CW
24782011-04-11 Colin Watson <cjwatson@ubuntu.com>
2479
2480 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2481 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2482 loaders.
2483 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2484
8a3bc88e
VS
24852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2488
af869a4a
VS
24892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2492 failed.
2493
9ee8d94f
VS
24942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2497 parenthesis in the middle of the filename.
2498
b01abe3e
VS
24992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2502 rather than trying to put initrd way too high.
2503 Reported by: Ryan Lortie <desrt@desrt.ca>
2504
335bda1e
VS
25052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2508 improperly removed string.
2509
5ca1a64d
VS
25102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2513 is_disk.
2514 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2515 (open_device) Likewise.
2516 (grub_util_biosdisk_close): Likewise.
d8ce9995 2517 Reported by: Mark Korenberg.
5ca1a64d 2518
cbac5b1e
AK
25192011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2520
2521 * util/grub-mkconfig_lib.in: Add missing quotes.
2522
088cdb65
CW
25232011-04-10 Colin Watson <cjwatson@ubuntu.com>
2524
2525 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2526 is NULL.
2527
8b8a81fa
VS
25282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Dynamically count the number of lines for the lower banner.
2531
2532 * grub-core/normal/menu_entry.c (per_term_screen): New member
2533 num_entries.
2534 (print_down): Use num_entries.
2535 (update_screen): Likewise.
2536 (grub_menu_entry_run): Set num_entries.
2537 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2538 num_entries.
2539 (grub_print_message_indented): Move real part to ...
2540 (grub_print_message_indented_real): ... here. Additional argument
2541 dry_run.
2542 (draw_border): Additional argument num_entries.
2543 (print_message): Additional argument dry_run.
2544 (print_entries): Receive menu viewer data.
2545 (grub_menu_init_page): New argment num_entries.
2546 (menu_text_set_chosen_entry): Use num_entries.
2547 (grub_menu_try_text): Likewise.
2548 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2549 All users updated.
2550 (grub_ucs4_count_lines): New function.
2551 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2552 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2553 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2554 (grub_term_border_height): Likewise.
2555 (grub_term_num_entries): Likewise.
2556
277f955b
VS
25572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2560 Remove now unused string.
2561
536ce85a
CW
25622011-04-09 Colin Watson <cjwatson@ubuntu.com>
2563
2564 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2565 build system.
2566 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2567
2568 (Comment): Fix typo.
2569 (Getting started): General copy-editing.
2570 (Typical Development Experience): Likewise.
2571 (Error Handling): Likewise.
2572 (Video API): Likewise.
2573
2cf09e32
CW
25742011-04-09 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2577 throughout.
2578
1ec652f4
VS
25792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2582 directory.
2583
2c583728
CW
25842011-04-08 Colin Watson <cjwatson@ubuntu.com>
2585
2586 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2587 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2588 "development".
2589
d7a565e9
VS
25902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2593 grub_strcpy since the lines aren't necessarily 0-terminated.
2594
7c2e4909
VS
25952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2598 root on legacy.
2599
34c09785
VS
26002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2603 (GRUB_MOD_INIT): DEVICE isn't optional.
2604
6a6f8058
VS
26052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2608 word on new line if it's too long anyway. Fixes a hang.
2609
2e335e90
VS
26102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2613 const.
2614 * util/grub-setup.c (main): Reuse md device name if available.
2615 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2616 not GRUB name as argument.
2617 Based on patch by: Florian Wagner <fwagner>.
2618
10a7a867
VS
26192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2622 Place mbi on low memory for better compatibility.
2623
7a3d6cd9
VS
26242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2627
18dd6b47
VS
26282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
26292011-04-08 Colin Watson <cjwatson@ubuntu.com>
2630
2631 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 2632 * conf/Makefile.common: Likewise.
18dd6b47 2633
3c0e3f14
VS
26342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2635
f7148863
VS
2636 * grub-core/normal/menu.c: Add missing include.
2637
26382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 2641
6d1fa41f
MZ
26422011-04-08 Martin Zuther <mzuther@mzuther.de>
2643
2644 * util/grub-mkconfig.in: Ignore emacsen backup.
2645
478182a8
VS
26462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2649 on open.
2650 (grub_util_biosdisk_close): Likewise.
2651
72a89a54
VS
26522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2655 const attribute and use grub_isdigit.
2656
b5ebecfa
A
26572011-04-06 Andrey <dev_null@ukr.net>
2658
2659 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2660 gcc warning.
2661
7755f66e
VS
26622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2665 useful grub_dprintf's.
2666
461121ff
VS
26672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2670
2a961775
VS
26712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2674
adf594cc
VS
26752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Output errors if theme loading failed.
2678
2679 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2680 grub_gfxterm_fullscreen on error paths to ...
2681 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2682 theme loading error.
2683
665900a3
VS
26842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2687 space for older compilers.
2688 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2689
a562b479
VS
26902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2693 and report them as not RAID members since they are useless for GRUB.
2694 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2695
850e9373
VS
26962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 Increase LVM implementation robustness in order not to crash on
2699 configurations like pvmove. Previously code assumed that in some places
2700 only lvs or only pvs are used whereas it seems that they are used
2701 interchangeably.
2702
2703 * grub-core/disk/lvm.c (read_node): New function.
2704 (read_lv): Use read_node.
2705 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2706 Match volumes only at the end when all lvs are found. Take both
2707 pvs (first) and lvs (second) into account.
2708 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2709 mirror_* into node_*. All users updated.
2710 (grub_lvm_stripe): Merge this ...
2711 (grub_lvm_mirror): ... and this ...
2712 (grub_lvm_node): ... into this. All users updated.
2713
6f332153
VS
27142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2717 of function to allow further scanning for LVMs.
2718
829ea451
VS
27192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2722 on failed seek as it breaks open fd reusage.
2723
09ceb9a5
VS
27242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * util/grub-install.in: Add a recommendation to use --recheck before
2727 reporting bugs.
2728
67e11623
VS
27292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2732 are obtained.
2733
caee5efd
VS
27342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 GRUB developper manual based on existing Internals section and
2737 contributions by the various authors with active copyright assignment.
2738
2739 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2740 * docs/font_char_metrics.png: New file.
2741 * docs/font_char_metrics.txt: Likewise.
2742 * docs/grub-dev.texi: Likewise.
2743 * docs/grub.texi (Internals): Move from here ...
2744 * docs/grub-dev.texi: ... here.
2745
2cccc747
CW
27462011-04-01 Colin Watson <cjwatson@ubuntu.com>
2747
2748 Store the loopback device as data on loopback grub_disk structures,
2749 rather than the file it points to. This fixes use of freed memory
2750 if an existing loopback device is replaced.
2751
2752 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2753 disk->data, not dev->file.
2754 (grub_loopback_read): Adjust file assignment to match.
2755 Fixes Ubuntu bug #742967.
2756
186ae367
CW
27572011-04-01 Colin Watson <cjwatson@ubuntu.com>
2758
2759 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2760 when replacing an existing device.
2761
cfed2ad0
VS
27622011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2765 memory corruptions.
2766
2767 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2768 unsigned.
2769 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2770 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2771 (grub_jfs_read_inode): Likewise.
2772 (grub_jfs_opendir): Likewise. Remove now useless casts.
2773 (grub_jfs_getent): Likewise.
2774 Make ino a grub_uint32_t rather than int.
2775 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2776 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2777 division and module with bit operations.
2778 (grub_jfs_find_file): Make ino a grub_uint32_t.
2779 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2780
05d2ed32
CW
27812011-04-01 Colin Watson <cjwatson@ubuntu.com>
2782
2783 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2784 warning. (This was in fact always initialised before use, but GCC
2785 wasn't smart enough to prove that.)
2786 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2787
91dc6073
VS
27882011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2791 stack alignment.
2792 (efi_wrap_1): Likewise.
2793 (efi_wrap_2): Likewise.
2794 (efi_wrap_3): Likewise.
2795 (efi_wrap_4): Likewise.
2796 (efi_wrap_5): Likewise.
2797 (efi_wrap_6): Likewise.
2798 (efi_wrap_10): Likewise.
2799 Based on information by: Red Hat/Peter Jones.
2800
a8afc1d1
CW
28012011-03-31 Colin Watson <cjwatson@ubuntu.com>
2802
2803 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2804 set-but-not-used variable.
2805
a826cc7d
CW
28062011-03-31 Colin Watson <cjwatson@ubuntu.com>
2807
2808 * docs/grub.texi (Simple configuration): Be more explicit about
2809 GRUB_DEFAULT, and add an example.
2810 Reported by: Leslie Rhorer.
2811
875b67ba
CW
28122011-03-30 Colin Watson <cjwatson@ubuntu.com>
2813
2814 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2815 shell".
2816
fd7cd914
AS
28172011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2818
2819 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2820 * util/grub.d/20_linux_xen.in: Likewise.
2821
090b1b6a
VS
28222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * util/grub.d/10_linux.in: Try alternative config filenames where
2825 we parse config file.
2826 * util/grub.d/20_linux_xen.in: Likewise.
2827
baad885c
AS
28282011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2829
2830 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2831 * util/grub.d/20_linux_xen.in: Likewise.
2832
241e41f5
VS
28332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/disk/raid.c (insert_array): Add few potentially
2836 useful grub_util_info.
2837 (grub_raid_register): Likewise.
2838
56445fb2
VS
28392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2842 Preserve partition number in mdadm code path.
2843
c871b1c6
VS
28442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2847 few potentially useful grub_util_info.
2848
5e631b4f
CW
28492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2852
2d5d0333
CW
28532011-03-30 Colin Watson <cjwatson@ubuntu.com>
2854
2855 * docs/grub.texi (default): Use @example rather than nested
2856 itemized lists to avoid breaking gendocs.
2857
3d7ed04e
CW
28582011-03-30 Colin Watson <cjwatson@ubuntu.com>
2859
2860 * docs/grub.texi (Future): Update.
2861
abf04200 28622011-03-30 Colin Watson <cjwatson@ubuntu.com>
2863
2864 * docs/grub.texi (Environment): New chapter.
2865 (Changes from GRUB Legacy): Link to "Environment block" section for
2866 details of limitations.
2867 (Simple configuration): Likewise. Link to documentation of gfxmode
2868 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2869 respectively.
2870 (Shell-like scripting): Note that normal variables are stored in the
2871 environment.
2872 (gettext): Link to documentation of lang and locale_dir.
2873 (list_env): New section.
2874 (load_env): New section.
2875 (save_env): New section.
2876
2877 (Reporting bugs): Fix typo.
2878
e1ad0edd
VS
28792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2882 the example.
2883
5d803174
VS
28842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/term/at_keyboard.c (set_scancodes)
2887 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2888
2a2da1d0
CW
28892011-03-30 Colin Watson <cjwatson@ubuntu.com>
2890
2891 * docs/grub.texi (Menu-specific commands): Remove some semantics
2892 that were true in GRUB Legacy but not in GRUB 2.
2893 (submenu): New section.
2894 (false): New section.
2895 (read): New section.
2896 (true): New section.
2897
a7527639
CW
28982011-03-30 Colin Watson <cjwatson@ubuntu.com>
2899
2900 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2901
29022011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
2903
2904 * docs/grub.texi (Simple configuration): Explain some of the
2905 current limitations of grub-mkconfig.
8a748df2 2906 Reported by: Leslie Rhorer.
e30af029 2907
fc858482
VS
29082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 Old macs search for boot.efi rather than for bootia32.efi.
2911
2912 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2913 * util/grub-mkrescue.in: Likewise.
2914 Suggested by: Peter Jones.
2915
e1eb511d
VS
29162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2919
70e75364
VS
29202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2923 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2924 (grub_lvm_mirror): New struct.
2925 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2926 (grub_lvm_iterate): Iterate only visible volumes.
2927 (grub_lvm_read): Factor out to ..
2928 (read_lv): ... this. Support mirrors.
2929 (grub_lvm_read): New wrapper function.
2930 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2931 stripped or mirrored.
2932
fc18f6a3
VS
29332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2936
5c650f4c
CW
29372011-03-29 Colin Watson <cjwatson@ubuntu.com>
2938
2939 * docs/grub.texi (loopback): New section.
2940
61d7156b
CW
29412011-03-29 Colin Watson <cjwatson@ubuntu.com>
2942
2943 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2944 removed -p option.
2945
994b8264
CW
29462011-03-29 Colin Watson <cjwatson@ubuntu.com>
2947
2948 * docs/grub.texi (BIOS installation): New section, partly based on
2949 previous text in other sections.
2950 (Installing GRUB using grub-install): Replace BIOS discussion with a
2951 cross-reference.
2952 (Images): Likewise.
2953
9e4d19e0
VS
29542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2957 [HAVE_DIOCGDINFO]: Add safety checks.
2958
a307c0b2
VS
29592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
2962 per default compiled in kernel and prior to 8.0 isn't shipped at all.
2963
b4db4f39
CW
29642011-03-29 Colin Watson <cjwatson@ubuntu.com>
2965
2966 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
2967 real_sb->size is zero (e.g. RAID-0), get the disk size from
2968 real_sb->data_size instead.
2969 Fixes Ubuntu bug #743136.
2970
35e5f84c
VS
29712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
2974 printf clauses for printing size and start.
2975
d2e29d81
VS
29762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
2979 Reported and tested by: Timothy Nikkel.
2980
ed5587af
VS
29812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
2984 (dirty_region_add_real): ... this.
2985 (dirty_region_add): Don't discard margin refresh when performing
2986 scheduled repaint.
2987
a1dc717c
VS
29882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/lib/relocator.c (allocate_regstart)
2991 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
2992 terminals are capabple of malloc-free operation.
2993 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2994 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2995
9f3677d3
VS
29962011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
2997
2998 * util/grub-setup.c: Copy the partition table zone if floppy support
2999 is disabled, even if no partition table is found.
3000
3001 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3002 during POST if an invalid partition table is contained in the PBR
3003 of the active partition when GRUB is installed to a partition.
3004
24148725
CW
30052011-03-28 Colin Watson <cjwatson@debian.org>
3006
3007 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3008 comment.
3009
f329eda7
CW
30102011-03-28 Colin Watson <cjwatson@debian.org>
3011
3012 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3013 to be specific about what kind of RAID device we're scanning for.
3014
c482ad98
SG
30152011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3016
3017 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3018 return freed string.
3019
5ee04984
VS
30202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3023
f4727da9
VS
30242011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Use libgeom on FreeBSD to detect partitions.
3027
3028 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3029 (grub-mkrelpath): Likewise.
3030 (grub-script-check): Likewise.
3031 (grub-editenv): Likewise.
3032 (grub-mkpasswd-pbkdf2): Likewise.
3033 (grub-fstest): Likewise.
3034 (grub-mkfont): Likewise.
3035 (grub-mkdevicemap): Likewise.
3036 (grub-probe): Likewise.
3037 (grub-setup): Likewise.
3038 (grub-ofpathname): Likewise.
3039 (grub-mklayout): Likewise.
3040 (example_unit_test): Likewise.
3041 (grub-menulst2cfg): Likewise.
3042 * grub-core/Makefile.core.def (grub-emu): Likewise.
3043 (grub-emu-lite): Likewise.
3044 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3045 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3046 define HAVE_DIOCGDINFO.
3047 (follow_geom_up) [FreeBSD]: New function.
3048 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3049 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3050 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3051 unconditionally of HAVE_DIOCGDINFO.
3052
82fe6c75
VS
30532011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 Fix FreeBSD compilation problem.
3056
3057 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3058 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3059
4c6c9431
CW
30602011-03-24 Colin Watson <cjwatson@ubuntu.com>
3061
3062 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3063 Switch back to page zero before loading a kernel, since some kernel
3064 drivers expect that.
3065 Thanks to: Felix Kuehling.
3066
c7064d94
VS
30672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3070 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3071 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3072
3f71cded
VS
30732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3076 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3077
ef6de21a
VS
30782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3081 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3082 malloc is disabled.
3083
8bc66a2c
VS
30842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3087 for modules headers when counting the needed allocation size.
3088
5657722c
VS
30892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3092 if no ASCII character is found to prevent crash.
3093
41a85f55
AK
30942011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3095
3096 * grub-core/video/bitmap.c (match_extension): Ignore case.
3097
59e1e5f1
VS
30982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3101
bd4d051a
VS
31022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/script/parser.y: Declare "time" as valid argument.
3105
bae7fcc1
PJ
31062011-03-23 Peter Jones <pjones@redhat.com>
3107
3108 Fix incorrect assert failure reporting.
3109
3110 * grub-core/tests/example_functional_test.c (example_test): Add
3111 a failure comment.
3112 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3113 (failure_start): ...this. Check that malloc succeeded.
3114 Don't call xvasprintf. Return failure struct.
3115 (failure_append_vtext): New function.
3116 (failure_append_text): Likewise.
3117 (add_failure): Likewise.
3118 (grub_test_assert_helper): Likewise.
3119 * include/grub/test.h (grub_test_assert_helper): New declaration.
3120 (grub_test_assert): Macro rewritten.
3121
537dc9be
VS
31222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3125
fa3e01bf
VS
31262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3129
b1d28404
VS
31302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3133 into GRUB-style one.
3134
2e3e2e09
VS
31352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3138 error and not grub_errno.
3139 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3140
ed57e557
VS
31412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3144 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3145
d1611f01
VS
31462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/efiemu/i386/pc/cfgtables.c
3149 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3150 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3151 (grub_xnu_unlock): Likewise.
3152 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3153
7d4e39d6
VS
31542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3157 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3158 * grub-core/commands/hashsum.c (aliases): Likewise.
3159 * grub-core/commands/setpci.c (pci_registers): Likewise.
3160 * grub-core/disk/usbms.c (attach_hook): Likewise.
3161 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3162 (zio_checksum_table): Likewise.
3163 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3164 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3165 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3166 * grub-core/lib/relocator.c (leftovers): Likewise.
3167 (extra_blocks): Likewise.
3168 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3169 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3170 (modules_last): Likewise.
3171 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3172 (devices): Likewise.
3173 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3174 (modules_last): Likewise.
3175 * grub-core/normal/auth.c (users): Likewise.
3176 * grub-core/normal/context.c (initial_menu): Likewise.
3177 (current_menu): Likewise.
3178 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3179 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3180 (grub_serial_terminfo_input_template): Likewise.
3181 (grub_serial_terminfo_output_template): Likewise.
3182 (grub_serial_terminfo_input): Likewise.
3183 (grub_serial_terminfo_output): Likewise.
3184 (registered): Likewise.
3185 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3186
40fc4659
VS
31872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3190 grub_video_mode_type_t.
3191 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3192 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3193 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3194
2da48d28
VS
31952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * util/grub-install.in: Correct the x86-64 name as x86_64.
3198
9b43bf39
CW
31992011-03-11 Colin Watson <cjwatson@ubuntu.com>
3200
3201 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3202 initial chunk read from the kernel always includes GRUB's multiboot
3203 header, which is now outside the first sector.
3204
be1a7ce0
CW
32052011-03-09 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3208 cached mmap_size, so that this works correctly when called multiple
3209 times.
3210 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3211
83a3c48d
CW
32122011-03-09 Colin Watson <cjwatson@ubuntu.com>
3213
3214 * docs/grub.texi (Simple configuration): Tidy up formatting.
3215
57d75699
SJ
32162011-03-07 Szymon Janc <szymon@janc.net.pl>
3217
3218 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3219 Set-but-not-used variable removed.
3220
028501a0
VS
32212011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Workaround yet another IEEE1275 bug.
3224
3225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3226 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3227 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3228 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3229 is set.
3230 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3231 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3232
d998657d
VS
32332011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3236 error.
3237
fee7cdd4
CW
32382011-02-11 Colin Watson <cjwatson@ubuntu.com>
3239
3240 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3241 empty, since in that case we can only generate either nothing or a
3242 syntactically invalid configuration file.
3243 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3244
97286eb5
CW
32452011-02-09 Colin Watson <cjwatson@ubuntu.com>
3246
3247 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3248 (Making a GRUB bootable CD-ROM): Likewise.
3249 (Invoking grub-mkrescue): New section.
3250 Reported by: Yann Dirson. Fixes Debian bug #612585.
3251
22b28eb3
CW
32522011-02-09 Colin Watson <cjwatson@ubuntu.com>
3253
3254 * util/grub-install.in: Remove unnecessary brackets from tr
3255 arguments.
3256 * util/grub.d/10_hurd.in: Likewise.
3257 * util/grub.d/10_kfreebsd.in: Likewise.
3258 * util/grub.d/10_linux.in: Likewise.
3259 * util/grub.d/20_linux_xen.in: Likewise.
3260 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3261
7e735e43
CW
32622011-02-08 Colin Watson <cjwatson@ubuntu.com>
3263
3264 * include/grub/file.h (not_easly_seekable): Rename to ...
3265 (not_easily_seekable): ... this. Update all users.
3266
800f1881
CW
32672011-01-28 Colin Watson <cjwatson@ubuntu.com>
3268
3269 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3270 grub-mkrescue.
3271
3281d3d6
VS
32722011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * util/grub-mkimage.c (generate_image): Refuse to create the images
3275 bigger than the actual flash (512K) in Loongson machines. 512K is also
3276 the biggest chip supported by them.
3277
3533413c
VS
32782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3281
73ae4f4f
VS
32822011-01-22 Anthony DeRobertis <anthony@derobert.net>
3283
3284 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3285 super_offset field.
3286
37f4f608
VS
32872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * util/grub-install.in: Ignore install device on platforms
3290 where it doesn't make sense. Always use UUIDs except on pc, efi and
3291 sparc64.
3292 Reported by: Daniel Kahn Gillmor.
3293
03a4ccb5
VS
32942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3297
ffc8f4d8
VS
32982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3301 (iterate_real): Don't rely on partition being non-NULL.
3302
80f23be7
VS
33032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3306 supported platforms. Put a compile time assert for this rather than
3307 generate a warning with 32-bit shift.
3308
5d4f4dd5
VS
33092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3312 logical expression more readable.
3313
e489601a
VS
33142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3317 even if some elements have a name.
3318 Reported by: Alexander GQ Gerasiov.
3319
96e0a6ea
CW
33202011-01-22 Colin Watson <cjwatson@ubuntu.com>
3321
3322 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3323 path unreadable if `grub-probe -t abstraction' fails, for example if
3324 memberlist fails on an LVM volume group.
3325 Reported by: Darius Jahandarie.
3326
81431e2b
CW
33272011-01-22 Colin Watson <cjwatson@ubuntu.com>
3328
3329 * docs/grub.texi (Simple configuration): Document
3330 GRUB_PRELOAD_MODULES.
3331
5e79d66a
CW
33322011-01-17 Colin Watson <cjwatson@ubuntu.com>
3333
3334 * .bzrignore: Remove nonexistent grub-pbkdf2.
3335
646ada34
VS
33362011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * configure.ac: Bump version to 1.99~rc1.
3339
04360337
VS
33402011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3343 for safety.
3344
46c9db88
VS
33452011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3348 module.
3349
33502011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
3351
3352 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3353
4fbf1852
VS
33542011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3357 diskdevid.
3358
f1632d4d
VS
33592011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Fix compilation on cygwin.
3362
3363 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3364 -R .drectve on cygwin.
3365 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3366 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3367 (COND_CYGWIN): New condition.
3368 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3369 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3370 not @TARGET_OBJ2ELF@.
3371 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3372 type to determine whether aux is to be used.
3373
0b5e127b
VS
33742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3377 realpath'ed device string.
3378 Handle floppy (somewhat).
3379 Issue error in unknown case rather than garbage.
3380 Reported by: Axel Beckert.
3381
173b71e9
VS
33822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * util/grub.d/00_header.in (load_video): Handle the case when no video
3385 drivers available.
3386 Thanks to: Axel Beckert.
3387
f8f479db
VS
33882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3391 variable. Fixes problem on big endian platforms.
3392
8fc0a245
VS
33932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3396 It doesn't work well there.
3397
b8494fbe
VS
33982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3401 warning.
3402 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3403 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3404 counter.
3405
b44a558c
VS
34062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Use alias->path rather than buggy "canon".
3409
3410 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3411 (ofdisk_hash_add): New argument curcan. All users updated.
3412
51fa856c
CW
34132011-01-11 Colin Watson <cjwatson@ubuntu.com>
3414
3415 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3416
9da068a5
VS
34172011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3420 loadmask before doing any calculations. Use correct type for offset.
3421 (grub_linux_load64): Likewise.
3422
86205c94
CW
34232011-01-11 Colin Watson <cjwatson@ubuntu.com>
3424
3425 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3426 with NULL.
3427 (console_grub_equivalences_unshift): Likewise.
3428 Reported by: Daniel Dehennin.
3429
4531a206
VS
34302011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3433 (set_env_limn_ro): Likewise.
3434 (GRUB_MOD_INIT): Likewise.
3435 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3436 ARRAY_SIZE while on it.
3437 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3438 * grub-core/normal/context.c (grub_env_export): Move from here ...
3439 * grub-core/kern/env.c (grub_env_export): ... here.
3440 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3441 prefix.
3442 * grub-core/kern/main.c (grub_main): Export root and prefix.
3443 * include/grub/env.h (grub_env_export): Export.
3444 Reported by: Seth Goldberg.
3445
45146057
VS
34462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3449 Take into account space used by ELF sections and multiboot palette.
3450 Reported by: Grégoire Sutre.
3451
f093110b
VS
34522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * BUGS: New file.
3455
3395fe52
VS
34562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 Pass more appropriate video id to Linux.
3459
3460 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3461 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3462 fill have_vga.
3463 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3464 shift params->lfb_size.
3465 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3466
c2fa6cbb
VS
34672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3470
b3ff6ff0
VS
34712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3474 separator and pass bootpath/devid even if only one of them is available.
3475 Reported by: Seth Goldberg.
3476
ae67942e
VS
34772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3480 implementations bug on them.
3481
3482 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3483 memory.
3484 (filter_memory_map): Likewise.
3485
d570097a
VS
34862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3489 Reported by: nebuchadnezzar.
3490
a508e776
VS
34912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3494 Reported by: nebuchadnezzar.
3495
dcb883b1
VS
34962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Submenu default support.
3499
3500 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3501 auto_boot. All users updated.
3502 Declared static.
3503 Handle chosen and default with submenus.
3504 (grub_menu_execute_with_fallback): Declared static.
3505 Don't notify failure if autobooted. Upper level does it.
3506 (menuentry_eq): New function.
3507 (get_entry_number): Use menuentry_eq.
3508 (show_menu): New parameter "autobooted". All users updated.
3509 (grub_show_menu): Likewise.
3510 * include/grub/normal.h (grub_show_menu): Likewise.
3511 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3512 (grub_menu_execute_with_fallback): Likewise.
3513
6fef99b4
VS
35142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/grub-mklayout.c (usage): Update help text.
3517
47a77af5
VS
35182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3521
ce6bb3ee
VS
35222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * util/grub-menulst2cfg.c (main): Trim the line.
3525
db87be2a
VS
35262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3529 (grub_machine_init): Don't check amount of low memory as reportedly
3530 INT 12h can be broken and if low memory is too low we wouldn't have
3531 gotten into grub_machine_init anyway.
3532
c49849cc
VS
35332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3536 (grub_machine_mmap_iterate): Take low memory into account
3537
b1969b30
VS
35382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3541 badfs.
3542 Reported by: TiCPU.
3543
cf0eaf13
VS
35442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3547 members errors.
3548
1f060f39
GS
35492011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3550
3551 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3552 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3553
a21e5672
GS
35542011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3555
3556 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3557 openbsd and netbsd types being in part_bsd module.
3558
c88172fa
VS
35592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3562 (_FILE_OFFSET_BITS): Likewise.
3563 Reported by: Seth Goldberg.
3564
53798c4b
GS
35652011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3566
3567 * configure.ac: Check for libdevmapper header.
3568
e7121b69
VS
35692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3572 avoid aliasing.
3573 (fzap_lookup): Likewise.
3574 (dnode_get): Likewise.
3575 (make_mdn): Likewise.
3576 (zfs_mount): Likewise.
3577 (fzap_iterate): Use temporary pointer to avoid aliasing.
3578 (grub_zfs_read): Likewise.
3579 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3580 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3581 pointers to avoid aliasing.
3582 (grub_cmd_xnu_kernel64): Likewise.
3583 (grub_xnu_load_driver): Likewise.
3584
fc836af9
VS
35852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3588 aliasing warning.
3589 (grub_cmd_terminal_output): Likewise.
3590 Reported and tested by: Grégoire Sutre.
3591
f9f37648
VS
35922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3595 warning.
3596 Reported and tested by: Grégoire Sutre.
3597
ec1dfd63
VS
35982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * configure.ac: Do CPU substitution even if it's specified explicitly.
3601 Reported and tested by: Alain Greppin.
3602
9462775a
VS
36032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3606 Reported and tested by: Alain Greppin.
3607
0fd48e35
VS
36082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Satisfy some bison versions need for inttypes.h.
3611
3612 * grub-core/lib/posix_wrap/inttypes.h: New file.
3613 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3614 (int16_t): Likewise.
3615 (int32_t): Likewise.
3616 (int64_t): Likewise.
3617 Reported and tested by: Alain Greppin.
3618
43f1bc83
VS
36192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3622 Silence spurious warning.
3623 Reported and tested by: Alain Greppin.
3624
64d1f041
SJ
36252011-01-07 Szymon Janc <szymon@janc.net.pl>
3626
3627 * docs/grub.texi (Support automatic decompression): Update with xz
3628 decompression support.
3629
25953e10
SJ
36302011-01-07 Szymon Janc <szymon@janc.net.pl>
3631
3632 Improve loaders' kernel command line handling.
3633
3634 * grub-core/lib/cmdline.c: New file.
3635 * include/grub/lib/cmdline.h: Likewise.
3636 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3637 grub_create_loader_cmdline to create kernel command line.
3638 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3639 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3640 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3641 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3642 (linux): Add lib/cmdline.c on common.
3643
e72d259f
VS
36442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3647 inopos might be unaligned.
3648
c0cf26da
VS
36492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3652 endian transformations.
3653 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3654 Based on report by: Doug Nazar.
3655
0ca09e6c
DN
36562011-01-07 Doug Nazar <nazard.michi@gmail.com>
3657
3658 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3659 array->members[i].start_sector.
3660 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3661
014b6806
VS
36622011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3665 Reported and tested by: Grégoire Sutre.
3666
415502c2
CW
36672011-01-06 Colin Watson <cjwatson@ubuntu.com>
3668
3669 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3670 avoid causing test failures by clearing the screen.
3671
71b6a2b7
CW
36722011-01-06 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3675 Fix prefix check to handle the case where dir ends with a slash
3676 (most significantly, "/" itself).
3677 Reported by: Michael Vogt.
3678
b3f8d28a
VS
36792011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Run terminfo_cls on initing terminfo output to clear the screen and
3682 move the cursor to (0,0).
3683
3684 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3685 Call grub_terminfo_output_init.
3686 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3687 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3688 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3689
4c3e4f37
VS
36902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3693 only when needed.
3694
488f71f1
VS
36952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3698 CTRL.
3699
18a38098
VS
37002011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 The E820 type 5 is BADRAM, not EXEC_CODE.
3703
3704 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3705 (GRUB_E820_BADRAM): New define.
3706 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3707 into reserved. Propagate BADRAM.
3708 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3709 (GRUB_E820_BADRAM): New define.
3710
9eae2084
VS
37112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3714 Ignore the memory post-4G.
3715 (grub_relocator_firmware_alloc_region): Additional debug statement.
3716
ebc71d28
VS
37172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3720 names.
3721 Reported by: David Pravec.
3722
446fa400
VS
37232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3726 BIOSes.
3727
a0159f37
VS
37282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3731 Prevent overflow.
3732 (grub_reed_solomon_recover): Likewise.
3733
e5146ca1
VS
37342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3737
37382011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
3739
3740 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3741 variable.
3742
5b1bdf12
CW
37432011-01-04 Colin Watson <cjwatson@ubuntu.com>
3744
3745 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3746 descriptions of extract_legacy_entries_source and
3747 extract_legacy_entries_configfile.
3748 Reported by: Seung Soo, Ha.
3749
99d925aa
CW
37502011-01-03 Colin Watson <cjwatson@ubuntu.com>
3751
3752 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3753 on devices that do not implement function 0.
3754
4af0504b
DV
37552011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3756
3757 * grub-core/fs/hfsplus.c: Make parent unsigned.
3758 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3759 overflows.
3760 (grub_hfsplus_cmp_extkey): Likewise
3761
469ee10a
VS
37622011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * util/grub-install.in: Correctly use bootloader_id and not
3765 GRUB_DISTRIBUTOR on efibootmgr line.
3766
323a8e9c
VS
37672011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3770
1b394975
IC
37712010-12-31 Ian Campbell <ijc@hellion.org.uk>
3772
3773 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3774 Xen and reorder menu item wording to make it clearer that this entry
3775 will launch Xen. Print separate messages when loading Xen and
3776 Linux.
3777
275bff5f
VS
37782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3781 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3782 loop in case of incorrect amiga partmap.
3783
307806cb
VS
37842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3787 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3788 Reported by:EHeM.
3789
b12b923e
VS
37902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3793 spurious warning.
3794 Reported by: crocket
3795
14b48a19
VS
37962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3799 Preload EFIemu.
3800 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3801
693db2df
VS
38022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3805 is loaded
3806 (grub_cmd_xnu_kextdir): Likewise.
3807 (grub_cmd_xnu_splash): Likewise.
3808
c7638645
VS
38092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 Avoid using Reed-Solomon with 0 redundancy.
3812
3813 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3814 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3815 or 0 redundancy.
3816 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3817 (grub_reed_solomon_recover): Likewise.
3818
25dd4780
VS
38192010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Don't use disk subsystem in freebsd_boot.
3822
3823 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3824 (freebsd_biosdev): Likewise.
3825 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3826 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3827
0b2db943
VS
38282010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Handling of files of unknown size is currently limited. They can't be
3831 used e.g. for initrd or modules. Moreover gzip handling of not
3832 easily seekable files is buggy. Disable unknown file size for now. May
3833 be inefficient but works.
3834
3835 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3836 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3837
5c408d0f
MP
38382010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3839
3840 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3841 floppy probe.
3842
190a011a
JD
38432010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3844
3845 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3846
022d01b8
SL
38472010-12-25 Shea Levy <shlevy>
3848
3849 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3850
c4855fdc
VS
38512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3854 Windows Server 2008.
3855 Reported by: Devin Giddings.
3856
0354b867
VS
38572010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3860 writing an error message because of async power management.
3861 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3862 (grub_reboot): Likewise.
3863
ab66c69f
JU
38642010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3865
3866 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3867 keep unit tests from failing when they shouldn't.
3868
1426ef35
CW
38692010-12-21 Colin Watson <cjwatson@ubuntu.com>
3870
3871 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3872 previous patch increased the size of the RS code by 20 bytes (at
3873 least with gcc-4.4), so increase this by 20 bytes to match.
3874 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3875
20641b6b
CW
38762010-12-21 Colin Watson <cjwatson@ubuntu.com>
3877
3878 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3879 scratch area. Make sure to initialise chosen in standalone mode as
3880 well as non-standalone.
3881 Reported by: Robert Hooker and Andy Whitcroft.
3882 Tested by: Andy Whitcroft.
3883
d060ad60
CW
38842010-12-21 Colin Watson <cjwatson@ubuntu.com>
3885
3886 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3887 constructing a new unescaped string and passing it to grub_xputs in
3888 one go, rather than passing characters to grub_printf one at a time.
3889
b889cfad
CW
38902010-12-21 Colin Watson <cjwatson@ubuntu.com>
3891
3892 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3893 initialising utf16.
3894
4e01b6c8
CW
38952010-12-21 Colin Watson <cjwatson@ubuntu.com>
3896
3897 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3898 comment. Add an extra layer of quotation, requiring the output of
3899 this function to be used in a printf format string.
3900 (gettext_printf): New function.
3901 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3902 Extract translatable strings from here-documents and use a temporary
3903 variable instead, so that xgettext can find them.
3904 * util/grub.d/10_kfreebsd.in: Likewise.
3905 * util/grub.d/10_linux.in: Likewise.
3906 * util/grub.d/20_linux_xen.in: Likewise.
3907
3908 * po/grub.d.sed: New file.
3909 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3910 arguments. Set c-format flags on all strings extracted from
3911 util/grub.d/ (xgettext refuses to include these itself for strings
3912 it extracted from a shell file, but these really are c-format).
3913
5318fe98
VS
39142010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3917 Avoid next pointing to nowhere.
3918
6c85b743
VS
39192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3922 rather than assuming than rootblock is exactly in the middle.
3923 (grub_affs_label): Likewise.
3924
a2a08a35
VS
39252010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3928 reserved_first_sector to 0.
3929 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3930 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3931 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3932
7059d1ec
VS
39332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Fix handling of UTF-16 UDF labels.
3936
3937 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3938 (read_string): .. here.
3939 (grub_udf_label): Use read_string.
3940
30aff4cb
BC
39412010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3942
3943 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3944 editor under argument scope.
3945 Reported by: Jordan Uggla
3946
5cf86f4b
VS
39472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3950
32570200
CW
39512010-12-18 Colin Watson <cjwatson@ubuntu.com>
3952
3953 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3954 line, and other keys scroll an entire page (previous handling was
3955 for \r and \n to scroll a page and other keys to scroll two lines).
3956
e1dffcf2
VS
39572010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3960 Set ptrdest to correct get_physical_target_address rather than
3961 incorrect get_virtual_current_address.
3962
b04298cf 39632010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
3964
3965 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
3966 correct cat to grub_uint8_t * rather than grub_uint32_t *.
3967
5367ecd3
CW
39682010-12-10 Colin Watson <cjwatson@ubuntu.com>
3969
3970 * .bzrignore: Ignore grub-core/rs_decoder.S.
3971
1fb430f8
CW
39722010-12-10 Colin Watson <cjwatson@ubuntu.com>
3973
3974 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
3975 .mo/.mo.gz opening sequence to ...
3976 (grub_mofile_open_lang): ... here.
3977 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
3978 * util/grub.d/00_header.in (grub_lang): Include country part of
3979 locale.
3980 Reported by: Mario Limonciello.
3981
a94a6671
RM
39822010-12-09 Robert Millan <rmh@gnu.org>
3983
3984 * NEWS: Document addition of ZFS support.
3985
24b7938b
CW
39862010-12-04 Colin Watson <cjwatson@ubuntu.com>
3987
3988 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
3989 rather than `/ 2', as the latter requires -Wa,--divide which would
3990 require bumping our minimum binutils version.
3991
bddc3ef6
BC
39922010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
3993
3994 * util/grub-script-check.c (main): Print script line number on
3995 error.
3996
bf78d5b2
RM
39972010-12-01 Robert Millan <rmh@gnu.org>
3998
3999 * grub-core/fs/zfs/zfs.c: New file.
4000 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4001 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4002 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4003 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4004
4005 * include/grub/zfs/dmu.h: Likewise.
4006 * include/grub/zfs/dmu_objset.h: Likewise.
4007 * include/grub/zfs/dnode.h: Likewise.
4008 * include/grub/zfs/dsl_dataset.h: Likewise.
4009 * include/grub/zfs/dsl_dir.h: Likewise.
4010 * include/grub/zfs/sa_impl.h: Likewise.
4011 * include/grub/zfs/spa.h: Likewise.
4012 * include/grub/zfs/uberblock_impl.h: Likewise.
4013 * include/grub/zfs/vdev_impl.h: Likewise.
4014 * include/grub/zfs/zap_impl.h: Likewise.
4015 * include/grub/zfs/zap_leaf.h: Likewise.
4016 * include/grub/zfs/zfs.h: Likewise.
4017 * include/grub/zfs/zfs_acl.h: Likewise.
4018 * include/grub/zfs/zfs_znode.h: Likewise.
4019 * include/grub/zfs/zil.h: Likewise.
4020 * include/grub/zfs/zio.h: Likewise.
4021 * include/grub/zfs/zio_checksum.h: Likewise.
4022
4023 * Makefile.util.def: Build ZFS into libgrubmods.
4024 * grub-core/Makefile.core.def: Build zfs.mod.
4025
3f0f3831
SJ
40262010-11-30 Szymon Janc <szymon@janc.net.pl>
4027
4028 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4029 variable.
4030 * grub-core/commands/wildcard.c (match_files): Likewise.
4031
3a4253b2
RM
40322010-11-30 Robert Millan <rmh@gnu.org>
4033
4034 * grub-core/loader/i386/bsd.c
4035 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4036 whether kernel is loaded using grub_loader_is_loaded(), rather
4037 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4038 certain error conditions.
4039
8c317b27
RM
40402010-11-30 Robert Millan <rmh@gnu.org>
4041
c5c9cd3e
RM
4042 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4043 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 4044
49d3ab46
VS
40452010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Avoid using tricks for initialising endian variables.
4048
4049 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4050 Make const.
4051 (GRUB_MOD_INIT): Don't byte-swap.
4052 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4053 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4054 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4055 (grub_swap_bytes32_compile_time): Likewise.
4056 (grub_cpu_to_le32_compile_time): Likewise.
4057 (grub_cpu_to_le16_compile_time): Likewise.
4058
f420a804
VS
40592010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * util/grub-setup.c (setup): Stop recommending --force. People who
4062 understand the dangers of blocklists are able to find this option
4063 anyway and the ones who don't shouldn't use it anyway.
4064
4e7db17b
RM
40652010-11-26 Robert Millan <rmh@gnu.org>
4066
4067 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4068 Update all users.
4069
9be57a0d
CW
40702010-11-26 Colin Watson <cjwatson@ubuntu.com>
4071
4072 Fix LVM-on-RAID probing.
4073
4074 * util/grub-probe.c (probe): Remember which disk was detected as
4075 RAID (perhaps an LVM physical volume). Use that disk's raidname
4076 rather than that of the top-level disk.
4077
2c7859b3 40782010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 4079
d7647bb6
BC
4080 Fix cmdline argument quotes for setparams command of menuentry
4081 definitions.
7e623b0d
BC
4082
4083 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4084 quotes for arguments.
f866fe80 4085 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 4086 grub_strchrsub function instead.
f866fe80 4087
7955bea0 4088 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 4089
74f72a64
CW
40902010-11-24 Colin Watson <cjwatson@ubuntu.com>
4091
4092 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4093 effort by skipping "." and ".." entries up-front.
4094 Suggested by: Michael Lazarev.
4095
5a407278
CW
40962010-11-24 Colin Watson <cjwatson@ubuntu.com>
4097
4098 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4099 ldflags to ldadd, to fix link line ordering.
4100 (none_decompress): Likewise.
4101
3030d8ec
CW
41022010-11-24 Colin Watson <cjwatson@ubuntu.com>
4103
4104 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4105 platforms.
4106 (grub-emu-lite): Remove kern/emu/cache.S.
4107
b7fbac12
CW
41082010-11-23 Colin Watson <cjwatson@ubuntu.com>
4109
4110 * util/deviceiter.c (compare_devices): If the by-id link for a
4111 device couldn't be resolved, fall back to sorting by the by-id link
4112 rather than segfaulting.
4113 Reported and tested by: Daniel Mierswa.
4114
5225f328
CW
41152010-11-23 Colin Watson <cjwatson@ubuntu.com>
4116
4117 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4118 ldflags, to fix link line ordering.
4119
038b3ce8
CW
41202010-11-23 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4123 linkers are picky about this.
4124
bf16e98e
CW
41252010-11-23 Colin Watson <cjwatson@ubuntu.com>
4126
4127 * grub-core/Makefile.am (command.lst): Adjust sed expression
4128 ordering so that extended and priority commands aren't treated as
4129 ordinary commands.
4130
7242bab6
CW
41312010-11-23 Colin Watson <cjwatson@ubuntu.com>
4132
4133 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4134 Remove byte-swapping function calls, which are not valid in
4135 structure initialisers.
4136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4137 non-const.
4138 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4139 grub_gpt_partition_type_bios_boot.
4140
14e8b279
CW
41412010-11-22 Colin Watson <cjwatson@ubuntu.com>
4142
4143 Fix test program build on GNU/kFreeBSD.
4144
4145 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4146 $(LIBNVPAIR)' library dependencies.
4147
e6f63338 41482010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
4149
4150 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4151
cf8ffc38
CW
41522010-11-22 Colin Watson <cjwatson@ubuntu.com>
4153
4154 * util/grub-install.in: Remove excessive quoting that broke
4155 installations to RAID devices.
4156
7f8b0fd7
VS
41572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4160 bootloader version instead of 0.
4161
dfd240b1
VS
41622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4165 warning.
4166
7b61e609
VS
41672010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4170 retrieve the metadat sector if size isn't known.
4171 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4172
9dfe92d0
RM
41732010-11-18 Robert Millan <rmh@gnu.org>
4174
4175 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4176 with grub_memcmp().
4177
41cc919e
VS
41782010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4181 arrow.
4182 Reported by: Jordan Uggla.
4183
1afcc914
VS
41842010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 Make better UTF compliant.
4187
4188 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4189 sequences as incorrect.
4190 (grub_is_valid_utf8): Likewise.
4191 (grub_utf8_to_ucs4): Likewise.
4192 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4193 (grub_ucs4_to_utf8_alloc): Likewise.
4194 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4195
f1808884
VS
41962010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Make legacy_source behave like source.
4199
4200 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4201 grub_show_menu.
4202 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4203
24ec575b
CW
42042010-11-16 Colin Watson <cjwatson@debian.org>
4205
4206 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4207 (-Wunused implies -Wunused-parameter, but not vice versa).
4208
72b7c7aa
CW
42092010-11-16 Colin Watson <cjwatson@ubuntu.com>
4210
4211 * configure.ac: Make error messages less confusing by testing for
4212 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4213 accepted, but produces a diagnostic if something else is wrong).
4214
e98937aa
VS
42152010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4218 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4219 (now unused).
4220 (grub_keyboard_controller_init)
4221 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4222 read the initial state since controller isn't inited yet.
4223
f6bbabc3
VS
42242010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4227 allocate_regbeg may need to create new chunk header.
4228
22e7dbb2
VS
42292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 Fix quoting in legacy parser.
4232
4233 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4234 single quotes.
4235 (grub_legacy_parse): Likewise.
4236 Reported by: Jordan Uggla.
4237 Tested by: Jordan Uggla.
4238
03f80960
VS
42392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Don't add -lgcc on i386 and x86_64.
4242
4243 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4244 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4245 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4246
779dc15b
VS
42472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * configure.ac: Add -Wno-trampolines when supported.
4250
d20a3b37
MV
42512010-11-14 Modestas Vainius <modax@debian.org>
4252
4253 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4254 fakeraid.
4255
e5360933
GC
42562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4257
4258 Add generic logical block size support for UDF.
4259
4260 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4261 (GRUB_UDF_BLKSZ): Removed.
4262 (struct grub_udf_data): New field "lbshift" to hold the logical block
4263 size of the file system in log2 format. All users updated.
4264 (sblocklist): Change type to unsigned.
4265 (grub_udf_mount): Change type of "sblklist" to unsigned.
4266 Move AVDP search before VRS recognition, because the latter requires
4267 knowledge of the logical block size, which is detected during the
4268 former.
4269 Detect and validate logical block size during AVDP search, adding
4270 support for block sizes 512, 1024 and 4096.
4271 Make VRS recognition independent of block size.
4272
cb0229c5
GC
42732010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4274
4275 Properly handle deleted files on UDF.
4276
4277 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4278 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4279 set.
4280
406858a8
GC
42812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4282
4283 Support reading files larger than 2 GiB.
4284
4285 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4286 "offset" to grub_off_t.
4287 (grub_udf_read_file): Likewise for parameter "pos".
4288
130da6a7
VS
42892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4292 unavailable.
4293 (Simple configuration): Refer to Changes from GRUB Legacy about
4294 save_env availability.
4295
65e93f6b
VS
42962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * util/grub-install.in: Ignore empty partition table detection
4299 instead of trying to include part_ module.
4300
1fd08bf1
VS
43012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4304 LVM on RAID support.
4305
de1a024f
VS
43062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Properly define WORDS_BIGENDIAN in wrapped environments.
4309
4310 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4311 definition.
4312 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4313
4314 Reported by: Manoel Rebelo Abranches.
4315 Tested by: Manoel Rebelo Abranches.
4316
bc5dd0b9
VS
43172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * util/grub-mkconfig.in: Fix quoting.
4320
58c184be
VS
43212010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Support big ext2 files.
4324
4325 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4326 (grub_ext2_read_block): Support triple indirect blocks.
4327 (grub_ext2_read_file): Use 64-bit types and read size_high.
4328 (grub_ext2_open): Read size_high.
4329 Reported by: Ximin Luo.
4330 Tested by: Manoel Rebelo Abranches.
4331
5f0c02b3
VS
43322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/grub-install.in: Handle filenames containing spaces.
4335 Reported by: Jordan Uggla.
4336 Tested by: Jordan Uggla.
4337
4417aae6
VS
43382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * util/grub-mkconfig.in (grub_script_check): New variable.
4341 Use grub_script_check instead of grub-script-check.
4342 Reported by: Barry Jackson.
4343
7625a68e
VS
43442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * docs/grub.texi (menu): Correct the order.
4347 Reported by: D. Hugh Redelmeier.
4348
10001ac5
VS
43492010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4352 jump.
4353
9c4cf53b
MRA
43542010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4355
10001ac5
VS
4356 * include/grub/elfload.h (grub_elf32_size): New parameter.
4357 All users updated.
9c4cf53b
MRA
4358 Return maximum segments alignment.
4359 (grub_elf64_size): Likewise.
4360 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4361 Return maximum segments alignment.
4362 (grub_elf64_size): Likewise.
4363 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
4364 (grub_linux_claimmap_iterate): New function. Uses the
4365 "available" property in the "memory" node for memory allocation
4366 for kernel in the PowerPC loader.
9c4cf53b
MRA
4367 (grub_linux_load32): Correctly find linux entry point offset.
4368 (grub_linux_load64): Likewise.
4369
d2bf06bf
RM
43702010-11-07 Robert Millan <rmh@gnu.org>
4371
4372 On mips-yeeloong, build with -march=loongson2f when this flag is
4373 available (GCC >= 4.4).
4374 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4375 `-march=mips3'.
4376 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4377 or otherwise add -march=mips3.
4378
898c99a2
BC
43792010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4380
87220a68
BC
4381 Suppress shell expansion on echo '*' and echo "*" like cases.
4382 Reported by: Jordan Uggla.
898c99a2
BC
4383
4384 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4385 string arguments before shell expansion.
4386 * tests/grub_cmd_echo.in: New testcases.
4387
4f9b406a
RM
43882010-11-07 Robert Millan <rmh@gnu.org>
4389
4390 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4391 transition.
4392
80c6d25e
VS
43932010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/kern/emu/hostdisk.c
4396 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4397
4a1a0153
VS
43982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4401 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4402 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4403
34706ddc
VS
44042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4407
6972dea9
VS
44082010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * util/grub-install.in: Replace useless recomendation to pass
4411 --modules with a recomendation to report a bug.
4412
9c693bd6
VS
44132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Properly register serial terminfo.
4416 Reported by: Jordan Uggla
4417
4418 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4419 const.
4420 (grub_serial_terminfo_output_template): Likewise.
4421 (grub_cmd_serial): Register "serial" with terminfo.
4422 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4423 grub_serial_terminfo_output.
4424
6c9e4c0c
RM
44252010-11-05 Robert Millan <rmh@gnu.org>
4426
4427 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4428 needed).
4429
b9b3839f
RM
44302010-11-05 Robert Millan <rmh@gnu.org>
4431
4432 On Yeeloong, pass machine type information to Linux.
4433
4434 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4435 (LOONGSON_MACHTYPE): New macro, set to
4436 "machtype=lemote-yeeloong-2f-8.9inches".
4437 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4438 additional argument to Linux.
4439
1a3aaff4
RM
44402010-11-04 Robert Millan <rmh@gnu.org>
4441
4442 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4443 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4444 (its SATA disks are detected as slaveless IDE master drives on
4445 kFreeBSD).
4446 Reported by Carsten Aulbert.
4447
a75f4f62
CW
44482010-11-02 Colin Watson <cjwatson@ubuntu.com>
4449
4450 * util/bin2h.c (main): Fix spelling error in generated output.
4451
33b4b0c6
GS
44522010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4453
4454 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4455
2b36fbf4
VS
44562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4459 vga= option is supplied.
4460
74aaf558
VS
44612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4464 * util/grub.d/10_kfreebsd.in: Likewise.
4465 * util/grub.d/10_linux.in: Likewise.
4466 * util/grub.d/20_linux_xen.in: Likewise.
4467
6428dec3
VS
44682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4471 argument as an argument to no-argument option.
4472
f8729d98
VS
44732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub.d/10_linux.in: Add missing load_video with explicit
4476 GRUB_GFXPAYLOAD_LINUX.
4477
89d68fa6
VS
44782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4481
3a1197cd
VS
44822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4485 elements with invlid index.
4486 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4487 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4488 members.
4489 * include/grub/raid.h (grub_raid_member): New struct.
4490 (grub_raid_array): Transform devices and start_sector into usage of
4491 grub_raid_member. All users updated
4492 (allocated_devs): New member.
4493
71574288
VS
44942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4497 is modified
4498
8d40ec65
BC
44992010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4500
4501 NetBSD build fix for getline function conflict from gnulib.
4502
4503 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4504 components that depend on gnulib headers.
4505 (libgrubmods.a): Renamed from earlier libgrub.a.
4506 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4507
95b9257e
VS
45082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4511 install rather than creating a broken install.
4512
26c53dc6
VS
45132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * util/grub-setup.c (argp): Remove misleading example of installing to
4516 a partition.
4517
4171b3c5
VS
45182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * util/grub-setup.c (setup): Clarify the error message.
4521
18568d18
VS
45222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4525
4f6a2e21
VS
45262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/kern/emu/misc.c
4529 (grub_make_system_path_relative_to_its_root)
4530 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4531
45322010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
4533
4534 * grub-core/kern/emu/misc.c
4535 (grub_make_system_path_relative_to_its_root): Revert r2882.
4536
e138c458
VS
45372010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4540 useless field head. All users updated.
4541 (free_subchunk): Correct handling of IN_REGION subchunk.
4542
0cbcdf0e
CW
45432010-10-22 Colin Watson <cjwatson@ubuntu.com>
4544
4545 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4546 (Supported kernels): Likewise.
4547
b65ea155
GS
45482010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4549
4550 Make mktemp invocations portable.
4551
4552 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4553 exit if mktemp fails.
4554 * tests/grub_script_blockarg.in: Likewise.
4555 * tests/partmap_test.in: Likewise.
4556 * tests/util/grub-shell-tester.in: Likewise.
4557 * tests/util/grub-shell.in: Likewise.
4558 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4559 * Makefile.am: Likewise, and chain shell commands with `&&'
4560 instead of ';'.
4561 * util/grub-mkrescue.in: Use the same explicit template as above, and
4562 exit if mktemp fails.
4563
05f43cdd
BC
45642010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4565
4566 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4567 Linux kernel, reported by Dennis Schridde.
4568
800e6a9b
SJ
45692010-10-17 Szymon Janc <szymon@janc.net.pl>
4570
4571 * grub-core/normal/auth.c (grub_auth_check_authentication):
4572 Set-but-not-used variable removed.
4573
d82df574
VS
45742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4577 32-bit linux protocol.
4578
7bced458
VS
45792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4582 cursor shape for sanity.
4583
5b027690
VS
45842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * docs/grub.texi (Installation): Document buggy BIOS install.
4587
ba5f65cf
VS
45882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * docs/grub.texi (Installation): Indent.
4591
fdf2ec9c
VS
45922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * util/grub-setup.c (setup): New parameter allow_floppy.
4595 (arguments): New member allow_floppy.
4596 (argp_parser): Handle --allow-floppy.
4597 (main): Pass allow_floppy.
4598 * util/grub-install.in: New option --allow-floppy passed though to
4599 grub-setup.
4600
861dfd4c
VS
46012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * util/grub-install.in: Handle partitionless disks.
4604
f77a8c24
VS
46052010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * util/grub-setup.c (setup): Don't clean blocklists before readability
4608 verfification.
4609
27d9ee32
VS
46102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * docs/grub.texi (Installation): Document embedding zone. Remove
4613 obsolete grub-install example.
4614
6bdda8f8
SJ
46152010-10-16 Szymon Janc <szymon@janc.net.pl>
4616
4617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4618 Set-but-not-used variable ifdef'ed.
4619 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4620 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4621 variable removed.
4622 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4623 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4624 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4625 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4626 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4627 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4628 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4629 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4630 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4631 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4632 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4633 Likewise.
4634
e19b016b
VS
46352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4638 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4639 enum value.
4640
6c8d3002
VS
46412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4644 synonym to _S5_. Needed for some DSDTs.
4645
c32b51c9
VS
46462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 Userspace ACPI parser debugging.
4649
4650 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4651 headers and add relevant defines. Don't include standard headers.
4652 (main) [GRUB_DSDT_TEST]: New function.
4653 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4654 Don't declare functions.
4655
fbfbeb39
VS
46562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Remove dead grub_efi_mm_fini.
4659
4660 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4661 (ALLOCATED_PAGES_SIZE): Likewise.
4662 (MAX_ALLOCATED_PAGES): Likewise.
4663 (allocated_pages): Likewise.
4664 (grub_efi_allocate_pages): Don't record allocated pages.
4665 (grub_efi_free_pages): Likewise.
4666 (grub_efi_mm_init): Likewise.
4667 (grub_efi_mm_fini): Removed.
4668
65f7ed7c
VS
46692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4672 (grub_efi_mm_init): Take into account the memory map size increase.
4673
24977b44
VS
46742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4677 (serial_hw_put): Wait based on real time rather than port reads. Don't
4678 roken ports.
4679 * include/grub/serial.h (grub_serial_port): New field broken.
4680
1eb01cd2
RM
46812010-10-16 Robert Millan <rmh@gnu.org>
4682
4683 * grub-core/kern/emu/misc.c
4684 (grub_make_system_path_relative_to_its_root): Fix premature return
4685 when processing non-root ZFS filesystems.
5f8b440b 4686 Reported by Sergio Talens-Oliag.
1eb01cd2 4687
2d5fed60
RM
46882010-10-15 Robert Millan <rmh@gnu.org>
4689
4690 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4691 guarantee compressed ones are processed first.
4692
d0f4c1ea
VS
46932010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4696 grub_efiemu_autocore.
4697
d87c681f
VS
46982010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4701 rather than 0x1b.
4702 (grub_console_getkey): Use correct jae opcode rather than ja.
4703
219b3564
RM
47042010-10-12 Robert Millan <rmh@gnu.org>
4705
4706 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4707 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4708 variable. All references updated.
4709
4710 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4711
20c6bb7e
VS
47122010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Correctly distinguish mdraid flavours.
4715
4716 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4717 (insert_array): New argument raid.
4718 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4719 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4720 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4721
74baff84
VS
47222010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4725 handling of special keys.
4726
3ef068df 47272010-10-02 Aleš Nesrsta <starous@volny.cz>
4728
c7980ad9
VS
4729 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4730 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 4731
a9455194 47322010-10-02 Aleš Nesrsta <starous@volny.cz>
4733
c7980ad9
VS
4734 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4735 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4736 users updated.
a9455194 4737 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 4738 Use right endpoint when querying descriptor.
a9455194 4739
441cfe65
VS
47402010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Clear out 0x80 color bit on EFI.
4743 Tested by: decoder
4744 Reported by: decoder and meta tech.
4745
4746 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4747 (grub_console_setcolorstate): Clear out 0x80 bit.
4748 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4749 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4750 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4751
bf26bcc4
VS
47522010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4755 Set to "auto".
4756
6e3c515d
VS
47572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4760 mo_file after freeing.
4761
e6d983ba
VS
47622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4765
74ccb5b5
VS
47662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4769 flags.
4770
17821956
VS
47712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4774 usage.
4775
ee74fa48
VS
47762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4779
4780 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4781 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4782 and terminfo.h when needed.
4783 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4784 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4785 (terminfo): Enable only on terminfokernel.
4786 (extcmd): Likewise.
4787 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4788 * include/grub/lib/arg.h: Likewise.
4789 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4790 incorrect usage of ->.
4791
aa438e68
VS
47922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4795 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4796
57994012
VS
47972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Fix coreboot compilation.
4800
4801 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4802 Take VBE info into account even if only text is supported.
4803 (fill_vbe_info): Take into account the case when only VGA text
4804 is supported.
4805 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4806 on coreboot, multiboot and qemu.
4807
2a406611
VS
48082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4811 debug messages.
4812 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4813
d33613fc
VS
48142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4817 parameters.
4818
44a1b432
VS
48192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4822 if they were BSD-style.
4823
edde54e6
VS
48242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/boot/i386/pc/lnxboot.S: Replace
4827 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4828 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4829
b65830fa
VS
48302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 Write embedding zone using Reed-Solomon.
4833
4834 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4835 * grub-core/Makefile.am (rs_decoder.S): New target.
4836 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4837 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4838 (multiboot): Move to RS part.
4839 (post_reed_solomon): New label.
4840 (grub_boot_drive): Move to non-RS part since it's modified in memory
4841 on boot.
4842 Include rs_decoder.S.
4843 * grub-core/lib/reed_solomon.c: New file.
4844 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4845 New definition.
4846 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4847 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4848 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4849 * include/grub/partition.h (grub_partition_map): Change prototype of
4850 embed to allow returning additional sectors.
4851 * include/grub/reed_solomon.h: New file.
4852 * util/grub-setup.c (setup): Handle Reed-Solomon.
4853
0b4b227f
CW
48542010-09-28 Colin Watson <cjwatson@ubuntu.com>
4855
4856 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4857 i386 and x86-64 definedness tests.
4858
f772623b
YB
48592010-09-27 Yves Blusseau <blusseau@zetam.org>
4860
4861 Fix generation of kernel_syms.lst
4862
4863 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4864 ASM_PREFIX
4865
8e57a6ca
RM
48662010-09-26 Robert Millan <rmh@gnu.org>
4867
4868 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4869
4870 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4871 the pool is an array of devices, iterate through it and return the
4872 first device that passes a stat() test (instead of blindly returning
4873 the first one).
4874
f9130836
RM
48752010-09-26 Robert Millan <rmh@gnu.org>
4876
4877 Build fixes for GNU/kFreeBSD.
4878
4879 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4880 to programs that require ZFS conversion.
4881 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4882 kernels that don't have FLOPPY_MAJOR.
4883
96510faf
BC
48842010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4885
4886 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4887
449333eb
BC
48882010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4889
4890 Fix grub-emu build.
4891
4892 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4893 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4894 mdraid09 and mdraid1x.
4895
e1fd1939
CW
48962010-09-24 Colin Watson <cjwatson@ubuntu.com>
4897
4898 Re-enable grub-extras.
4899
4900 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4901 avoid confusing Automake. Run autogen only twice, once for the top
4902 level and once for grub-core. Add Makefile.util.def and
4903 Makefile.core.def from extra modules to the appropriate autogen
4904 invocations. If Makefile.common exists in an extra module, include
4905 it in both Makefile.util.am and grub-core/Makefile.core.am;
4906 similarly, include any Makefile.util.common file in Makefile.util.am
4907 and any Makefile.core.common file in grub-core/Makefile.core.am.
4908 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4909 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4910 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4911 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4912
4913 * gentpl.py (gvar_add): Turn GVARS into a set.
4914 (global_variable_initializers): Sort global variables on output.
4915 (vars_init): New function.
4916 (first_time): Likewise.
4917 (library): Ensure that non-global variable initialisations are
4918 emitted before the first time we emit code for a library block.
4919 Append to variables rather than setting them. Only emit
4920 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4921 each conditional path.
4922 (program): installdir() emits an Autogen macro, so must be passed to
4923 var_add rather than gvar_add.
4924 (data): Likewise.
4925 (script): Likewise.
4926 (rules): New function, centralising handling for different target
4927 types. Set up Guile association lists for first_time and vars_init,
4928 and send most output to a diversion so that variable initialisations
4929 can be emitted first.
4930 (module_rules): Use new rules function.
4931 (kernel_rules): Likewise.
4932 (image_rules): Likewise.
4933 (library_rules): Likewise.
4934 (program_rules): Likewise.
4935 (script_rules): Likewise.
4936 (data_rules): Likewise.
4937
4938 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4939
4940 * .bzrignore: Add contrib and grub-core/contrib. Remove
4941 grub-core/Makefile.gcry.am.
4942
1d12cf29
YB
49432010-09-24 Yves Blusseau <blusseau@zetam.org>
4944
4945 * grub-core/lib/LzFind.c: Add missing include.
4946 * grub-core/lib/LzmaEnc.c: Likewise.
4947 * grub-core/script/lexer.c: Likewise.
4948 * grub-core/script/yylex.l: Likewise.
4949 * util/grub-macho2img.c: Likewise.
4950 * util/grub-menulst2cfg.c: Likewise.
4951 * util/grub-mklayout.c: Likewise.
4952 * util/grub-mkpasswd-pbkdf2.c
4953 * util/grub-mkrelpath.c: Likewise.
4954 * util/resolve.c: Likewise.
4955
dd363028
BC
49562010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4957
4958 * Makefile.util.def (example_unit_test): Add
4959 grub-core/gnulib/libgnu.a.
4960
f5a109e2
GS
49612010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
4962
4963 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
4964
6d0fa83c
VS
49652010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 Support xz compression on yeeloong.
4968
4969 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
4970 * configure.ac: Check for LZMA.
4971 * grub-core/Makefile.core.def (xz_decompress): New target.
4972 (none_decompress): Likewise.
4973 * grub-core/boot/decompressor/minilib.c: New file.
4974 * grub-core/boot/decompressor/none.c: Likewise.
4975 * grub-core/boot/decompressor/xz.c: Likewise.
4976 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
4977 * grub-core/kern/mips/cache_flush.S: Likewise.
4978 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
4979 * grub-core/kern/mips/startup.S: Move first stage to ...
4980 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
4981 nomacro.
4982 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
4983 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
4984 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
4985 Allocate statically.
4986 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
4987 Allocate statically or use scratch. Don't check CRC32.
4988 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
4989 Allocate statically. Don't check CRC32.
4990 * include/grub/decompressor.h: New file.
4991 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
4992 Removed.
4993 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
4994 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
4995 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
4996 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
4997 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
4998 * util/grub-mkimage.c (grub_compression_t): New type.
4999 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5000 (image_target_desc): New field default_compression.
5001 (image_targets): Adjust yeeloong targets.
5002 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5003 (compress_kernel): New parameter comp.
5004 (generate_image): Likewise. Handle new compression case.
5005 (options): New option --compression
5006 (help): Likewise.
5007 (main): Handle new option.
5008
1b655af6
GS
50092010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5010
5011 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5012
8f03f0b5
CW
50132010-09-22 Colin Watson <cjwatson@ubuntu.com>
5014
5015 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5016 typo in __i386__ conditional.
5017
7835dfd3
VS
50182010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5021 include.
5022
e255597e
VS
50232010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5024
6d0fa83c 5025 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
5026
5027 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5028 new tags as supported.
5029 (acpiv2_size): New function.
5030 (grub_multiboot_get_mbi_size): Take new tags into account.
5031 (grub_multiboot_make_mbi): Add new tags.
5032 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 5033
6cc14051 50342010-09-21 Aleš Nesrsta <starous@volny.cz>
5035
5036 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5037 Added missing configuration of USB device.
5038
df7769d8
CW
50392010-09-21 Colin Watson <cjwatson@ubuntu.com>
5040
5041 * grub-core/normal/menu_entry.c (run): Make sure we always return
5042 a value.
5043
b031012d
CW
50442010-09-21 Colin Watson <cjwatson@ubuntu.com>
5045
5046 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5047 NumberOfPages is UINT64 according to the UEFI specification, not
5048 UINTN. Fix printf format.
5049
174de8f3
CW
50502010-09-21 Colin Watson <cjwatson@ubuntu.com>
5051
5052 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5053 `err' to grub_usb_err_t.
5054 Reported and tested by: KESHAV P.R.
5055
d7dbe923
CW
50562010-09-21 Colin Watson <cjwatson@ubuntu.com>
5057
5058 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5059 tpart non-const, so that we can assign to it. (Since this is a
5060 typedef, the constness refers to the pointer rather than what it
5061 points to.)
5062
8d5e2af3
CW
50632010-09-21 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5066 $(top_srcdir)/grub-core/gnulib as well as
5067 $(top_builddir)/grub-core/gnulib.
5068 Reported by: KESHAV P.R.
5069
5c527783
CW
50702010-09-21 Colin Watson <cjwatson@ubuntu.com>
5071
5072 * util/grub-install.in: Fix the bootloader ID option to be
5073 consistently --bootloader-id, not --bootloader_id.
5074 Reported by: KESHAV P.R.
5075
d309a16e
CW
50762010-09-21 Colin Watson <cjwatson@ubuntu.com>
5077
5078 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5079 check hash checksum." consistently translatable.
5080
b830cd16
YB
50812010-09-21 Yves Blusseau <blusseau@zetam.org>
5082
5083 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5084 $(top_builddir).
5085
c4fe27a8
CW
50862010-09-21 Colin Watson <cjwatson@ubuntu.com>
5087
5088 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5089 (GRUB_MOD_INIT): Register sha1sum command.
5090 (GRUB_MOD_FINI): Unregister sha1sum command.
5091
a4c1d277
YB
50922010-09-21 Yves Blusseau <blusseau@zetam.org>
5093
5094 Keep boot and grub directory names in sync with utils scripts
5095
5096 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5097 * config.h.in: Add previous macros.
5098 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5099 * util/grub-install.in: Use $bootdir and $grubdir variables.
5100
4eff79d2
CW
51012010-09-21 Colin Watson <cjwatson@ubuntu.com>
5102
5103 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5104 convert partition names to disk names if the new `convert' parameter
5105 is set.
5106 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5107 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5108 disk in its own right. This can happen with Xen disk images.
5109
934d7e44
YB
51102010-09-21 Yves Blusseau <blusseau@zetam.org>
5111
5112 * util/grub-editenv.c: Update strings to avoid warnings when generating
5113 grub.pot file.
5114 * util/grub-setup.c: Likewise.
934d7e44 5115
df3367cc
VS
51162010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * configure.ac: Change version to 1.99~beta0.
5119
77a94e98
VS
51202010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5123 Add BADRAM.
5124 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5125 Likewise.
5126 * include/multiboot.h: Resynced with specification.
5127 * include/multiboot2.h: Likewise.
5128
269004c1
CW
51292010-09-21 Colin Watson <cjwatson@ubuntu.com>
5130
5131 Fix po directory handling.
5132
5133 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5134 * grub-core/gnulib/Makefile.am: Import gettext module.
5135 * m4/gnulib-cache.m4: Likewise.
5136 * m4/gnulib-comp.m4: Likewise.
5137 * m4/gettext.m4: New file, from gnulib.
5138 * m4/glibc2.m4: Likewise.
5139 * m4/iconv.m4: Likewise.
5140 * m4/intdiv0.m4: Likewise.
5141 * m4/intl.m4: Likewise.
5142 * m4/intldir.m4: Likewise.
5143 * m4/intlmacosx.m4: Likewise.
5144 * m4/intmax.m4: Likewise.
5145 * m4/inttypes-pri.m4: Likewise.
5146 * m4/lcmessage.m4: Likewise.
5147 * m4/lib-ld.m4: Likewise.
5148 * m4/lib-link.m4: Likewise.
5149 * m4/lib-prefix.m4: Likewise.
5150 * m4/lock.m4: Likewise.
5151 * m4/nls.m4: Likewise.
5152 * m4/po.m4: Likewise.
5153 * m4/printf-posix.m4: Likewise.
5154 * m4/progtest.m4: Likewise.
5155 * m4/threadlib.m4: Likewise.
5156 * m4/uintmax_t.m4: Likewise.
5157 * m4/visibility.m4: Likewise.
5158 * po/Makefile.am: Remove.
5159 * po/Makefile.in.in: New file, from gettext.
5160 ($(DOMAIN).pot-update): Support POTFILES-shell.
5161 * po/Makevars: New file.
5162 * po/POTFILES-shell: Rename to ...
5163 * po/POTFILES-shell.in: ... this. Update.
5164 * po/POTFILES: Rename to ...
5165 * po/POTFILES.in: ... this. Update.
5166 * po/Rules-quot: New file, from gettext.
5167 * po/boldquot.sed: Likewise.
5168 * po/en@boldquot.header: Likewise.
5169 * po/en@quot.header: Likewise.
5170 * po/insert-header.sin: Likewise.
5171 * po/quot.sed: Likewise.
5172 * po/remove-potcdate.sin: Likewise.
5173
3e0fa5d0
VS
51742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5177
ade9bd66
VS
51782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * util/grub.d/20_linux_xen.in: Use submenus.
5181
fc55cc4c
VS
51822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Support submenus.
5185
5186 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5187 parameter submenu. All users updated.
5188 * grub-core/normal/main.c (free_menu): Rename to ...
5189 (grub_normal_free_menu): ... this. Made global.
5190 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5191 if requested.
5192 * grub-core/normal/menu_entry.c (screen): New field submenu.
5193 (make_screen): Set submenu.
5194 (run): Open new context if requested.
5195 * include/grub/menu.h (grub_menu_entry): New field submenu.
5196 * include/grub/normal.h (grub_normal_free_menu): New proto.
5197
600cedf7
VS
51982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Menu entries extractor.
5201
5202 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5203 variants.
5204 (GRUB_MOD_INIT): Register new variants.
5205 (GRUB_MOD_FINI): Unregister new variants.
5206 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5207 into grub_cmd_legacy_source.
5208 (grub_cmd_legacy_source): Implement extractor variants.
5209 (GRUB_MOD_INIT): Register new variants.
5210 (GRUB_MOD_FINI): Unregister new variants.
5211 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5212 as an extractor.
5213 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5214 search as an extractor.
5215 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5216 test as an extractor.
5217 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5218 as an extractor.
5219 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5220 (grub_env_new_context): New function.
5221 (grub_env_context_open): Likewise.
5222 (grub_env_extractor_open): Likewise.
5223 (grub_env_extractor_close): Likewise.
5224 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5225 grub_extractor_level.
5226 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5227 * include/grub/env.h (grub_env_extractor_open): New proto.
5228 (grub_env_extractor_close): Likewise.
5229 * include/grub/normal.h (grub_extractor_level): New external variable.
5230
7bda3a87
VS
52312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 Make cutmem accept a region specification.
5234 Suggested by: Samuel Thibault
5235
5236 * grub-core/mmap/mmap.c (parsemem): New function.
5237 (grub_cmd_cutmem): Handle new arguments.
5238
2ea57f88
VS
52392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 New command cutmem.
5242
5243 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5244 (GRUB_MOD_INIT): Register new command.
5245 (GRUB_MOD_FINI): Unregister new command.
5246
74342e31
VS
52472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Support some annoying BSD and Minix subpartitions.
5250
5251 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5252 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5253 Properly handle concatenation.
5254 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5255 * grub-core/normal/completion.c (iterate_partition): Likewise.
5256 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5257 contain partition. All users updated.
5258 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5259 struct.
5260 (grub_openbsdlabel_partition_map): Likewise.
5261 (bsdlabel_partition_map_iterate): Rename to ..
5262 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5263 (bsdlabel_partition_map_iterate): New function.
5264 (netopenbsdlabel_partition_map_iterate): Likewise.
5265 (netbsdlabel_partition_map_iterate): Likewise.
5266 (openbsdlabel_partition_map_iterate): Likewise.
5267 (GRUB_MOD_INIT): Register new partmaps.
5268 (GRUB_MOD_FINI): Unregister new partmaps.
5269 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5270 (grub_partition_msdos_iterate): ... this. All users updated.
5271 Don't support embedding other than in a minix partition.
5272 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5273 proto.
5274 * include/grub/partition.h (grub_partition): New field msdostype.
5275 * util/grub-install.in: Handle openbsd and netbsd types being in
5276 part_bsd module.
5277
1e8d555b
VS
52782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5281
5282 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5283 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5284 (mdraid09): ... this.
5285 (mdraid1x): New module.
5286 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5287 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5288
899d8af4
VS
52892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5292 vsprintf.
5293
40901acd
CW
52942010-09-20 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * grub-core/commands/efi/lsefimmap.c: Correct header.
5297 * NEWS: Update.
5298
dfe3b247
CW
52992010-09-20 Colin Watson <cjwatson@ubuntu.com>
5300
5301 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5302 as printf format strings; the translations might contain '%' which
5303 could cause a crash.
5304 (main): Likewise.
5305 * util/grub-fstest.c (argp_parser): Likewise.
5306 * util/grub-setup.c (argp_parser): Likewise.
5307 (main): Likewise.
5308
3286a4b4
VS
53092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Use argp in grub-fstest.
5312
5313 * util/grub-fstest.c: Don't include getopt.h.
5314 Include argp.h.
5315 (root): New variable.
5316 (args_count): Likewise.
5317 (nparm): Likewise.
5318 (num_disks): Likewise.
5319 (images): Likewise.
5320 (cmd): Likewise.
5321 (debug_str): Likewise.
5322 (args): Likewise.
5323 (options): Transformed to argp.
5324 (usage): Removed.
5325 (main): Split argument parsing into ...
5326 (argp_parser): ... this. Changed to argp format.
5327 (argp): New variable.
5328 (main): Use argp_parse.
5329
3dccbe4b
TG
53302010-09-20 Tristan Gingold <gingold@free.fr>
53312010-09-20 Robert Millan <rmh.grub@aybabtu.com>
53322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/commands/efi/lsefimmap.c: New file.
5335 * grub-core/Makefile.core.def (lsefimmap): New module.
5336 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5337
38c259a7
VS
53382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Pause the execution (10s max) if any errors are displayed so the user
5341 has a chance to see them.
5342
5343 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5344 (grub_print_error): Increment grub_err_printed_errors.
5345 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5346 execution if any errors were displayed.
5347 (show_menu): Remove old code for pause.
5348 * grub-core/normal/menu_entry.c (run): Likewise.
5349 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5350 users updated.
5351 (grub_normal_get_char_counter): Likewise.
5352 * include/grub/err.h (grub_err_printed_errors): New external variable.
5353 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5354
f218b09c
VS
53552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Support multiboot VBE info.
5358
5359 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5360 Take VBE info into account.
5361 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5362 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5363 Call fill_vbe_info when appropriate.
5364 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5365 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5366 as supported.
5367 (grub_multiboot_get_mbi_size): Take new tags into account.
5368 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5369 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5370 Call fill_vbe_tag when appropriate.
5371 (grub_multiboot_make_mbi): Properly align tags.
5372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5373 function.
5374 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5375 proto.
5376 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5377
a9cc5438
VS
53782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Suport manual terminal geometry specification.
5381
5382 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5383 Save state in grub_ofconsole_terminfo_output.
5384 (grub_ofconsole_term): Use grub_terminfo_getwh.
5385 (grub_ofconsole_getwh): Removed.
5386 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5387 (grub_serial_term): Use grub_terminfo_getwh.
5388 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5389 (options): New struct.
5390 (OPTION_*): New enum.
5391 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5392 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5393 width and height.
5394 (grub_terminfo_getwh): New proto.
5395 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5396
1a8fed20
VS
53972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 Handle legacy "terminal" command.
5400
5401 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5402 and FLAG_TERMINAL.
5403 (legacy_commands): Add terminal and title.
5404 (grub_legacy_parse): Handle terminal. Simplify title handling.
5405
41e9c57d
VS
54062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5409 parameters overflow.
5410
61c874c5
CW
54112010-09-20 Colin Watson <cjwatson@ubuntu.com>
5412
5413 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5414 widthspec.h.
5415
5416 * docs/grub.texi (Shell-like scripting): Document `!'.
5417 (Network): Simplify using new i386-pc-pxe format. Mention
5418 grub-mknetdir.
5419
5420 * NEWS: Update.
5421
943682b4
CW
54222010-09-20 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5425 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5426 when needed.
5427
6d3d698d
CW
54282010-09-20 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * grub-core/commands/efi/lsefisystab.c: Correct header.
5431 * grub-core/commands/efi/lssal.c: Likewise.
5432 * grub-core/commands/testload.c: Likewise.
5433
c982589f
CW
54342010-09-20 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * util/grub-mkrescue.in: Add explicit root argument to --set to
5437 prevent the UUID being interpreted as an argument to --set (matches
5438 previous change to prepare_grub_to_access_device).
5439
a63c31b6
CW
54402010-09-20 Colin Watson <cjwatson@ubuntu.com>
5441
5442 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5443 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5444 the verbosity of later #ifs.
5445 (find_partition_start): Define this function on FreeBSD too.
5446 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5447 function.
5448 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5449 on FreeBSD.
5450
6439b8ee
YB
54512010-09-20 Yves Blusseau <blusseau@zetam.org>
5452
5453 * util/grub-editenv.c: Use argp instead of getopt.
5454
c5930ec8
YB
54552010-09-20 Yves Blusseau <blusseau@zetam.org>
5456
5457 * util/grub-setup.c: Use argp instead of getopt.
5458
15c69261
YB
54592010-09-20 Yves Blusseau <blusseau@zetam.org>
5460
5461 Use gnulib-tool to create gnulib source files.
5462
5463 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5464 grub-core/gnulib directories
5465 * .bzignore: Add **/.deps and autogenerated gnulib files
5466 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5467 of gnulib macros, add grub-core/gnulib/Makefile
5468 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5469 include m4 directory to aclocal.
5470 * Makefile.util.def: Remove direct compilation of gnulib source files
5471 and use the new grub-core/gnulib/libgnu.a.
5472 * build-aux/config.rpath: move config.rpath from top directory to
5473 build-aux
5474 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5475 in gnulib headers
5476 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5477 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5478 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5479 header.
5480 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5481 string.
5482
e511c9f5
YB
54832010-09-20 Yves Blusseau <blusseau@zetam.org>
5484
5485 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5486 grub-core/genmod.sh and grub-core/gensyminfo.sh
5487
c2dede05
BC
54882010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5489
5490 Add a test for echo command options.
5491
5492 * tests/grub_cmd_echo.in: New test.
5493 * Makefile.util.def: Rules for new test.
5494
c55f5018
SJ
54952010-09-20 Szymon Janc <szymon@janc.net.pl>
5496
5497 Remove crc.mod and move crc command to hashsum.mod.
5498 Remove lib/crc.c - users updated to use gcrypt implementation.
5499
5500 * grub-core/commands/crc.c: Removed.
5501 * grub-core/Makefile.core.def (crc): Module removed.
5502 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5503 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5504 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5505 * grub-core/lib/crc.c: Removed.
5506 * include/grub/lib/crc.h: Removed.
5507 * Makefile.util.def (crc): Remove lib/crc.c
5508 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5509 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5510 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5511 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5512 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5513 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5514
e0337366
VS
55152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5518
742f9232
VS
55192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Split config.h for util and core.
5522
5523 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5524 (ADDR32): Likewise.
5525 (DATA32): Likewise.
5526 (BSS_START_SYMBOL): Likewise.
5527 (END_SYMBOL): Likewise.
5528 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5529 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5530 * config.h.in: New file.
5531 * configure.ac: Use config-util.h as config define file.
5532 Rename MACHINE into GRUB_MACHINE. All users updated.
5533 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5534 updated.
5535 (NESTED_FUNC_ATTR): Likewise.
5536 Substitue new variables.
5537 (COND_HAVE_ASM_USCORE): New conditional.
5538 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5539 (kernel_syms.lst): Use ASM_PREFIX.
5540 * grub-core/kern/emu/console.c: Include config-util.h.
5541 * grub-core/kern/emu/misc.c: Likewise.
5542 * grub-core/kern/emu/mm.c: Likewise.
5543 * include/grub/emu/misc.h: Likewise.
5544 * include/grub/libgcc.h: Likewise.
5545
39feb0e8
VS
55462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5549 constants usage.
5550 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5551 Fix GRUB_TERM_KEY_* constants usage.
5552 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5553
9af6dac3
VS
55542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5557 print pointer.
5558 * grub-core/bus/usb/uhci.c: Remove empty define.
5559 (grub_uhci_check_transfer): Add missing cast.
5560 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5561 print pointer.
5562 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5563 PRIuGRUB_SIZE.
5564 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5565
d6d94820
VS
55662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/Makefile.core.def (legacycfg): Add
5569 lib/i386/pc/vesa_modes_table.c on emu.
5570
3572f2b6
BC
55712010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5572
5573 Reduce number of temporary files generated by build system.
5574
5575 * grub-core/gencmdlist.sh: Removed.
5576 * grub-core/genfslist.sh: Removed.
5577 * grub-core/genhandlerlist.sh: Removed.
5578 * grub-core/genmodsrc.sh: Removed.
5579 * grub-core/genpartmaplist.sh: Removed.
5580 * grub-core/genparttoollist.sh: Removed.
5581 * grub-core/gentermiinallist.sh: Removed.
5582 * grub-core/genvideolist.sh: Removed.
5583
5584 * grub-core/genmod.sh.in: New file.
5585 * grub-core/gensyminfo.sh.in: New file.
5586
5587 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5588 * conf/Makefile.extra-dist: Update with new files.
5589 * gentpl.py: Remove rules related to unnecessary temporary files.
5590 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5591 and und-* files.
5592 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5593 genmod.sh scripts.
5594 * grub-core/bus/usb/uhci.c: Remove empty #define.
5595 * grub-core/genmoddep.awk: Updated with new syminfo format.
5596 * util/bash-completion.d/Makefile.am: Add config.log to
5597 CLEANFILES.
5598
c836b030
YB
55992010-09-19 Yves Blusseau <blusseau@zetam.org>
5600
5601 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5602
2f4e8053
BC
56032010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5604
5605 * util/grub-mkconfig.in: Check the config script for syntax errors
5606 before saving.
5607
75831c34
CW
56082010-09-19 Colin Watson <cjwatson@ubuntu.com>
56092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5612 platforms.
5613 * util/grub-install.in: Add EFI and IEEE1275 support.
5614 * util/i386/efi/grub-install.in: Removed.
5615 * util/ieee1275/grub-install.in: Likewise.
5616
eaf41b25
VS
56172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5620 (grub_cmd_cmosclean): Likewise.
5621 (GRUB_MOD_INIT): Register command cmosclean.
5622 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5623 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5624
1a9130dd
CPE
56252010-09-18 Carles Pina i Estany <carles@pina.cat>
56262010-09-18 Aleš Nesrsta <starous@volny.cz>
56272010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Add keyboard layouts support.
5630
5631 * Makefile.util.def (grub-mklayout): New file.
5632 (grub-kbdcomp): New script.
5633 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5634 Add keyboard_layouts.h.
5635 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5636 commands/boot.c on yeeloong.
5637 (keylayouts): New module.
5638 * grub-core/bus/usb/ohci.c
5639 * grub-core/bus/usb/uhci.c
5640 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5641 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5642 (attach_root_port): Likewise.
5643 (poll_nonroot_hub): Likewise.
5644 (grub_usb_poll_devices): Likewise.
5645 (detach_device): Close transfer.
5646 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5647 function.
5648 (grub_usb_bulk_setup_readwrite): Likewise.
5649 (grub_usb_bulk_finish_readwrite): Likewise.
5650 * grub-core/commands/keylayouts.c: New file.
5651 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5652 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5653 aliases.
5654 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5655 support scancode 2.
5656 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5657 * include/grub/keyboard_layouts.h: New file.
5658 * util/grub-mklayout.c: New file.
5659 * util/grub-kbdcomp.in: Likewise.
5660
a1d84a5e
VS
56612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Unify memory types.
5664
5665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5666 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5667 types.
5668 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5669 (grub_upper_mem): Likewise.
5670 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5671 * include/grub/memory.h (grub_memory_type_t): New enum.
5672 All users updated.
5673
9696382e
VS
56742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/Makefile.core.def (lsapm): New module.
5677 * grub-core/commands/i386/pc/lsapm.c: New file.
5678 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5679 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5680 Likewise.
5681 * include/grub/i386/pc/apm.h: New file.
5682 * include/multiboot.h (multiboot_apm_info): New struct.
5683
56842010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 GRUB-legacy configuration file support.
5687
5688 * Makefile.util.def (grub-menulst2cfg): New util.
5689 * docs/man/grub-menulst2cfg.h2m: New file.
5690 * grub-core/Makefile.core.def (legacycfg): New module.
5691 * grub-core/commands/legacycfg.c: New file.
5692 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5693 (grub_normal_add_menu_entry): ... this.
5694 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5695 (grub_normal_set_password): ...this.
5696 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5697 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5698 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5699 * grub-core/lib/legacy_parse.c: New file.
5700 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5701 * include/grub/i386/pc/vesa_modes_table.h: New file.
5702 * include/grub/legacy_parse.h: Likewise.
5703 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5704 * util/grub-menulst2cfg.c: New file.
5705
bf8d1338
CW
57062010-09-17 Colin Watson <cjwatson@ubuntu.com>
5707
5708 * grub-core/kern/emu/hostdisk.c
5709 (convert_system_partition_to_system_disk): Initialise node.
5710
9c0bad2e
CW
57112010-09-17 Colin Watson <cjwatson@ubuntu.com>
5712
5713 * grub-core/kern/emu/hostdisk.c
5714 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5715 leak.
5716 Reported and based on patch by: Modestas Vainius.
5717
a939d135
CW
57182010-09-17 Colin Watson <cjwatson@ubuntu.com>
5719
5720 Fix DM-RAID probing with recent versions of device-mapper udev
5721 rules.
5722
5723 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5724 canonicalise device paths under /dev/mapper/.
5725 (convert_system_partition_to_system_disk): Compare the
5726 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5727 path, since device nodes under /dev/mapper/ are often symlinks.
5728
0f7ee3c9
YB
57292010-09-17 Yves Blusseau <blusseau@zetam.org>
5730
5731 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5732
10854d0d
YB
57332010-09-16 Yves Blusseau <blusseau@zetam.org>
5734
5735 * configure.ac: Avoid some annoying error messages if freetype-config
5736 program is not found.
5737
108538d8
CW
57382010-09-16 Colin Watson <cjwatson@ubuntu.com>
5739
5740 Support RAID on virtio devices, and others.
5741
5742 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5743 Rename to ...
5744 [__MINGW32__] (grub_find_device): ... this.
5745 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5746 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5747 reasonable default if dir is NULL.
5748 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5749 ...
5750 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5751 (grub_guess_root_device): Update callers.
5752 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5753
5754 * util/raid.c (grub_util_getdiskname): Remove.
5755 (grub_util_raid_getmembers): Use grub_find_device rather than
5756 grub_util_getdiskname.
5757
e5bfc130
CW
57582010-09-16 Colin Watson <cjwatson@ubuntu.com>
5759
5760 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5761 needing to be compiled with serial support.
5762 (ls): Indicate that multiple files are accepted.
5763 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5764 indicate that multiple files are accepted.
5765
be458ae2
CW
57662010-09-16 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5769 libgrub_a_init.c, and util/bash-completion.d/grub.
5770
cb731b5e
VS
57712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-setup.c (setup): Fix incorrect container semantics.
5774
35139e8a
VS
57752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5778 misusage.
5779 Reported by: J. Nick Terry
5780
e50fca4a
VS
57812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Move embedding routines to partmap sources files.
5784
5785 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5786 [GRUB_UTIL]: New variable.
5787 (gpt_partition_map_iterate): Set part.parent.
5788 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5789 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5790 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5791 New function.
5792 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5793 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5794 (grub_partition_map) [GRUB_UTIL]: New field embed.
5795 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5796 (setup): Use ->embed.
5797
f00478b7
VS
57982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5801 function.
5802 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5803 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5804
2b94e3ff
YB
58052010-09-15 Yves Blusseau <blusseau@zetam.org>
5806
5807 Add function to get completions from usage.
5808
5809 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5810 completions from usage. Use LC_ALL=C to get options properly.
5811
2e04a006
VS
58122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/gnulib/basename-lgpl.c: Imported.
5815 * grub-core/gnulib/basename.c: Likewise.
5816 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5817 * grub-core/gnulib/dirname.c: Likewise.
5818 * grub-core/gnulib/dirname.h: Likewise.
5819 * grub-core/gnulib/stripslash.c: Likewise.
5820
5dcdf93a
VS
58212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/gnulib/error.c: Resynced.
5824 * grub-core/gnulib/getopt.c: Likewise.
5825 * grub-core/gnulib/getopt_int.h: Likewise.
5826 * grub-core/gnulib/regex.h: Likewise.
5827 * grub-core/gnulib/regex_internal.c: Likewise.
5828 * grub-core/gnulib/regex_internal.h: Likewise.
5829
014f47b7
SJ
58302010-09-15 Szymon Janc <szymon@janc.net.pl>
5831
5832 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5833 CRC calculations and validity checks.
5834 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5835 calculations.
5836
dd521a4a
SJ
58372010-09-15 Szymon Janc <szymon@janc.net.pl>
5838
5839 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5840
79c4eeb9
VS
58412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Fix incorrect echo options handling.
5844 Reported by: Yves Blusseau.
5845
5846 * include/grub/command.h (grub_command_flags_t): New flags
5847 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5848 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5849 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5850
ed80f7d5
VS
58512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5854 users updated.
5855 (GRUB_COMMAND_FLAG_MENU): Likewise.
5856 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5857 (GRUB_COMMAND_FLAG_TITLE): Removed.
5858 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5859 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5860 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5861 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5862 (grub_command_flags_t): New enum. All users updated.
5863
5fe7620a
SG
58642010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5865
5866 Fix solaris compilation.
5867
5868 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5869 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5870 (grub-emu-list): Likewise.
5871
545b752f
VS
58722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 Remove deprecated root command.
5875
5876 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5877 updated.
5878
6c1a338c
VS
58792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * util/i386/pc/grub-setup.c: Merge this ...
5882 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5883 * util/grub-setup.c: ... into this.
5884 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5885 New struct.
5886
58872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5890 possible.
5891
d2ea4551
VS
58922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5895 allocate p.
5896
3c3b5040
VS
58972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5900 explicit root argument to set to prevent UUID to be interpreted as
5901 argument to set.
5902
b71c3fae
VS
59032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5906
275433e6
VS
59072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Don't export grub_gate_a20.
5910
5911 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5912 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5913 to ...
5914 (grub_gate_a20): ... this. All users updated.
5915 * include/grub/i386/pc/init.h: Removed. All users updated.
5916
a5dbb1f1
VS
59172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Create euro.pf2 which supports most European languages.
5920
5921 * Makefile.am (grubdata_DATA): Add euro.pf2.
5922 (euro.pf2): New target.
5923 (CLEANFILES): Add euro.pf2.
5924
62a747cb
VS
59252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * configure.ac: Disable emu-usb by default to prevent inadvertent
5928 device takeover.
5929
608e43b1
VS
59302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Disable usbserial on grub-emu since our libusb code isn't good enough
5933 yet.
5934
5935 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5936 (usbserial_pl2303): Likewise.
5937 (usbserial_ftdi): Likewise.
5938
94564f81
VS
59392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * include/grub/disk.h (grub_disk): Remove has_partitions.
5942 All users updated.
5943 * disk/loopback.c (grub_loopback): Remove has_partitions.
5944 All users updated.
5945 (options): Remove partitions. All users updated.
5946 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5947 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5948 actual partition table is found.
5949
3352800b
VS
59502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Remove readability checks (too many false negatives).
5953
5954 * util/grub-install.in: Remove readability checks.
5955 * util/grub-mkconfig.in: Likewise.
5956 * util/grub.d/10_hurd.in: Likewise.
5957 * util/grub.d/10_kfreebsd.in: Likewise.
5958 * util/grub.d/10_linux.in: Likewise.
5959 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5960 way.
5961
2419f17a
VS
59622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Enable acpi shutdown on all ACPI platforms.
5965
5966 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
5967 on coreboo, multiboot and EFI.
5968 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
5969 (grub_acpi_halt): Likewise.
5970 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
5971 (grub_cmd_halt): Don't call grub_acpi_halt directly.
5972 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
5973 * grub-core/lib/i386/halt.c (grub_halt)
5974 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
5975
0575c7c3
VS
59762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
5979 context.
5980
54ac3cd1
VS
59812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/video/efi_gop.c: Fix over-80-chars line.
5984 * grub-core/video/efi_uga.c: Likewise.
5985
b2a30ac5
VS
59862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Filter devaliases and never open same device twice.
5989
5990 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
5991 (last_ihandle): Likewise.
5992 (ofdisk_hash_ent): New member shortest.
5993 (ofdisk_hash_add): Add canonical path too.
5994 (scan): New function.
5995 (grub_ofdisk_iterate): Iterate over hashed entries.
5996 (compute_dev_path): Don't add :0.
5997 (grub_ofdisk_open): Don't really open the disk.
5998 (grub_ofdisk_close): Avoid closing unrelated disk.
5999 (grub_ofdisk_read): Implement reopen logic.
6000 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6001 New function.
6002 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6003 New proto.
6004
fb53b340
VS
60052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Fix sparc64.
6008
6009 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6010 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6011 right address. Add sparc64_ieee1275_ldflags.
6012 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6013 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6014 to grub_host_to_target_addr
6015 (load_image): Likewise.
6016
f452b040
VS
60172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/normal/completion.c (complete_file): Handle device
6020 containing slash.
6021 Fix based on patch by Doug Nazar.
6022
9b5b2541
VS
60232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 grub-mknetdir script.
6026
6027 * Makefile.util.def (grub-mknetdir): New module.
6028 * tests/util/grub-shell.in: Support boot=net
6029 * util/grub-mknetdir.in: New file.
6030
9d2be652
VS
60312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 videoinfo on non-vbe.
6034
6035 * grub-core/Makefile.core.def (vbeinfo): Removed.
6036 (vbetest): Removed.
6037 (videoinfo): New module.
6038 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6039 * grub-core/commands/i386/pc/vbetest.c: Removed.
6040 * grub-core/commands/videoinfo.c: New file.
6041 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6042 specification.
6043 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6044 as vbetest.
6045 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6046 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6047 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6048 mode_number. New parameter mode. All users updated.
6049 (grub_video_gop_iterate): New function.
6050 (grub_video_efi_gop): New member iterate.
6051 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6052 (grub_vbe_set_video_mode): Remove setting useless fields.
6053 (vbe2videoinfo): New function.
6054 (grub_video_vbe_iterate): Likewise.
6055 (grub_video_vbe_setup): Use vbe2videoinfo.
6056 (grub_video_vbe_print_adapter_specific_info): New function.
6057 (grub_video_vbe_adapter): New fields iterate and
6058 print_adapter_specific_info.
6059 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6060 All users updated.
6061 (grub_video_mode_info): New field mode_number.
6062 (grub_video_adapter): New fields iterate and
6063 print_adapter_specific_info.
6064
179503f5
TG
60652010-09-13 Tristan Gingold <gingold@free.fr>
60662010-09-13 Robert Millan <rmh.grub@aybabtu.com>
60672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/commands/efi/lsefisystab.c: New file.
6070 * grub-core/commands/efi/lssal.c: Likewise.
6071 * grub-core/Makefile.core.def (lsacpi): New module.
6072 (lsefisystab): Likewise.
6073 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6074 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6075 (grub_efi_sal_system_table): New struct.
6076 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6077 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6078 (grub_efi_sal_system_table_platform_features): Likewise.
6079 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6080 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6081 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6082 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6083
cf9827de
VS
60842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 Support explicit user claim that a device is BIOS-visible.
6087
6088 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6089 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6090 * grub-core/kern/emu/hostdisk.c
6091 (convert_system_partition_to_system_disk): Support mdX.
6092 (find_system_device): New parameter add. All users updated.
6093 (grub_util_biosdisk_is_present): New function.
6094 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6095 proto.
6096
53f0eb1f
VS
60972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 Search hints support.
6100
6101 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6102 All users updated.
6103
b23ffd70
YB
61042010-09-13 Yves Blusseau <blusseau@zetam.org>
6105
6106 Bash completion script for util commands
6107
6108 * Makefile.am: Add util/bash-completion.d directory
6109 * configure.ac: Likewise.
6110 * util/bash-completion.d/Makefile.am: New file.
6111 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6112
d547dc28
VS
61132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6116 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6117 Reported by: Yves Blusseau.
6118
2fc8ccb9
VS
61192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6122 partition size and offset.
6123
d8a84076
VS
61242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6127
84fb3b3d
VS
61282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6131
768ec2e2
VS
61322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6135 (grub_xvasprintf): Likewise.
6136
4870900f
VS
61372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6140
faca6bec
VS
61412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6144 args ending with NULL.
6145
61462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
6147
6148 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6149 pointer.
6150
3c70f225
SJ
61512010-09-11 Szymon Janc <szymon@janc.net.pl>
6152
6153 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6154
4df7996d
VS
61552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Shutdown using ACPI.
6158
6159 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6160 * grub-core/commands/acpihalt.c: New file.
6161 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6162 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6163 (grub_acpi_halt): New proto.
6164 (GRUB_ACPI_SLP_EN): New const.
6165 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6166 (GRUB_ACPI_OPCODE_*): New enum.
6167 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6168
126b4c32
TG
61692010-09-11 Tristan Gingold <gingold@free.fr>
61702010-09-11 Robert Millan <rmh.grub@aybabtu.com>
61712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * commands/lsacpi.c: New file.
6174 * grub-core/Makefile.core.def (lsacpi): New module.
6175 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6176 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6177 (grub_acpi_madt_entry_header): New struct.
6178 (grub_acpi_madt): Likewise.
6179 (grub_acpi_madt_entry_interrupt_override): Likewise.
6180 (grub_acpi_madt_entry_sapic): Likewise.
6181 (grub_acpi_madt_entry_lsapic): Likewise.
6182 (grub_acpi_madt_entry_platform_int_source): Likewise.
6183 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6184 (PRIuGRUB_UINT32_T): Likewise.
6185 (PRIxGRUB_UINT64_T): Likewise.
6186
1aa4fe88
VS
61872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Implement loading palette on ieee1275_fb.
6190
6191 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6192 (have_setcolors): Likewise.
6193 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6194 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6195 (grub_video_ieee1275_set_palette): Implement.
6196
25761e13
VS
61972010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
61982010-09-11 Colin Watson <cjwatson@ubuntu.com>
6199
6200 * util/grub-install.in (grub_partition): New variable.
6201 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6202 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6203 Fixes a bug reported by Yves Blusseau.
6204
050abaea
VS
62052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 Fix emu on mipsel.
6208
6209 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6210 =grub_cpu_flush_cache on all mips and not only yeeloong.
6211 * configure.ac (COND_mips): New conditional.
6212 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6213 platforms.
6214 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6215 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6216 [GRUB_LINKER_HAVE_INIT]: New function.
6217 (grub_emu_post_init): Likewise.
6218 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6219 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6220 * include/grub/cache.h (_mips): Include mips/cache.h.
6221 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6222 LVM and RAID prototypes.
6223 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6224 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6225 function.
6226
5ed7d816
CW
62272010-09-10 Colin Watson <cjwatson@ubuntu.com>
6228
6229 * util/grub-install.in: Don't try to verify core.img until after
6230 running grub-mkimage to create it.
6231
90367e04
RM
62322010-09-10 Robert Millan <rmh@gnu.org>
6233
6234 * util/grub.d/10_hurd.in: Add misc readability checks.
6235 * util/grub.d/10_kfreebsd.in: Likewise.
6236 * util/grub.d/10_linux.in: Likewise.
6237
c452fa66
CW
62382010-09-10 Colin Watson <cjwatson@ubuntu.com>
6239
6240 * util/grub-install.in: ${imgext} won't be defined here until the
6241 install branch is merged. For the meantime, only verify core.img on
6242 i386-pc and sparc64-ieee1275 platforms.
6243
c38fe9f4
RM
62442010-09-10 Robert Millan <rmh@gnu.org>
6245
6246 Solaris support in grub_find_zpool_from_dir(). Thanks
6247 Seth Goldberg for referring to getextmntent() facility.
6248
6249 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6250 `sys/mkdev.h'.
6251 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6252 `<sys/mnttab.h>'.
6253 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6254 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6255 method for finding zpool name.
6256
905f7773
CW
62572010-09-10 Colin Watson <cjwatson@ubuntu.com>
6258
6259 grub-fstest needs the host and hostfs modules while other utilities
6260 actively require those modules to be absent, so grub-fstest needs
6261 its own initialisation and finalisation code.
6262
6263 * Makefile.am (grub_fstest.pp): New target.
6264 (grub_fstest_init.lst): Likewise.
6265 (grub_fstest_init.c): Likewise.
6266 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6267
fb90b546
RM
62682010-09-10 Robert Millan <rmh@gnu.org>
6269
6270 * configure.ac: Check for `struct statfs.f_fstypename' and
6271 `struct statfs.f_mntfromname'.
6272
6273 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6274 kFreeBSD-specific code.
6275
66d4bea5
RM
62762010-09-10 Robert Millan <rmh@gnu.org>
6277
6278 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6279 on ZFS. Now non-main filesystems are supported as / too.
6280
b6a690ee
CW
62812010-09-09 Colin Watson <cjwatson@ubuntu.com>
6282
6283 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6284 and grub-core/disk/host.c to ...
6285 (grub-fstest): ... here. Having the host disk implementation
6286 present confuses grub-probe and other utility programs.
6287
6288 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6289 when writing to a file, not when writing to stdout.
6290
8901b00c 62912010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6292
6293 * tests/partmap_test.in: New test for partitions.
6294 * Makefile.util.def: Rules for new test.
6295
7bf45fdd
RM
62962010-09-09 Robert Millan <rmh@gnu.org>
6297
6298 * util/grub-probe.c (probe): Fix a pair of unhandled error
6299 conditions.
6300
4dfbc574
RM
63012010-09-09 Robert Millan <rmh@gnu.org>
6302
6303 Basic Btrfs support (detection and UUID).
6304
6305 * grub-core/fs/btrfs.c: New file.
6306 * Makefile.util.def (library): Register btrfs.c.
6307 * grub-core/Makefile.core.def: Likewise.
6308
6b8e78ae
RM
63092010-09-08 Robert Millan <rmh@gnu.org>
6310
6311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6312 with (optional) parameters to specify device and relative path.
6313 * util/grub-install.in: Use is_path_readable_by_grub() to
6314 verify readability of a few critical files.
6315 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6316 verify readability of grub.cfg.new.
6317
27f21a8b
VS
63182010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 Split minix.mod into minix.mod and minix2.mod.
6321
6322 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6323 * grub-core/Makefile.core.def (minix2): New module.
6324 * grub-core/fs/minix.c: Use definitions instead of runtime version
6325 checking.
6326 * grub-core/fs/minix2.c: New file.
6327
c0e53ea5
YB
63282010-09-08 Yves Blusseau <blusseau@zetam.org>
6329
6330 Add new --boot-directory option to replace --root-directory
6331
6332 * util/grub-install.in: Add new --boot-directory option
6333 * util/grub-reboot.in: Likewise.
6334 * util/grub-set-default.in: Likewise.
6335
b9fe6ea2
YB
63362010-09-08 Yves Blusseau <blusseau@zetam.org>
6337
6338 * util/grub-mkconfig.in: Use new variable.
6339
d87aedff
YB
63402010-09-08 Yves Blusseau <blusseau@zetam.org>
6341
6342 * configure.ac: Define some useful variables.
6343
e55e8495
VS
63442010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6347 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6348 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6349 Use terminfo and don't use cursor-on/cursor-off unless it's known
6350 to work.
6351 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6352 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6353
6fa6d675
CW
63542010-09-08 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6357 starts with "(,", fill the drive containing the loaded image in
6358 between those two characters, but expect that a full partition
6359 specification including partition map names will follow.
6360
92f2aef0
RM
63612010-09-08 Robert Millan <rmh@gnu.org>
6362
6363 * configure.ac: Remove `--enable-grub-fstest' option.
6364 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6365
6366 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6367 `grub-fstest' instead of `grub-probe' for readability verification.
6368 * util/grub-probe.c (probe): Remove readability verification kludge.
6369
99fd620d
RM
63702010-09-08 Robert Millan <rmh@gnu.org>
6371
6372 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6373 initializing `GRUB_FS'.
6374
058e30ac 63752010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6376
6377 Not command (!) support to GRUB script.
6378
6379 * tests/grub_script_not.in: New test.
6380 * Makefile.util.def: Rules for new test.
6381
6382 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6383 ! command as a special case.
6384 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6385
b61d05ed 63862010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6387
058e30ac 6388 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6389 grub_free.
b61d05ed 6390
4d69c786 63912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6392
6393 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6394
aa3119c4 63952010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6396
6397 * docs/grub.texi (Shell-like scripting): Documentation for break,
6398 continue, shift and return commands.
6399
db0f7e3d
VS
64002010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Rename CD-ROM to cd on BIOS.
6403
6404 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6405 "cd".
6406 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6407
88b87c93
VS
64082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6411 * util/grub-probe.c (main): Likewise.
6412 * util/i386/pc/grub-setup.c (main): Likewise.
6413 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6414 Reported and debugged by: alexxy
6415
294f324d
VS
64162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6419 diagnostic info.
6420
d7ee3441
JS
64212010-09-05 Jo Shields <directhex@apebox.org>
6422
6423 * util/grub.d/30_os-prober.in: Add missing classes.
6424
d7e06c1f
VS
64252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * docs/grub.texi (Theme file format): Document new position format.
6428
fc157e53
VS
64292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6432 a table. Use @code instead of @verbatim.
6433
506e9a1c
CB
64342010-09-05 Colin D Bennett <colin@gibibit.com>
6435
6436 Gfxmenu documentation.
6437
6438 * docs/grub.texi (Theme file format): New chapter.
6439
f0aff67c
SJ
64402010-09-05 Szymon Janc <szymon@janc.net.pl>
6441
6442 * grub-core/Makefile.core.def (xzio): New module.
6443 * grub-core/io/xzio.c: New file.
6444 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6445 * grub-core/lib/xzembed/xz_config.h: Likewise.
6446 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6447 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6448 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6449 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6450 * grub-core/lib/xzembed/xz_private.h: Likewise.
6451 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6452 * include/grub/file.h (grub_file_filter_id): New compression filter
6453 GRUB_FILE_FILTER_XZIO.
6454
82a85062
VS
64552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6458 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6459 size.
6460
3579415d
VS
64612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6464 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6465
5124ae6d
VS
64662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Uncompressed checksum support.
6469
6470 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6471 (check_list): New parameter uncompress.
6472 (grub_cmd_hashsum): Handle --uncompress.
6473
9aadb3d1
VS
64742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Reintroduce testload.
6477
6478 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6479 from here ...
6480 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6481 (GRUB_MOD_INIT): New function.
6482 (GRUB_MOD_FINI): Likewise.
6483 * grub-core/Makefile.core.def (testload): New module.
6484
a17792c3
SJ
64852010-09-05 Szymon Janc <szymon@janc.net.pl>
6486
6487 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6488 (uint8_t): New type.
6489 (uint16_t): Likewise.
6490 (uint32_t): Likewise.
6491 (uint64_t): Likewise.
6492
b81e40a3
SJ
64932010-09-05 Szymon Janc <szymon@janc.net.pl>
6494
6495 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6496
fc2ef117
VS
64972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6500 Made static.
6501 (grub_gzfile_open): Removed. All users updated.
6502 (GRUB_MOD_INIT): New function.
6503 (GRUB_MOD_FINI): Likewise.
6504 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6505 (grub_file_filters_enabled): Likewise.
6506 (grub_file_open): Handle filters.
6507 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6508 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6509 * include/grub/file.h (grub_file_filter_id_t): New type.
6510 (grub_file_filter_t): Likewise.
6511 (grub_file_filters_all): New extern variable.
6512 (grub_file_filters_enabled): Likewise.
6513 (grub_file_filter_register): New inline function.
6514 (grub_file_filter_unregister): Likewise.
6515 (grub_file_filter_disable): Likewise.
6516 (grub_file_filter_disable_compression): Likewise.
6517 * include/grub/gzio.h: Removed.
6518
35ee15e0
BC
65192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6520
6521 Filename expansion support for wildcards in GRUB script.
6522
6523 * tests/grub_script_expansion.in: New test.
6524 * Makefile.util.def: Rule for new test.
6525
6526 * grub-core/commands/wildcard.c: New file, implements filename
6527 expansion support for GRUB script.
6528 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6529 * grub-core/script/argv.c: Cosmetic changes.
6530 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6531 Refactored to perform wildcard expansion on arguments.
6532 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6533 struct.
6534
6535 * tests/util/grub-shell.in: Fix quoting for read input.
6536
5f0c4aca
BC
65372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6538
6539 Support for updating environment variables with matched substrings
6540 of regexp.
6541
6542 * tests/grub_cmd_regexp.in: New test.
6543 * Makefile.util.def: Rule for new test.
6544
6545 * grub-core/commands/regexp.c: New option -s to update environment
6546 variables with regexp matches.
6547
3759a35f
SJ
65482010-09-04 Szymon Janc <szymon@janc.net.pl>
6549
6550 * include/grub/file.h (grub_file): New member not_easly_seekable.
6551 (grub_file_seekable): New inline function.
6552 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6553 easily seekable.
6554 (grub_gzio_open): Set not_easly_seekable.
6555 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6556 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6557
ed8c6dec
BC
65582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6559
6560 Support for options to appear multiple times on cmdline.
6561
6562 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6563 * grub-core/commands/extcmd.c: Support for repeatable option.
6564 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6565 repeatable option support.
6566
6567 Refactor menuentry into a regular command.
6568
6569 * grub-core/commands/menuentry.c: New file, menuentry command
6570 implementation.
6571 * grub-core/Makefile.core.def: Rule update for normal.mod.
6572 * grub-core/normal/main.c: Moved menuentry creation to
6573 grub-core/commands/menuentry.c.
6574 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6575 (grub_menu_execute_entry_real): Removed.
6576 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6577 function.
6578 (grub_script_execute_menuentry): Removed.
6579 * grub-core/script/parser.y (menuentry): Removed.
6580 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6581 * grub-core/script/yylex.l (menuentry): Removed.
6582 * include/grub/menu.h (grub_menu_init): New prototype.
6583 (grub_menu_fini): New prototype.
6584 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6585 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6586 (grub_script_execute_sourcecode): New prototype.
6587
dacd0cf0
BC
65882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6589
6590 "return" command for GRUB script functions.
6591
6592 * tests/grub_script_return.in: New test.
6593 * Makefile.util.def: Rules for new test.
6594
6595 * grub-core/script/execute.c (grub_script_return): New function.
6596 * grub-core/script/main.c: Register/unregister return commaond.
6597 * include/grub/script_sh.h (grub_script_return): New prototype.
6598
52e72f9d
BC
65992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6600
6601 "setparams" command to update positional parameters.
6602
6603 * tests/grub_script_setparams.in: New test.
6604 * Makefile.util.def: Rules for new test.
6605
6606 * grub-core/script/argv.c (grub_script_argv_make): New function.
6607 * grub-core/script/execute.c (replace_scope): New function.
6608 (grub_script_setparams): New function.
6609 * grub-core/script/lexer.c: Remove unused variables.
6610 * grub-core/script/main.c: Register/unregister setparams command.
6611 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6612 (grub_script_setparams): New prototype.
6613
25b60c91
BC
66142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6615
6616 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6617 grub_free order.
6618
37e7bf68
BC
66192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6620
6621 Support for passing block of commands as an argument to extcmds.
6622
6623 * Makefile.util.def: Rules for new test.
6624 * tests/grub_script_blockarg.in: New test.
6625 * grub-core/tests/test_blockarg.c: New file, block argument
6626 command used in the test.
6627
6628 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6629 (grub_register_extcmd_prio): New function prototype.
6630 (grub_extcmd_dispatcher): New function prototype.
6631 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6632 type.
6633 * include/grub/script_sh.h (struct grub_script): New members
6634 `children', `next_siblings' and `refcnt' for block arguments and
6635 reference counting.
6636 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6637 (grub_script_arg): New member `script' for block argument.
6638 (grub_script_argv): New member `script' for block argument.
6639 (grub_parser_param): New member `scripts' for block argument.
6640 (grub_script_mem_free): New extern function prototype.
6641 (grub_script_ref): New function prototype.
6642 (grub_script_unref): New function prototype.
6643
6644 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6645 extcmd form to support block arguments.
6646 * grub-core/script/argv.c: Block arguments support.
6647 * grub-core/script/execute.c: Likewise.
6648 * grub-core/script/lexer.c: Likewise.
6649 * grub-core/script/main.c: Likewise.
6650 * grub-core/script/script.c: Likewise.
6651 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6652 non-terminals.
6653
6654 * grub-core/commands/acpi.c: Update extcmd implementations with
6655 grub_extcmd_context_t.
6656 * grub-core/commands/cat.c: Likewise.
6657 * grub-core/commands/echo.c: Likewise.
6658 * grub-core/commands/extcmd.c: Likewise.
6659 * grub-core/commands/hashsum.c: Likewise.
6660 * grub-core/commands/hdparm.c: Likewise.
6661 * grub-core/commands/help.c: Likewise.
6662 * grub-core/commands/hexdump.c: Likewise.
6663 * grub-core/commands/i386/cpuid.c: Likewise.
6664 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6665 * grub-core/commands/i386/pc/halt.c: Likewise.
6666 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6667 * grub-core/commands/iorw.c: Likewise.
6668 * grub-core/commands/keystatus.c: Likewise.
6669 * grub-core/commands/loadenv.c: Likewise.
6670 * grub-core/commands/ls.c: Likewise.
6671 * grub-core/commands/lspci.c: Likewise.
6672 * grub-core/commands/memrw.c: Likewise.
6673 * grub-core/commands/probe.c: Likewise.
6674 * grub-core/commands/search_wrap.c: Likewise.
6675 * grub-core/commands/setpci.c: Likewise.
6676 * grub-core/commands/sleep.c: Likewise.
6677 * grub-core/disk/loopback.c: Likewise.
6678 * grub-core/hello/hello.c: Likewise.
6679 * grub-core/loader/i386/bsd.c: Likewise.
6680 * grub-core/loader/xnu.c: Likewise.
6681 * grub-core/term/gfxterm.c: Likewise.
6682 * grub-core/term/serial.c: Likewise.
6683 * grub-core/tests/lib/functional_test.c: Likewise.
6684
888d1500
BC
66852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6686
6687 Multi-line quoted strings support.
6688
6689 * grub-core/script/lexer.c (append_newline): Removed.
6690 (grub_script_lexer_yywrap): Refactored.
6691 (grub_script_lexer_init): Refactored.
6692 * grub-core/script/yylex.l (yywrap): New function.
6693 (grub_lexer_resplit): New function.
6694 (grub_lexer_unput): New function.
6695 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6696 and resplit.
6697 * tests/grub_script_echo1.in: Added few more testcases.
6698
dda060dd
VS
66992010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/kern/misc.c: Don't add abort alias in utils.
6702 Reported by: echoline.
6703
6556eba9
BC
67042010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6705
6706 Add missing files into "make dist" tarball for other platforms.
6707
6708 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6709 * conf/Makefile.common (dist_noinst_DATA): New variable.
6710 * conf/Makefile.extra-dist: Added missing make dist files.
6711 * grub-core/Makefile.core.def: Likewise.
6712
c8e7bf5f
VS
67132010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Compress grub_prefix.
6716
6717 * grub-core/boot/i386/pc/lnxboot.S: Use
6718 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6719 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6720 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6721 GRUB_MACHINE_PREFIX_END. All users updated.
6722 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6723 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6724 + 0x40.
6725 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6726 * util/grub-mkimage.c (image_target_desc): Change data_end to
6727 prefix_end. All users updated.
6728
a7c00cdb
VS
67292010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6732 value.
6733 (grub_openbsd_boot): Likewise.
6734 (grub_netbsd_boot): Likewise.
6735 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6736 (grub_xnu_boot): Likewise.
6737
9f915872
VS
67382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * configure.ac: Clean LIBS variable after tests.
6741
efa1bee7
CW
67422010-09-02 Colin Watson <cjwatson@ubuntu.com>
6743
6744 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6745
61d720e5
VS
67462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6749 echo if libdevmapper will be used.
6750
ef8e0ec8
IT
67512010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6752
6753 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6754 constant for the same file.
6755
03e261d8
VS
67562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6759
c2a4eba6
CW
67602010-09-02 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6763 grub-core/*.pp.
6764
9056cbf3
CW
67652010-09-02 Colin Watson <cjwatson@ubuntu.com>
6766
6767 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6768 required by the boot protocol.
6769
6770 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6771 ebp and edi members.
6772 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6773 state.ebp and state.edi.
6774 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6775 %ebp and %edi according to grub_relocator32_ebp and
6776 grub_relocator32_edi respectively.
6777 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6778 and state.edi.
6779
529cc99a
VS
67802010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Add i386-pc-pxe image target.
6783
6784 * util/grub-mkimage.c (image_target_desc): New enum value
6785 IMAGE_I386_PC_PXE.
6786 (image_targets): New target i386-pc-pxe.
6787 (generate_image): Handle i386-pc-pxe image.
6788
9a093920
VS
67892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 Fix grub_pxe_scan.
6792
6793 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6794 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6795 All users updated.
6796 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6797 (grub_pxe_pxenv): Correct type.
6798
f9cefc4e
CW
67992010-09-01 Colin Watson <cjwatson@ubuntu.com>
6800
6801 * NEWS: Document most of the important changes since 1.98.
6802
4066f57f
CW
68032010-09-01 Colin Watson <cjwatson@ubuntu.com>
6804
6805 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6806 generated manual page) a little.
6807
da2891f9
CW
68082010-09-01 Colin Watson <cjwatson@ubuntu.com>
6809
6810 * docs/grub.texi: Add myself as an author.
6811
ad717fae
VS
68122010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * Makefile.util.def (libgrub.a): Add missing sunpc.
6815 Reported by: Seth Goldberg.
6816
eefe8abd
VS
68172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Interrupt wrapping and code simplifications.
6820
9494ef9a
VS
6821 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6822 x86_noieee1275 which are functionaly equivalent in this case.
6823 (grub-install): Make source on each platform explicit. Enable on
6824 all noemu.
6825 * gentpl.py (x86_efi_pc): Removed group.
6826 (x86_noefi): Likewise.
6827 (i386_noefi): Likewise.
6828 (x86_noieee1275): Likewise.
6829 (i386_noieee1275): Likewise.
6830 (i386_noefi_noieee1275): Likewise.
6831 (i386_pc_qemu_coreboot): Likewise.
6832 (i386_coreboot_multiboot): Likewise.
6833 (i386_pc_coreboot_multiboot_qemu): Likewise.
6834 (x86_noefi_mips): Likewise.
6835 (noieee1275): Likewise.
6836 (ieee1275_mips): Likewise.
6837 (noemu_noieee1275): Likewise.
6838 (cmos): New group.
6839 (usb): Likewise.
6840 (videoinkernel): Likewise.
6841 (videomodules): Likewise.
eefe8abd 6842 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
6843 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6844 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6845 include/grub/loader.h, include/grub/msdos_partition.h,
6846 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6847 include/grub/machine/console.h, include/grub/machine/vga.h,
6848 include/grub/machine/vbe.h, include/grub/machine/init.h,
6849 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6850 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 6851 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
6852 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6853 * grub-core/Makefile.core.def (kernel): Explicit the source for
6854 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6855 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6856 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6857 Use videoinkernel tag.
6858 (usb): Enable on all usb.
6859 (usbserial_common): Likewise.
6860 (usbserial_pl2303): Likewise.
6861 (usbserial_ftdi): Likewise.
6862 (uhci): Enable on all x86.
6863 (ohci): Enable on all pci.
6864 (cmostest): Enable on all CMOS.
6865 (acpi): Include commands/acpi.c on all platforms.
6866 (halt): Add relevant lib/*/halt.c.
6867 (hdparm): Enable on all pci.
6868 (lspci): Likewise.
6869 (usbtest): Enable on all usb.
6870 (ata): Enable on all pci.
6871 (ata_pthru): Likewise.
6872 (usbms): Enable on all usb.
6873 (usb_keyboard): Likewise.
6874 (font): Use tag videomodules.
6875 (bufio): Likewise.
6876 (datetime): Use tag cmos. Enable on all noemu.
6877 (mmap): Use tags common and x86.
6878 (gfxterm): Use tag videomodules.
6879 (bitmap): Likewise.
6880 (bitmap_scale): Likewise.
6881 (video_fb): Likewise.
6882 (video): Likewise.
6883 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6884 adjust padding accordingly. All users updated.
6885 (grub_ohci_transaction): Fix bad format specification.
6886 (GRUB_MOD_INIT): Add asserts for struct size.
6887 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6888 (grub_alloc_td): Likewise.
6889 (grub_free_queue): Likewise.
6890 (grub_uhci_transfer): Likewise.
6891 (grub_uhci_transaction): Fix bad format specification.
6892 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6893 (grub_usb_bulk_readwrite): Likewise.
6894 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6895 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6896 Made static.
6897 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6898 Made static.
6899 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6900 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6901 Transformed into C.
6902 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6903 Moved from here ...
6904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6905 ... here. Transformed into C. Made static.
6906 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6907 Moved from here ...
6908 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6909 ... here. Transformed into C. Made static.
6910 * grub-core/kern/i386/pc/startup.S
6911 (grub_biosdisk_check_int13_extensions): Moved from here ...
6912 * grub-core/disk/i386/pc/biosdisk.c
6913 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6914 Made static.
6915 * grub-core/kern/i386/pc/startup.S
6916 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6917 * grub-core/disk/i386/pc/biosdisk.c
6918 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6919 Transformed into C. Made static.
6920 * grub-core/kern/i386/pc/startup.S
6921 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6922 * grub-core/disk/i386/pc/biosdisk.c
6923 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6924 Transformed into C. Made static.
6925 * grub-core/kern/i386/pc/startup.S
6926 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6927 * grub-core/disk/i386/pc/biosdisk.c
6928 (grub_biosdisk_get_diskinfo_standard): ... here.
6929 Transformed into C. Made static.
6930 * grub-core/kern/i386/pc/startup.S
6931 (grub_biosdisk_get_num_floppies): Moved from here ...
6932 * grub-core/disk/i386/pc/biosdisk.c
6933 (grub_biosdisk_get_num_floppies): ... here.
6934 Transformed into C. Made static.
6935 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6936 New function.
6937 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6938 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6939 Transformed into C. Made static.
6940 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6941 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6942 Transformed into C. Made static.
6943 * grub-core/kern/i386/ieee1275/init.c: Removed.
6944 * grub-core/kern/i386/misc.S: Likewise.
6945 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6946 Splitted from here ...
6947 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6948 Transformed into C. Made static. All users updated.
6949 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6950 Transformed into C. Made static. All users updated.
6951 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6952 Moved from here...
6953 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6954 Transformed into C. Made static. All users updated.
6955 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6956 Moved from here...
6957 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6958 Transformed into C. Made static. All users updated.
6959 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6960 Removed (replaced by C version).
6961 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
6962 Moved from here...
6963 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
6964 Transformed into C. Made static.
6965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
6966 Moved from here...
6967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
6968 ... here. Transformed into C.
6969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
6970 Moved from here...
6971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
6972 ... here. Transformed into C.
6973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
6974 Moved from here...
6975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
6976 ... here. Transformed into C. Made static.
6977 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
6978 Moved from here...
6979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
6980 ... here. Transformed into C.
21ed554b
VS
6981 * grub-core/kern/i386/pc/startup.S
6982 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
6983 * grub-core/video/i386/pc/vbe.c
6984 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
6985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
6986 Moved from here...
6987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
6988 ... here. Transformed into C.
6989 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
6990 Moved from here...
6991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
6992 ... here. Transformed into C.
6993 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
6994 Moved from here...
6995 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
6996 ... here. Transformed into C.
6997 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
6998 Moved from here...
6999 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7000 ... here. Transformed into C.
7001 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7002 Moved from here...
7003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7004 ... here. Transformed into C. Made static.
7005 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7006 Moved from here...
7007 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7008 ... here. Transformed into C. Made static.
7009 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7010 Moved from here...
7011 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7012 ... here. Transformed into C. Made static.
7013 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7014 pxe_rm_entry as third argument.
7015 (grub_bios_interrupt): New function.
7016 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7017 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7018 of calling grub_stop.
7019 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7020 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7021 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7022 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7023 * grub-core/lib/i386/halt.c: Moved from here ...
7024 * grub-core/lib/i386/halt.c: ... here.
7025 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7026 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7027 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7028 grub_stop_floppy.
7029 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7030 * include/grub/i386/coreboot/init.h: Removed.
7031 * include/grub/i386/multiboot/init.h: Likewise.
7032 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7033 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7034 * include/grub/i386/pc/int.h: New file.
7035 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7036 (grub_pxe_scan): Removed.
7037 (grub_pxe_call): Update prototype.
7038 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7039 prototypes.
7040 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7041 * include/grub/i386/qemu/init.h: Removed.
7042 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7043 noreturn.
7044 (grub_halt): Likewise.
7045 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7046 (grub_reboot): Likewise.
7047 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7048 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
7049 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7050
215dd471
RM
70512010-08-30 Robert Millan <rmh@gnu.org>
7052
7053 * NEWS: Document addition of ZFS support in `grub-install' and
7054 `grub-mkconfig'.
7055
ebd65b82
BC
70562010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7057
7058 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7059 dprintf output.
7060
11721d19
VS
70612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Remove leftover embedding of font objects.
7064
7065 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7066 * util/grub-install.in (font): Removed.
7067 * util/grub-mkimage.c (generate_image): Remove font support. All users
7068 updated.
7069
37837d4e
VS
70702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Remove leftover embedding of font objects.
7073
7074 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7075 * util/grub-install.in (font): Removed.
7076 * util/grub-mkimage.c (generate_image): Remove font support. All users
7077 updated.
7078
b4c1aae0
VS
70792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 7082 Reported by: Ian Turner
b4c1aae0 7083
8920a08d
VS
70842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7087 timeout to avoid indefinite boot stalling.
7088
f21db033
VS
70892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7092 (grub_env_write_color_highlight): Likewise.
7093
9a9de209
VS
70942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/normal/term.c (print_more): Return to normal and not
7097 to standard state after printing "---MORE---".
7098
3dca01d7
VS
70992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7102 Mask out the bit 0x80 since it has other meaning that specifiing color.
7103
0b986c40
VS
71042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 New relocator. Allows for more kernel support and more straightforward
7107 loader writing.
7108
7109 * Makefile.am (BOOTTARGET): New variable.
7110 (QEMU32): Likewise.
7111 (linux.init.x86_64): New target.
7112 (linux.init.i386): Likewise.
7113 (multiboot.elf): Likewise.
7114 (kfreebsd.elf): Likewise.
7115 (kfreebsd.aout): Likewise.
7116 (pc-chainloader.elf): Likewise.
7117 (pc-chainloader.bin): Likewise.
7118 (ntldr.elf): Likewise.
7119 (ntldr.bin): Likewise.
7120 (multiboot2.elf): Likewise.
7121 (kfreebsd.init.x86_64): Likewise.
7122 (kfreebsd.init.i386): Likewise.
7123 (knetbsd.init.i386): Likewise.
7124 (kopenbsd.init.i386): Likewise.
7125 (knetbsd.init.x86_64): Likewise.
7126 (kopenbsd.init.x86_64): Likewise.
7127 (linux-initramfs.i386): Likewise.
7128 (linux-initramfs.x86_64): Likewise.
7129 (kfreebsd-mfsroot.i386.img): Likewise.
7130 (knetbsd.image.i386): Likewise.
7131 (kopenbsd.image.i386): Likewise.
7132 (kopenbsd.image.x86_64): Likewise.
7133 (knetbsd.miniroot-image.i386.img): Likewise.
7134 (kfreebsd-mfsroot.x86_64.img): Likewise.
7135 (knetbsd.image.x86_64): Likewise.
7136 (knetbsd.miniroot-image.x86_64.img): Likewise.
7137 (kfreebsd-mfsroot.i386.gz): Likewise.
7138 (bootcheck-kfreebsd-i386): Likewise.
7139 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7140 (bootcheck-kfreebsd-x86_64): Likewise.
7141 (knetbsd.miniroot-image.i386.gz): Likewise.
7142 (bootcheck-knetbsd-i386): Likewise.
7143 (bootcheck-kopenbsd-i386): Likewise.
7144 (bootcheck-kopenbsd-x86_64): Likewise.
7145 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7146 (bootcheck-knetbsd-x86_64): Likewise.
7147 (bootcheck-linux-i386): Likewise.
7148 (bootcheck-linux-x86_64): Likewise.
7149 (bootcheck-linux16-i386): Likewise.
7150 (bootcheck-linux16-x86_64): Likewise.
7151 (bootcheck-multiboot): Likewise.
7152 (bootcheck-multiboot2): Likewise.
7153 (bootcheck-kfreebsd-aout): Likewise.
7154 (bootcheck-pc-chainloader): Likewise.
7155 (bootcheck-ntldr): Likewise.
7156 (CLEANFILES): Add new targets.
7157 (BOOTCHECKS): New variable.
7158 (.PHONY): Add bootchecks.
7159 (SUCCESSFUL_BOOT_STRING): New variable.
7160 (BOOTCHECK_TIMEOUT): Likewise.
7161 (bootcheck): New target
7162 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7163 * configure.ac: Correct efiemu excuse.
7164 * docs/grub.texi (Supported kernels): New chapter.
7165 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7166 include/grub/mm_private.h. Simplify inclusion of
7167 include/grub/boot.h, include/grub/loader.h
7168 and include/grub/msdos_partition.h
7169 (KERNEL_HEADER_FILES) [i386_coreboot]:
7170 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7171 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7172 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7173 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7174 include/grub/machine/loader.h.
7175 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7176 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7177 extra_dist.
7178 (pci.mod): Enable on i386-multiboot.
7179 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7180 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7181 i386-qemu.
7182 (relocator.mod): Rewritten.
7183 (aout.mod): Enable on all x86.
7184 (bsd.mod): Likewise.
7185 (ntldr.mod): New module.
7186 (linux.mod): Use loader/i386/linux.c on all x86.
7187 (xnu.mod): Enable on all x86.
7188 (vga_text.mod): disable on EFI and QEMU.
7189 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7190 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7191 * grub-core/efiemu/loadcore.c: Likewise.
7192 * grub-core/efiemu/main.c: Likewise.
7193 (grub_efiemu_exit_boot_services): Removed.
7194 (grub_efiemu_finish_boot_services): Likewise.
7195 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7196 function.
7197 * grub-core/efiemu/i386/nocfgtables.c: New file.
7198 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7199 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7200 (grub_efi_finish_boot_services): Moved from here ...
7201 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7202 Fille finish memory map and related data.
7203 (finish_mmap_buf): New variable.
7204 (grub_efi_uintn_t finish_mmap_size): Likewise.
7205 (grub_efi_uintn_t finish_key): Likewise.
7206 (grub_efi_uintn_t finish_desc_size): Likewise.
7207 (grub_efi_uint32_t finish_desc_version): Likewise.
7208 (grub_efi_is_finished): Likewise.
7209 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7210 finished.
7211 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7212 (grub_elf64_phdr_iterate): Likewise.
7213 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7214 (grub_os_area_size): Likewise.
7215 (grub_machine_init): Don't reserve os area.
7216 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7217 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7218 * grub-core/kern/i386/loader.S: Removed.
7219 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7220 (grub_os_area_size): Likewise.
7221 (grub_machine_init): Don't reserve os area.
7222 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7223 Don't call grub_dl_unload_all.
7224 Don't include loader.S.
7225 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7226 Declare the memory after _end as available.
7227 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 7228 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 7229 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
7230 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7231 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7232 * include/grub/mm_private.h (grub_mm_header): ... here.
7233 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7234 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
7235 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7236 (grub_mm_region): ..here. Removed addr. Added pre_size.
7237 All users updated.
7238 * grub-core/kern/mm.c (base): Renamed to ...
7239 (grub_mm_base): ... this. Made global.
7240 (grub_real_malloc): Alloc from end of region.
7241 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7242 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7243 * grub-core/kern/powerpc/cache_flush.S: ... here.
7244 * grub-core/lib/efi/relocator.c: New file.
7245 * grub-core/lib/i386/relocator.c: Rewritten.
7246 * grub-core/lib/i386/relocator16.S: New file.
7247 * grub-core/lib/i386/relocator32.S: Likewise.
7248 * grub-core/lib/i386/relocator64.S: Likewise.
7249 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7250 * grub-core/lib/i386/relocator_common.S: New file.
7251 * grub-core/lib/ieee1275/relocator.c: Likewise.
7252 * grub-core/lib/mips/relocator.c: Rewritten.
7253 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7254 stylistic adjustments.
7255 * grub-core/lib/powerpc/relocator.c: New file.
7256 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7257 * grub-core/lib/relocator.c: Rewritten.
7258 * grub-core/lib/x86_64/relocator_asm.S: New file.
7259 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7260 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7261 (bsd_tag): New struct.
7262 (tags): New variable.
7263 (tags_last): Likewise.
7264 (netbsd_module): New struct.
7265 (netbsd_mods): New variable.
7266 (netbsd_mods_last): Likewise.
7267 (openbsd_opts): New parameter "serial".
7268 (OPENBSD_SERIAL_ARG): New definition.
7269 (netbsd_opts): New parameter "serial".
7270 (NETBSD_SERIAL_ARG): New definition.
7271 (grub_freebsd_add_meta): Reorganised into ...
7272 (grub_bsd_add_meta): ...this. All users updated.
7273 (grub_freebsd_add_mmap): Reorganised into ...
7274 (generate_e820_mmap): ...this...
7275 (grub_bsd_add_mmap): ...and this. All users updated.
7276 (grub_freebsd_list_modules): Use tags.
7277 (grub_netbsd_add_meta_module): New function.
7278 (grub_netbsd_list_modules): Likewise.
7279 (grub_freebsd_boot): Use relocator and finish EFI.
7280 (grub_openbsd_boot): Likewise.
7281 (grub_netbsd_setup_video): New function.
7282 (grub_netbsd_add_modules): Likewise.
7283 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7284 and finish EFI.
7285 (grub_bsd_unload): Unload tags.
7286 (grub_bsd_load_aout): Use relocator.
7287 (grub_bsd_elf32_size_hook): New function.
7288 (grub_bsd_elf32_hook): Use relocator.
7289 (grub_bsd_elf64_size_hook): New function.
7290 (grub_bsd_elf64_hook): Use relocator.
7291 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7292 (grub_bsd_load): Zero-out openbsd_ramdisk.
7293 (grub_bsd_load): Use relocator.
7294 (grub_cmd_openbsd): Support serial.
7295 (grub_cmd_netbsd): Support modules.
7296 (grub_cmd_freebsd_module): Use relocator.
7297 (grub_netbsd_module_load): New function.
7298 (grub_cmd_netbsd_module): Likewise.
7299 (grub_cmd_openbsd_ramdisk): Likewise.
7300 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7301 kopenbsd_ramdisk.
7302 (GRUB_MOD_FINI): Unregister new commands.
7303 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7304 (grub_freebsd_load_elfmodule_obj): Use relocator.
7305 (grub_freebsd_load_elfmodule): Likewise.
7306 (grub_freebsd_load_elf_meta): Likewise.
7307 (grub_netbsd_load_elf_meta): New function.
7308 (grub_openbsd_find_ramdisk): Likewise.
7309 * grub-core/loader/i386/bsd_helper.S: Removed.
7310 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7311 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7312 * grub-core/loader/i386/efi/linux.c: Likewise.
7313 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7314 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7315 (DEFAULT_VIDEO_MODE): Likewise.
7316 (real_mode_target): New variable.
7317 (prot_mode_target): Likewise.
7318 (initrd_mem_target): Likewise.
7319 (relocator): Likewise.
7320 (efi_mmap_buf): Likewise.
7321 (efi_mmap_size): Likewise.
7322 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7323 (free_pages): Use relocator.
7324 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7325 (grub_linux_setup_video): Return error.
7326 (grub_linux_trampoline_start): Removed.
7327 (grub_linux_trampoline_end): Likewise.
7328 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7329 andd video parameters depending on firmware.
7330 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7331 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7332 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7333 (grub_cmd_initrd): Use relocator.
7334 * grub-core/loader/i386/linux_trampoline.S: Removed.
7335 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7336 (elf_sec_entsize): Likewise.
7337 (elf_sec_shstrndx): Likewise.
7338 (elf_sections): Likewise.
7339 (grub_multiboot_load): Use relocator.
7340 (grub_multiboot_get_mbi_size): Account for sections.
7341 (grub_multiboot_make_mbi): Use relocator and support sections.
7342 (grub_multiboot_add_elfsyms): New function.
7343 (grub_multiboot_free_mbi): Free sections.
7344 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7345 (grub_linux_real_target): Likewise.
7346 (grub_linux_real_chunk): Likewise.
7347 (grub_linux16_prot_size): Likewise.
7348 (grub_linux16_boot): Use relocator.
7349 (grub_linux_unload): Unload relocator.
7350 (grub_cmd_linux): Use relocator.
7351 (grub_cmd_initrd): Likewise.
7352 * grub-core/loader/i386/pc/ntldr.c: New file.
7353 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7354 Don't try to guess CPU frequency.
7355 (grub_xnu_set_video): Stretch bitmap.
7356 (grub_xnu_boot): Use relocator.
7357 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7358 (grub_linux_unload): Free relocator.
7359 (grub_linux_load32): Use relocator.
7360 (grub_linux_load64): Likewise.
7361 (grub_cmd_initrd): Likewise.
7362 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7363 (grub_multiboot_unload): Unload relocator.
7364 (grub_cmd_multiboot): Use relocator.
7365 (grub_cmd_module): Likewise.
7366 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7367 Use relocator and support sections.
7368 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7369 (elf_sec_entsize): Likewise.
7370 (elf_sec_shstrndx): Likewise.
7371 (elf_sections): Likewise.
7372 (grub_multiboot_load): Use relocator.
7373 (grub_multiboot_get_mbi_size): Account for sections.
7374 (grub_multiboot_make_mbi): Use relocator and support sections.
7375 (grub_multiboot_add_elfsyms): New function.
7376 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7377 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7378 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7379 Prototype changed. All users updated.
7380 (grub_xnu_align_heap): Simplified.
7381 (grub_xnu_writetree_toheap): Likewise.
7382 (grub_xnu_unload): Unload relocator.
7383 (grub_cmd_xnu_kernel): Use relocator.
7384 (grub_cmd_xnu_kernel64): Likewise.
7385 (grub_xnu_register_memory): Simplified.
7386 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
7387 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7388 EFI is finished.
7389 (grub_console_checkkey): Likewise.
7390 (grub_console_getkey): Likewise.
7391 (grub_console_getwh): Likewise.
7392 (grub_console_getxy): Likewise.
7393 (grub_console_gotoxy): Likewise.
7394 (grub_console_cls): Likewise.
7395 (grub_console_setcolorstate): Likewise.
7396 (grub_console_setcursor): Likewise.
7397 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7398 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7399 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7400 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7401 * grub-core/tests/boot/kernel-8086.S: Likewise.
7402 * grub-core/tests/boot/kernel-i386.S: Likewise.
7403 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7404 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7405 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7406 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7407 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7408 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7409 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7410 * grub-core/tests/boot/linux.cfg: Likewise.
7411 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7412 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7413 * grub-core/tests/boot/linux16.cfg: Likewise.
7414 * grub-core/tests/boot/multiboot.cfg: Likewise.
7415 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7416 * grub-core/tests/boot/ntldr.cfg: Likewise.
7417 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7418 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7419 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7420 New definition.
7421 * include/grub/dl.h (grub_dl_unload_all): Removed.
7422 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7423 (grub_efi_finish_boot_services): Change prototype.
7424 (grub_efi_is_finished): New variable.
7425 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7426 Changed prototype.
7427 (grub_efiemu_finish_boot_services): Removed.
7428 (grub_machine_efiemu_init_tables): New prototype.
7429 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7430 (grub_elf64_phdr_iterate): Likewise.
7431 * include/grub/i386/bsd.h: Include relocator.h.
7432 (freebsd_tag_header): New struct.
7433 (grub_openbsd_bios_mmap): Removed.
7434 (grub_unix_real_boot): Removed.
7435 (grub_freebsd_load_elfmodule32): Changed prototype.
7436 (grub_freebsd_load_elfmodule_obj64): Likewise.
7437 (grub_freebsd_load_elf_meta32): Likewise.
7438 (grub_freebsd_load_elf_meta64): Likewise.
7439 (grub_freebsd_add_meta): Removed.
7440 (grub_netbsd_load_elf_meta32): New prototype.
7441 (grub_netbsd_load_elf_meta64): Likewise.
7442 (grub_bsd_add_meta): Likewise.
7443 (grub_openbsd_ramdisk_descriptor): New struct.
7444 (grub_openbsd_find_ramdisk32): New prototype.
7445 (grub_openbsd_find_ramdisk64): Likewise.
7446 * include/grub/i386/coreboot/loader.h: Removed.
7447 * include/grub/i386/efi/loader.h: Likewise.
7448 * include/grub/i386/ieee1275/loader.h: Likewise.
7449 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7450 to grub_uint32_t.
7451 * include/grub/i386/loader.h: Removed.
7452 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7453 value.
7454 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7455 (grub_phys_addr_t): New type.
7456 (grub_vtop): New inline function.
7457 (grub_map_memory): Likewise.
7458 (grub_unmap_memory): Likewise.
7459 * include/grub/i386/multiboot/loader.h: Removed.
7460 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7461 (NETBSD_BTINFO_CONSOLE): New definition.
7462 (NETBSD_BTINFO_SYMTAB): Likewise.
7463 (NETBSD_BTINFO_MODULES): Likewise.
7464 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7465 (grub_netbsd_bootinfo): New struct.
7466 (grub_netbsd_btinfo_common): Use explicit bitsize.
7467 (grub_netbsd_btinfo_mmap_entry): Removed.
7468 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7469 (grub_netbsd_btinfo_bootdisk): New struct.
7470 (grub_netbsd_btinfo_symtab): Likewise.
7471 (grub_netbsd_btinfo_serial): Likewise.
7472 (grub_netbsd_btinfo_modules): Likewise.
7473 (grub_netbsd_btinfo_framebuf): Likewise.
7474 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7475 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7476 Likewise.
7477 (grub_openbsd_bootargs): Use explicit bitsize.
7478 (grub_openbsd_bootarg_console): New struct.
7479 (GRUB_OPENBSD_COM_MAJOR): New definition.
7480 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7481 * include/grub/i386/pc/efiemu.h: Removed.
7482 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7483 * include/grub/i386/qemu/loader.h: Removed.
7484 * include/grub/i386/relocator.h: Rewritten.
7485 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7486 * include/grub/mips/memory.h: New file.
7487 * include/grub/mips/multiboot.h: Rewritten.
7488 * include/grub/mips/relocator.h: Rewritten.
7489 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7490 (grub_vtop): New function.
7491 (grub_map_memory): Likewise.
7492 (grub_unmap_memory): Likewise.
7493 * include/grub/misc.h (ALIGN_DOWN): New definition.
7494 * include/grub/mm.h (grub_mm_check_real): New proto.
7495 (GRUB_MM_CHECK): New definition.
7496 * include/grub/mm_private.h: New file.
7497 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7498 (grub_multiboot_get_mbi_size): Removed.
7499 (grub_multiboot_make_mbi): Change prottype.
7500 (grub_multiboot_set_accepts_video): New proto.
7501 (grub_multiboot_add_elfsyms): Likewise.
7502 (grub_multiboot_payload_eip): New variable.
7503 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7504 New prototype.
7505 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7506 New definition.
7507 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7508 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7509 * include/grub/powerpc/ieee1275/loader.h: Removed.
7510 * include/grub/powerpc/memory.h: New file.
7511 * include/grub/powerpc/relocator.h: Likewise.
7512 * include/grub/relocator.h: Likewise.
7513 * include/grub/relocator_private.h: Likewise.
7514 * include/grub/sparc64/ieee1275/loader.h: Removed.
7515 * include/grub/x86_64/memory.h: New file.
7516 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7517 (grub_xnu_heap_malloc): Likewise.
7518 (grub_xnu_heap_real_start): Removed.
7519 (grub_xnu_heap_start): Likewise.
7520 (grub_xnu_relocator): New variable.
7521 (grub_xnu_heap_target_start): Likewise.
7522 * tests/util/grub-shell.in: Support non-pc.
7523 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 7524
5303b85d
VS
75252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7528 on malloc error.
7529 (grub_bidi_logical_to_visual): Check that malloc succeded.
7530 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7531 puts.
7532 (grub_xputs_normal): Likewise.
7533
d768d159
VS
75342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7537 extra_dist.
7538
75392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7542
5bf84df4
VS
75432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7546
3626810e
VS
75472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7550 dprintf.
7551
a7363f53
BC
75522010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7553
7554 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7555
902f75f6
VS
75562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/normal/term.c (print_more): Fix a memory leak.
7559 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7560 (grub_xputs_normal): Likewise.
7561
3c707967
VS
75622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7565 the begining of the string
7566
2053cc07
VS
75672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/script/script.c (grub_script_parse): Free parsed on
7570 failure.
7571
46422ebf
VS
75722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7575 on failure.
7576
9e0fa3f6
VS
75772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7580 return.
7581
3393cf16
VS
75822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7585 (scroll_up): Fix a memory leak.
7586
b17540cb
VS
75872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7590 errors.
7591
67140446
VS
75922010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 Handle USB pendrives exposed as floppies.
7595
7596 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7597 floppy.
7598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7599 Check for partitions on all devices.
7600
e35e46fc
VS
76012010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7604 (readkey): Likewise.
7605
d24c6190
BC
76062010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7607
7608 Multiple variable names support to "export" command.
7609
7610 * normal/context.c (grub_cmd_export): "export" command supports
7611 multiple variable names.
7612
04ddcc6a
ST
76132010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7614
7615 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7616 --target=drive output to Mach device name.
7617
0c8b61d8
BC
76182010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7619
7620 New Automake based build system for GRUB.
7621
7622 * ABOUT-NLS: New file.
7623 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7624 in Makefile.util.def file.
7625 * Makefile.util.def: New file. Autogen build definitions file for
7626 GRUB host utils.
7627 * conf/Makefile.common: New file. Common variables for GRUB host
7628 utils and target modules.
7629 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7630 * docs/Makefile.am: New file. Automake file for docs.
7631 * gentpl.py: New file. Python script to generate Autogen
7632 template.
7633 * grub-core/Makefile.am: New file. GRUB target modules' rules
7634 that doesn't fit in Makefile.core.def file.
7635 * grub-core/Makefile.core.def: New file. Autogen build
7636 definitions file for GRUB target modules.
7637 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7638 specific setjmp.S file.
7639 * po/Makefile.am: New file.
7640
7641 * .bzrignore: New ignores.
7642 * INSTALL: New requirements, without Ruby.
7643 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7644 * autogen.sh: Updated to invoke autogen as necessary.
7645 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7646 and defines for Automake conditionals.
7647 * geninit.sh: Refactoring.
7648
7649 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7650 necessary.
7651 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7652 New prototype.
7653
7654 * include/grub/test.h: Fix functional test modules' naming.
7655 * grub-core/tests/example_functional_test.c: Fix test module name.
7656
7657 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7658 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7659 * util/grub-editenv.c: Likewise.
7660 * util/grub-fstest.c: Likewise.
7661 * util/grub-mkdevicemap.c: Likewise.
7662 * util/grub-mkfont.c: Likewise.
7663 * util/grub-mkimage.c: Likewise.
7664 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7665 * util/grub-probe.c: Likewise.
7666 * util/grub-script-check.c: Likewise.
7667 * util/i386/pc/grub-setup.c: Likewise.
7668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7669
7670 * tests/util/grub-shell.in: Fix override directory path.
7671 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7672 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7673
7674 * util/lvm.c: Update #includes.
7675 * util/raid.c: Likewise.
7676 * util/resolve.c: Likewise.
7677 * grub-core/bus/emu/pci.c: Likewise.
7678 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7679 * grub-core/lib/posix_wrap/string.h: Likewise.
7680 * grub-core/kern/emu/main.c: Likewise.
7681
7682 * grub-core/gensymlist.sh: New file. Script for generating kernel
7683 symbols file.
7684 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7685
7686 * grub-core/gentrigtables.c: Fix unused variable warnings.
7687
7688 * Makefile.in: Removed.
7689 * conf/any-emu.rmk: Removed.
7690 * conf/common.rmk: Removed.
7691 * conf/i386-coreboot.rmk: Removed.
7692 * conf/i386-efi.rmk: Removed.
7693 * conf/i386-ieee1275.rmk: Removed.
7694 * conf/i386-multiboot.rmk: Removed.
7695 * conf/i386-pc.rmk: Removed.
7696 * conf/i386-qemu.rmk: Removed.
7697 * conf/i386.rmk: Removed.
7698 * conf/mips-yeeloong.rmk: Removed.
7699 * conf/mips.rmk: Removed.
7700 * conf/powerpc-ieee1275.rmk: Removed.
7701 * conf/sparc64-ieee1275.rmk: Removed.
7702 * conf/tests.rmk: Removed.
7703 * conf/x86-efi.rmk: Removed.
7704 * conf/x86_64-efi.rmk: Removed.
7705 * gendistlist.sh: Removed.
7706 * geninitheader.sh: Removed.
7707 * genkernsyms.sh.in: Removed.
7708 * genmk.rb: Removed.
7709 * gensymlist.sh.in: Removed.
7710 * mkinstalldirs: Removed.
7711 * boot: Moved ...
7712 * grub-core/boot: ... to here.
7713 * bus: Moved ...
7714 * grub-core/bus: ... to here.
7715 * commands: Moved ...
7716 * grub-core/commands: ... to here.
7717 * disk: Moved ...
7718 * grub-core/disk: ... to here.
7719 * efiemu: Moved ...
7720 * grub-core/efiemu: ... to here.
7721 * font: Moved ...
7722 * grub-core/font: ... to here.
7723 * fs: Moved ...
7724 * grub-core/fs: ... to here.
7725 * gencmdlist.sh: Moved ...
7726 * grub-core/gencmdlist.sh: ... to here.
7727 * genemuinit.sh: Moved ...
7728 * grub-core/genemuinit.sh: ... to here.
7729 * genemuinitheader.sh: Moved ...
7730 * grub-core/genemuinitheader.sh: ... to here.
7731 * genfslist.sh: Moved ...
7732 * grub-core/genfslist.sh: ... to here.
7733 * genhandlerlist.sh: Moved ...
7734 * grub-core/genhandlerlist.sh: ... to here.
7735 * genmoddep.awk: Moved ...
7736 * grub-core/genmoddep.awk: ... to here.
7737 * genmodsrc.sh: Moved ...
7738 * grub-core/genmodsrc.sh: ... to here.
7739 * genpartmaplist.sh: Moved ...
7740 * grub-core/genpartmaplist.sh: ... to here.
7741 * genparttoollist.sh: Moved ...
7742 * grub-core/genparttoollist.sh: ... to here.
7743 * genterminallist.sh: Moved ...
7744 * grub-core/genterminallist.sh: ... to here.
7745 * gentrigtables.c: Moved ...
7746 * grub-core/gentrigtables.c: ... to here.
7747 * genvideolist.sh: Moved ...
7748 * grub-core/genvideolist.sh: ... to here.
7749 * gettext: Moved ...
7750 * grub-core/gettext: ... to here.
7751 * gfxmenu: Moved ...
7752 * grub-core/gfxmenu: ... to here.
7753 * gnulib: Moved ...
7754 * grub-core/gnulib: ... to here.
7755 * hello: Moved ...
7756 * grub-core/hello: ... to here.
7757 * hook: Moved ...
7758 * grub-core/hook: ... to here.
7759 * io: Moved ...
7760 * grub-core/io: ... to here.
7761 * kern: Moved ...
7762 * grub-core/kern: ... to here.
7763 * lib: Moved ...
7764 * grub-core/lib: ... to here.
7765 * loader: Moved ...
7766 * grub-core/loader: ... to here.
7767 * mmap: Moved ...
7768 * grub-core/mmap: ... to here.
7769 * normal: Moved ...
7770 * grub-core/normal: ... to here.
7771 * partmap: Moved ...
7772 * grub-core/partmap: ... to here.
7773 * parttool: Moved ...
7774 * grub-core/parttool: ... to here.
7775 * script: Moved ...
7776 * grub-core/script: ... to here.
7777 * term: Moved ...
7778 * grub-core/term: ... to here
7779 * tests/example_functional_test.c: Moved ...
7780 * grub-core/tests/example_functional_test.c: ... to here.
7781 * tests/lib/functional_test.c: Moved ...
7782 * grub-core/tests/lib/functional_test.c: ... to here.
7783 * tests/lib/test.c: Moved ...
7784 * grub-core/tests/lib/test.c: ... to here.
7785 * video: Moved ...
7786 * grub-core/video: ... to here.
7787
645586e6
BC
77882010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7789
7790 Replace --enable-grub-emu-modules with grub-emu-lite.
7791
7792 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7793 cache.S.
7794
7795 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7796 * kern/emu/full.c: New file. For grub-emu specific initialization.
7797 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7798 * kern/emu/main.c: Call initialization function grub_emu_init.
7799
7800 * Makefile.in: Include grub-emu-lite in install.
7801 * commands/parttool.c: Use grub_no_autoload to differentiate
7802 between grub-emu and grub-emu-lite.
7803 * include/grub/misc.h: New variable grub_no_autoload.
7804
7805 * conf/any-emu.rmk: New rules for grub-emu-lite.
7806 * configure.ac: Remove --enable-grub-emu-modules.
7807 * genmk.rb: Cleanup unnecessary rules.
7808 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7809
7810 * normal/main.c: Don't load list files on grub-emu-lite.
7811 * util/misc.c (grub_arch_sync_caches): Removed.
7812
f86a4030
CW
78132010-08-23 Colin Watson <cjwatson@ubuntu.com>
7814
7815 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7816 grub-mkimage rather than grub-mkelfimage.
7817 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7818
06776944
VS
78192010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7822 a key after CapsLock or NumLock. It's just a qemu bug.
7823
df262419
VS
78242010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7827 needed by libusb wrapper.
7828
b40ea81b
ST
78292010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7830
7831 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7832
dee50575
VS
78332010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7836 --nounzip is passed.
7837
fb1d7b79
VS
78382010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 USB hotunplugging and USB serial support.
7841
7842 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7843 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7844 (grub_uhci_transfer): Respect timeout and set *actual.
7845 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7846 non-standard length.
7847 (grub_usb_device_attach): Autoload modules.
7848 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7849 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7850 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7851 users updated.
7852 (grub_usb_add_hub): Fill nports and children.
7853 (attach_root_port): Receive hub instead of controller.
7854 All users updated. Fill hub->devices.
7855 (grub_usb_root_hub): Allocate hub->devices.
7856 (detach_device): New function.
7857 (poll_nonroot_hub): Fill children and detach devices.
7858 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7859 actual arguments. All users updated.
7860 (grub_usb_bulk_read_extended): New function.
7861 * bus/usb/serial/common.c: New file.
7862 * bus/usb/serial/ftdi.c: Likewise.
7863 * bus/usb/serial/pl2303.c: Likewise.
7864 * commands/terminal.c (handle_command): Support wildcard.
7865 * commands/usbtest.c: Output "Unknown" instead of empty string.
7866 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7867 (usbserial_common_mod_SOURCES): New variable.
7868 (usbserial_common_mod_CFLAGS): Likewise.
7869 (usbserial_common_mod_LDFLAGS): Likewise.
7870 (pkglib_MODULES): Add usbserial_pl2303.mod.
7871 (usbserial_pl2303_mod_SOURCES): New variable.
7872 (usbserial_pl2303_mod_CFLAGS): Likewise.
7873 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7874 (pkglib_MODULES): Add usbserial_ftdi.mod.
7875 (usbserial_ftdi_mod_SOURCES): New variable.
7876 (usbserial_ftdi_mod_CFLAGS): Likewise.
7877 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7878 (pkglib_MODULES): Add serial.mod.
7879 (serial_mod_SOURCES): New variable.
7880 (serial_mod_CFLAGS): Likewise.
7881 (serial_mod_LDFLAGS): Likewise.
7882 * conf/i386-pc.rmk: Likewise.
7883 * conf/mips-yeeloong.rmk: Likewise.
7884 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7886 * disk/usbms.c (first_available_slot): New variable.
7887 (grub_usbms_attach): Don't reuse free slots due to potential cache
7888 problems.
7889 * include/grub/serial.h: Moved to ..
7890 * include/grub/ns8250.h: ...this.
7891 * include/grub/serial.h: New file.
7892 * include/grub/term.h (grub_term_poll_usb): New variable.
7893 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7894 readkey. All users updated.
7895 (grub_terminfo_output_state): Pass term to put.
7896 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7897 (grub_usb_controller_dev): Add timeout and actual arguments to
7898 transfer. All users updated.
7899 (grub_usb_interface): New field detach_data.
7900 (grub_usb_device): New fields children and nports.
7901 (grub_usb_ep_type_t): New type.
7902 (grub_usb_get_ep_type): New function.
7903 (grub_usb_bulk_read_extended): Likewise.
7904 * include/grub/usbdesc.h (grub_usb_desc): New type.
7905 * include/grub/usbserial.h: New file.
7906 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7907 * kern/term.c (grub_term_poll_usb): New variable.
7908 (grub_getkey): Call grub_term_poll_usb if set.
7909 (grub_checkkey): Likewise.
7910 (grub_getkeystatus): Likewise.
7911 * term/serial.c: Moved controller-specific parts to ...
7912 * term/ns8250.c: ... here.
7913 * term/serial.c: Mostly rewritten.
7914 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7915 according to spec.
7916
21a313de
RM
79172010-08-20 Robert Millan <rmh@gnu.org>
7918
7919 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7920 a separate module and maybe other interesting combinations.
7921
7922 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7923 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7924 (kfreebsd_entry): Add generic filesystem module load routine.
7925 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7926
63c734a6
CW
79272010-08-20 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7930 "numcenter" (I misunderstood the purpose of this entry).
7931 * docs/grub.texi (sendkey): Likewise.
7932
c4d16542
CW
79332010-08-20 Colin Watson <cjwatson@ubuntu.com>
7934
7935 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7936 status flag options; simply omitting the option is equivalent and
7937 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7938 (keysym_table): Rename "num5numlock" to "numlock".
7939 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7940 can uniformly say that only the last of multiple `sendkey'
7941 invocations has any effect.
7942 * docs/grub.texi (sendkey): New section.
7943
93541d66
CW
79442010-08-19 Colin Watson <cjwatson@ubuntu.com>
7945
7946 * commands/i386/pc/sendkey.c (options): Fix three typos.
7947
b4ece5e1
VS
79482010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 Implement sendkey support.
7951
7952 * commands/i386/pc/sendkey.c: New file.
7953 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7954 (sendkey_mod_SOURCES): New variable.
7955 (sendkey_mod_CFLAGS): Likewise.
7956 (sendkey_mod_LDFLAGS): Likewise.
7957
51f1f5af
CW
79582010-08-18 Colin Watson <cjwatson@ubuntu.com>
7959
7960 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
7961 fix warnings from Autoconf.
7962
9da94e05
CW
79632010-08-18 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
7966 to avoid false positives with some assemblers that output things
7967 like "someprefix_func" as part of their output.
7968
729a0f2e
RM
79692010-08-15 Robert Millan <rmh@gnu.org>
7970
7971 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
7972 errors.
7973 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
7974 grub_get_libzfs_handle() errors.
7975
f3710e08
RM
79762010-08-14 Robert Millan <rmh@gnu.org>
7977
7978 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
7979 filesystem is not ZFS.
7980
7a3c13de
BC
79812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7982
7983 Fix for misspelled color names defaulting to black/black (bug
7984 reported by Doug Nazar)
7985
7986 * include/grub/normal.h (grub_parse_color_name_pair): Add return
7987 status to prototype.
7988 * normal/color.c (grub_parse_color_name_pair): Return failure
7989 status.
7990 (grub_env_write_color_normal): Ignore bad color names.
7991 (grub_env_write_color_highlight): Likewise.
7992 * normal/main.c (GRUB_MOD_INIT): Set default color names.
7993
ab8ba50d
BC
79942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7995
7996 "shift" command support to GRUB script.
7997
7998 * include/grub/script_sh.h (grub_script_shift): New prototype.
7999 * script/execute.c (grub_script_shift): New function.
8000 * script/main.c (grub_script_init): Register shift command.
8001 (grub_script_fini): Unregister shift command.
8002 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8003
8004 * tests/grub_script_shift.in: New testcase.
8005 * conf/tests.rmk: Rules for new testcase.
8006
4d61999e
BC
80072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8008
8009 "continue" command support to GRUB script.
8010
8011 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8012 (grub_script_break): Continue support.
8013 * script/main.c (grub_script_init): Register continue command.
8014 (grub_script_fini): Unregister continue command.
8015
8016 * tests/grub_script_continue.in: New testcase.
8017 * conf/tests.rmk: Rules for new testcase.
8018
4df51e00
BC
80192010-08-12 BVK Chaitanya <bvk@dbook>
8020
8021 "break" command support to GRUB script.
8022
8023 * conf/common.rmk: Rule updates to grub-script-check.
8024 * include/grub/misc.h (grub_min): New function.
8025 * include/grub/script_sh.h (grub_script_init): New prototype.
8026 (grub_script_fini): New prototype.
8027 (grub_script_break): New prototype.
8028 * script/main.c (grub_script_init): New function.
8029 (grub_script_fini): New function.
8030 * script/execute.c (grub_script_break): New function.
8031 * normal/main.c: Calls to grub_script_{init,fini}.
8032 * util/grub-script-check.c (grub_script_break): New function.
8033
8034 * tests/grub_script_break.in: New testcase.
8035 * conf/tests.rmk: Rules for new test case.
8036
f12c8420
BC
80372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8038
8039 Function parameters support to GRUB script.
8040
8041 * script/yylex.l (VARIABLE): Regular expression update.
8042 * script/function.c (grub_script_function_call): Moved ...
8043 * script/execute.c (grub_script_function_call): ... to here.
8044 (grub_script_execute_arglist_to_argv): Removed.
8045 (grub_script_arglist_to_argv): New function.
8046 * script/argv.c: New file.
8047 (grub_script_argv_free): New function.
8048 (grub_script_argv_next): Likewise.
8049 (grub_script_argv_append): Likewise.
8050 (grub_script_argv_split_append): Likewise.
8051 * include/grub/script_sh.h (grub_script_argv): New struct.
8052 (grub_script_argv_free): New function.
8053 (grub_script_argv_next): Likewise.
8054 (grub_script_argv_append): Likewise.
8055 (grub_script_argv_split_append): Likewise.
8056
8057 * conf/common.rmk (normal.mod): New source script/argv.c.
8058
8059 * tests/grub_script_echo1.in: More tests.
8060 * tests/grub_script_vars1.in: Likewise.
8061 * tests/grub_script_functions.in: New test case.
8062 * conf/tests.rmk: Rules for new testcase.
8063
8022b748
BC
80642010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8065
8066 Remove grub_script_cmdblock struct.
8067
8068 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8069 * script/parser.y: Likewise.
8070 * script/execute.c: Rename cmdblock suffix to cmdlist.
8071 * script/script.c: Likewise.
8072 * util/grub-script-check.c: Likewise.
8073
79a6ba61
YB
80742010-08-11 Yves Blusseau <blusseau@zetam.org>
8075
8076 * .bzrignore: add grub-macho2img
8077
d04b9414
VS
80782010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8081
f947ab49
VS
80822010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Remove the dump of sm712 initialisation sequence.
8085
8086 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8087 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8088 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8089 (GRUB_VGA_CR_*): Added many registers.
8090 (GRUB_VGA_SR_*): Likewise.
8091 (GRUB_VGA_GR_*): Likewise.
8092 (grub_vga_write_arx): New function.
8093 (grub_video_hw_config): New struct.
8094 (grub_vga_set_geometry): New function.
8095 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8096 GRUB_PCI_CLASS_SUBCLASS_VGA.
8097 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8098 * video/sm712.c (grub_sm712_write_reg): New function
8099 (grub_sm712_read_reg): Likewise.
8100 (grub_sm712_sr_write): Likewise.
8101 (grub_sm712_gr_write): Likewise.
8102 (grub_sm712_cr_write): Likewise.
8103 (grub_sm712_write_arx): Likewise.
8104 (grub_sm712_cr_shadow_write): Likewise.
8105 (grub_sm712_write_dda_lookup): Likewise.
8106 (grub_video_sm712_setup): Initialise the video rather then
8107 blindly replay the dump.
8108 (main) [TEST]: Add a routine to be able to compile as standalone for
8109 tests.
8110 * video/sm712_init.c (sm712_init): Removed.
8111 (sm712_sr_seq1): New array.
8112 (sm712_sr_seq2): Likewise.
8113
f0206638
VS
81142010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * include/grub/vga.h: Add missing grub/pci.h include.
8117
2764da3b
YB
81182010-08-10 Yves Blusseau <blusseau@zetam.org>
8119
8120 * util/grub-macho2img.c (main): fix typo
8121
cf0c775e
VS
81222010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8125 (grub_vga_gr_read): Likewise.
8126 (grub_vga_cr_write): Likewise.
8127 (grub_vga_cr_read): Likewise.
8128 (grub_vga_sr_write): Likewise.
8129 (grub_vga_sr_read): Likewise.
8130 (grub_vga_palette_read): Likewise.
8131 (grub_vga_palette_write): Likewise.
8132 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8133 (grub_sm712_sr_read): New function.
8134 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8135 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8136
07f360e9
RM
81372010-08-09 Robert Millan <rmh@gnu.org>
8138
8139 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8140 out unused variables on non-ZFS build.
8141
346c2072
RM
81422010-08-08 Robert Millan <rmh@gnu.org>
8143
8144 Fix path generation for sub-filesystems in ZFS.
8145
8146 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8147 missing slash.
8148
71175420
RM
81492010-08-08 Robert Millan <rmh@gnu.org>
8150
8151 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8152
0d8286f3
RM
81532010-08-08 Robert Millan <rmh@gnu.org>
8154
8155 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8156 exist, issue a proper error message (rely on `ls' for translated
8157 strings).
8158
55dd2924
RM
81592010-08-08 Robert Millan <rmh@gnu.org>
8160
8161 Fix grub-probe invocation.
8162
8163 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8164
d3dd9e80
RM
81652010-08-04 Robert Millan <rmh@gnu.org>
8166
8167 * configure.ac: Remove checks for getfsstat() and getmntany().
8168 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8169 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8170 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8171 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8172 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8173 function.
8174 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8175 via find_mount_point_from_dir() and getfsstat() / getmntany().
8176
0de22aa9
RM
81772010-08-04 Robert Millan <rmh@gnu.org>
8178
8179 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8180 (grub_find_zpool_from_mount_point): Merge into ...
8181 (grub_find_zpool_from_dir): ... this.
8182 * kern/emu/misc.c: Likewise.
8183
8184 * kern/emu/misc.c
8185 (grub_make_system_path_relative_to_its_root): Replace
8186 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8187 with grub_find_zpool_from_dir().
8188 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8189
62858144
RM
81902010-08-04 Robert Millan <rmh@gnu.org>
8191
8192 Support OpenSolaris in ZFS device resolution.
8193
8194 * configure.ac: Check for getmntany().
8195 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8196 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8197 support.
8198
9dd6fd50
RM
81992010-08-03 Robert Millan <rmh@gnu.org>
8200
8201 Fix grub-emu build.
8202
8203 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8204 * include/grub/emu/misc.h: ... here.
8205
8206 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8207 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8208
8209 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8210 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8211 (grub_get_libzfs_handle): Move to ...
8212 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8213 (grub_get_libzfs_handle): ... here.
8214
c9f7ff97
BC
82152010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8216
8217 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8218 as command name case.
8219
a870a783
CW
82202010-08-02 Colin Watson <cjwatson@ubuntu.com>
8221
8222 * disk/raid.c (insert_array): Select unique numbers for named arrays
8223 as well, for use as keys in the disk cache.
8224
c7db243b
RM
82252010-08-01 Robert Millan <rmh@gnu.org>
8226
8227 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8228 kFreeBSD device name, except on ZFS where the filesystem label is
8229 used.
8230 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8231 `/boot/zfs/zpool.cache'.
8232 Set mountfrom kernel variable using ${kfreebsd_device}.
8233
f7abdefb
RM
82342010-08-01 Robert Millan <rmh@gnu.org>
8235
8236 Make it even harder to use uninitialized `libzfs_handle' (and
8237 make the interface a bit simpler).
8238
8239 * include/grub/util/misc.h (grub_util_init_libzfs)
8240 (libzfs_handle): Remove.
8241 (grub_get_libzfs_handle): New prototype.
8242
8243 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8244 attribute.
8245 (grub_util_init_libzfs): Remove.
8246 (grub_get_libzfs_handle): New function.
8247
8248 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8249 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8250 accessing `libzfs_handle' directly.
8251
c882acc0
RM
82522010-08-01 Robert Millan <rmh@gnu.org>
8253
8254 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8255 (grub_find_zpool_from_mount_point): New function prototypes.
8256
8257 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8258 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8259
8260 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8261 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8262 `static' attribute.
8263
8264 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8265 finding zpool from mount point into ...
8266 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8267
8268 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8269 requested path is part of a ZFS pool, use
8270 grub_find_zpool_from_mount_point() to detect its filesystem name,
8271 and generate a path with `/fsname@path' syntax.
8272
8bfe31d8
CW
82732010-08-01 Colin Watson <cjwatson@ubuntu.com>
8274
8275 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8276 (void) rather than () so that this is a proper prototype.
8277
553df63d
VS
82782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8281
8687cf07
VS
82822010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8285 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8286
ea9be8ea
CW
82872010-08-01 Colin Watson <cjwatson@ubuntu.com>
8288
8289 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8290
6eea041a
CW
82912010-08-01 Colin Watson <cjwatson@ubuntu.com>
8292
8293 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8294
2cfb45df
CW
82952010-08-01 Colin Watson <cjwatson@ubuntu.com>
8296
8297 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8298 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8299 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8300 disable gfxpayload.
8301 (Shell-like scripting): Add real content.
8302 (Serial terminal): Suggest `terminal_input serial; terminal_output
8303 serial' rather than putting the two commands on separate lines,
8304 since console input will be inoperative after the first command.
8305 (menuentry): Document --class, --users, and --hotkey options.
8306 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8307 Vladimir Serbinenko).
8308
7decd202
VS
83092010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
83102010-08-01 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8313
c882acc0
RM
83142010-08-01 Robert Millan <rmh@gnu.org>
8315
8316 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8317 (grub_find_zpool_from_mount_point): New function prototypes.
8318
8319 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8320 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8321
8322 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8323 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8324 `static' attribute.
8325
8326 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8327 finding zpool from mount point into ...
8328 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8329
8330 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8331 requested path is part of a ZFS pool, use
8332 grub_find_zpool_from_mount_point() to detect its filesystem name,
8333 and generate a path with `/fsname@path' syntax.
8334
deb0caa3
RM
83352010-08-01 Robert Millan <rmh@gnu.org>
8336
8337 Prevent accidental use of uninitialized libzfs_handle.
8338
8339 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8340 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8341 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8342
ce04ef47
CW
83432010-08-01 Colin Watson <cjwatson@ubuntu.com>
8344
8345 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8346 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8347
ebf53056
RM
83482010-08-01 Robert Millan <rmh@gnu.org>
8349
8350 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 8351
3710bb6b
RM
83522010-07-31 Robert Millan <rmh@gnu.org>
8353
8354 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8355
8072efeb
RM
83562010-07-31 Robert Millan <rmh@gnu.org>
8357
8358 * kern/emu/misc.c: Add missing license header.
8359
3169f4c7
RM
83602010-07-31 Robert Millan <rmh@gnu.org>
8361
8362 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8363
8364 * include/grub/util/libnvpair.h: Include `<config.h>'.
8365 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8366 declaring libnvpair prototypes ourselves.
8367 * include/grub/util/libzfs.h: Include `<config.h>'.
8368 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8369 declaring libzfs prototypes ourselves.
8370
8371 (libzfs_handle): Moved to ...
8372 * include/grub/util/misc.h (libzfs_handle): ... here.
8373 Include `<grub/util/libzfs.h>'.
8374
c9a00aee
RM
83752010-07-30 Robert Millan <rmh@gnu.org>
8376
8377 * include/grub/emu/misc.h: Add missing license header.
8378
a184f9c8
RM
83792010-07-30 Robert Millan <rmh@gnu.org>
8380
8381 Enable `grub-probe -t device' resolution on ZFS.
8382
8383 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8384 * include/grub/util/libnvpair.h: New file.
8385 * include/grub/util/libzfs.h: New file.
8386
8387 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8388 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8389 `<grub/util/libnvpair.h>'.
8390 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8391
8392 (find_mount_point_from_dir): New static function.
8393 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8394 function.
8395 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8396 find_root_device_from_libzfs() before ressorting to find_root_device().
8397
8398 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8399 prototype.
8400 * util/misc.c: Include `<grub/util/libzfs.h>'.
8401 (grub_util_init_libzfs): New function.
8402 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8403 [HAVE_LIBZFS] (fini_libzfs): New static function.
8404 (grub_util_init_libzfs): New function.
8405 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8406
f7790cdd
RM
84072010-07-30 Robert Millan <rmh@gnu.org>
8408
8409 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8410 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8411 `warn_unused_result' attribute.
8412 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8413 (grub_xasprintf, grub_xvasprintf): Likewise.
8414 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8415
0806b63c
RM
84162010-07-29 Robert Millan <rmh@gnu.org>
8417
8418 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8419 (probe): Handle `PRINT_FS_LABEL'.
8420 (main): Handle `-t fs_label'.
8421
9f841f5c
RM
84222010-07-29 Robert Millan <rmh@gnu.org>
8423
8424 * configure.ac: Remove grub-mkisofs checks.
8425
46371121
VS
84262010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8429 Reported by: Lennart Sorensen.
8430
84312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8434 prior to terminal_input/terminal_output separation. It's been over 1.5
8435 years and those versions weren't widely deployed.
8436
a9600892
CW
84372010-07-22 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * disk/raid.c (insert_array): Don't count named arrays when looking
8440 for unused array numbers.
697e053c 8441 Reported and tested by: Michael Guntsche.
a9600892 8442
c03507df
CW
84432010-07-20 Colin Watson <cjwatson@ubuntu.com>
8444
8445 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8446 implementation of this so that grub-emu links again, with a note
8447 that this should support hotplugging in the future.
8448
b26f1c11
CW
84492010-07-20 Colin Watson <cjwatson@ubuntu.com>
8450
8451 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8452
efc9d7f1
CW
84532010-07-20 Colin Watson <cjwatson@ubuntu.com>
8454
8455 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8456 handle on failure.
8457 (grub_loopback_close): Remove empty function.
8458 (grub_loopback_dev): Remove close method.
8459
dd8ff5c9
CW
84602010-07-20 Colin Watson <cjwatson@ubuntu.com>
8461
8462 Disable EFI cursor when the EFI console becomes inactive.
8463
8464 * term/efi/console.c (grub_efi_console_init): New function.
8465 (grub_efi_console_fini): New function.
8466 (grub_console_term_output): Register init and fini methods.
8467
5e3bec67
VS
84682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8471 sh script.
8472
afaec079
VS
84732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * disk/loopback.c (grub_loopback): Replace filename with file.
8476 (delete_loopback): Handle new semantics.
8477 (grub_cmd_loopback): Likewise.
8478 (grub_loopback_iterate): Likewise.
8479 (grub_loopback_close): Likewise.
8480
a6a11f3c
VS
84812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8484 with -p "".
8485 Reported by: Tito Keitel.
8486
64a638b0
VS
84872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * docs/grub.texi (Naming convention): Document new naming convention.
8490
ab8ba957
VS
84912010-07-20 Vadim Solomin <vadic052@gmail.com>
84922010-07-20 Colin Watson <cjwatson@ubuntu.com>
8493
8494 Generate device.map in something closer to the old ordering.
8495
8496 * util/deviceiter.c (struct device): New declaration.
8497 (compare_file_names): Rename to ...
8498 (compare_devices): ... this. Sort by kernel name in preference to
8499 the stable by-id name, but keep the latter as a fallback comparison.
8500 Update header comment.
8501 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8502 of `struct device' rather than of plain file names.
8503
a29d6a4b
TF
85042010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8505
8506 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8507 on i386.
8508
39d824e8
VS
85092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8512 hardcoding size.
8513 (setv1table): Likewise.
8514
f058276b
FZ
85152010-07-20 Colin Watson <cjwatson@ubuntu.com>
8516
8517 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8518 removing the homehost if present.
8519 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8520 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8521 removing the homehost if present.
8522 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8523 if possible.
8524 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8525
8526 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8527 parameter. Set its pointer target to 0.
8528 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8529 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8530 `data_offset' value from the superblock for 1.x metadata.
8531 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8532 data on the device.
8533 (insert_array): Record the start sector of data on the device.
8534 (grub_raid_register): Pass start_sector parameters to
8535 grub_raid_list->detect and insert_array.
8536 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8537 member.
8538 (struct grub_raid): Add start_sector parameter to `detect'.
8539
8540 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8541 __attribute__ ((packed)), leaving a comment.
8542 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8543 (grub_mdraid_detect_09): ... here and ...
8544 (grub_mdraid_detect_1x): ... here.
8545
85462010-07-20 Peter Henn <peter.henn@web.de>
8547
8548 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8549 chunk size and disk size, which are already given as sector counts
8550 as distinct from the 0.90 units. Fetch the correct device number
8551 from the role table instead of using the table index.
8552
85532010-07-20 Felix Zielcke <fzielcke@z-51.de>
8554
8555 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8556 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8557 (WriteMostly1): New macro.
8558 Set array->name to NULL for metadata format 0.90. Add support for
8559 metadata 1.x. Fix some comments.
8560 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8561 few comments.
8562 * util/getroot.c (grub_util_get_grub_dev): Add support for
8563 /dev/md/name style devices.
8564
4b761da9
CW
85652010-07-20 Colin Watson <cjwatson@ubuntu.com>
8566
8567 * .bzrignore: Ignore 20_linux_xen.
8568
5771289a
CW
85692010-07-17 Colin Watson <cjwatson@ubuntu.com>
8570
8571 * util/import_unicode.py: Remove unnecessary imports.
8572
5dab68df
AN
85732010-07-17 Aleš Nesrsta <starous@volny.cz>
8574
8575 Hotplugging and USB hub support.
8576
8577 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8578 (grub_ohci): Likewise.
8579 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8580 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8581 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8582 (GRUB_OHCI_CTRL_EDS): Likewise.
8583 (GRUB_OHCI_BULK_EDS): Likewise.
8584 (GRUB_OHCI_TDS): Likewise.
8585 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8586 (grub_ohci_ed_phys2virt): New function.
8587 (grub_ohci_virt_to_phys): Likewise.
8588 (grub_ohci_td_phys2virt): Likewise.
8589 (grub_ohci_td_virt2phys): Likewise.
8590 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8591 attachment.
8592 (grub_ohci_find_ed): New function.
8593 (grub_ohci_alloc_td): Likewise.
8594 (grub_ohci_free_td): Likewise.
8595 (grub_ohci_free_tds): Likewise.
8596 (grub_ohci_transfer): Use previously allocated memory.
8597 (grub_ohci_portstatus): Reset status changed bit.
8598 (grub_ohci_detect_dev): Supply status changed.
8599 (grub_ohci_fini_hw): Free memory.
8600 (grub_ohci_restore_hw): Reallocate memory.
8601 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8602 Reset status change.
8603 (grub_uhci_detect_dev): Supply status_change.
8604 * bus/usb/usb.c (attach_hooks): New var.
8605 (grub_usb_device_attach): New function.
8606 (grub_usb_register_attach_hook_class): Likewise.
8607 (grub_usb_unregister_attach_hook_class): Likewise.
8608 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8609 (grub_usb_add_hub): Reset connection changed bit.
8610 (attach_root_port): New function.
8611 (grub_usb_root_hub): Likewise.
8612 (poll_nonroot_hub): Likewise.
8613 (grub_usb_poll_devices): Likewise.
8614 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8615 * disk/usbms.c (grub_usbms_open): Use device hooks.
8616 (grub_usbms_iterate) :Poll devices.
8617 (grub_usbms_finddevs): Split into ...
8618 (grub_usbms_attach): ... this ...
8619 (grub_usbms_attach): ... and this.
8620 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8621 in detect_dev.
8622 (grub_usb_interface): New fields attached and detach_hook.
8623 (grub_usb_attach_hook_class): New type.
8624 (grub_usb_attach_desc): New struct.
8625 (grub_usb_register_attach_hook_class): New function.
8626 (grub_usb_unregister_attach_hook_class): Likewise.
8627 (grub_usb_poll_devices): Likewise.
8628 (grub_usb_device_attach): Likewise.
8629 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8630 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8631
3222efaf
VS
86322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8635 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8636 delta determination style. Works with most NetBSD partitions too.
8637
139b714a
VS
86382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8641 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8642
986aad56
VS
86432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8646
99be513c
AB
86472010-07-14 Anton Blanchard <anton@samba.org>
8648
8649 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8650 ET_DYN files.
8651
18075f62
GS
86522010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8653
8654 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8655
8d9a5b15
GS
86562010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8657
8658 * kern/partition.c (grub_partition_check_containment): New function to
8659 check that a partition is physically contained in a parent. Since
8660 offsets are relative (and non-negative), this reduces to checking that
8661 the partition ends before its parent.
8662 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8663 (grub_partition_iterate): Likewise.
8664 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8665 comments.
8666 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8667 partitions that start before their parent, and add debug printfs.
8668
19563c25
CW
86692010-07-13 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * Makefile.in (.SUFFIX): Spell correctly, as ...
8672 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8673 bare module name without `.mod', e.g. `test') tried to invoke a
8674 Modula-2 compiler.
8675
1a1f1e67
CW
86762010-07-13 Colin Watson <cjwatson@ubuntu.com>
8677
8678 * README: Point to the Info manual.
8679
811b0dca
JS
86802010-07-13 Jiro SEKIBA <jir@unicus.jp>
8681
8682 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8683 2nd superblock position from partition size.
8684
e4f4eafc
CW
86852010-07-10 Colin Watson <cjwatson@ubuntu.com>
8686
8687 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8688 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8689 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8690 outputs.
8691
4274c30f
VS
86922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 Restructure SCSI .id handling.
8695 Reported and tested by: Aleš Nesrsta.
8696
8697 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8698 (grub_atapi_dev): Changed .name to "ata". New field .id.
8699 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8700 (grub_usbms_dev): New field .id.
8701 * disk/scsi.c (grub_scsi_iterate): Generate name.
8702 (grub_scsi_open): Parse name.
8703 * include/grub/scsi.h (grub_make_scsi_id): New function.
8704 (grub_scsi_dev): Change iterate and open to number instead of naming
8705 busses. All users updated.
8706 (grub_scsi): Remove name. Add .bus.
8707
5bc24388
VS
87082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * commands/help.c (grub_cmd_help): Fix a typo.
8711
249975ba
VS
87122010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8715 Reported and tested by: Colin Watson.
8716
3eaac1a1
VS
87172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8720 in this context.
8721
becce1b1
VS
87222010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8725
f7bf0918
CW
87262010-07-07 Colin Watson <cjwatson@ubuntu.com>
8727
8728 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8729 indentation.
8730
0b0f9620
CW
87312010-07-06 Colin Watson <cjwatson@ubuntu.com>
8732
8733 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8734 and disk/raid6_recover.c.
8735 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8736 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8737
1e545469
CW
87382010-07-06 Colin Watson <cjwatson@ubuntu.com>
8739
8740 * term/gfxterm.c (repaint_schedulded): Rename to ...
8741 (repaint_scheduled): ... this. Update all callers.
8742 (repaint_was_schedulded): Rename to ...
8743 (repaint_was_scheduled): ... this. Update all callers.
8744
5357687a
CW
87452010-07-06 Colin Watson <cjwatson@ubuntu.com>
8746
8747 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8748 which we expect to be handled by upper layers.
8749
29d7e783
BC
87502010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8751
8752 * bus/usb/usbhub.c: #include time.h header.
8753
37582066
CW
87542010-07-06 Colin Watson <cjwatson@ubuntu.com>
8755
8756 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8757 entry_name also for entries without stat blocks (e.g. ".."); fixes
8758 corruption of the first entry in a directory.
8759
c8c06953
CW
87602010-07-06 Colin Watson <cjwatson@ubuntu.com>
8761
8762 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8763 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8764 doesn't work otherwise.
8765
e75056f1
CW
87662010-07-05 Colin Watson <cjwatson@ubuntu.com>
8767
8768 * docs/grub.texi (Features): Update list of supported file systems.
8769 (GNU/Linux): Update for GRUB 2.
8770 (Serial terminal): Remove mention of --disable-serial, which was a
8771 GRUB Legacy configure option. Update instructions to use
8772 `terminal_input' and `terminal_output' rather than `terminal'.
8773 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8774 configuration' and `Installing GRUB using grub-install'.
8775 (Menu entry editor): Update for GRUB 2.
8776 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8777 Document new -a, -u, and -v options.
8778 (initrd): New section.
8779 (initrd16): New section.
8780 (linux): New section.
8781 (linux16): New section.
8782 (search): The `var' argument to `--set' is optional.
8783 (GRUB only offers a rescue shell): Go into a little more detail on
8784 drive ordering.
8785
5cf69151
CW
87862010-07-05 Colin Watson <cjwatson@ubuntu.com>
8787
8788 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8789
e3f90044
CW
87902010-07-05 Colin Watson <cjwatson@ubuntu.com>
8791
8792 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8793 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8794
38d8f4f3
CW
87952010-07-05 Colin Watson <cjwatson@ubuntu.com>
8796
8797 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8798 install_prefix, in line with install_dos_part and install_bsd_part.
8799 Add new prefix variable, which is copied to install_prefix after
8800 comparing core.img in memory with the one read from disk in the
8801 no-embedding case, and use that rather than overwriting
8802 install_prefix immediately when installing to a partition.
8803 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8804 Bicakci.
8805
57ebd41e
GS
88062010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8807
8808 * configure.ac: Avoid == in test command, it's not portable.
8809 * util/grub.d/30_os-prober.in: Likewise.
8810
cb7f64b2
CW
88112010-07-04 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8814
6b654bb0
GS
88152010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8816
8817 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8818 multiple (top-level) partmaps.
8819
72a2026d
VS
88202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 8823 Reported by: Tino Keitel.
72a2026d 8824
df3eb88f
VS
88252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Bidi and diacritics support.
8828
8829 * Makefile.in (widthspec.bin): New target.
8830 (widthspec.h): Likewise.
8831 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8832 * autogen.sh: Generate unidata.c.
8833 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8834 * commands/ls.c (grub_ls_list_devices): Likewise.
8835 (grub_ls_list_files): Likewise.
8836 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8837 (grub_mini_cmd_lsmod): Likewise.
8838 * commands/read.c: Likewise.
8839 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8840 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8841 * lib/arg.c (grub_arg_show_help): Likewise.
8842 * lib/crypto.c (grub_password_get): Likewise.
8843 * normal/auth.c (grub_username_get): Likewise.
8844 * normal/misc.c (grub_normal_print_device_info): Likewise.
8845 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8846 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8847 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8848 (normal/charset.c_DEPENDENCIES): New variable.
8849 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8850 (pkglib_MODULES): Remove charset.mod.
8851 (charset_mod_SOURCES): Removed.
8852 (charset_mod_CFLAGS): Likewise.
8853 (charset_mod_LDFLAGS): Likewise.
8854 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8855 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8856 and term/tparm.c.
8857 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8858 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8859 (kernel_img_HEADERS): Add terminfo.h.
8860 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8861 Fill ->font. Reverse ascii bitmaps.
8862 (grub_font_get_xheight): New function.
8863 * font/font.c (grub_font_get_string_width): Moved from here ...
8864 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8865 * font/font.c (grub_font_draw_string): Moved from here ...
8866 * gfxmenu/font.c (grub_font_draw_string): ... here.
8867 * font/font.c (grub_font_dup_glyph): New function.
8868 (grub_font_blit_glyph): Likewise.
8869 (grub_font_blit_glyph_mirror): Likewise.
8870 (blit_comb): Likewise.
8871 (grub_font_construct_dry_run): Likewise.
8872 (grub_font_get_constructed_device_width): Likewise.
8873 (grub_font_construct_glyph): Likewise.
8874 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8875 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8876 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8877 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8878 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8879 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8880 (grub_font_get_xheight): New proto.
8881 (grub_font_get_constructed_device_width): Likewise.
8882 (grub_font_construct_glyph): Likewise.
8883 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8884 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8885 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8886 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8887 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8888 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8889 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8890 (grub_console_getcharwidth): Likewise.
8891 * include/grub/misc.h (grub_xputs): New proto.
8892 (grub_puts): Inlined.
8893 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8894 (grub_normal_get_line_counter): Removed.
8895 (grub_install_newline_hook): Likewise.
8896 (grub_normal_get_char_counter): New proto.
8897 (grub_normal_reset_more): Likewise.
8898 (grub_xputs_normal): Likewise.
8899 * include/grub/powerpc/ieee1275/console.h: Removed.
8900 * include/grub/sparc64/ieee1275/console.h: Likewise.
8901 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8902 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8903 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8904 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8905 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8906 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8907 (grub_term_input): Pass reference to self. All users updated.
8908 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8909 Pass reference to self. New fields normal_color, highlight_color and
8910 data. All users updated.
8911 (grub_putchar): Removed.
8912 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8913 (grub_unicode_estimate_width): New function.
8914 (grub_term_getcharwidth): Add defaults.
8915 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8916 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8917 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8918 (grub_cls): Remove EXPORT_FUNC.
8919 (grub_setcolorstate): Inline.
8920 (grub_newline_hook): Removed.
8921 * include/grub/terminfo.h: Rewritten. All users updated.
8922 * include/grub/unicode.h: New file.
8923 * include/grub/video.h (grub_video_signed_rect): New type.
8924 * kern/emu/console.c (grub_console_highlight_color): Removed.
8925 (grub_console_normal_color): Likewise.
8926 (grub_console_standard_color): Made static.
8927 (grub_ncurses_putchar): Remove mapping.
8928 (grub_ncurses_getcharwidth): Removed.
8929 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8930 (grub_ncurses_setcolor): Removed.
8931 (grub_ncurses_getcolor): Likewise.
8932 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8933 (grub_console_putchar): ... this.
8934 (grub_console_putchar): Handle argument difference.
8935 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8936 console_init_early and console_init_lately.
8937 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8938 * kern/misc.c (grub_puts): Removed.
8939 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8940 (grub_vsnprintf_real): Remove str = NULL support.
8941 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8942 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8943 * kern/term.c (grub_putcode): Renamed to ...
8944 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8945 (grub_putchar): Removed.
8946 (grub_xputs_dumb): New function.
8947 (grub_xputs): New variable.
8948 * lib/charset.c: Move from here ...
8949 * normal/charset.c: ... to here.
8950 (grub_ucs4_to_utf8): New function.
8951 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8952 (join_types): New variable.
8953 (unpack_join): New function.
8954 (bidi_types): New variable.
8955 (unpack_bidi): New function.
8956 (get_bidi_type): Likewise.
8957 (get_join_type): Likewise.
8958 (is_mirrored): Likewise.
8959 (grub_unicode_get_comb_type): Likewise.
8960 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
8961 (is_type_after): Likewise.
8962 (grub_unicode_aglomerate_comb): Likewise.
8963 (bidi_line_wrap): Likewise.
8964 (grub_bidi_line_logical_to_visual): Likewise.
8965 (grub_bidi_logical_to_visual): Likewise.
8966 (grub_unicode_mirror_code): Likewise.
8967 (grub_unicode_shape_code): Likewise.
8968 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
8969 Don't use grub_putchar.
8970 * normal/main.c (grub_normal_init_page): Use grub_putcode.
8971 (grub_normal_reader_init): Likewise.
8972 (grub_xputs_saved): New variable.
8973 (GRUB_MOD_INIT): Set grub_xputs.
8974 (GRUB_MOD_FINI): Restore grub_xputs.
8975 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
8976 (menu_init): Avoid printing gfxmenu error.
8977 (show_menu): Use grub_normal_get_char_counter.
8978 * normal/menu_entry.c (update_screen): Fix out-of-array.
8979 (complete): Avoid NULL dereferencing.
8980 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
8981 * normal/menu_text.c (print_spaces): Removed.
8982 (grub_print_ucs4): Likewise.
8983 (grub_print_message_indented): Use grub_print_ucs4.
8984 (print_message): Use grub_putcode.
8985 (print_entry): Hanlde diacritics.
8986 * normal/term.c (term_state): New type.
8987 (grub_more_lines): Removed.
8988 (term_states): New variable.
8989 (grub_normal_line_counter): Renamed to ..
8990 (grub_normal_char_counter): ...this. All users updated.
8991 (grub_normal_get_line_counter): Renamed to ...
8992 (grub_normal_get_char_counter): ... this.
8993 (grub_normal_reset_more): New function.
8994 (process_newline): Removed.
8995 (print_more): New function.
8996 (grub_install_newline_hook): Removed.
8997 (map_code): New function.
8998 (grub_puts_terminal): Use grub_print_ucs4.
8999 (putglyph): New function.
9000 (putcode_real): Likewise.
9001 (grub_putcode): Use putcode_real.
9002 (get_maxwidth): New function.
9003 (get_startwidth): Likewise.
9004 (print_ucs4_terminal): Likewise.
9005 (find_term_state): Likewise.
9006 (put_glyphs_terminal): Likewise.
9007 (print_backlog): Likewise.
9008 (print_ucs4_real): Likewise.
9009 (grub_print_ucs4): Likewise.
9010 (grub_xputs_normal): Likewise.
9011 * term/efi/console.c (grub_console_putchar): Output diacritics.
9012 (grub_console_getcharwidth): Removed.
9013 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9014 * term/gfxterm.c (clear_char): Free chars.
9015 (scroll_up): Avoid leaking memory.
9016 (grub_gfxterm_putchar): Support diacritics.
9017 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9018 * term/i386/pc/console.c (grub_console_term_output): Declare as
9019 GRUB_TERM_CODE_TYPE_VGA.
9020 * term/i386/pc/vga.c (grub_vga_term): Declare as
9021 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9022 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9023 GRUB_TERM_CODE_TYPE_VGA.
9024 * term/i386/vga_common.c (map_char): Removed.
9025 (grub_console_putchar): Likewise.
9026 (grub_console_getcharwidth): Likewise.
9027 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9028 (colors): Reordered to match terminfo.
9029 (grub_ofconsole_normal_color): Removed.
9030 (grub_ofconsole_writeesc): Likewise.
9031 (grub_ofconsole_highlight_color): Likewise.
9032 (grub_ofconsole_getcharwidth): Likewise.
9033 (grub_ofconsole_setcolorstate): Likewise.
9034 (grub_ofconsole_setcolor): Likewise.
9035 (grub_ofconsole_getcolor): Likewise.
9036 (grub_ofconsole_readkey): Renamed to ...
9037 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9038 key.
9039 (grub_ofconsole_checkkey): Removed.
9040 (grub_ofconsole_getkey): Likewise.
9041 (grub_ofconsole_getxy): Likewise.
9042 (grub_ofconsole_gotoxy): Likewise.
9043 (grub_ofconsole_cls): Likewise.
9044 (grub_ofconsole_refresh): Likewise.
9045 (grub_ofconsole_terminfo_input): New struct.
9046 (grub_ofconsole_terminfo_output): Likewise.
9047 (grub_ofconsole_term_input): Use terminfo.
9048 (grub_ofconsole_term_output): Likewise.
9049 (grub_console_init): Split into ...
9050 (grub_console_init_early): ...this and ...
9051 (grub_console_init_lately): ...this. Use terminfo.
9052 (grub_ofconsole_putchar): Renamed to ...
9053 (put): ... this. Remove mapping.
9054 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9055 * term/serial.c: Simplify using terminfo.
9056 (xpos): Removed.
9057 (ypos): Likewise.
9058 (keep_track): Likewise.
9059 (registered): Likewise.
9060 (input_buf): Likewise.
9061 (npending): Likewise.
9062 (serial_translate_key_sequence): Likewise.
9063 (fill_input_buf): Likewise.
9064 (grub_serial_checkkey): Likewise.
9065 (grub_serial_getkey): Likewise.
9066 (grub_serial_getxy): Likewise.
9067 (grub_serial_gotoxy): Likewise.
9068 (grub_serial_putchar): Likewise.
9069 (grub_serial_cls): Likewise.
9070 (grub_serial_setcolorstate): Likewise.
9071 (grub_serial_setcursor): Likewise.
9072 (serial_hw_init): Use serial_hw_fetch.
9073 (grub_serial_terminfo_input): New variable.
9074 (grub_serial_terminfo_output): Likewise.
9075 (grub_serial_term_input): Use terminfo.
9076 (grub_serial_term_output): Likewise.
9077 * term/terminfo.c (putstr): Use put.
9078 (grub_terminfo_all_free): New function
9079 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9080 (grub_terminfo_output_register): New function.
9081 (grub_terminfo_output_unregister): Likewise.
9082 (grub_terminfo_getxy): Likewise.
9083 (grub_terminfo_readkey): Likewise.
9084 (grub_terminfo_checkkey): Likewise.
9085 (grub_terminfo_getkey): Likewise.
9086 (grub_terminfo_input_init): Likewise.
9087 (print_terminfo): Likewise.
9088 (grub_cmd_terminfo): Handle encoding.
9089 (grub_terminfo_gotoxy): Track position.
9090 (grub_terminfo_cls): Likewise.
9091 (grub_terminfo_putchar): Likewise.
9092 (grub_terminfo_setcolorstate): Handle colors
9093 (grub_terminfo_cursor_on): This ...
9094 (grub_terminfo_cursor_off): ... and this merged into ...
9095 (grub_terminfo_setcursor): ... this.
9096 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9097 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9098 * unicode/BidiMirroring.txt: Likewise.
9099 * unicode/UnicodeData.txt: Likewise.
9100 * unicode/COPYING: Likewise.
9101 * util/grub-editenv.c (grub_putchar): Removed.
9102 (grub_xputs_real): New function.
9103 (grub_xputs): New variable.
9104 * util/grub-fstest.c (grub_putchar): Removed.
9105 (grub_xputs_real): New function.
9106 (grub_xputs): New variable.
9107 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9108 (grub_xputs_real): New function.
9109 (grub_xputs): New variable.
9110 * util/grub-probe.c (grub_putchar): Removed.
9111 (grub_xputs_real): New function.
9112 (grub_xputs): New variable.
9113 * util/grub-script-check.c (grub_putchar): Removed.
9114 (grub_xputs_real): New function.
9115 (grub_xputs): New variable.
9116 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9117 (grub_xputs_real): New function.
9118 (grub_xputs): New variable.
9119 * util/import_unicode.py: New file.
9120 * util/grub-mkfont.c (ft_errmsgs): New array.
9121 (grub_glyph_info): Make bitmap a pointer.
9122 (file_formats): New type WIDTH_SPEC.
9123 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9124 (options): Add width-spec.
9125 (help): Likewise.
9126 (add_char): Renamed to ...
9127 (add_glyph): ... this.
9128 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9129 (glyph_replace): New type.
9130 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9131 (add_char): New function.
9132 (add_subst): Likewise.
9133 (process_cursive): Likewise.
9134 (add_font): Handle GSUB.
9135 (write_font_width_spec): New function.
9136 (main): Sort glyphs.
9137 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9138 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9139 * kern/term.c (grub_cls): Moved from here...
9140 * normal/term.c (grub_cls): ... here.
9141
50f0bcda
CW
91422010-07-02 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9145 suitable for using within the format argument of printf when
9146 converting grub_size_t.
9147 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9148 "x" to convert grub_size_t arguments.
9149
40372103
VS
91502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9153 too long captions.
9154 (list_get_minimal_size): Take selection box into account.
9155
942a10c7
VS
91562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9159 NULL font.
9160
2bdb2892
CW
91612010-07-02 Colin Watson <cjwatson@ubuntu.com>
9162
9163 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9164 devices when iterating over /dev/disk/by-id; they will be handled
9165 later if appropriate, which they aren't always (e.g. LVM).
9166
e03ed6c1
CW
91672010-07-02 Colin Watson <cjwatson@ubuntu.com>
9168
9169 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9170 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9171 fails.
9172 (grub_halt): Likewise.
9173 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9174 reset-all fails.
9175 (grub_halt): Don't return, even if all of shut-down, power-off, and
9176 poweroff fail.
9177
47695765
CW
91782010-07-02 Colin Watson <cjwatson@ubuntu.com>
9179
9180 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9181 arguments, not three.
9182
507736c8
CW
91832010-07-02 Colin Watson <cjwatson@ubuntu.com>
9184
9185 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9186 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9187 LVM-on-RAID is handled correctly.
9188
e3c8cd37
CW
91892010-07-02 Colin Watson <cjwatson@ubuntu.com>
9190
9191 * docs/grub.texi (Changes from GRUB Legacy): New section.
9192 (Future): Fix typo.
9193
8d4a2fec
CW
91942010-07-02 Colin Watson <cjwatson@ubuntu.com>
9195
9196 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9197 grub.d/README accidentally ends up executable for one reason or
9198 another. Ignore it.
9199
1c4827be
VS
92002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9203 (gpt_partition_map_iterate): Support non-512B sectors.
9204
d9a0c941
VS
92052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9208 Tested by: Seth Goldberg.
9209
48f27e87
VS
92102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9213 Properly align mbi.
9214 Reported by: Seth Goldberg.
9215
b0c4f956
VS
92162010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub-mkrescue.in: Avoid module duplication.
9219
105a2e8c
SF
92202010-07-01 Sean Finney <seanius@seanius.net>
9221
9222 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9223
5944958c
SF
92242010-07-01 Sean Finney <seanius@seanius.net>
9225
9226 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9227
92282010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * disk/lvm.c (grub_lvm_checkvalue): New function.
9231 (grub_lvm_check_flag): Likewise.
9232
b79889ba
RM
92332010-07-01 Robert Millan <rmh@gnu.org>
9234
9235 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9236 Support 'p' as partition separator on kernel of FreeBSD (used
9237 with GPT labels).
9238 (grub_util_biosdisk_get_grub_dev): Likewise.
9239
ec1d04f1
VS
92402010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 Yeeloong firmware port.
9243
9244 * boot/mips/yeeloong/fwstart.S: New file.
9245 * bus/cs5536.c (gpiodump): New const.
9246 (set_io_space): New function.
9247 (set_iod): Likewise.
9248 (set_p2d): Likewise.
9249 (grub_cs5536_init_geode): Likewise.
9250 * commands/mips/yeeloong/lsspd.c: New file.
9251 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9252 (serial_mod_SOURCES): New variable.
9253 (serial_mod_CFLAGS): Likewise.
9254 (serial_mod_LDFLAGS): Likewise.
9255 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9256 term/terminfo.c and term/tparm.c.
9257 (pkglib_IMAGES): Add fwstart.img.
9258 (fwstart_img_SOURCES): New variable.
9259 (fwstart_img_CFLAGS): Likewise.
9260 (fwstart_img_ASFLAGS): Likewise.
9261 (fwstart_img_LDFLAGS): Likewise.
9262 (fwstart_img_FORMAT): Likewise.
9263 (pkglib_MODULES): Add lsspd.mod.
9264 (lsspd_mod_SOURCES): New variable.
9265 (lsspd_mod_CFLAGS): Likewise.
9266 (lsspd_mod_LDFLAGS): Likewise.
9267 (pkglib_MODULES): Add halt.mod.
9268 (halt_mod_SOURCES): New variable.
9269 (halt_mod_CFLAGS): Likewise.
9270 (halt_mod_LDFLAGS): Likewise.
9271 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9272 (serial_mod_SOURCES): Removed.
9273 (serial_mod_CFLAGS): Likewise.
9274 (serial_mod_LDFLAGS): Likewise.
9275 * disk/ata.c (check_device): New function.
9276 (grub_ata_device_initialize): Use check_device.
9277 (grub_ata_iterate): Recheck devices.
9278 (grub_ata_open): Likewise.
9279 (grub_atapi_iterate): Likewise.
9280 (grub_atapi_open): Likewise.
9281 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9282 (GRUB_ATA_CH1_PORT1): Likewise.
9283 (GRUB_ATA_CH0_PORT2): Likewise.
9284 (GRUB_ATA_CH1_PORT2): Likewise.
9285 * include/grub/mips/loongson.h: New file.
9286 * include/grub/mips/yeeloong/ec.h: Likewise.
9287 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9288 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9289 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9290 * include/grub/misc.h (grub_halt): Declare as noreturn.
9291 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9292 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9293 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9294 (UART_ENABLE_DTRRTS): Likewise.
9295 (UART_ENABLE_MODEM): Removed.
9296 (UART_ENABLE_OUT2): New const.
9297 * include/grub/term.h (grub_term_register_input_active): New function.
9298 (grub_term_register_output_active): Likewise.
9299 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9300 argument.
9301 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9302 (init_pci): New function.
9303 (grub_machine_init): Execute platform init when firmware. Init serial.
9304 (grub_halt): Implement.
9305 (grub_exit): Likewise.
9306 (grub_reboot): Likewise.
9307 * term/serial.c (serial_hw_init): Update macros.
9308 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9309 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9310 (image_targets): New target mipsel-yeeloong-flash.
9311 (generate_image): Support IMAGE_YEELOONG_FLASH.
9312 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9313 (grub_video_sm712_setup): Init card.
9314 (grub_video_sm712_set_palette): Removed.
9315 * video/sm712_init.c: New file.
9316
ff4a70d2
CW
93172010-06-30 Colin Watson <cjwatson@ubuntu.com>
9318
9319 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9320 PATH when running help2man and then run it on the unadorned
9321 executable names, rather than passing $(builddir)/* paths to
9322 help2man. This avoids the build directory ending up in generated
9323 manual pages.
9324
1246efeb
CW
93252010-06-29 Colin Watson <cjwatson@ubuntu.com>
9326
9327 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9328 to avoid accidents when debugging with 'sh -x'.
9329 * util/grub-mkrescue.in: Likewise.
9330 * util/grub.d/00_header.in: Likewise.
9331 * util/grub.d/10_hurd.in: Likewise.
9332 * util/grub.d/10_kfreebsd.in: Likewise.
9333 * util/grub.d/10_linux.in: Likewise.
9334 * util/grub.d/10_netbsd.in: Likewise.
9335 * util/grub.d/10_windows.in: Likewise.
9336 * util/grub.d/20_linux_xen.in: Likewise.
9337 * util/grub.d/30_os-prober.in: Likewise.
9338 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9339
1ba9b889
CW
93402010-06-29 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9343 last character in the buffer.
9344 Reported by: Vladimir Serbinenko.
9345
dccaf99d
RM
93462010-06-29 Robert Millan <rmh@gnu.org>
9347
9348 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9349 (Command-line and menu entry commands): Document `badram' command.
9350
d500ed12
RM
93512010-06-28 Robert Millan <rmh@gnu.org>
9352
9353 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9354 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9355 command using ${GRUB_BADRAM} as parameter.
9356
20bc84a6
CW
93572010-06-28 Colin Watson <cjwatson@ubuntu.com>
9358
9359 * docs/grub.texi (Device map): New section.
9360 (Themes): New section (stub).
9361 * Makefile.in (docs/grub.info): The info documentation now builds
9362 without errors. Make sure it stays that way.
9363
4045dee1
VS
93642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 Use normal parser for menu entries.
9367 Reported by: Thomas Frauendorfer
9368
9369 * include/grub/parser.h (grub_parser_execute): Don't export.
9370 * normal/menu.c (grub_menu_execute_entry_real): New function.
9371 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9372
bca58c7b
CW
93732010-06-28 Colin Watson <cjwatson@ubuntu.com>
9374
9375 * docs/grub.texi (Embedded configuration): New section (replacing
9376 old "Preset Menu" stub).
9377 (Images): New section.
9378 (configfile): Note that any menu entries defined in `file' are shown
9379 immediately.
9380
dec53e63
JT
93812010-06-28 Josh Triplett <josh@joshtriplett.org>
9382
9383 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9384
c06e40f7
CW
93852010-06-28 Colin Watson <cjwatson@ubuntu.com>
9386
9387 * util/grub-install.in: Add --debug-image= option.
9388
cb88052b
CW
93892010-06-28 Colin Watson <cjwatson@ubuntu.com>
9390
9391 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9392 possible on Linux.
9393
9394 * util/deviceiter.c (check_device): Rename to ...
9395 (check_device_readable_unique): ... this. Update all callers.
9396 Maintain and check a list of which devices (by canonicalized name)
9397 have already been seen.
9398 (clear_seen_devices): New function.
9399 (compare_file_names) [__linux__]: New function.
9400 (grub_util_iterate_devices): Clear the list of seen devices on exit
9401 and (just in case) on entry.
9402 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9403 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9404 seen-devices list, superseded by general code in check_device.
9405
bbe34652
CW
94062010-06-28 Colin Watson <cjwatson@ubuntu.com>
9407
9408 * commands/cat.c (options): New variable.
9409 (grub_cmd_cat): Parse options. If the --dos option is given, print
9410 DOS-style "\r\n" line endings as simple newlines (Debian bug
9411 #586358).
9412 (GRUB_MOD_INIT): Use extcmd.
9413 (GRUB_MOD_FINI): Likewise.
9414 * docs/grub.texi (cat): Document --dos.
9415
412e09f3
VS
94162010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 XEN with Linux grub-mkconfig support.
9419
9420 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9421 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9422 GRUB_CMDLINE_XEN_DEFAULT.
9423 * util/grub.d/20_linux_xen.in: New file.
9424
53f3ef38 94252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
9426
9427 Initialise VGA video on qemu ourselves.
9428
9429 * boot/i386/qemu/boot.S: Don't call 0xc000.
9430 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9431 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9432 (kernel_img_HEADERS): Add pci.h.
9433 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9434 * configure.ac: Force unifont on qemu and yeeloong.
9435 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9436 (grub_vga_palette_write): Use correct register.
9437 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9438 Call grub_qemu_init_cirrus.
9439 * kern/i386/qemu/init.c: New file.
9440 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9441
9442 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9443
c75be4fb
PR
94442010-06-26 Pavel Roskin <proski@gnu.org>
9445
9446 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9447 13.
9448
d8034603
CW
94492010-06-26 Colin Watson <cjwatson@ubuntu.com>
9450
9451 * docs/grub.texi (Simple configuration): Explain that
9452 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9453 set to `true' to disable their respective recovery entries, not
9454 merely set.
9455
3fa06487
CW
94562010-06-26 Colin Watson <cjwatson@ubuntu.com>
9457
9458 Make the `source' command slightly faster.
9459
9460 * normal/main.c (grub_normal_execute): Don't re-read list files when
9461 nested.
9462
e9b29642
CW
94632010-06-23 Colin Watson <cjwatson@ubuntu.com>
9464
9465 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9466 field position and mask size to red fields from mode_info, not
9467 green.
9468 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9469 Remove redundant tag->common.framebuffer_type assignment.
9470 Reported by: Seth Goldberg.
9471
e726542f
CW
94722010-06-23 Colin Watson <cjwatson@ubuntu.com>
9473
9474 Sync up other versions of the Linux loader with Robert Millan's
9475 change of 2010-01-09, "Make loader output a bit more user-friendly".
9476
9477 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9478 grub_dprintf().
9479 (grub_cmd_linux): Likewise.
9480 (grub_cmd_initrd): Likewise.
9481 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9482 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9483
d6e98a17
CW
94842010-06-21 Colin Watson <cjwatson@ubuntu.com>
9485
9486 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9487 larger than MEMORY_MAP_SIZE.
9488
14d3f08e
BC
94892010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9490
9491 Fix parallel build.
9492
9493 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9494 dependency.
9495 * script/parser.y: #include grub_script.tab.h header.
9496
4f9613a3
VS
94972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Support >3GiB and <16MiB RAM in i386-qemu.
9500
9501 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9502 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9503 (grub_lower_mem): Removed.
9504 (grub_upper_mem): Likewise.
9505 (mem_size): Made static.
9506 (above_4g): New variable.
9507 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9508 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9509 support.
9510
05e51879
VS
95112010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Cirrus 5446 and Bochs video cards support.
9514
9515 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9516 video_bochs.mod
9517 (video_cirrus_mod_SOURCES): New variable.
9518 (video_cirrus_mod_CFLAGS): Likewise.
9519 (video_cirrus_mod_LDFLAGS): Likewise.
9520 (video_bochs_mod_SOURCES): Likewise.
9521 (video_bochs_mod_CFLAGS): Likewise.
9522 (video_bochs_mod_LDFLAGS): Likewise.
9523 * include/grub/vga.h: New file.
9524 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9525 (grub_video_fb_set_page_t): New type.
9526 (grub_video_fb_setup): New prototype.
9527 (grub_video_fb_swap_buffers): Likewise.
9528 (grub_video_fb_get_info_and_fini): Likewise.
9529 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9530 (CRTC_DATA_PORT): Likewise.
9531 (CRTC_CURSOR): Likewise.
9532 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9533 (CRTC_CURSOR_ADDR_LOW): Likewise.
9534 (CRTC_CURSOR_DISABLE): Likewise.
9535 (update_cursor): Use grub_vga_cr_write.
9536 (grub_vga_text_setcursor): Likewise.
9537 * video/bochs.c: New file.
9538 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9539 (palette): Likewise.
9540 (palette_size): Likewise.
9541 (framebuffer): New variable.
9542 (grub_video_fb_init): Use 'framebuffer'.
9543 (grub_video_fb_fini): Likewise.
9544 (grub_video_fb_get_info): Likewise.
9545 (grub_video_fb_get_palette): Likewise.
9546 (grub_video_fb_set_palette): Likewise.
9547 (grub_video_fb_set_viewport): Likewise.
9548 (grub_video_fb_get_viewport): Likewise.
9549 (grub_video_fb_map_color): Likewise.
9550 (grub_video_fb_map_rgb): Likewise.
9551 (grub_video_fb_map_rgba): Likewise.
9552 (grub_video_fb_unmap_color): Likewise.
9553 (grub_video_fb_unmap_color_int): Likewise.
9554 (grub_video_fb_fill_rect): Likewise.
9555 (grub_video_fb_blit_bitmap): Likewise.
9556 (grub_video_fb_blit_render_target): Likewise.
9557 (grub_video_fb_scroll): Likewise.
9558 (grub_video_fb_create_render_target): Likewise.
9559 (grub_video_fb_doublebuf_blit_init): Likewise.
9560 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9561 (doublebuf_pageflipping_update_screen): New function.
9562 (doublebuf_pageflipping_init): Likewise.
9563 (grub_video_fb_setup): Likewise.
9564 (grub_video_fb_swap_buffers): Likewise.
9565 (grub_video_fb_get_info_and_fini): Likewise.
9566 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9567 All users updated.
9568 (doublebuf_pageflipping_commit): Restructured into ...
9569 (doublebuf_pageflipping_set_page): ... this.
9570 (doublebuf_pageflipping_update_screen): Removed.
9571 (doublebuf_pageflipping_init): Likewise.
9572 (double_buffering_init): Likewise.
9573 (grub_video_vbe_setup): Use grub_video_fb_setup.
9574 (grub_video_vbe_swap_buffers): Removed.
9575 (grub_video_vbe_set_active_render_target): Likewise.
9576 (grub_video_vbe_get_active_render_target): Likewise.
9577 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9578 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9579 grub_video_fb_set_active_render_target and
9580 grub_video_fb_get_active_render_target.
9581 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9582 (SEQUENCER_DATA_PORT): Likewise.
9583 (MAP_MASK_REGISTER): Likewise.
9584 (CRTC_ADDR_PORT): Likewise.
9585 (CRTC_DATA_PORT): Likewise.
9586 (START_ADDR_HIGH_REGISTER): Likewise.
9587 (START_ADDR_LOW_REGISTER): Likewise.
9588 (GRAPHICS_ADDR_PORT): Likewise.
9589 (GRAPHICS_DATA_PORT): Likewise.
9590 (READ_MAP_REGISTER): Likewise.
9591 (INPUT_STATUS1_REGISTER): Likewise.
9592 (INPUT_STATUS1_VERTR_BIT): Likewise.
9593 (get_map_mask): Use grub_vga_sr_read.
9594 (set_map_mask): Use grub_vga_sr_write.
9595 (set_read_map): Use grub_vga_gr_write.
9596 (set_start_address): Use grub_vga_cr_write.
9597 * video/sm712.c (framebuffer): Remove leftover fields.
9598
4321c64a
CW
95992010-06-20 Colin Watson <cjwatson@ubuntu.com>
9600
9601 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9602 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9603 instead. Replace the gfxterm backend check with a check that
9604 ${GRUB_PREFIX}/video.lst is non-empty.
9605 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9606 again.
9607 (load_video): New generated function. Call it before loading
9608 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9609 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9610 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9611 * docs/grub.texi (Simple configuration): Document
9612 GRUB_VIDEO_BACKEND.
9613
96142010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Use video functions in linux and xnu loaders.
9617
9618 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9619 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9620 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9621 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9622 loader/i386/pc/linux.c.
9623 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9624 (find_line_len): Removed.
9625 (find_framebuf): Likewise.
9626 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9627 * loader/i386/efi/xnu.c: Removed.
9628 * loader/i386/pc/xnu.c: Moved from here...
9629 * loader/i386/xnu.c: ...here.
9630
9631 Enable priorities in video drivers.
9632
9633 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9634 (grub_video_adapter): New field prio.
9635 (grub_video_register): Respect prio when inserting.
9636 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9637 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9638 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9639 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9640 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9641 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9642 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9643
9644 Fix SDL driver ID.
9645
9646 * include/grub/video.h (grub_video_driver_id_t): New value
9647 GRUB_VIDEO_DRIVER_SDL.
9648 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9649
7d24e434
CW
96502010-06-17 Colin Watson <cjwatson@ubuntu.com>
9651
9652 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9653 argument to printf.
9654 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9655
c88a83f6
CW
96562010-06-17 Colin Watson <cjwatson@ubuntu.com>
9657
9658 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9659 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9660
094dfb69
CW
96612010-06-17 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9664 directly, and recommend grub-install instead.
9665 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9666
2164da6b
CW
96672010-06-17 Colin Watson <cjwatson@ubuntu.com>
9668
9669 Fix i386-pc prefix handling with nested partitions (Debian bug
9670 #585068). Note that the case where the core image is booted using
9671 multiboot and relocated from its original location still requires
9672 more work.
9673
9674 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9675 with "(,", fill the boot drive in between those two characters, but
9676 expect that a full partition specification including partition map
9677 names will follow.
9678 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9679 specified, write a prefix without the drive name but including a
9680 full partition specification.
9681
044e2e60
CW
96822010-06-16 Colin Watson <cjwatson@ubuntu.com>
9683
9684 * util/grub-mkconfig.in: Ignore non-option arguments, for
9685 compatibility with older versions (before 2010-06-12) which did the
9686 same. In particular, this makes it easier to ship an update-grub
9687 wrapper which is compatible with that used with GRUB Legacy (Debian
9688 bug #586056).
9689
5591324f
GS
96902010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9691
9692 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9693 for manual page generation.
9694
662e24d5
GS
96952010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9696
9697 * po/POTFILES: Remove leftover commands/handler.c.
9698
8d70754e
CW
96992010-06-14 Colin Watson <cjwatson@ubuntu.com>
9700
9701 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9702 left this script non-functional.
9703
41160e2e
CW
97042010-06-14 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * docs/man/grub-emu.h2m: New file.
9707
b5309cc1
CW
97082010-06-13 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * docs/grub.texi (Commands): Document reduced command set in rescue
9711 mode.
9712 (cpuid): New section.
9713
fcb2d090
GS
97142010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9715
9716 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9717 new partition naming style.
9718 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9719
96e5c556
BC
97202010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9721
9722 Add "-o grub.iso" like cmdline options support.
9723
9724 * util/grub-install.in: Improve cmdline option parsing.
9725 * util/grub-mkconfig.in: Likewise.
9726 * util/grub-mkrescue.in: Likewise.
9727 * util/grub-reboot.in: Likewise.
9728 * util/grub-set-default.in: Likewise.
9729 * util/i386/efi/grub-install.in: Likewise.
9730 * util/ieee1275/grub-install.in: Likewise.
9731 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9732
c16be99b
CW
97332010-06-12 Colin Watson <cjwatson@ubuntu.com>
9734
9735 * .bzrignore: Ignore 41_custom.
9736
ce08a9fb
TS
97372010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9738
9739 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9740
7beac90c
CW
97412010-06-12 Colin Watson <cjwatson@ubuntu.com>
9742
9743 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9744 prototype declarations.
9745
9746 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9747 generating fs, partmap, and video lists.
9748 * include/grub/fs.h (grub_fs_register): Omit prototype if
9749 GRUB_LST_GENERATOR is defined.
9750 * include/grub/partition.h (grub_partition_map_register): Likewise.
9751 * include/grub/video.h (grub_video_register): Likewise.
9752
1c8f0f8d
JM
97532010-06-12 Javier Martín <lordhabbit@gmail.com>
9754
9755 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9756
a6085973
TS
97572010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9758
9759 * util/grub-mkrescue.in: Support --xorriso argument.
9760
25c56d29
VS
97612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9764 Suggested by: Thomas Schmitt.
9765
e03e4b24
VS
97662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9769 Suggested by: Thomas Schmitt.
9770
57711df6
VS
97712010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 custom.cfg support.
9774
9775 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9776 * util/grub.d/41_custom.in: New file.
9777
ee62c427
CW
97782010-06-12 Colin Watson <cjwatson@ubuntu.com>
9779
9780 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9781 been merged back into normal.
9782
283af07a
CW
97832010-06-11 Colin Watson <cjwatson@ubuntu.com>
9784
9785 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9786 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9787
56a0d956
CW
97882010-06-11 Colin Watson <cjwatson@ubuntu.com>
9789
9790 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9791 when generating manual pages.
9792 * docs/man/grub-bin2h.h2m: New file.
9793 * docs/man/grub-editenv.h2m: New file.
9794 * docs/man/grub-fstest.h2m: New file.
9795 * docs/man/grub-install.h2m: New file.
9796 * docs/man/grub-macho2img.h2m: New file.
9797 * docs/man/grub-mkconfig.h2m: New file.
9798 * docs/man/grub-mkdevicemap.h2m: New file.
9799 * docs/man/grub-mkfont.h2m: New file.
9800 * docs/man/grub-mkimage.h2m: New file.
9801 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9802 * docs/man/grub-mkrelpath.h2m: New file.
9803 * docs/man/grub-mkrescue.h2m: New file.
9804 * docs/man/grub-ofpathname.h2m: New file.
9805 * docs/man/grub-pe2elf.h2m: New file.
9806 * docs/man/grub-probe.h2m: New file.
9807 * docs/man/grub-reboot.h2m: New file.
9808 * docs/man/grub-script-check.h2m: New file.
9809 * docs/man/grub-set-default.h2m: New file.
9810 * docs/man/grub-setup.h2m: New file.
9811
3a37e322
VS
98122010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 Use FOR_* macros instead of *_iterate whenever possible.
9815
9816 * commands/handler.c: Removed.
9817 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9818 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9819 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9820 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9821 (grub_probe_SOURCES): Remove kern/parser.c.
9822 (util/grub-script-check.c_DEPENDENCIES): Removed.
9823 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9824 and grub_script_check_init.c.
9825 (grub_script_check_init.lst): Removed.
9826 (grub_script_check_init.h): Likewise.
9827 (grub_script_check_init.c): Likewise.
9828 (pkglib_MODULES): Remove handler.mod and sh.mod.
9829 (handler_mod_SOURCES): Removed.
9830 (handler_mod_CFLAGS): Likewise.
9831 (handler_mod_LDFLAGS): Likewise.
9832 (normal_mod_SOURCES): Remove normal/handler.c.
9833 Add script/main.c, script/script.c, script/execute.c,
9834 script/function.c, script/lexer.c, grub_script.tab.c
9835 and grub_script.yy.c.
9836 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9837 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9838 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9839 (grub_setup_SOURCES): Remove kern/parser.c.
9840 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9841 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9842 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9843 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9844 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9845 (grub_setup_SOURCES): Remove kern/parser.c.
9846 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9847 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9848 * include/grub/command.h (grub_command_iterate): Removed.
9849 (FOR_COMMANDS): New macro.
9850 * include/grub/dl.h (grub_dl): New member next.
9851 (grub_dl_iterate): Removed.
9852 (grub_dl_head): New variable declaration.
9853 (FOR_DL_MODULES): New macro.
9854 * include/grub/fs.h: Include list.h.
9855 (grub_fs): Make next first element.
9856 (grub_fs_list): New variable declaration.
9857 (grub_fs_register): Make inline.
9858 (grub_fs_unregister): Likewise.
9859 (grub_fs_iterate): Removed.
9860 (FOR_FILESYSTEMS): New macro.
9861 * include/grub/handler.h: Removed.
9862 * include/grub/list.h (grub_list_hook_t): Removed.
9863 (grub_list_test_t): Likewise.
9864 (grub_list_pop): Likewise.
9865 (grub_list_iterate): Likewise.
9866 (grub_list_insert): Likewise.
9867 (FOR_LIST_ELEMENTS): New macro.
9868 * include/grub/parser.h (grub_parser_class): Removed.
9869 (grub_parser_register): Likewise.
9870 (grub_parser_unregister): Likewise.
9871 (grub_parser_get_current): Likewise.
9872 (grub_parser_set_current): Likewise.
9873 (grub_register_rescue_parser): Likewise.
9874 (grub_rescue_parse_line): New function.
9875 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9876 * include/grub/script_sh.h (grub_script_function_list): New variable
9877 declaration.
9878 (FOR_SCRIPT_FUNCTIONS): New macro.
9879 (grub_script_function_iterate): Removed.
9880 (grub_normal_parse_line): New prototype.
9881 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9882 (FOR_DISABLED_TERM_INPUTS): Likewise.
9883 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9884 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9885 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9886 element.
9887 (grub_video_register): Inline.
9888 (grub_video_unregister): Likewise.
9889 (grub_video_adapter_list): New variable declaration.
9890 (grub_video_iterate): Removed.
9891 (FOR_VIDEO_ADAPTERS): New macro.
9892 * kern/dl.c (grub_dl_list): Removed. All users updated.
9893 (grub_dl_iterate): Removed.
9894 * kern/fs.c (grub_fs_list): Make global.
9895 (grub_fs_register): Removed.
9896 (grub_fs_unregister): Likewise.
9897 (grub_fs_iterate): Likewise.
9898 * kern/handler.c: Removed.
9899 * kern/list.c (grub_list_pop): Removed.
9900 (grub_list_iterate): Likewise.
9901 (grub_list_insert): Likewise.
9902 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9903 (grub_prio_list_insert): Don't use grub_list_insert.
9904 * kern/main.c (grub_register_rescue_parser): Don't call
9905 grub_register_rescue_parser.
9906 * kern/parser.c (grub_parser_class): Removed.
9907 (grub_parser_execute): Use grub_rescue_parse_line.
9908 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9909 (grub_rescue_parser): Removed.
9910 (grub_register_rescue_parser): Likewise.
9911 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9912 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9913 (grub_auth_check_authentication): Likewise.
9914 * normal/completion.c (iterate_command): Removed.
9915 (grub_normal_do_completion): Use FOR_COMMANDS.
9916 * normal/handler.c: Removed.
9917 * normal/main.c (read_config_file): Remove parser changing.
9918 (grub_normal_execute): Don't call read_handler_list.
9919 (grub_normal_read_line_real): Statically allocate prompt.
9920 (grub_cmdline_run): Use grub_normal_parse_line.
9921 (GRUB_MOD_FINI): Don't call free_handler_list.
9922 * normal/menu_entry.c (run): Likewise.
9923 * script/function.c (grub_script_function_list): Make global.
9924 (grub_script_function_iterate): Removed.
9925 * script/main.c (grub_normal_parse_line): Make global.
9926 (grub_sh_parser): Removed.
9927 (GRUB_MOD_INIT): Likewise.
9928 (GRUB_MOD_FINI): Likewise.
9929 * tests/lib/functional_test.c (grub_functional_test): Use
9930 FOR_LIST_ELEMENTS.
9931 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9932 (grub_test_run): Use FOR_LIST_ELEMENTS.
9933 * tests/lib/unit_test.c (main): Likewise.
9934 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9935 grub_list_pop.
9936 * util/grub-fstest.c (grub_term_input_class): Removed.
9937 (grub_term_output_class): Likewise.
9938 * util/grub-probe.c: Likewise.
9939 * util/i386/pc/grub-setup.c: Likewise.
9940 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9941 * util/grub-script-check.c (main): Don't call grub_init_all and
9942 grub_fini_all.
9943 * video/video.c (grub_video_adapter_list): Make global.
9944 (grub_video_register): Removed.
9945 (grub_video_unregister): Likewise.
9946 (grub_video_iterate): Likewise.
9947
6289c3a7
VS
99482010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9951 reported by Henrique Ferreiro.
9952
91460247
RM
99532010-06-09 Robert Millan <rmh@gnu.org>
9954
9955 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9956 ones, when both are available.
9957
0ea7c4f9
GS
99582010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9959
9960 Make --version uniform and avoid hard-coded program name.
9961
9962 * util/grub-mkimage.c (main): Use `program_name' instead of
9963 hard-coded string.
9964 * util/i386/pc/grub-setup.c (main): Likewise.
9965 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
9966 * util/grub-install.in: Save the basename of $0 in $self, and use the
9967 latter in informational messages. Use the same format for --version
9968 as the binary programs.
9969 * util/grub-mkconfig.in: Likewise.
9970 * util/grub-mkrescue.in: Likewise.
9971 * util/grub-reboot.in: Likewise.
9972 * util/grub-set-default.in: Likewise.
9973 * util/i386/efi/grub-install.in: Likewise.
9974 * util/ieee1275/grub-install.in: Likewise.
9975 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9976
e8a6f3b6
GS
99772010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9978
9979 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
9980 embedding area. Use <= instead of == when checking for non-emptiness.
9981
f4d095d7
GS
99822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9983
9984 * configure.ac: Add `.' to the directories searched for unifont.
9985
50e532ca
CW
99862010-06-08 Colin Watson <cjwatson@ubuntu.com>
9987
9988 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
9989 grub_script.yy.h.
9990
d39f3dec
CW
99912010-06-08 Colin Watson <cjwatson@ubuntu.com>
9992
9993 * docs/grub.texi (History): Expand to cover GRUB 2.
9994 (Serial terminal): Refer to `terminal_input' and `terminal_output'
9995 commands, not `terminal'.
9996 (serial): Likewise.
9997 (terminal_input): New section.
9998 (terminal_output): New section.
9999 (uppermem): New section (stub).
10000 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10001
6ef0ddb4
CW
100022010-06-08 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * docs/grub.texi (Security): Menu entries are unrestricted by
10005 default, not restricted to superusers as I had previously thought.
10006 Reword to account for this.
10007
e0f4c438
CW
100082010-06-07 Colin Watson <cjwatson@ubuntu.com>
10009
10010 * kern/emu/misc.c (device_mapper_null_log): New function.
10011 (grub_device_mapper_supported): New function.
10012 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10013 prototype.
10014 * kern/emu/hostdisk.c (find_partition_start): Check whether
10015 device-mapper is supported before trying to use it.
10016 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10017
da908200
CW
100182010-06-07 Colin Watson <cjwatson@ubuntu.com>
10019
10020 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10021 (File name syntax): Likewise.
10022 (help): --all is no longer supported in GRUB 2. Be more precise
10023 about pattern matching.
10024
fb55c3ac
CW
100252010-06-07 Colin Watson <cjwatson@ubuntu.com>
10026
10027 * normal/completion.c (grub_normal_do_completion): When completing
10028 arguments to "set" and the current word contains an equals sign,
10029 skip to after the equals sign before starting completion.
10030
258c2573
CW
100312010-06-07 Colin Watson <cjwatson@ubuntu.com>
10032
10033 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10034
ee75515e
CW
100352010-06-07 Colin Watson <cjwatson@ubuntu.com>
10036
10037 * docs/grub.texi (Network): New section.
10038 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10039 `(nd)' as in GRUB Legacy.
10040 (pxe_unload): New section.
10041
a6a700aa
CW
100422010-06-07 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10045 in the rescue shell, so recommend using `set' instead. Thanks,
10046 Jordan Uggla.
10047
4003dd38
CW
100482010-06-07 Colin Watson <cjwatson@ubuntu.com>
10049
10050 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10051 (password): New section.
10052 (password_pbkdf2): New section.
10053 (search): New section.
10054 (Security): New section.
10055 (Troubleshooting): New section, currently very incomplete.
10056 (Invoking grub-mkpasswd-pbkdf2): New section.
10057 (Internals): New section, currently very incomplete.
10058
e1cbcc40
CW
100592010-06-07 Colin Watson <cjwatson@ubuntu.com>
10060
10061 * util/grub.d/00_header.in: Add some more quoting (of
10062 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10063 work again.
10064 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10065
db8fa1ad
CW
100662010-06-07 Colin Watson <cjwatson@ubuntu.com>
10067
10068 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10069 to `count', fixing variable shadowing that broke the -c option.
10070
100712010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
10072
10073 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10074 in case they contain spaces.
10075
f28a9212
CW
100762010-06-04 Colin Watson <cjwatson@ubuntu.com>
10077
10078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10079 "part_" to partmap module names, in line with grub-install.
10080 Reported by: Jindřich Makovička (Debian bug #584426).
10081
9cdfe32f
CW
100822010-06-04 Colin Watson <cjwatson@ubuntu.com>
10083
10084 * util/grub-mkimage.c: Make target-related error messages slightly
10085 more helpful; -O talks about "format". Explicitly point to the use
10086 of -O if no target is specified.
10087 Reported by: Didier Raboud (Debian bug #584415).
10088
795b593a
CW
100892010-06-03 Colin Watson <cjwatson@ubuntu.com>
10090
10091 * INSTALL: Document several build requirements for optional features
10092 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10093
9d9b5833
GS
100942010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10095
10096 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10097 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10098 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10099
0819fec8
CW
101002010-06-02 Colin Watson <cjwatson@ubuntu.com>
10101
10102 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10103 Thanks to Jordan Uggla for spotting this.
10104
49396b4f
VS
101052010-06-02 Aleš Nesrsta <starous@volny.cz>
10106
10107 Finally make USB usable.
10108
10109 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10110 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10111 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10112 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10113 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10114 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10115 (GRUB_OHCI_FSMPS): Likewise.
10116 (GRUB_OHCI_PERIODIC_START): Likewise.
10117 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10118 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10119 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10120 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10121 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10122 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10123 (grub_ohci_transaction): Likewise.
10124 (grub_ohci_transfer): Improve condition detection algorithms.
10125 Handle toggle property. Program the transactions correctly.
10126 Improve error handling. Various important fixups.
10127 (grub_ohci_portstatus): Put register writes in right order.
10128 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10129 (grub_uhci_transfer): Don't show "failed" message on success.
10130 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10131 array.
10132 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10133 determine its size.
10134 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10135 before initialization is completed. Use IN direction for empty
10136 transfers. Use last_trans and compute toggle.
10137 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10138 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10139 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10140 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10141 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10142 (grub_usb_device): Increase toggle to 256.
10143 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10144 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10145 GRUB_USBMS_SUBCLASS_SFF8070.
10146 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10147 (grub_scsi_inquiry): New member page and alloc_length.
10148 (grub_scsi_request_sense): New structure.
10149 (grub_scsi_request_sense_data): Likewise.
10150 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10151 control.
10152 * disk/scsi.c (grub_scsi_request_sense): New function.
10153 (grub_scsi_test_unit_ready): Likewise.
10154 (grub_scsi_inquiry): Fill new fields.
10155 (grub_scsi_read_capacity): Likewise.
10156 (grub_scsi_read10): Add request sense at the end.
10157 (grub_scsi_read12): Likewise.
10158 (grub_scsi_write10): Likewise.
10159 (grub_scsi_write12): Likewise.
10160 (grub_scsi_open): Add Test Unit Ready.
10161 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10162 Support additional subclasses. Con't clear halt yet. Activate the
10163 proper config. Calculate LUNs correctly.
10164 (grub_usbms_transfer): Various important fixups.
10165
101662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10169 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10170 (grub_ohci_fini_hw): New function.
10171 (grub_ohci_restore_hw): Likewise.
10172 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10173 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10174 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10175
101762010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Dedicated DMA allocations.
10179
10180 * bus/pci.c (grub_memalign_dma32): New function
10181 (grub_dma_free): Likewise.
10182 (grub_dma_get_virt): Likewise.
10183 (grub_dma_get_phys): Likewise.
10184 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10185 (grub_ohci_pci_iter): Use dma32_alloc.
10186 (grub_ohci_transfer): Likewise.
10187 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10188 (grub_usb_bulk_readwrite): Likewise.
10189 * include/grub/pci.h: Add declarations.
10190
101912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 CS5536 support.
10194
10195 * bus/cs5536.c: New file.
10196 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10197 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10198 (cs5536_mod_SOURCES): New variable.
10199 (cs5536_mod_CFLAGS): Likewise.
10200 (cs5536_mod_LDFLAGS): Likewise.
10201 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10202 machine/pci.h.
10203 (kernel_img_SOURCES): Add bus/cs5536.c.
10204 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10205 usb_keyboard.mod.
10206 (usb_mod_SOURCES): New variable.
10207 (usb_mod_CFLAGS): New variable.
10208 (usb_mod_LDFLAGS): New variable.
10209 (usbtest_mod_SOURCES): New variable.
10210 (usbtest_mod_CFLAGS): New variable.
10211 (usbtest_mod_LDFLAGS): New variable.
10212 (ohci_mod_SOURCES): New variable.
10213 (ohci_mod_CFLAGS): New variable.
10214 (ohci_mod_LDFLAGS): New variable.
10215 (usbms_mod_SOURCES): New variable.
10216 (usbms_mod_CFLAGS): New variable.
10217 (usbms_mod_LDFLAGS): New variable.
10218 (usb_keyboard_mod_SOURCES): New variable.
10219 (usb_keyboard_mod_CFLAGS): New variable.
10220 (usb_keyboard_mod_LDFLAGS): New variable.
10221 * include/grub/smbus.h: New file.
10222 * include/grub/cs5536.h: New file.
10223
0b35b2a9
CW
102242010-06-02 Colin Watson <cjwatson@ubuntu.com>
10225
10226 * util/grub.d/00_header.in: Add safety check to make sure that
10227 ${locale_dir} exists before trying to probe it.
10228
ca0afd5b
CW
102292010-06-02 Colin Watson <cjwatson@ubuntu.com>
10230
10231 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10232 per the GNU Coding Standards; this is now too obscure to be worth
10233 documenting.
10234 (QNX): Likewise.
10235 (chainloader): Remove cross-reference to `SCO UnixWare'.
10236
1c41aa78
CW
102372010-06-02 Colin Watson <cjwatson@ubuntu.com>
10238
10239 * docs/grub.texi (Chain-loading): New section.
10240 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10241 adjusted for GRUB 2.
10242 (SCO UnixWare): Likewise.
10243 (QNX): Likewise.
10244 (chainloader): Add reference to `Block list syntax'.
10245 (drivemap): New section.
10246 (parttool): New section.
10247
bb8ea0f5
CW
102482010-06-02 Colin Watson <cjwatson@ubuntu.com>
10249
10250 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10251 the grub shell'.
10252 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10253 (Installing GRUB using grub-install): Remove reference to the grub
10254 shell; mention `grub-mkimage' and `grub-setup' instead.
10255 (Invoking grub-install): Likewise.
10256 (Interface): Add reference to `Menu entry editor'.
10257 (serial): Remove `--device' option.
10258
288dd6ed
CW
102592010-06-02 Colin Watson <cjwatson@ubuntu.com>
10260
10261 * docs/grub.texi (Configuration): New section, documenting
10262 configuration file generation using grub-mkconfig. I've left a slot
10263 for documenting the full shell scripting format but have not yet
10264 started on writing that up.
10265 (Invoking grub-mkconfig): New section.
10266
34c9f0e9
CW
102672010-06-02 Colin Watson <cjwatson@ubuntu.com>
10268
10269 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10270 (GNU GRUB manual): Likewise.
10271 (General commands): Update description of `terminfo' for GRUB 2.
10272
9121567e
CW
102732010-06-02 Colin Watson <cjwatson@ubuntu.com>
10274
10275 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10276 (GRUB_MOD_INIT): Fix capitalisation.
10277 * docs/grub.texi (Command-line and menu entry commands): Document
10278 gettext and gptsync commands.
10279
ab631611
CW
102802010-06-02 Colin Watson <cjwatson@ubuntu.com>
10281
10282 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10283 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10284
bde4a9ac
CW
102852010-06-01 Colin Watson <cjwatson@ubuntu.com>
10286
10287 Add btrfs probing support, currently only in the single-device case.
10288
10289 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10290 function.
10291 (grub_guess_root_device): Call find_root_device_from_mountinfo
10292 before looking in /dev.
10293
b1d17e10
VS
102942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10297 GRUB_DISK_SIZE_UNKNOWN.
10298 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10299
dfbfe004
JS
103002010-05-31 Jiro SEKIBA <jir@unicus.jp>
10301
10302 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10303 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10304 corrupted or not synced properly.
10305
c2ffc8e9
VS
103062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10309 Reported by: Seth Goldberg.
10310
56293166
VS
103112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10314 addition of dest.
10315 Reported by: Seth Goldberg.
10316
7620e7de
VS
103172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10320 Reported by: Seth Goldberg.
10321
c837af3f
VS
103222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10325 64-bit address as signed on MIPS.
10326
c7c75cf4
CW
103272010-05-28 Colin Watson <cjwatson@ubuntu.com>
10328
10329 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10330 to the empty string.
10331
fa4b8490
BC
103322010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10333
10334 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10335
10336 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10337 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10338 * kern/misc.c (__enable_execute_stack): Disable on
10339 GRUB_MACHINE_EMU.
10340
a33075b9
CW
103412010-05-28 Colin Watson <cjwatson@ubuntu.com>
10342
10343 Make grub-probe work with symbolic links under /dev/mapper as well
10344 as with real block devices. The Linux world seems to be (at best)
10345 in transition here, and GRUB shouldn't get caught in the middle.
10346
10347 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10348 /dev/mapper.
10349
d8708134
CW
103502010-05-27 Colin Watson <cjwatson@ubuntu.com>
10351
10352 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10353 input files (in which case exit zero).
10354
db2102a0
CW
103552010-05-27 Colin Watson <cjwatson@ubuntu.com>
10356
10357 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10358 return NULL for various reasons even if it has a maximum-length
10359 buffer: for example, there might be a symlink loop, or the path
10360 might exceed PATH_MAX. If this happens, return NULL.
10361
5fdba519
RM
103622010-05-27 Robert Millan <rmh@gnu.org>
10363
10364 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10365 partmap module to handle cross-partmap setups.
10366 Reported by Orestes Mas. Gràcies!
10367
d1d368e4
CW
103682010-05-27 Colin Watson <cjwatson@ubuntu.com>
10369
10370 * util/grub-mkrescue.in: Initialise override_dir rather than
10371 assuming that it's unset or empty in the environment.
10372
95ac3c73
GS
103732010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10374
10375 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10376 variable index into p_index to suppress a warning with -Wshadow.
10377
7d8c0213
BC
103782010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10379
10380 * INSTALL: Added flex >= 2.5.35 requirement.
10381
db4d5813
VS
103822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10385
f24f4300
VS
103862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 cmostest support.
10389
10390 * commands/i386/cmostest.c: New file.
10391 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10392 (cmostest_mod_SOURCES): New variable.
10393 (cmostest_mod_CFLAGS): Likewise.
10394 (cmostest_mod_LDFLAGS): Likewise.
10395 * conf/i386-pc.rmk: Likewise.
10396 * docs/grub.texi (Vendor power-on keys): New section.
10397 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10398 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10399 and GRUB_BUTTON_CMOS_ADDRESS.
10400 * util/grub.d/00_header.in: Handle powering-on by separate button.
10401
ad603f61
VS
104022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10405 Removed drawing_scrollbar argument. All users updated
10406 Fixes #29792.
10407 Reported by Jo Shields
10408
3ecb080a
VS
104092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10412 buffer since gfxterm handles double repaint.
10413
5f2316c1
VS
104142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10417 * term/gfxterm.c (real_scroll): Likewise.
10418
9a25f885
VS
104192010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10422 before calling BIOS.
10423
39fbb79a
VS
104242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * include/grub/i18n.h: Always enable grub_gettext.
10427
228cfa97
VS
104282010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10431 partition naming style.
10432
21717c8f
CW
104332010-05-21 Colin Watson <cjwatson@ubuntu.com>
10434
10435 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10436 not the first option.
10437
c0f48e65
CW
104382010-05-20 Colin Watson <cjwatson@ubuntu.com>
10439
10440 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10441
96779aec
CW
104422010-05-20 Colin Watson <cjwatson@ubuntu.com>
10443
10444 * util/misc.c: Move inclusion of <limits.h> to ...
10445 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10446
fa9d256e
GS
104472010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10448
10449 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10450 Fix merge error in NetBSD code.
10451 (find_partition_start) [__NetBSD__]: Likewise.
10452
123b7a85
BC
104532010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10454
10455 Fix grub-mkrescue usage unit testing.
10456
10457 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10458
74276c0d
CF
104592010-05-18 Christian Franke <franke@computer.org>
10460
10461 * util/grub.d/10_windows.in: Use path names instead of
10462 drive letters to prevent warning from Cygwin 1.7.
10463 Add drivemap command to menuentry if needed.
10464
c4f7b523
ST
104652010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10466
10467 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10468 gnumach and gnumach.gz.
10469
95b97950
VS
104702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * include/grub/i18n.h (gettext): Inline instead of using #define.
10473 (grub_gettext): Likewise.
10474 (_): Likewise.
10475
01b8d2d7
VS
104762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10479 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10480 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10481 (main): Add a slash after pkglibdirroot.
10482
654e1d1e
VS
104832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/grub-install.in: Add missing "in" keyword.
10486
26966aeb
VS
104872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10490 Reported by: Seth Goldberg.
10491
75006747
VS
104922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10495
74cbf5bd
CW
104962010-05-18 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * configure.ac: Check for Linux device-mapper support.
10499
10500 * util/hostdisk.c (device_is_mapped): New function.
10501 (find_partition_start): New function, partly broken out from
10502 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10503 device-mapper support added.
10504 (linux_find_partition): Use find_partition_start.
10505 (convert_system_partition_to_system_disk): Add `st' argument.
10506 Support Linux /dev/mapper/* devices if device-mapper support is
10507 available; only DM-RAID devices are understood at present.
10508 (find_system_device): Add `st' argument. Pass it to
10509 convert_system_partition_to_system_disk.
10510 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10511 find_system_device and convert_system_partition_to_system_disk. Use
10512 find_partition_start.
10513
10514 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10515 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10516 * util/deviceiter.c [__linux__]: Define MINOR.
10517 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10518 * util/mkdevicemap.c (grub_putchar): New function.
10519 (grub_getkey): New function.
10520 (grub_refresh): New function.
10521 (main): Set debug=all if -v -v is used.
10522
355b51e9
CW
105232010-05-18 Colin Watson <cjwatson@ubuntu.com>
10524
10525 Fix build with non-GNU libcs.
10526
10527 * util/misc.c (canonicalize_file_name): Move to ...
10528 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10529 grub_make_system_path_relative_to_its_root.
10530
7fb5c25f
CW
105312010-05-18 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10534 we handle finding grub-mkimage. Default to finding grub-mkimage in
10535 ${bindir} with program_transform_name applied, and provide a
10536 --grub-mkimage option to override this.
10537
1d3293d6
VS
105382010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Remove grub-mkisofs.
10541
10542 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10543 (grub_mkisofs_SOURCES): Removed.
10544 (grub_mkisofs_CFLAGS): Removed.
10545 * util/mkisofs/defaults.h: Removed.
10546 * util/mkisofs/eltorito.c: Likewise.
10547 * util/mkisofs/exclude.h: Likewise.
10548 * util/mkisofs/hash.c: Likewise.
10549 * util/mkisofs/include/: Likewise.
10550 * util/mkisofs/include/fctldefs.h: Likewise.
10551 * util/mkisofs/include/mconfig.h: Likewise.
10552 * util/mkisofs/include/prototyp.h: Likewise.
10553 * util/mkisofs/include/statdefs.h: Likewise.
10554 * util/mkisofs/iso9660.h: Likewise.
10555 * util/mkisofs/joliet.c: Likewise.
10556 * util/mkisofs/match.c: Likewise.
10557 * util/mkisofs/match.h: Likewise.
10558 * util/mkisofs/mkisofs.c: Likewise.
10559 * util/mkisofs/mkisofs.h: Likewise.
10560 * util/mkisofs/msdos_partition.h: Likewise.
10561 * util/mkisofs/multi.c: Likewise.
10562 * util/mkisofs/name.c: Likewise.
10563 * util/mkisofs/rock.c: Likewise.
10564 * util/mkisofs/tree.c: Likewise.
10565 * util/mkisofs/write.c: Likewise.
10566
5dde9afe
VS
105672010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Unify grub-mkimage accross platforms.
10570
10571 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10572 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10573 (grub_mkelfimage_SOURCES): Removed.
10574 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10575 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10576 (bin_UTILITIES): Add grub-mkimage.
10577 (grub_mkimage_SOURCES): New variable.
10578 (kernel_img_HEADERS): Remove machine/kernel.h.
10579 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10580 (pkglib_PROGRAMS): Add kernel.img.
10581 (kernel_img_HEADERS): Add machine/kernel.h.
10582 (kernel_img_FORMAT): Removed.
10583 (bin_UTILITIES): Remove grub-mkimage.
10584 (grub_mkimage_SOURCES): Removed.
10585 (grub_mkimage_CFLAGS): Likewise.
10586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10587 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10588 (pkglib_PROGRAMS): Add kernel.img.
10589 (bin_UTILITIES): Remove grub-mkimage.
10590 (grub_mkimage_SOURCES): Removed.
10591 (grub_mkimage_CFLAGS): Likewise.
10592 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10593 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10594 (pkglib_PROGRAMS): Add kernel.img.
10595 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10596 (pkglib_PROGRAMS): Add kernel.img.
10597 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10598 (grub_mkimage_SOURCES): Removed.
10599 (grub_mkimage_CFLAGS): Likewise.
10600 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10601 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10602 (pkglib_PROGRAMS): Add kernel.img.
10603 (bin_UTILITIES): Remove grub-mkimage.
10604 (grub_mkimage_SOURCES): Removed.
10605 (grub_mkimage_CFLAGS): Likewise.
10606 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10607 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10608 (grub_mkimage_SOURCES): Removed.
10609 (grub_mkimage_CFLAGS): Likewise.
10610 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10611 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10612 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10613 (grub_pe32_optional_header): ... this.
10614 (grub_pe64_optional_header): ... and this. All users updated.
10615 (GRUB_PE32_PE32_MAGIC): Split into ..
10616 (GRUB_PE32_PE32_MAGIC): .. this.
10617 (GRUB_PE32_PE64_MAGIC): .. and this.
10618 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10619 * include/grub/elf.h (PT_GNU_STACK): New definition.
10620 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10621 * include/grub/i386/efi/kernel.h: Likewise.
10622 * include/grub/i386/kernel.h: Likewise.
10623 * include/grub/i386/pc/kernel.h: Likewise.
10624 * include/grub/i386/qemu/boot.h: Likewise.
10625 * include/grub/mips/kernel.h: Likewise.
10626 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10627 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10628 * include/grub/powerpc/kernel.h: Likewise.
10629 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10630 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10631 * include/grub/sparc64/kernel.h: Likewise.
10632 * include/grub/x86_64/efi/kernel.h: Likewise.
10633 * include/grub/x86_64/kernel.h: Likewise.
10634 * include/grub/offsets.h: New file.
10635 * include/grub/kernel.h (grub_module_info): Split into ...
10636 (grub_module_info32): ... this.
10637 (grub_module_info64): ... and this.
10638 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10639 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10640 (grub_boot_blocklist): Moved from here ...
10641 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10642 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10643 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10644 * include/grub/types.h (grub_target_to_host16): Removed.
10645 (grub_target_to_host32): Likewise.
10646 (grub_target_to_host64): Likewise.
10647 (grub_host_to_target16): Likewise.
10648 (grub_host_to_target32): Likewise.
10649 (grub_host_to_target64): Likewise.
10650 (grub_host_to_target_addr): Likewise.
10651
10652 Support grub-mkrescue for efi, coreboot and qemu.
10653
10654 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10655 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10656 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10657 * util/grub-mkrawimage.c: Moved from here ...
10658 * util/grub-mkimage.c: ... here. All users updated.
10659 (ALIGN_ADDR): Use image_target.
10660 (TARGET_NO_FIELD): New const.
10661 (image_target_desc): New type.
10662 (image_targets): New array.
10663 (grub_target_to_host64): Use image_target.
10664 (grub_target_to_host32): Likewise.
10665 (grub_target_to_host16): Likewise.
10666 (grub_host_to_target64): Likewise.
10667 (grub_host_to_target32): Likewise.
10668 (grub_host_to_target16): Likewise.
10669 (grub_host_to_target_addr): Likewise.
10670 (generate_image): Handle multiimage.
10671 (main): Require -O parameter. All users updated.
10672 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10673 util/efi/grub-mkimage.c
10674 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10675 New option --rom-directory.
10676 Use xorriso.
10677 * util/i386/efi/grub-mkimage.c: Removed.
10678 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10679 (grub_target_to_host32): Likewise.
10680 (grub_target_to_host64): Likewise.
10681 (grub_host_to_target16): Likewise.
10682 (grub_host_to_target32): Likewise.
10683 (grub_host_to_target64): Likewise.
10684 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10685 (grub_target_to_host32): Likewise.
10686 (grub_target_to_host64): Likewise.
10687 (grub_host_to_target16): Likewise.
10688 (grub_host_to_target32): Likewise.
10689 (grub_host_to_target64): Likewise.
10690
f4fc97d0
BC
106912010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10692
10693 Source tree is reorganized for emu build.
10694
10695 * include/grub/util/console.h: Move from here...
10696 * include/grub/emu/console.h: ...to here.
10697 * include/grub/util/getroot.h: Move from here...
10698 * include/grub/emu/getroot.h: ...to here.
10699 * include/grub/util/hostdisk.h: Move from here...
10700 * include/grub/emu/hostdisk.h: ...to here.
10701 * util/console.c: Move from here...
10702 * kern/emu/console.c: ...to here.
10703 * util/getroot.c: Move from here...
10704 * kern/emu/getroot.c: ...to here.
10705 * util/grub-emu.c: Move from here...
10706 * kern/emu/main.c: ...to here.
10707 * util/hostdisk.c: Move from here...
10708 * kern/emu/hostdisk.c: ...to here.
10709 * util/hostfs.c: Move from here...
10710 * kern/emu/hostfs.c: ...to here.
10711 * util/mm.c: Move from here...
10712 * kern/emu/mm.c: ...to here.
10713 * util/pci.c: Move from here...
10714 * bus/emu/pci.c: ...to here.
10715 * util/sdl.c: Move from here...
10716 * video/emu/sdl.c: ...to here.
10717 * util/time.c: Move from here...
10718 * kern/emu/time.c: ...to here.
10719 * util/usb.c: Move from here...
10720 * bus/usb/emu/usb.c: ...to here.
10721
10722 * include/grub/emu/misc.h: New header for grub-emu functions.
10723 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10724
10725 * conf/any-emu.rmk: Rule updates for above renames.
10726 * conf/common.rmk: Likewise.
10727 * conf/i386-pc.rmk: Likewise.
10728 * conf/i386-qemu.rmk: Likewise.
10729 * conf/mips.rmk: Likewise.
10730 * conf/sparc64-ieee1275.rmk: Likewise.
10731 * conf/x86-efi.rmk: Likewise.
10732
10733 * disk/lvm.h: #include updates for above renames.
10734 * util/grub-mkrelpath.c: Likewise.
10735 * util/grub-probe.c: Likewise.
10736 * util/i386/pc/grub-setup.c: Likewise.
10737 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10738 * kern/emu/console.c: Likewise.
10739 * kern/emu/getroot.c: Likewise.
10740 * kern/emu/hostdisk.c: Likewise.
10741 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10742
10743 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10744 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10745 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10746 * util/misc.c: Remove grub-emu functions.
10747
cced9145
VS
107482010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 Fix gfxmenu crash.
10751 Reported by: Thorsten Grützmacher.
10752
10753 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10754 timeout hook.
10755 (circprog_set_property): Register and unregister timeout hook.
10756 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10757 (label_destroy): Free template. and unregister hook.
10758 (label_set_state): New function.
10759 (label_set_property): Handle templates and hooks.
10760 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10761 timeout hook.
10762 (progress_bar_set_property): Register and unregister timeout hook.
10763 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10764 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10765 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10766 (update_timeout_visit): Removed.
10767 (update_timeouts): New function.
10768 (redraw_timeouts): Likewise.
10769 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10770 (grub_gfxmenu_clear_timeout): Likewise.
10771 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10772 (grub_gfxmenu_timeout_notify): Likewise.
10773 (grub_gfxmenu_timeout_notifications): New external variable.
10774 (grub_gfxmenu_timeout_register): New function.
10775 (grub_gfxmenu_timeout_unregister): Likewise.
10776
c6e5caab
VS
107772010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Transform (broken) vga terminal into (working) vga video driver.
10780
10781 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10782 video/i386/pc/vga.c.
10783 * include/grub/video.h (grub_video_driver_id):
10784 Add GRUB_VIDEO_DRIVER_VGA.
10785 * term/i386/pc/vga.c: Renamed to ...
10786 * video/i386/pc/vga.c: ...this
10787 (DEBUG_VGA): Removed.
10788 (CHAR_WIDTH): Likewise.
10789 (CHAR_HEIGHT): Likewise.
10790 (TEXT_WIDTH): Likewise.
10791 (TEXT_HEIGHT): Likewise.
10792 (DEFAULT_FG_COLOR): Likewise.
10793 (DEFAULT_BG_COLOR): Likewise.
10794 (colored_char): Likewise.
10795 (xpos): Likewise.
10796 (ypos): Likewise.
10797 (cursor_state): Likewise.
10798 (fg_color): Likewise.
10799 (bg_color): Likewise.
10800 (text_buf): Likewise.
10801 (page): Likewise.
10802 (font): Likewise.
10803 (framebuffer): New variable.
10804 (set_read_map): Disabled.
10805 (setup): New variable.
10806 (is_target): Likewise.
10807 (grub_vga_mod_init): Likewise.
10808 (grub_vga_mod_fini): Likewise.
10809 (check_vga_mem): Likewise.
10810 (write_char): Likewise.
10811 (write_cursor): Likewise.
10812 (scroll_up): Likewise.
10813 (grub_vga_putchar): Likewise.
10814 (grub_vga_getcharwidth): Likewise.
10815 (grub_vga_getwh): Likewise.
10816 (grub_vga_getxy): Likewise.
10817 (grub_vga_gotoxy): Likewise.
10818 (grub_vga_cls): Likewise.
10819 (grub_vga_setcolorstate): Likewise.
10820 (grub_vga_setcursor): Likewise.
10821 (grub_video_vga_init): New function.
10822 (grub_video_vga_setup): Likewise.
10823 (grub_video_vga_fini): Likewise.
10824 (update_target): Likewise.
10825 (grub_video_vga_blit_bitmap): Likewise.
10826 (grub_video_vga_blit_render_target): Likewise.
10827 (grub_video_vga_set_active_render_target): Likewise.
10828 (grub_video_vga_get_active_render_target): Likewise.
10829 (grub_video_vga_swap_buffers): Likewise.
10830 (grub_video_vga_set_palette): Likewise.
10831 (grub_video_vga_get_info_and_fini): Likewise.
10832 (grub_vga_term): Removed.
10833 (grub_video_vga_adapter): New variable.
10834 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10835 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10836
2bf61a98
VS
108372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * video/readers/jpeg.c: Indented.
10840
09ddcd11
VS
108412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Various jpeg cleanups.
10844
10845 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10846 (grub_jpeg_decode_quan_table): Use sizeof.
10847 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10848
e5507505
PH
108492010-05-05 Peter Hurley <No e-mail available> (tiny change)
10850
10851 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10852 tables. Ignore non-last ac bit.
10853 (grub_jpeg_decode_quan_table): Likewise.
10854
7e720a9b
VS
108552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10858 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10859 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10860 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10861 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10862 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10863
a7fc080b
VS
108642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10867 error.
10868
2bf6012d
VS
108692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10872
265d68cd
VS
108732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10876 condition.
10877
108782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
10879
10880 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10881 part.
10882
265d68cd 108832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
10884
10885 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10886 pointers.
10887
265d68cd 108882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
10889
10890 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10891
d1b61374
CF
108922010-05-01 Christian Franke <franke@computer.org>
10893
10894 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10895 Remove broken Cygwin path conversion.
10896 * util/misc.c: [__CYGWIN__] Add include and define.
10897 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10898 for Cygwin 1.7.
10899 (make_system_path_relative_to_its_root): Simplify loop, replace early
10900 return by break.
10901 [__CYGWIN__] Add conversion to win32 path.
10902 Include "/" case in trailing slash removal.
10903
3558c6e9
VS
109042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10907 Reported by: Seth Goldberg
10908
f5f3ff93
VS
109092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * commands/help.c (grub_cmd_help): Fix a typo.
10912 Reported by: Seth Goldberg
10913
d8b5cd40
VS
109142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10917 name and add N_.
10918 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10919 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10920 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10921 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10922 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10923 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10924 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10925 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10926 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10927 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10928 * normal/context.c (GRUB_MOD_INIT): Likewise.
10929 * normal/main.c (GRUB_MOD_INIT): Likewise.
10930 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10931 * term/serial.c (GRUB_MOD_INIT): Likewise.
10932 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10933
88c14915
VS
109342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10937 extra == 0.
10938
165134bc
VS
109392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * commands/iorw.c: New file.
10942 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10943 (iorw_mod_SOURCES): New variable.
10944 (iorw_mod_CFLAGS): Likewise.
10945 (iorw_mod_LDFLAGS): Likewise.
10946
c5ac9b32
VS
109472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 Hotkey support
10950
10951 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10952 * normal/main.c (hotkey_aliases): New variable.
10953 (grub_normal_add_menu_entry): Parse "--hotkey".
10954 * normal/menu_text.c (run_menu): Handle hotkeys.
10955
ce60689c
VS
109562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * kern/i386/coreboot/init.c (grub_machine_init): Call
10959 grub_machine_mmap_init on qemu.
10960
0359d006
VS
109612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * boot/i386/qemu/boot.S: Add a missing .code16.
10964
7819a456
VS
109652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 Use LBIO on coreboot.
10968
10969 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
10970 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
10971 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
10972 New declaration.
10973 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
10974 grub_machine_mmap_init on coreboot.
10975 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
10976 GRUB_LINUXBIOS_MEMBER_LINK.
10977 (grub_machine_mmap_iterate): Fix declaration.
10978 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
10979
7210dca9
VS
109802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 Split coreboot and multiboot ports.
10983
10984 * conf/i386-multiboot.rmk: New file.
10985 * configure.ac: Add multiboot port.
10986 * include/grub/i386/multiboot/boot.h: New file.
10987 * include/grub/i386/multiboot/console.h: Likewise.
10988 * include/grub/i386/multiboot/init.h: Likewise.
10989 * include/grub/i386/multiboot/kernel.h: Likewise.
10990 * include/grub/i386/multiboot/loader.h: Likewise.
10991 * include/grub/i386/multiboot/memory.h: Likewise.
10992 * include/grub/i386/multiboot/serial.h: Likewise.
10993 * include/grub/i386/multiboot/time.h: Likewise.
10994 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
10995 * loader/multiboot.c: Likewise.
10996 * loader/multiboot_mbi2.c: Likewise.
10997 * util/grub-mkrescue.in: Generate multiboot rescue.
10998
6f8aaf68
VS
109992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11000
3080f7a7
VS
11001 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11002
110032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
11006
11007 * commands/terminal.c (abstract_terminal): New struct.
11008 (handle_command): New function. Based on grub_cmd_terminal_input.
11009 (grub_cmd_terminal_input): Use handle_command.
11010 (grub_cmd_terminal_output): Use handle_command.
11011
a8ebb841
BC
110122010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11013
11014 Fix comment handling.
11015
11016 * tests/grub_script_comments.in: New testcase.
11017 * conf/tests.rmk: Rules for new testcase.
11018 * script/yylex.l: Updated flex rules.
11019
bb06ba08
ST
110202010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11021
11022 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
11023 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11024 if argc is 1.
bb06ba08 11025
cc9d2425
VS
110262010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11029 autogen issues.
11030
460d8402
CF
110312010-04-26 Christian Franke <franke@computer.org>
11032
11033 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11034 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11035 (grub_get_prefix): Remove function.
11036 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11037 make_system_path_relative_to_its_root ().
11038 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11039
553c01f9
CF
110402010-04-24 Christian Franke <franke@computer.org>
11041
11042 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11043 (kernel_img_LDFLAGS): Remove -static-libgcc.
11044
2aec1692
CF
110452010-04-24 Christian Franke <franke@computer.org>
11046
11047 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11048 and CHECK_END_SYMBOL if grub-emu is built.
11049 Unset TARGET_OBJ2ELF if grub-emu is built
11050 without module support.
11051
f67dc308
JS
110522010-04-24 Jiro SEKIBA <jir@unicus.jp>
11053
11054 Nilfs2 support.
11055
11056 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11057 (grub_fstest_SOURCES): Likewise.
11058 (pkglib_MODULES): Add nilfs2.mod.
11059 (nilfs2_mod_SOURCES): New variable.
11060 (nilfs2_mod_CFLAGS): Likewise.
11061 (nilfs2_mod_LDFLAGS): Likewise.
11062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11063 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11064 * fs/nilfs2.c: New file.
11065
4ba8d354
VS
110662010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11069 is not supported.
11070
0d2c20c6
GS
110712010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11072
11073 Add grub-mkconfig support for NetBSD.
11074
11075 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11076 * util/grub-mkconfig.in: export new NetBSD specific variables.
11077 * po/POTFILES-shell: added 10_netbsd.in.
11078 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11079
bc4a2d83
BC
110802010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11081
11082 Fix emu build with grub-emu-pci and grub-emu-modules.
11083
11084 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11085 functions.
11086 * include/grub/libpciaccess.h: New file.
11087 * conf/any-emu.rmk: Update kernel headers for emu build.
11088
f48c87aa
VS
110892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11092
18959385
VS
110932010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11096
0037de3f
VS
110972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11100 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11101 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11102 util/ieee1275/ofpath.c.
11103 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11104 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11105 * include/grub/sparc64/ieee1275/boot.h
11106 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11107 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11108 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11109 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11110 const char *.
11111 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11112 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11113 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11114 install.
11115
38e55e90
GS
111162010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11117
11118 * util/grub-mkconfig.in: Corrected two == equality tests.
11119 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11120 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11121 expect a number appended to it.
11122 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11123 expects a number appended to it.
11124
a9e6ff28
VS
111252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11128
0b830b8f
VS
111292010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * util/hostdisk.c (make_device_name): Change to new partition naming.
11132
0973daeb
VS
111332010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11136
460d8402 111372010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
11138
11139 * Makefile.in: Add missing localedir setting.
11140
0b456309
CW
111412010-04-14 Colin Watson <cjwatson@ubuntu.com>
11142
11143 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11144 mistake in r2156. Noticed by Anthony Fok.
11145
11146 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11147 @localedir@.
11148 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11149
08f46d62
BC
111502010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11151
11152 Fix a spurious, uninitialized variable warning.
11153
11154 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11155 Initialize variable, shdr.
11156 (grub_freebsd_load_elfmodule): Likewise.
11157 (grub_freebsd_load_elf_meta): Likewise.
11158
8c4a72d4
BC
111592010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11160
11161 Fix for escaped dollar in double quoted strings.
11162
11163 * script/yylex.l: Updated flex rules.
11164 * conf/tests.rmk: Rule for new testcase.
11165 * tests/grub_script_dollar.in: New testcase.
11166
ce44826e
CPE
111672010-04-13 Carles Pina i Estany <carles@pina.cat>
111682010-04-13 Colin Watson <cjwatson@ubuntu.com>
11169
11170 Enclose all translated strings in grub.cfg in single quotes, and
11171 escape them appropriately (Ubuntu bug #552921).
11172
11173 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11174 * util/grub.d/10_hurd.in: Use it.
11175 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11176 * util/grub.d/10_linux.in (linux_entry): Likewise.
11177
4b0cd8f8
VS
111782010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 Fix cygwin compilation.
11181
11182 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11183 * include/grub/misc.h (__register_frame_info)
11184 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11185 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11186 * kern/misc.c (__register_frame_info)
11187 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11188 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11189
01fcf061
VS
111902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11193
5d04b11e
VS
111942010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Unify libgcc processing.
11197
11198 * Makefile.in (kernel_img_LDFLAGS): New variable.
11199 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11200 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11201 overwriting.
11202 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11203 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11204 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11205 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11206 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11207 overwriting. Remove -lgcc and -static-libgcc
11208 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11209 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11210 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11211 (kernel_img_LDFLAGS): Append instead of overwriting.
11212 Remove -lgcc and -static-libgcc
11213 * conf/sparc64-ieee1275.rmk: Likewise.
11214 * include/grub/powerpc/libgcc.h: Move to ...
11215 * include/grub/libgcc.h: .. this.
11216 * include/grub/libgcc.h: Don't export most of the function on x86.
11217 (__bswapsi2): New export.
11218 (__bswapdi2): Likewise.
11219 * include/grub/mips/libgcc.h: Removed.
11220 * include/grub/sparc64/libgcc.h: Likewise.
11221
b7f3ac29
VS
112222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11225 disk_info_msg (conflicts with gettexting into languages with cases).
11226
2c7031b1
GS
112272010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11228
11229 Add grub-probe support for NetBSD.
11230
11231 * util/getroot.c (find_root_device): Convert block device to
11232 character device on NetBSD.
11233 * util/probe.c (probe): Require character device on NetBSD.
11234 * util/hostdisk.c: NetBSD specific headers.
11235 (configure_device_driver): new function to tune device driver
11236 parameters (currently only for NetBSD floppy driver).
11237 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11238 via disklabel ioctl).
11239 (open_device): call configure_device_driver on NetBSD.
11240 (convert_system_partition_to_system_disk): NetBSD specific code.
11241 (device_is_wholedisk): Likewise.
11242 (grub_util_biosdisk_get_grub_dev): Likewise.
11243 (make_device_name): Fixed a typo in bsd_part_str.
11244 * configure.ac: check for opendisk() and getrawpartition() on
11245 NetBSD and set LIBUTIL.
11246 * Makefile.in: add LIBUTIL to LIBS.
11247
f516290c
BC
112482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11249
11250 Documentation fix.
11251
11252 * util/grub-script-check.c: Better help message.
11253
d8dcc0df
BC
112542010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11255
11256 Fix FreeBSD build.
11257
11258 * configure.ac: Flex version check.
11259 * conf/common.rmk: Add -Wno-error to sh.mod.
11260 * script/yylex.l: Remove all #pragma.
11261
6734334a
VS
112622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11265 prototype.
11266 Reported by: Seth Goldberg.
11267
daea6abd
VS
112682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11271 Rename "module" to "module2".
11272 Reported by: Seth Goldberg.
11273
f2fd9d2b
VS
112742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11277 EXPORT_FUNC.
11278 Reported by: Seth Goldberg.
11279
be124579
VS
112802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * lib/posix_wrap/locale.h: Add missing file.
11283 Reported by: Seth Goldberg.
11284
ef5da797
VS
112852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 grub-emu module load support.
11288
11289 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11290 NO_DYNAMIC_MODULES switched to this.
11291 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11292 (CFLAGS): Likewise.
11293 * conf/any-emu.rmk: Generate symlist.
11294 (kernel_img_HEADERS): Add util/datetime.h.
11295 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11296 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11297 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11298 kern/$(target_cpu)/cache.S.
11299 * configure.ac (grub-emu-modules): New option.
11300 * genmk.rb: Handle multiple source lists.
11301 * include/grub/sdl.h: New file.
11302 * include/grub/libusb.h: Likewise.
11303 * util/grub-emu.c (main): Hanle (host) root.
11304 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11305 GRUB_ERR_UNKNOWN_DEVICE.
11306 * util/misc.c: Move mm functions to ...
11307 * util/mm.c: ... here. All users updated.
11308
47822096
VS
113092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11312 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11313 missing files.
11314 (maintainer-clean): Remove libgcrypt-grub.
11315
5d7e7445
VS
113162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11319
25f4e252
EC
113202010-04-09 EFI Coder <eficoder@hotmail.com>
11321
11322 * normal/menu_text.c (print_message): Clean up the message and show
11323 the Fn information when on EFI
11324 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11325
027de555
VS
113262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11329 All users updated.
11330 * normal/crypto.c (read_crypto_list): Likewise.
11331 * normal/dyncmd.c (read_command_list): Likewise.
11332 * normal/term.c (read_terminal_list): Likewise.
11333 * normal/main.c (read_lists): Use explicit prefix.
11334 (read_lists_hook): Use read_lists.
11335 (grub_normal_execute): Likewise.
11336
47779711
VS
113372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11340 Reported by: Thomas Schmitt.
11341 Add -no-emul-boot to grub-mkisofs parameters.
11342
1118c32e
VS
113432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * font/font.c: Indented.
11346
7d652447
BC
113472010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11348
11349 Elif support to GRUB script (by Deepak Vankadaru).
11350
11351 * tests/grub_script_if.in: New testcase.
11352 * conf/tests.rmk: Rule for new testcase.
11353 * script/parser.y: Grammar rules for elif.
11354
34bb22df
BC
113552010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11356
11357 While and until loops support to GRUB script.
11358
11359 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11360 (grub_script_create_cmdwhile): New function prototype.
11361 (grub_script_execute_cmdwhile): New function prototype.
11362 * script/execute.c (grub_script_execute_cmdwhile): New function.
11363 * script/parser.y (command): New commands.
11364 (whilecmd): New grammar rule.
11365 (untilcmd): New grammar rule.
11366 * script/script.c (grub_script_create_cmdwhile): New function.
11367 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11368 function.
11369
11370 * tests/grub_script_while1.in: New testcase.
11371 * conf/tests.rmk: Rule for new testcase.
11372
e215d8e0
VS
113732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11376 as *.jpg.
11377
d7c43ba1
MV
113782010-04-09 Mario Vazquez <mariovazq@gmail.com>
11379
11380 GRUB_BACKGROUND support.
11381
11382 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11383 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11384
d64795c0
VS
113852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 11388 Idea by: Mario Vazquez
d64795c0
VS
11389
11390 * util/grub.d/00_header.in: Load pf2 and image modules.
11391
f267f83a
VS
113922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 grub-mkconfig multiple terminal support.
11395
11396 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11397 * util/grub.d/00_header.in: Likewise.
11398
b7841ceb
VS
113992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11402 we use cd $(srcdir).
11403
df60998c
CW
114042010-04-08 Colin Watson <cjwatson@ubuntu.com>
11405
11406 * util/grub.d/10_linux.in: Only use the first word of
11407 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11408 spaces in GRUB_DISTRIBUTOR.
11409 * util/grub.d/10_kfreebsd.in: Likewise.
11410 * util/grub.d/10_hurd.in: Likewise.
11411
fa09c82e
BC
114122010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11413
14e18ae3 11414 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
11415
11416 * tests/util/grub-shell.in: Remove -serial stdio option.
11417
daf892b3
BC
114182010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 POSIX header file wrappers.
11421
11422 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11423 equivalents.
11424 * lib/posix_wrap/ctype.h: Likewise.
11425 * lib/posix_wrap/errno.h: Likewise.
11426 * lib/posix_wrap/langinfo.h: Likewise.
11427 * lib/posix_wrap/limits.h: Likewise.
11428 * lib/posix_wrap/localcharset.h: Likewise.
11429 * lib/posix_wrap/stdint.h: Likewise.
11430 * lib/posix_wrap/stdio.h: Likewise.
11431 * lib/posix_wrap/stdlib.h: Likewise.
11432 * lib/posix_wrap/string.h: Likewise.
11433 * lib/posix_wrap/sys/types.h: Likewise.
11434 * lib/posix_wrap/unistd.h: Likewise.
11435 * lib/posix_wrap/wchar.h: Likewise.
11436 * lib/posix_wrap/wctype.h: Likewise.
11437 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11438 (grub_script.yy.h): Likewise.
11439 * script/yylex.l: Remove POSIX emulation #defines.
11440 * Makefile.in (POSIX_CFLAGS): New variable.
11441 (GNULIB_UTIL_CFLAGS): Likewise.
11442
11443 Regexp support.
11444
11445 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11446 (regexp_mod_SOURCES): New variable.
11447 (regexp_mod_CFLAGS): Likewise.
11448 (regexp_mod_LDFLAGS): Likewise.
11449 * commands/regexp.c: New file.
11450 * gnulib/regcomp.c: New file. Imported from gnulib.
11451 * gnulib/regex.c: Likewise.
11452 * gnulib/regex_internal.c: Likewise.
11453 * gnulib/regex_internal.h: Likewise.
11454 * gnulib/regexec.c: Likewise.
11455 * gnulib/regex.h: Likewise.
11456
974ac4f7
VS
114572010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11460 unsupported video mode types.
11461
2622c3ff
VS
114622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11465
064cb524
VS
114662010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11469 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11470
a8c3b552
VS
114712010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 Remove unused grub_vga_get_font.
11474
11475 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11476 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11477
187bbe3d
GS
114782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11479
11480 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11481 * include/grub/misc.h: Likewise.
11482
b9396631
GS
114832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11484
11485 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11486 for which failure is fatal.
11487
50479feb
GS
114882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11489
11490 * util/grub-install.in: Use mkdir -p to create grub directory.
11491 * util/i386/efi/grub-install.in: Likewise.
11492 * util/ieee1275/grub-install.in: Likewise.
11493
b1654fdf
GS
114942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11495
11496 * Makefile.in (LEX): new variable.
11497
bd5a6415
GS
114982010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11499
11500 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11501 `=' and added double quotes on operands of this equality test.
11502
3db3a82b
VS
115032010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * Makefile.in (uninstall): Remove a leftover debug echo.
11506 Reported by: Grégoire Sutre
11507
38023412
VS
115082010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 MIPS multiboot2 support.
11511
11512 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11513 (multiboot2_mod_SOURCES): New variable.
11514 (multiboot2_mod_CFLAGS): Likewise.
11515 (multiboot2_mod_LDFLAGS): Likewise.
11516 (multiboot2_mod_ASFLAGS): Likewise.
11517 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11518 definition.
11519 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11520 (MULTIBOOT_MBI_REGISTER): Likewise.
11521 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11522 (MULTIBOOT_ELF32_MACHINE): Likewise.
11523 (MULTIBOOT_ELF64_MACHINE): Likewise.
11524 * include/grub/mips/multiboot.h: New file.
11525 * include/grub/video.h (grub_video_driver_id): New type
11526 GRUB_VIDEO_DRIVER_SM712.
11527 (grub_video_get_info_and_fini): Export.
11528 (grub_video_get_palette): Likewise.
11529 (grub_video_get_driver_id): Likewise.
11530 * include/multiboot2.h: Resynced with spec.
11531 * loader/i386/multiboot.c: Moved from here ...
11532 * loader/multiboot.c: ... here. All users updated.
11533 (grub_multiboot_boot): Use platform-specific macros.
11534 * loader/i386/multiboot_elfxx.c: Moved from here ...
11535 * loader/multiboot_elfxx.c: ... here. All users updated.
11536 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11537 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11538 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11539
47674667
VS
115402010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Import gnulib argp module.
11543
11544 * gnulib/argp-ba.c: New file.
11545 * gnulib/argp-eexst.c: Likewise.
11546 * gnulib/argp-fmtstream.c: Likewise.
11547 * gnulib/argp-fmtstream.h: Likewise.
11548 * gnulib/argp-fs-xinl.c: Likewise.
11549 * gnulib/argp-help.c: Likewise.
11550 * gnulib/argp-namefrob.h: Likewise.
11551 * gnulib/argp-parse.c: Likewise.
11552 * gnulib/argp-pin.c: Likewise.
11553 * gnulib/argp-pv.c: Likewise.
11554 * gnulib/argp-pvh.c: Likewise.
11555 * gnulib/argp-version-etc.c: Likewise.
11556 * gnulib/argp-version-etc.h: Likewise.
11557 * gnulib/argp-xinl.c: Likewise.
11558 * gnulib/argp.h: Likewise.
11559
495442ed
VS
115602010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * kern/device.c (grub_device_iterate): Clear errors after failed
11563 opening device.
11564
f9fd65df
VS
115652010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11568 returned by firmware.
11569
af09641e
VS
115702010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11573 compilation on coreboot and qemu
11574
016883a5
VS
115752010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * include/multiboot2.h: Resync with spec.
11578
f97e1f7d
VS
115792010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Multiboot2 tag support
11582
11583 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11584 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11585 Remove loader/multiboot_loader.c.
11586 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11587 (grub_multiboot2_real_boot): Likewise.
11588 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11589 (grub_get_multiboot_mmap_count): New proto.
11590 (grub_fill_multiboot_mmap): Likewise.
11591 (grub_multiboot_set_video_mode): Likewise.
11592 (grub_multiboot_set_console): Likewise.
11593 (grub_multiboot_load): Likewise.
11594 (grub_multiboot_load_elf): Likewise.
11595 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11596 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11597 * include/multiboot.h: Resynced with specification.
11598 * include/multiboot2.h: Resynced with specification.
11599 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11600 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11601 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11602 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11603 users updated.
11604 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11605 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11606 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11607 Removed.
11608 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11609 Moved from here...
11610 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11611 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11612 Moved from here...
11613 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11614 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11615 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11616 All users updated.
11617 * loader/i386/multiboot_mbi2.c: New file.
11618
3506b90b
VS
116192010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Resync with gnulib.
11622
11623 * Makefile.in (GNULIB_CFLAGS): New variable.
11624 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11625 (grub_script_check_CFLAGS): New variable.
11626 * gnulib/alloca.h: Resync with gnulib.
11627 * gnulib/error.c: Likewise.
11628 * gnulib/error.h: Likewise.
11629 * gnulib/fnmatch.c: Likewise.
11630 * gnulib/fnmatch_loop.c: Likewise.
11631 * gnulib/getdelim.c: Likewise.
11632 * gnulib/getline.c: Likewise.
11633 * gnulib/getopt.c: Likewise.
11634 * gnulib/getopt1.c: Likewise.
11635 * gnulib/getopt_int.h: Likewise.
11636 * gnulib/gettext.h: Likewise.
11637 * gnulib/progname.c: Likewise.
11638 * gnulib/progname.h: Likewise.
11639
394a3120
GS
116402010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11641
11642 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11643 which is the case with --disabled-nls.
11644
11645 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11646 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11647 * util/misc.c: Likewise.
11648 * util/mkisofs/mkisofs.c: Likewise.
11649 * util/mkisofs/mkisofs.h: Likewise.
11650
969d1c78
VS
116512010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Simplify Apple CC support.
11654
11655 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11656 Add 0 byte at the end not to have a symbol with empty target.
11657 * mmap/i386/pc/mmap_helper.S: Likewise.
11658 * genmk.rb: Ignore errors 2030 and 2050.
11659 * kern/i386/pc/startup.S: Use LOCAL when possible.
11660
8d2977bb
BC
116612010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11662
11663 Testcase and the fix for final semicolon on cmdline.
11664
11665 * tests/grub_script_final_semicolon.in: New testcase.
11666 * conf/tests.rmk: Rules for the new testcase.
11667 * script/parser.y: Grammar fix.
11668
a7bd6915
BC
116692010-03-26 BVK Chaitanya <bvk@localhost>
11670
11671 Blank lines testcase for GRUB script.
11672
11673 * tests/grub_script_blanklines.in: New testcase.
11674 * conf/tests.rmk: Rules for the new testcase.
11675
e4ff6628
VS
116762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Don't use __FILE__.
11679
11680 * genmk.rb: Add -DGRUB_FILE to all C targets.
11681 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11682 * include/grub/list.h: Likewise.
11683 * include/grub/misc.h: Likewise.
11684 * include/grub/mm.h: Likewise.
11685 * include/grub/test.h: Likewise.
11686 * kern/mm.c: Likewise.
11687 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11688
6a5cf6b6
VS
116892010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 Sunpc partitions support.
11692
11693 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11694 (grub_fstest_SOURCES): Likewise.
11695 (pkglib_MODULES): Add part_sunpc.mod.
11696 (part_sunpc_mod_SOURCES): New variable.
11697 (part_sunpc_mod_CFLAGS): Likewise.
11698 (part_sunpc_mod_LDFLAGS): Likewise.
11699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11700 * partmap/sunpc.c: New file.
11701
746d9045
BC
117022010-03-26 BVK Chaitanya <bvk@localhost>
11703
11704 For loop support to GRUB script.
11705
11706 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11707 (grub_script_create_cmdfor): New function prototype.
11708 (grub_script_execute_cmdfor): New function prototype.
11709 * script/execute.c (grub_script_execute_cmdfor): New function.
11710 * script/parser.y (command): New for command.
11711 (forcmd): New grammar rule.
11712 * script/script.c (grub_script_create_cmdfor): New function.
11713 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11714 function.
11715 * tests/grub_script_for1.in: New testcase.
11716 * conf/tests.rmk: Rules for new testcase.
11717
18486b18
VS
117182010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 Nested partitions
11721
11722 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11723 'partition' is NULL, grub_partition_get_start already does that.
11724 * commands/loadenv.c (check_blocklists): Likewise.
11725 (write_blocklists): Likewise.
11726 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11727 (grub_fstest_SOURCES): Likewise.
11728 (pkglib_MODULES): Add part_bsd.mod.
11729 (part_bsd_mod_SOURCES): New variable.
11730 (part_bsd_mod_CFLAGS): Likewise.
11731 (part_bsd_mod_LDFLAGS): Likewise.
11732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11733 (grub_emu_SOURCES): Likewise.
11734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11735 * include/grub/bsdlabel.h: New file.
11736 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11737 'get_name'.
11738 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11739 (grub_partition_map_list): New variable.
11740 (grub_partition_map_register): Inline.
11741 (grub_partition_map_unregister): Likewise.
11742 (FOR_PARTITION_MAPS): New macro.
11743 (grub_partition_map_iterate): Removed.
11744 (grub_partition_get_start): Handle nested partitions.
11745 * include/grub/msdos_partition.h: Remove bsd-related entries.
11746 (grub_pc_partition): Remove.
11747 * kern/disk.c (grub_disk_close): Free partition data.
11748 (grub_disk_adjust_range): Handle nested partitions.
11749 * kern/partition.c (grub_partition_map_probe): New function.
11750 (grub_partition_probe): Parse name to number, handle subpartitions.
11751 (get_partmap): New function.
11752 (grub_partition_iterate): Handle subpartitions.
11753 (grub_partition_get_name): Likewise.
11754 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11755 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11756 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11757 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11758 Set 'number'.
11759 (acorn_partition_map_probe): Remove.
11760 (acorn_partition_map_get_name): Likewise.
11761 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11762 Set 'number'.
11763 Set 'index' to 0 since there can be only one partition entry per sector.
11764 (amiga_partition_map_probe): Remove.
11765 (amiga_partition_map_get_name): Likewise.
11766 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11767 Set 'number'.
11768 Set 'offset' and 'index' to real positions of partitions.
11769 (apple_partition_map_probe): Remove.
11770 (apple_partition_map_get_name): Likewise.
11771 * partmap/bsdlabel.c: New file.
11772 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11773 Set 'number'.
11774 Allocate 'data' so it can be correctly freed.
11775 Set 'index' to offset inside sector.
11776 (gpt_partition_map_probe): Remove.
11777 (gpt_partition_map_get_name): Likewise.
11778 * partmap/msdos.c (grub_partition_parse): Remove.
11779 (pc_partition_map_iterate): Don't force raw access.
11780 Set 'number'.
11781 Make 'ext_offset' a local variable.
11782 (pc_partition_map_probe): Remove.
11783 (pc_partition_map_get_name): Remove.
11784 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11785 Set 'number'.
11786 (sun_partition_map_probe): Remove.
11787 (sun_partition_map_get_name): Likewise.
11788 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11789 (grub_pcpart_type): Likewise.
11790 * util/hostdisk.c (open_device): Handle new numbering scheme.
11791 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11792 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11793 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11794 * util/grub-install.in: Insert all subpartition modules.
11795 * util/ieee1275/grub-install.in: Likewise.
11796
a3940f88
AG
117972010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11798
11799 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11800 grammar.
11801
21b99926 118022010-03-24 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11805
bed1d352
CW
118062010-03-21 Colin Watson <cjwatson@ubuntu.com>
11807
11808 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11809 match where 'make install' puts them.
11810 * util/i386/efi/grub-install.in: Likewise.
11811
c9f58427
CW
118122010-03-19 Colin Watson <cjwatson@ubuntu.com>
11813
11814 * .bzrignore: Add gentrigtables, grub-script-check,
11815 grub_script_check_init.c, grub_script_check_init.h, and
11816 trigtables.c.
11817
f84afb27
VS
118182010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * kern/parser.c: Indented.
11821
ed0e3d30
VS
118222010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11825
0ea81d98
VS
118262010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11829 alpha_mask_size == 0 case.
11830
0cdc2a09
BC
118312010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11832
11833 GRUB shell lexer and parser improvements.
11834
11835 * conf/any-emu.rmk: Build rule updates.
11836 * conf/common.rmk: Likewise.
11837 * conf/i386-coreboot.rmk: Likewise.
11838 * conf/i386-efi.rmk: Likewise.
11839 * conf/i386-ieee1275.rmk: Likewise.
11840 * conf/i386-pc.rmk: Likewise.
11841 * conf/powerpc-ieee1275.rmk: Likewise.
11842 * conf/x86_64-efi.rmk: Likewise.
11843
11844 * configure.ac: Configure check for flex.
11845
11846 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11847 types.
11848 (grub_lexer_param): Struct member updates.
11849 (grub_parser_param): Likewise.
11850 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11851 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11852 (grub_script_lexer_init): Prototype update.
11853 (grub_script_lexer_record_start): Likewise.
11854 (grub_script_lexer_record_stop): Likewise.
11855 (grub_script_lexer_yywrap): New function prototype.
11856 (grub_script_lexer_fini): Likewise.
11857 (grub_script_execute_argument_to_string): Removed by...
11858 (grub_script_execute_argument_to_argv): ...better version.
11859
11860 * script/execute.c (ROUND_UPTO): New macro.
11861 (grub_script_execute_cmdline): Out of memory fixes.
11862 (grub_script_execute_menuentry): Likewise.
11863 (grub_script_execute_argument_to_string): Removed. Update all
11864 users by...
11865 (grub_script_execute_argument_to_argv): ...better version.
11866 * script/function.c (grub_script_function_create): Use
11867 grub_script_execute_argument_to_argv instead of
11868 grub_script_execute_argument_to_string.
11869
11870 * script/lexer.c (check_varstate): Removed.
11871 (check_textstate): Removed.
11872 (grub_script_lexer_record_start): Likewise.
11873 (grub_script_lexer_record_stop): Likewise.
11874 (recordchar): Replaced with...
11875 (grub_script_lexer_record): ...new function.
11876 (nextchar): Removed.
11877 (grub_script_lexer_init): Rewritten.
11878 (grub_script_yylex): Rewritten.
11879 (append_newline): New function.
11880 (grub_script_lexer_yywrap): New function.
11881 (grub_script_lexer_fini): New function.
11882 (grub_script_yyerror): Sets error flag.
11883
11884 * script/yylex.l: New file.
11885 (grub_lexer_yyfree): Wrapper for flex yyffre.
11886 (grub_lexer_yyalloc): Likewise.
11887 (grub_lexer_yyrealloc): Likewise.
11888 * script/parser.y: Refactored.
11889
11890 * script/script.c (grub_script_arg_add): Out of memory fixes.
11891 (grub_script_add_arglist): Likewise.
11892 (grub_script_create_cmdline): Likewise.
11893 (grub_script_create_cmdmenu): Likewise.
11894 (grub_script_add_cmd): Likewise.
11895 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11896 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11897 unnecessary code.
11898
11899 * tests/grub_script_echo1.in: New testcase.
11900 * tests/grub_script_vars1.in: New testcase.
11901 * tests/grub_script_echo_keywords.in: New testcase.
11902
1d63a066
VS
119032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 Remove some redundancy in build system.
11906
11907 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11908 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11909 (TARGET_LDFLAGS): Add -nostdlib.
11910 (TARGET_IMG_LDFLAGS): Likewise.
11911 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11912 anything since mmap isn't available.
11913 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11914 Add util/time.c.
11915 (pkglib_MODULES): Remove reboot.mod.
11916 (reboot_mod_SOURCES): Removed.
11917 (reboot_mod_CFLAGS): Likewise.
11918 (reboot_mod_LDFLAGS): Likewise.
11919 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11920 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11921 (DEFSYMFILES): Add kernel_syms.lst.
11922 (kernel_img_HEADERS): Add common headers.
11923 (symlist.c): New target.
11924 (kernel_syms.lst): Likewise.
11925 (pkglib_MODULES): Add memdisk.mod.
11926 (memdisk_mod_SOURCES): New variable.
11927 (memdisk_mod_CFLAGS): Likewise.
11928 (memdisk_mod_LDFLAGS): Likewise.
11929 (pkglib_MODULES): Add reboot.mod.
11930 (reboot_mod_SOURCES): New variable.
11931 (reboot_mod_CFLAGS): Likewise.
11932 (reboot_mod_LDFLAGS): Likewise.
11933 (pkglib_MODULES): Add date.mod.
11934 (date_mod_SOURCES): New variable.
11935 (date_mod_CFLAGS): Likewise.
11936 (date_mod_LDFLAGS): Likewise.
11937 (pkglib_MODULES): Add datehook.mod.
11938 (datehook_mod_SOURCES): New variable.
11939 (datehook_mod_CFLAGS): Likewise.
11940 (datehook_mod_LDFLAGS): Likewise.
11941 (pkglib_MODULES): Add lsmmap.mod.
11942 (lsmmap_mod_SOURCES): New variable.
11943 (lsmmap_mod_CFLAGS): Likewise.
11944 (lsmmap_mod_LDFLAGS): Likewise.
11945 (pkglib_MODULES): Add boot.mod.
11946 (boot_mod_SOURCES): New variable.
11947 (boot_mod_CFLAGS): Likewise.
11948 (boot_mod_LDFLAGS): Likewise.
11949 * conf/i386-coreboot.rmk: Removed redundant parts.
11950 * conf/i386-ieee1275.rmk: Likewise.
11951 * conf/i386-pc.rmk: Likewise.
11952 * conf/mips-yeeloong.rmk: Likewise.
11953 * conf/mips.rmk: Likewise.
11954 * conf/powerpc-ieee1275.rmk: Likewise.
11955 * conf/sparc64-ieee1275.rmk: Likewise.
11956 * conf/x86_64-efi.rmk: Likewise.
11957 * conf/i386-coreboot.rmk: Moved qemu parts ..
11958 * conf/i386-qemu.rmk: ... here
11959 * conf/i386-efi.rmk: Moved common parts to...
11960 * conf/x86-efi.rmk: ... here.
11961 * conf/i386.rmk: Added modules common to all x86 variants.
11962 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
11963 * disk/memdisk.c: Remove grub/machine/kernel.h.
11964 * gensymlist.sh.in: Include symbol.h.
11965 * hook/datehook.c: Correct module name.
11966 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
11967 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
11968 * include/grub/i386/efi/serial.h: New file.
11969 * include/grub/x86_64/efi/serial.h: Likewise.
11970 * util/time.c: Likewise.
11971 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
11972
463ac55f
CK
119732010-03-14 Colin King <colin.king@ubuntu.com>
119742010-03-14 Colin Watson <cjwatson@ubuntu.com>
11975
11976 Shrink the pre-partition-table part of boot.img by eight bytes.
11977
11978 * boot/i386/pc/boot.S (ERR): New macro.
11979 (chs_mode): Use ERR.
11980 (geometry_error): Likewise.
11981 (hd_probe_error): Remove. This is only used once, so we wrwite
11982 it inline instead.
11983 (read_error): Instead of printing read_error_string, just set up
11984 %si and fall through to ...
11985 (error_message): ... this new function, also used by ERR.
11986
08e46ede
CW
119872010-03-14 Colin Watson <cjwatson@ubuntu.com>
11988
11989 Speed up consecutive hostdisk operations on the same device.
11990
11991 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
11992 (grub_util_biosdisk_open): Initialise disk->data.
11993 (struct linux_partition_cache): New structure.
11994 (linux_find_partition): Cache partition start positions; these are
11995 expensive to compute on every read and write.
11996 (open_device): Cache open file descriptor in disk->data, so that we
11997 don't have to reopen it and flush the buffer cache for consecutive
11998 operations on the same device.
11999 (grub_util_biosdisk_close): New function.
12000 (grub_util_biosdisk_dev): Set `close' member.
12001
12002 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12003 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12004 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12005 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12006 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12007
4a6d2d06
VS
120082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Compile parts of grub-emu as modules.
12011
12012 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12013 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12014 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12015 (all-local): Add $(GRUB_EMU).
12016 (install-local): Install $(GRUB_EMU).
12017 (uninstall): Uninstall $(GRUB_EMU).
12018 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12019 * kern/dl.c: Likewise.
12020 * commands/sleep.c: Not include machine/time.h.
12021 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12022 (COMMON_CFLAGS): Likewise.
12023 (sbin_UTILITIES): Remove grub-emu.
12024 (grub_emu_SOURCES): Removed.
12025 (kernel_img_RELOCATABLE): New variable.
12026 (pkglib_PROGRAMS): Add kernel.img.
12027 (kernel_img_SOURCES): New variable
12028 (kernel_img_CFLAGS): Likewise.
12029 (kernel_img_LDFLAGS): Likewise.
12030 (TARGET_NO_STRIP): Likewise.
12031 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12032 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12033 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12034 (grub-emu): New target.
12035 (GRUB_EMU): New variable.
12036 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12037 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12038 * loader/xnu.c: Likewise.
12039 * include/grub/pci.h: Likewise.
12040 * genemuinit.sh: New file.
12041 * genemuinitheader.sh: Likewise.
12042 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12043 Support TARGET_NO_DYNAMIC_MODULES.
12044 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12045 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12046 * disk/loopback.c: Likewise.
12047 * font/font_cmd.c: Likewise.
12048 * partmap/acorn.c: Likewise.
12049 * partmap/amiga.c: Likewise.
12050 * partmap/apple.c: Likewise.
12051 * partmap/gpt.c: Likewise.
12052 * partmap/msdos.c: Likewise.
12053 * partmap/sun.c: Likewise.
12054 * parttool/msdospart.c: Likewise.
12055 * term/gfxterm.c: Likewise.
12056 * video/bitmap.c: Likewise.
12057 * video/readers/jpeg.c: Likewise.
12058 * video/readers/png.c: Likewise.
12059 * video/readers/tga.c: Likewise.
12060 * video/video.c: Likewise.
12061 * util/grub-emu.c (read_command_list): Removed.
12062 (main): Don't call util_init_nls.
12063 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12064 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12065
91fdd2ed
VS
120662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12069 date.mod, datehook.mod.
12070 (datetime_mod_SOURCES): New variable.
12071 (datetime_mod_CFLAGS): Likewise.
12072 (datetime_mod_LDFLAGS): Likewise.
12073 (date_mod_SOURCES): Likewise.
12074 (date_mod_CFLAGS): Likewise.
12075 (date_mod_LDFLAGS): Likewise.
12076 (datehook_mod_SOURCES): Likewise.
12077 (datehook_mod_CFLAGS): Likewise.
12078 (datehook_mod_LDFLAGS): Likewise.
12079 * conf/sparc64-ieee1275.rmk: Likewise.
12080 * lib/ieee1275/datetime.c: New file.
12081
873ccae6
VS
120822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12085 (ieee1275_fb_mod_SOURCES): New variable.
12086 (ieee1275_fb_mod_CFLAGS): Likewise.
12087 (ieee1275_fb_mod_LDFLAGS): Likewise.
12088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12089 New proto.
12090 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12091 (HEAP_MAX_ADDR): Likewise.
12092 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12093 type.
12094 Correct stop condition.
12095 (grub_ieee1275_devices_iterate): New function.
12096 * video/ieee1275.c: New file.
12097
601c97c0
VS
120982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12101
12102 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12103 as scratch.
12104 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12105 SCRATCH_PAD_DISKBOOT as scratch.
12106 (bootit): Pass Openfirmware pointer in %o4.
12107 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12108 of 0x200000.
12109 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12110 with util/grub-mkrawimage.c.
12111 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12112 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12113 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12114 (grub_aout_load) [GRUB_UTIL]: Likewise.
12115 * include/grub/kernel.h (grub_modules_get_end): New proto.
12116 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12117 (SCRATCH_PAD_BOOT): New definition.
12118 (SCRATCH_PAD_DISKBOOT): Likewise.
12119 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12120 * include/grub/sparc64/ieee1275/ieee1275.h
12121 (grub_ieee1275_original_stack): New variable
12122 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12123 New definition
12124 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12125 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12126 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12127 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12128 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12129 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12130 (grub_platform_image_format_t): New type.
12131 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12132 * kern/main.c (grub_modules_get_end)
12133 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12134 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12135 (codestart): Switch stacks.
12136 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12137 variable.
12138 (grub_heap_init): Use grub_modules_get_end.
12139 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12140 stack.
12141 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12142 (main): Likewise.
12143 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12144
d68b491e
TG
121452010-03-14 Thorsten Glaser <tg@mirbsd.org>
12146
12147 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12148
4e02ed50
MK
121492010-03-08 Matt Kraai <kraai@ftbfs.org>
12150
12151 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12152 bug #559005).
12153
1f15fc1e
VS
121542010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * genmoddep.awk: Output all missing symbols and not only first.
12157
fce5d8ff
VS
121582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * NEWS: Put the date of 1.98 release.
12161
d1e8a02f
VS
121622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12165 ft2build.h.
12166
696fd607
VS
121672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12170 completition in the middle of string.
12171
33e2e6f3
VS
121722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * util/grub-mkrescue.in: Use mktemp with explicit template.
12175
b1f6d291
VS
121762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12179
2ac227c7
VS
121802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12183 right pointer.
12184
8f9a632b
VS
121852010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 Fix FreeBSD compilation.
12188
12189 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12190 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12191
60b03859
VS
121922010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12195
48a5a769
VS
121962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12199
3ab4bd77
VS
122002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12203
d116e0d8
RM
122042010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12205
12206 Support relative image path in theme file.
12207
12208 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12209 (image_set_property): Handle theme_dir and relative path.
12210
c7ef54aa
VS
122112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * configure.ac: Alias amd64 to x86_64.
12214
fcee14ed
VS
122152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * NEWS: mention multiboot on EFI.
12218
d0780363
VS
122192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * kern/main.c (grub_load_modules): Handle errors from init functions of
12222 embeded modules.
12223
41168ea4
VS
122242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * normal/autofs.c (autoload_fs_module): Handle errors.
12227
b54d93ac
VS
122282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 Disable linux.mod on qemu-mips since it's not functional and leads
12231 to compilation failure.
12232
12233 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12234 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12235 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12236 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12237 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12238 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12239 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12240 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12241 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12242 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12243 Reported by: BVK Chaitanya
12244
fc8345da
JU
122452010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12246
12247 * INSTALL: Add gettext as a dependency and add qemu to a new section
12248 "Prerequisites for make-check".
12249
4760f979
CF
122502010-03-04 Christian Franke <franke@computer.org>
12251
12252 * util/grub-pe2elf.c: Add missing include "progname.h".
12253
f209b5b2
VS
122542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * normal/crypto.c (read_crypto_list): Fix a typo.
12257 Reported by: Seth Goldberg.
12258
b4b7be98
VS
122592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 12262 Reported by: Seth Goldberg.
b4b7be98 12263
c0ee0385
VS
122642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12267 ascii.bitmaps.
12268
a8efbf64
VS
122692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 12272 Reported by: Seth Goldberg.
a8efbf64 12273
08dcd913
VS
122742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * util/i386/efi/grub-install.in: Copy gettext files.
12277
c4d0b332
VS
122782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12281
c6f2fe52
VS
122822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Wait for user entry basing on presence of output rather than on errors.
12285
12286 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12287 (grub_install_newline_hook): Likewise.
12288 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12289 * normal/menu.c (show_menu): Check line_counter to determine presence
12290 of output.
12291 * normal/term.c (grub_normal_line_counter): New variable.
12292 (grub_normal_get_line_counter): New function.
12293 (grub_install_newline_hook): Likewise.
12294
5382b1e4
VS
122952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12298
5519963b
VS
122992010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * configure.ac: Update version to 1.98.
12302
72b28631
VS
123032010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * util/grub.d/10_linux.in (linux_entry): Don't default to
12306 gfxpayload=keep if Linux doesn't support video handover.
12307
c140a180
VS
123082010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 Don't compile video modules on yeeloong since video subsystem is part
12311 of kernel.
12312
12313 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12314 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12315 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12316 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12317 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12318 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12319 * include/grub/bitmap_scale.h: Likewise.
12320 * include/grub/bufio.h: Likewise.
12321 * include/grub/font.h: Likewise.
12322 * include/grub/gfxterm.h: Likewise.
12323 * include/grub/video.h: Likewise.
12324 * include/grub/vbe.h: Don't include video_fb.h.
12325 * video/i386/pc/vbe.c: Include video_fb.h.
12326 * commands/i386/pc/vbetest.c: Include video.h.
12327
a0ca21c2
CW
123282010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12329
12330 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12331 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12332 default entry if GRUB_SAVEDEFAULT=true. This allows using
12333 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12334 saving a new default on every boot.
12335
4a8a763c
VS
123362010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12339 * normal/term.c (read_terminal_list): Likewise.
12340 * normal/main.c (grub_normal_init_page): Likewise.
12341 (grub_normal_read_line_real): Likewise.
12342
607ffde2
VS
123432010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12346 memory leak.
12347 Reported by: Seth Goldberg.
12348
2b8fa975
CW
123492010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12350
12351 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12352 duplicate declaration of `start'.
12353
618307dd
VS
123542010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12357 filename.
12358 Reported by: Georgy Buranov
12359
7dd05b96 123602010-02-20 Carles Pina i Estany <carles@pina.cat>
12361
12362 * util/grub-mkrawimage.c (usage): Change string formatting to
12363 improve gettext.
12364
d1484a42
MRA
123652010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12366
12367 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12368 backspace keys.
12369
42b1d186
VS
123702010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12373 Reported by: Michael Suchanek.
12374
123752010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
12376
12377 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12378 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12379
d9f31a41
VS
123802010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Remove any reference to non-free fonts.
12383
12384 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12385 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12386 uses non-free components.
12387 * font/font.c (grub_font_get_name): Remove example name.
12388 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12389 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12390 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12391 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12392
2793c71e
GB
123932010-02-16 Georgy Buranov <gburanov@gmail.com>
12394
12395 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12396
402e3779
VS
123972010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12400 Double divisor.
12401 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12402 features.
12403 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12404
0dd1e0dd
VS
124052010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12408
6fa7cfce
ST
124092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12410
12411 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12412 * docs/grub.texi (Command-line and menu entry commands): Document play
12413 command.
12414
37c8483b
ST
124152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12416
12417 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12418 parse arguments as inline tempo and notes. Move code for playing notes
12419 to...
12420 (play): ... new function.
12421
14da0fb7
ST
124222010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12423
12424 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12425 grub_uint16_t instead of short.
12426 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12427 disk from little endian to cpu endianness.
12428
04459e70
ST
124292010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12430
12431 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12432 GRUB_TICKS_PER_SECOND instead of 120.
12433
a0876943
VS
124342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12437 escape sequence after \e.
12438
e29f95dc
VS
124392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12442 non-ASCII characters.
12443
d27859b2
VS
124442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12447 set root in single quotes to prevent \, from being unescaped.
12448
bc028f2f
VS
124492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Prevent unknown commands from stopping menuentry execution.
12452
12453 * script/execute.c (grub_script_execute_cmdline): Print error after
12454 unknown command.
12455
095f5f82
VS
124562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12459 Reported by: Pavel Pisa.
12460
8c717950
VS
124612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12464
904935c3
VS
124652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 Merge grub_ieee1275_map_physical into grub_map and rename to
12468 grub_ieee1275_map
12469
12470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12471 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12472 Remove.
12473 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12474 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12475 necessary.
12476 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12477
5b59a4e3
VS
124782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12481 opening and not after.
12482
69e137e8
VS
124832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12486 constants.
12487
2c0fcc36
VS
124882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12491 (alloc_phys): Use ALIGN_UP instead of align_addr.
12492
8c6052ce
VS
124932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12496
17cec782
VS
124972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12500
e0128bbd
VS
125012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12504 verbose dprintf.
12505
ca62070b
VS
125062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 Fix over-4GiB seek on sparc64.
12509
12510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12511 Replace pos_i and pos_lo with pos. All users updated.
12512 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12513 New constant.
12514 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12515 Likewise.
12516 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12517 and pos_lo.
12518
bdca2607
VS
125192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * util/grub-mkrawimage.c (main): Call set_program_name.
12522
da278c4d
VS
125232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 Properly align 64-bit targets.
12526
12527 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12528 (generate_image): Use ALIGN_ADDR.
12529
b274d734
VS
125302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Properly create cross-endian images.
12533
12534 * include/grub/types.h (grub_host_to_target_addr): New macro
12535 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12536
82da2062
VS
125372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12540
7cae4377
VS
125412010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12544
12545 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12546 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12547 (grub_linux_boot): Divide by 64K when on VESA.
12548
65a533e7
VS
125492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Support GRUB_GFXPAYLOAD_LINUX.
12552
12553 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12554 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12555
dd01d397
VS
125562010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12559 to show messages instead of discarding them.
12560 Process errors after executing command and not before. Keep old method
12561 too as precaution.
12562
660960d6
VS
125632010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * configure.ac: Check for ft2build.h.
12566
62509f04
VS
125672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12570
473df63d
VS
125712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * genkernsyms.sh.in: Use TARGET_CC.
12574
c98d2a13
CW
125752010-02-07 Colin Watson <cjwatson@ubuntu.com>
12576
12577 * NEWS: Update.
12578
6e14234c
VS
125792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
12582 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12583 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 12584
b255e9cf
YB
125852010-02-07 Yves Blusseau <blusseau@zetam.org>
12586
6e14234c 12587 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 12588
98e6959d
VS
125892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 Fix warnings in grub-emu when compiling with maximum warning options.
12592
12593 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12594 (grub_arch_modules_addr): Return 0 and not NULL.
12595 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 12596 (xstrdup): Use newstr instead of dup.
f88d801b
VS
12597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12598 of disk to dsk to avoid shadowing.
74e4934e
VS
12599 (find_free_slot): Fix prototype.
12600 * util/getroot.c (grub_util_is_dmraid): Make static.
12601 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12602 Add missing prototype.
12603 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 12604
74e31b5c
VS
126052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12608 appropriately.
12609
6b2ad14b
VS
126102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12613 code out.
12614
8f891adc
VS
126152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12618 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12619 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12620 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12621 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12622 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12623
74b45184
VS
126242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * include/grub/err.h (grub_err_printf): Don't export.
12627
a4bced77
VS
126282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12631
007d0695
VS
126322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12635 * kern/misc.c (grub_gettext_dummy): Make static.
12636
b6c0d9c2
VS
126372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12640 by non-valid ones.
12641 * kern/term.c (grub_putchar): Likewise.
12642
f51a90d0
VS
126432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12646 buggy hook call and memory leak.
12647
6846cec5
VS
126482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12651
468d69fe
VS
126522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12655
51906b8c
VS
126562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12659 modevar.
12660 Return grub_errno on allocation error.
12661
09706ce5
VS
126622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12665
911df80c
YB
126662010-02-06 Yves Blusseau <blusseau@zetam.org>
12667
12668 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12669 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12670
3746a6bc
VS
126712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12674 non-pxe disk.
12675 (grub_pxefs_open): Likewise.
12676
09706ce5
VS
126772010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12678
12679 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12680 * util/grub.d/10_kfreebsd.in: Likewise.
12681 * util/grub.d/10_linux.in: Likewise.
12682
7cc192d9
VS
126832010-02-06 Colin D Bennett <colin@gibibit.com>
12684
12685 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12686 (gfxmenu_mod_SOURCES): New variable.
12687 (gfxmenu_mod_CFLAGS): Likewise.
12688 (gfxmenu_mod_LDFLAGS): Likewise.
12689 * include/grub/term.h (grub_term_set_current_output): Declare
12690 argument as const.
12691 * docs/gfxmenu-theme-example.txt: New file.
12692 * gfxmenu/gfxmenu.c: Likewise.
12693 * gfxmenu/gui_box.c: Likewise.
12694 * gfxmenu/gui_canvas.c: Likewise.
12695 * gfxmenu/gui_circular_progress.c: Likewise.
12696 * gfxmenu/gui_image.c: Likewise.
12697 * gfxmenu/gui_label.c: Likewise.
12698 * gfxmenu/gui_list.c: Likewise.
12699 * gfxmenu/gui_progress_bar.c: Likewise.
12700 * gfxmenu/gui_string_util.c: Likewise.
12701 * gfxmenu/gui_util.c: Likewise.
12702 * gfxmenu/icon_manager.c: Likewise.
12703 * gfxmenu/model.c: Likewise.
12704 * gfxmenu/named_colors.c: Likewise.
12705 * gfxmenu/theme_loader.c: Likewise.
12706 * gfxmenu/view.c: Likewise.
12707 * gfxmenu/widget-box.c: Likewise.
12708 * include/grub/gfxmenu_model.h: Likewise.
12709 * include/grub/gfxmenu_view.h: Likewise.
12710 * include/grub/gfxwidgets.h: Likewise.
12711 * include/grub/gui.h: Likewise.
12712 * include/grub/gui_string_util.h: Likewise.
12713 * include/grub/icon_manager.h: Likewise.
12714
127152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Agglomerate scrolling in gfxterm.
12718
12719 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12720 (grub_virtual_screen_setup): Initialise 'total_screen'.
12721 (write_char): Split to ...
12722 (paint_char): ... this ...
12723 (write_char): ... and this.
12724 (paint_char): Handle delayed scrolling.
12725 (draw_cursor): Likewise.
12726 (scroll_up): Split to ...
12727 (real_scroll): ... this ...
12728 (scroll_up): ... and this.
12729 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12730 characters.
12731 (grub_gfxterm_refresh): Call real_scroll.
12732
127332010-02-06 Colin D Bennett <colin@gibibit.com>
12734
12735 * include/grub/misc.h (grub_iscntrl): New inline function.
12736 (grub_isalnum): Likewise.
12737 (grub_strtol): Likewise.
12738
127392010-02-06 Colin D Bennett <colin@gibibit.com>
12740
12741 * normal/menu_text.c (get_entry_number): Move from here ...
12742 * normal/menu.c (get_entry_number): ... moved here.
12743 * include/grub/menu.h (grub_menu_get_default_entry_index):
12744 New prototype.
12745 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12746 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12747 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12748 (grub_menu_viewer_should_return): Likewise.
12749 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12750 * normal/menu_text.c (run_menu): Enable menu switching.
12751 * normal/menu_viewer.c (should_return): New variable.
12752 (menu_viewer_changed): Likewise.
12753 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12754 (grub_menu_viewer_should_return): New function.
12755 (menuviewer_write_hook): Likewise.
12756 (grub_menu_viewer_init): Likewise.
12757
127582010-02-06 Colin D Bennet <colin@gibibit.com>
127592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Support for gfxterm in a window.
12762
12763 * include/grub/gfxterm.h: New file.
12764 * include/grub/video.h (struct grub_video_rect): New declaration.
12765 (grub_video_rect_t): Likewise.
12766 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12767 (refcount): New variable.
12768 (render_target): Likewise.
12769 (window): Likewise.
12770 (repaint_callback): Likewise.
12771 (grub_virtual_screen_setup): Use 'render_target'.
12772 (init_window): New function.
12773 (grub_gfxterm_init_window): Likewise.
12774 (grub_gfxterm_init): Check reference counter.
12775 Use init_window.
12776 (destroy_window): New function.
12777 (grub_gfxterm_destroy_window): Likewise.
12778 (grub_gfxterm_fini): Check reference counter.
12779 Use destroy_window.
12780 (redraw_screen_rect): Restore viewport.
12781 Use 'render_target' and 'window'.
12782 Call 'repaint_callback'.
12783 (write_char): Use 'render_target'.
12784 (draw_cursor): Likewise.
12785 (scroll_up): Restore viewport.
12786 Use 'render_target' and 'window'.
12787 Call 'repaint_callback'.
12788 (grub_gfxterm_cls): Likewise.
12789 (grub_gfxterm_refresh): Use 'window'.
12790 (grub_gfxterm_set_repaint_callback): New function.
12791 (grub_gfxterm_background_image_cmd): Use 'window'.
12792 (grub_gfxterm_get_term): New function.
12793 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12794
127952010-02-06 Colin D Bennett <colin@gibibit.com>
12796
12797 Bitmap scaling support.
12798
12799 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12800 (bitmap_scale_mod_SOURCES): New variable.
12801 (bitmap_scale_mod_CFLAGS): Likewise.
12802 (bitmap_scale_mod_LDFLAGS): Likewise.
12803 * include/grub/bitmap_scale.h: New file.
12804 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12805 (background_image_cmd_options): New variable.
12806 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12807 (cmd): Rename and change type to ...
12808 (background_image_cmd_handle): ... this. All users updated.
12809 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12810 * video/bitmap_scale.c: New file.
12811
128122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 SDL support.
12815
12816 * Makefile.in (LIBSDL): New variable.
12817 (enable_grub_emu_sdl): Likewise.
12818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12819 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12820 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12821 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12822 * util/sdl.c: New file.
12823
128242010-02-06 Colin D Bennett <colin@gibibit.com>
128252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 Double buffering support.
12828
12829 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12830 * include/grub/video.h: Update comment.
12831 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12832 New type.
12833 (grub_video_fb_doublebuf_blit_init): New prototype.
12834 * term/gfxterm.c (scroll_up): Support double buffering.
12835 (grub_gfxterm_refresh): Likewise.
12836 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12837 (grub_video_fb_doublebuf_blit_init): Likewise.
12838 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12839 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12840 'displayed_page', 'render_page' and 'update_screen'.
12841 (grub_video_vbe_fini): Free offscreen buffer.
12842 (doublebuf_pageflipping_commit): New function.
12843 (doublebuf_pageflipping_update_screen): Likewise.
12844 (doublebuf_pageflipping_init): Likewise.
12845 (double_buffering_init): Likewise.
12846 (grub_video_vbe_setup): Enable doublebuffering.
12847 (grub_video_vbe_swap_buffers): Implement.
12848 (grub_video_vbe_set_active_render_target): Handle double buffering.
12849 (grub_video_vbe_get_active_render_target): Likewise.
12850 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12851 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12852 (grub_video_vbe_enable_double_buffering): Likewise.
12853 (grub_video_vbe_swap_buffers): Use update_screen.
12854 (grub_video_set_mode): Use double buffering.
12855
128562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12857
12858 * maintainance/gentrigtables.py: Remove.
12859 * lib/trig.c: Likewise.
12860
12861 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12862
12863 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12864 `trigtables.c'.
12865 (trigtables.c): New rule.
12866 (gentrigtables): Likewise.
12867 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12868
128692010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12870
12871 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12872 integer constants.
12873
128742010-02-06 Colin D Bennet <colin@gibibit.com>
12875
12876 Trigonometry support.
12877
12878 * include/grub/trig.h: New file.
12879 * lib/trig.c: Likewise.
12880 * maintainance/gentrigtables.py: Likewise.
12881 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12882 (trig_mod_SOURCES): New variable.
12883 (trig_mod_CFLAGS): Likewise.
12884 (trig_mod_LDFLAGS): Likewise.
12885
5562834e
VS
128862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12889 disk devices.
12890
4f8528fc
VS
128912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12894 error.
12895
2b4068e9
VS
128962010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * util/hostdisk.c (open_device): Don't use partition device when reading
12899 before the partition.
12900 (grub_util_biosdisk_read): Don't read from partition and before the
12901 partition in single operation.
12902 (grub_util_biosdisk_write): Don't write to partition and before the
12903 partition in single operation.
12904
399f6e4d
TL
129052010-02-03 Torsten Landschoff <torsten@debian.org>
12906
12907 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12908 last sectors.
12909
996649b0
VS
129102010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12913 CDROM reads.
12914 (grub_biosdisk_write): Refuse to write to CDROM.
12915
3b205d4d
VS
129162010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12919
61e89d9d
VS
129202010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * font/font.c (find_glyph): Check that bmp_idx is available before
12923 using it.
12924 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12925 with (font == NULL).
12926
bf7fcba2
CS
129272010-01-28 Christian Schmitt <chris@ilovelinux.de>
12928
12929 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12930
f45d2663
BC
129312010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12932
12933 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12934 * util/grub-script-check.c (getline): Fix empty lines case.
12935
ec1444e6
RM
129362010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12937
12938 * Makefile.in (check): Exit with fail status when one of the tests
12939 fails.
12940 * tests/example_functional_test.c (example_test): Fix reversed assert.
12941 * tests/example_unit_test.c (example_test): Likewise.
12942
2e1cb9bb
CW
129432010-01-28 Colin Watson <cjwatson@ubuntu.com>
12944
12945 * util/grub.d/10_linux.in: This script does not use any of the
12946 contents of gettext.sh, only the external command `gettext', so stop
12947 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12948 the same prefix as GRUB.)
12949 * util/grub.d/10_kfreebsd.in: Likewise.
12950
63533ab0
VS
129512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12954 of the line.
12955
989e1f93
VS
129562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12959 last sectors.
12960
e709ebe2
VS
129612010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
12964 having a 4KiB and not 32KiB buffer size.
12965
27dea7ed
RM
129662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12967
12968 * util/hostfs.c: Include `<errno.h>'.
12969 (grub_hostfs_read): Handle errors from fseeko() and fread().
12970
67667b9c
RM
129712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12972
12973 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
12974 loop when using read hooks on files whose size isn't sector-aligned.
12975
c294d9d8
RM
129762010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12977
12978 Remove unused parameter.
12979
12980 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
12981 (grub_iso9660_open): Remove initialization of `data->length'.
12982
af75a9f1
RM
129832010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12984
12985 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
12986 memleak conditions.
12987
254e2ce5 129882010-01-27 Carles Pina i Estany <carles@pina.cat>
12989
12990 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
12991 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
12992
b510928c 129932010-01-26 Carles Pina i Estany <carles@pina.cat>
12994
12995 * util/bin2h.c (usage): Fix warning (space after backslash).
12996
aa2f9dd2 129972010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 12998
12999 * font/font.c: Include `grub/fontformat.h.
13000 Remove font file format constants.
13001 (grub_font_load): Use the new macros.
13002 * include/grub/fontformat.h: New file.
13003 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13004 (write_font_pf2): Use the new macros.
13005
94e7e712
RM
130062010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13009 does.
13010
3973a59a
RM
130112010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13012
13013 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13014
13015 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13016 (_start): Macroify `0x7F'.
13017
13018 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13019 (make_install_device): Use "(pxe)" as fallback prefix when booting
13020 via PXE.
13021
42e0cba3
GS
130222010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * configure.ac: Reset LIBS after check for libgcc symbols.
13025
847effd8
CW
130262010-01-25 Colin Watson <cjwatson@ubuntu.com>
13027
13028 * util/hostdisk.c (open_device): Add trailing newline to debug
13029 message.
13030
ea4a7e35
GS
130312010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13032
13033 * configure.ac: Check for `limits.h'.
13034 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13035
67951a53
RM
130362010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13037
13038 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13039 capitalize error strings.
13040
c273d4ce
ST
130412010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13042
13043 * util/grub.d/10_hurd.in: Add a recovery mode.
13044
69be5b74
VS
130452010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * configure.ac: Check for libgcc symbols with -nostdlib.
13048
fc9e5810
BC
130492010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13050
13051 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13052
4b358c0a
VS
130532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13056 stack since heap may be unavailable at that point.
13057 (grub_ofconsole_gotoxy): Likewise.
13058
454fcd1c
VS
130592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * configure.ac: Check for _restgpr_14_x.
13062 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13063 and _savegpr_* prototypes.
13064
566863ca
RM
130652010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13066
13067 Use generic grub_reboot() for i386-efi.
13068
13069 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13070 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13071 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13072
bf86e59a
VS
130732010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13076 presence of "prefix" variable as it breaks when normal.mod is
13077 embedded.
13078
d645e0f8
VS
130792010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13082 stack since heap is unavailable at that point.
13083
f9ab2e25
VS
130842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13087 (grub_freebsd_bootinfo): Rewritten.
13088 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13089
01fc7054
VS
130902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13093
caab4fd6
RM
130942010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13095
13096 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13097 domain now.
13098
67eb1427
FZ
130992010-01-20 Felix Zielcke <fzielcke@z-51.de>
13100
13101 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13102 around for handling "/" to the correct fix. Fix a memory leak. Use
13103 xstrdup instead of strdup.
13104
a9ed4ff3
VS
131052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13108
131092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
13110
13111 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13112
13113 * font/font.c (struct grub_font): New member 'bmp_idx'.
13114 (font_init): Initialise 'bmp_idx'.
13115 (load_font_index): Fill 'bmp_idx'.
13116 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13117
48209f4f
VS
131182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13121 unnecessary calls.
13122
9f0a4bb7
VS
131232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 Move context handling out of the kernel.
13126
13127 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13128 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13129 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13130 * conf/i386-efi.rmk: Likewise.
13131 * conf/i386-ieee1275.rmk: Likewise.
13132 * conf/i386-pc.rmk: Likewise.
13133 * conf/powerpc-ieee1275.rmk: Likewise.
13134 * conf/sparc64-ieee1275.rmk: Likewise.
13135 * conf/x86_64-efi.rmk: Likewise.
13136 * include/grub/env.h: Include grub/menu.h.
13137 (grub_env_var_type): Removed.
13138 (grub_env_var): Replaced field 'type' with 'global'.
13139 (grub_env_find): New prototype.
13140 (grub_env_context_open): Remove EXPORT_FUNC.
13141 (grub_env_context_close): Likewise.
13142 (grub_env_export): Likewise.
13143 (grub_env_set_data_slot): Removed.
13144 (grub_env_get_data_slot): Likewise.
13145 (grub_env_unset_data_slot): Likewise.
13146 (grub_env_unset_menu): New prototype.
13147 (grub_env_set_menu): Likewise.
13148 (grub_env_get_menu): Likewise.
13149 * include/grub/env_private.h: New file.
13150 * include/grub/normal.h (grub_context_init): New prototype.
13151 (grub_context_fini): Likewise.
13152 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13153 * normal/context.c (grub_cmd_export): ... to here.
13154 * kern/env.c: Include env_private.h.
13155 (HASHSZ): Moved to include/grub/env_private.h.
13156 (grub_env_context): Likewise.
13157 (grub_env_sorted_var): Likewise.
13158 (current_context): Renamed from this ...
13159 (grub_current_context): ...to this. 'static' removed. All users updated.
13160 (grub_env_find): Removed 'static'.
13161 (grub_env_context_open): Moved to normal/context.c.
13162 (grub_env_context_close): Likewise.
13163 (grub_env_export): Likewise.
13164 (mangle_data_slot_name): Removed.
13165 (grub_env_set_data_slot): Likewise.
13166 (grub_env_get_data_slot): Likewise.
13167 (grub_env_unset_data_slot): Likewise.
13168 * kern/main.c (grub_set_root_dev): Don't export root.
13169 It will be done later.
13170 (grub_main): Don't export prefix.
13171 It will be done later.
13172 * normal/context.c: New file.
13173 * normal/main.c (free_menu): Use grub_env_unset_menu.
13174 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13175 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13176 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13177 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13178
8dd35b8c
VS
131792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 setpci support.
13182
13183 * commands/setpci.c: New file.
13184 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13185 (setpci_mod_SOURCES): New variable.
13186 (setpci_mod_CFLAGS): Likewise.
13187 (setpci_mod_LDFLAGS): Likewise.
13188
449193d5
VS
131892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 Byte-addressable PCI configuration space.
13192
13193 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13194 dword address.
13195 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13196 GRUB_PCI_REG_CACHELINE.
13197 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13198 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13199 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13200 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13201 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13202 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13203 grub_pci_make_address.
13204 (lock_rom_area): Likewise.
13205 * commands/lspci.c (grub_lspci_iter): Use macroses
13206 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13207 of grub_pci_make_address.
13208 * disk/ata.c (grub_ata_pciinit): Likewise.
13209 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13210 (GRUB_PCI_REG_VENDOR): Likewise.
13211 (GRUB_PCI_REG_DEVICE): Likewise.
13212 (GRUB_PCI_REG_COMMAND): Likewise.
13213 (GRUB_PCI_REG_STATUS): Likewise.
13214 (GRUB_PCI_REG_REVISION): Likewise.
13215 (GRUB_PCI_REG_CLASS): Likewise.
13216 (GRUB_PCI_REG_CACHELINE): Likewise.
13217 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13218 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13219 (GRUB_PCI_REG_BIST): Likewise.
13220 (GRUB_PCI_REG_ADDRESSES): Likewise.
13221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13227 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13228 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13229 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13230 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13231 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13232 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13233 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13234 (GRUB_PCI_REG_MIN_GNT): Likewise.
13235 (GRUB_PCI_REG_MAX_LAT): Likewise.
13236 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13237 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13238 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 13239 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
13240 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13241 space.
13242
96d73208
RM
132432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13244
13245 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13246 can be reliably determined to be supported.
13247
d4484482
RM
132482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13249
13250 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13251 that VESA is supported.
13252 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13253 supported.
13254
00308ecf
VS
132552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13258
f66924a4
RM
132592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13260
13261 * util/misc.c (make_system_path_relative_to_its_root): Work around
13262 special-casing of "/", as previous incarnation of this routine did.
13263
cbca0ada
VS
132642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Fix any-emu compilation.
13267
13268 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13269 * grub_bin2h_SOURCES: New variable.
13270
34a66d99
RM
132712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13272
13273 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13274
94fabf58
RM
132752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13276
13277 * util/grub.d/00_header.in: Fix handling of locale_dir.
13278
02cf98ca
VS
132792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13282 as possible unifont location (Gentoo).
13283 Reported by: Alexander Brüning
13284
327dbcd7
VS
132852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 Don't try to generate lists for kernel.img.
13288
13289 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13290 (pkglib_MODULES): Remove kernel.img.
13291 (kernel_img_EXPORTS): Removed.
13292 (kernel_img_RELOCATABLE): New variable.
13293 * conf/x86_64-efi.rmk: Likewise.
13294 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13295
ca467290
VS
132962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13299 grub_xasprintf or grub_snprintf.
13300 (grub_vsprintf): Likewise.
13301 (grub_snprintf): New proto.
13302 (grub_vsnprintf): Likewise.
13303 (grub_xasprintf): Likewise.
13304 (grub_xvasprintf): Likewise.
13305 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13306 (grub_sprintf): Removed.
13307 (grub_vsnprintf): New function.
13308 (grub_snprintf): Likewise.
13309 (grub_xvasprintf): Likewise.
13310 (grub_xasprintf): Likewise.
13311 (grub_vsprintf): Renamed to ...
13312 (grub_vsnprintf_real): ...this. New argument max_len.
13313
aca655fd
BC
133142010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13315
13316 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13317 fix grub-script-check warning.
13318
7ee92c32
VS
133192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 * include/grub/font.h (grub_font_load): Fix prototype.
13322
f80927ca
VS
133232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13326
119c50ea
VS
133272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * include/grub/x86_64/at_keyboard.h: New file.
13330
47d5f3c1
VS
133312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * loader/mips/linux.c: Include missing grub/i18n.h.
13334
55ff5266
RM
133352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13336
13337 * normal/menu.c (notify_execution_failure): Clarify error message.
13338
c893cc87
RM
133392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13342 return value (and revert all return statements). Update users.
13343
917dd370
CW
133442010-01-20 Dan Merillat <debian@dan.merillat.org>
13345
13346 * kern/device.c (grub_device_iterate): Allocate new part_ent
13347 structure based on sizeof (*p) rather than sizeof (p->next), to
13348 account for structure padding.
13349
13350 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13351 disk is NULL, which might happen for LVM physical volumes with no
13352 LVM signature.
13353
d4a4ee57
RM
133542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13355
13356 * loader/mips/linux.c (grub_cmd_initrd)
13357 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13358
133592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13360
13361 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13362 (grub_video_video_init, grub_video_bitmap_init)
13363 (grub_font_manager_init, grub_term_gfxterm_init)
13364 (grub_at_keyboard_init): New extern declarations.
13365 (grub_machine_init): Initialize gfxterm and at_keyboard.
13366
13367 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13368
13369 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13370 `gfxterm.mod' into core image.
13371
13372 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13373 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13374 (kernel_img_FORMAT): Copy to ...
13375
13376 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13377 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13378 (kernel_img_FORMAT): ... here, and ...
13379
13380 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13381 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13382 (kernel_img_FORMAT): ... here.
13383
13384 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13385 and input (at_keyboard) terminals in kernel.
13386 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13387
13388 (pkglib_MODULES): Remove `pci.mod'.
13389 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13390 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13391 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13392 (at_keyboard_mod_LDFLAGS): Remove variables.
13393
133942010-01-11 Felix Zielcke <fzielcke@z-51.de>
13395
13396 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13397
133982009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13399
13400 * include/grub/mips/libgcc.h: Only export symbols for functions
13401 that libgcc provides.
13402
134032009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 MIPS support.
13406
13407 * bus/bonito.c: New file.
13408 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13409 GRUB_PCI_NUM_DEVICES.
13410 * term/i386/pc/serial.c: Move to ...
13411 * term/serial.c: ... here. All users updated.
13412 * util/i386/pc/grub-mkimage.c: Move to ...
13413 * util/grub-mkrawimage.c: ... here. All users updated.
13414 * term/i386/pc/at_keyboard.c: Move to ...
13415 * term/at_keyboard.c: ... here. All users updated.
13416 * conf/mips-qemu-mips.rmk: New file.
13417 * conf/mips-yeeloong.rmk: Likewise.
13418 * conf/mips.rmk: Likewise.
13419 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13420 mipsel-qemu-mips.
13421 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13422 to port addresses.
13423 (grub_ata_pciinit): Support CS5536.
13424 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13425 * font/font_cmd.c (loadfont_command): Open file before passing it to
13426 grub_font_load.
13427 (pseudo_file_read): New function.
13428 (pseudo_file_close): Likewise.
13429 (pseudo_fs): New structure.
13430 (load_font_module): New function.
13431 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13432 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13433 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13434 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13435 * include/grub/i386/at_keyboard.h: Split into ...
13436 * include/grub/at_keyboard.h: ... this ...
13437 * include/grub/i386/at_keyboard.h: ... and this.
13438 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13439 New prototype.
13440 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13441 updated.
13442 (grub_elf64_size): Likewise.
13443 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13444 filename.
13445 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13446 * include/grub/i386/coreboot/serial.h: Rewritten.
13447 * include/grub/i386/ieee1275/serial.h: Include
13448 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13449 * include/grub/i386/pc/serial.h: Moved from here ...
13450 * include/grub/serial.h: ... to here. All users updated.
13451 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13452 (GRUB_PCI_NUM_BUS): Likewise.
13453 (GRUB_PCI_NUM_DEVICES): Likewise.
13454 (grub_pci_device_map_range): Add missing volatile keyword.
13455 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13456 * include/grub/mips/at_keyboard.h: New file.
13457 * include/grub/mips/cache.h: Likewise.
13458 * include/grub/mips/io.h: Likewise.
13459 * include/grub/mips/kernel.h: Likewise.
13460 * include/grub/mips/libgcc.h: Likewise.
13461 * include/grub/mips/pci.h: Likewise.
13462 * include/grub/mips/qemu-mips/boot.h: Likewise.
13463 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13464 * include/grub/mips/qemu-mips/loader.h: Likewise.
13465 * include/grub/mips/qemu-mips/memory.h: Likewise.
13466 * include/grub/mips/qemu-mips/serial.h: Likewise.
13467 * include/grub/mips/qemu-mips/time.h: Likewise.
13468 * include/grub/mips/relocator.h: Likewise.
13469 * include/grub/mips/time.h: Likewise.
13470 * include/grub/mips/types.h: Likewise.
13471 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13472 * include/grub/mips/yeeloong/boot.h: Likewise.
13473 * include/grub/mips/yeeloong/kernel.h: Likewise.
13474 * include/grub/mips/yeeloong/loader.h: Likewise.
13475 * include/grub/mips/yeeloong/memory.h: Likewise.
13476 * include/grub/mips/yeeloong/pci.h: Likewise.
13477 * include/grub/mips/yeeloong/serial.h: Likewise.
13478 * include/grub/mips/yeeloong/time.h: Likewise.
13479 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13480 * kern/elf.c (grub_elf32_size): New parameter. All users
13481 updated.
13482 (grub_elf64_size): Likewise.
13483 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13484 Load modules before saying "Welcome to GRUB!".
13485 Call grub_refresh after saying "Welcome to GRUB!".
13486 * kern/mips/cache.S: New file.
13487 * kern/mips/cache_flush.S: Likewise.
13488 * kern/mips/dl.c: Likewise.
13489 * kern/mips/init.c: Likewise.
13490 * kern/mips/qemu-mips/init.c: Likewise.
13491 * kern/mips/startup.S: Likewise.
13492 * kern/mips/yeeloong/init.c: Likewise.
13493 * kern/term.c (grub_putcode): Handle NULL terminal.
13494 (grub_getcharwidth): Likewise.
13495 (grub_getkey): Likewise.
13496 (grub_checkkey): Likewise.
13497 (grub_getkeystatus): Likewise.
13498 (grub_getxy): Likewise.
13499 (grub_getwh): Likewise.
13500 (grub_gotoxy): Likewise.
13501 (grub_cls): Likewise.
13502 (grub_setcolorstate): Likewise.
13503 (grub_setcolor): Likewise.
13504 (grub_getcolor): Likewise.
13505 (grub_refresh): Likewise.
13506 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13507 (write_jump): Add hatch nop.
13508 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13509 * lib/mips/setjmp.S: New file.
13510 * loader/mips/linux.c: Likewise.
13511 * term/i386/pc/at_keyboard.c: Move from here ...
13512 * term/at_keyboard.c: ... to here.
13513 * term/i386/pc/serial.c: Moved from here ...
13514 * term/serial.c: ... to here. All users updated.
13515 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13516 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13517 (serial_translate_key_sequence): Avoid deadlock.
13518 (grub_serial_getkey): Handle backspace.
13519 (grub_serial_putchar): Fix newline handling.
13520 * util/i386/pc/grub-mkimage.c: Move from here ...
13521 * util/grub-mkrawimage.c: ... to here. All users updated.
13522 (generate_image): New parameters 'font_path' and 'format'.
13523 Support embedding font.
13524 Use grub_host_to_target* instead of grub_cpu_to_le*.
13525 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13526 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13527 (options): New option "--font".
13528 (usage): Likewise.
13529 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13530 (main): Handle "--font".
13531 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13532 (grub_virtual_screen_setup): Set bg_color_display.
13533 (redraw_screen_rect): Use bg_color_display instead of incorrect
13534 bg_color.
13535 (grub_gfxterm_cls): Likewise.
13536 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13537 Support embedding config file.
13538 (add_segments): Likewise.
13539 (options): New option "--config".
13540 (main): Handle "--config".
13541 * video/sm712.c: New file.
13542
25c2b5b3
RM
135432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13544
13545 Fix parallel builds.
13546
13547 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13548 font.c depend on ascii.h).
13549
135502010-01-12 Carles Pina i Estany <carles@pina.cat>
13551
13552 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13553
135542010-01-11 Carles Pina i Estany <carles@pina.cat>
13555
13556 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13557 By default: disabled.
13558 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13559 parameter.
13560
135612010-01-10 Carles Pina i Estany <carles@pina.cat>
13562
13563 * font/font.c: Update copyright years.
13564 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13565
135662010-01-10 Carles Pina i Estany <carles@pina.cat>
13567
13568 * font/font.c: Include `ascii.h'.
13569 (ASCII_BITMAP_SIZE): New macro.
13570 (ascii_font_glyph): Define.
13571 (ascii_glyph_lookup): New function.
13572 (grub_font_get_string_width): Change comment. If glyph not found, use
13573 ascii_glyph_lookup.
13574 (grub_font_get_glyph_with_fallback): If glyph not available returns
13575 ascii_glyph_lookup.
13576 * util/grub-mkfont.c (file_formats): New enum.
13577 (options): Add `ascii-bitmaps' new option.
13578 (usage): Add `asii-bitmaps' new option.
13579 (write_font_ascii_bitmap): New function.
13580 (write_font): Rename to ...
13581 (write_font_p2): ... this. Remove print_glyphs call.
13582 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13583 used. Call print_glyphs.
13584 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13585
135862010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13587
13588 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13589 (grub_bin2h_SOURCES): New variable.
13590 * util/bin2h.c: New file.
13591
915fc1b8
VS
135922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * include/multiboot.h: Resynced with spec.
13595 * include/multiboot2.h: Likewise.
13596 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13597 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13598
9444b678
RM
135992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13600
13601 * include/grub/term.h (grub_term_register_input,
13602 grub_term_register_output): Check return of terminal init()
13603 routines, and abort if errors are raised.
13604
13605 * commands/terminal.c: Update copyright year.
13606
cba98e8d
RM
136072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13608
13609 * commands/terminal.c (grub_cmd_terminal_input)
13610 (grub_cmd_terminal_output): Check return of terminal init()
13611 routines, and abort if errors are raised.
13612
6f7db5d6
VS
136132010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * include/grub/i386/bsd.h: Fix include pathes.
13616
262bff8d
VS
136172010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 Add missing *BSD copyright headers.
13620
13621 * include/grub/aout.h: Add BSD licence.
13622 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13623 * include/grub/i386/freebsd_linker.h: ... here,
13624 * include/grub/i386/freebsd_reboot.h: ... here,
13625 * include/grub/i386/netbsd_bootinfo.h: ... here,
13626 * include/grub/i386/netbsd_reboot.h: ... here,
13627 * include/grub/i386/openbsd_bootarg.h: ... here,
13628 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13629 licence to each file.
13630
b2cab848
RM
136312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13632
13633 * acinclude.m4: Remove `nop' assembly instruction; it's not
13634 implemented by all architectures.
13635
2cb6be4b
RM
136362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13637
13638 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13639 ELILO. This is no longer necessary.
13640
a2eaee15
BC
136412010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13642
13643 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13644
13645 * util/grub-script-check.c: grub-script-check tool.
13646 * conf/common.rmk: Make rules for grub-script-check.
13647
88d17012
RM
136482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13649
13650 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13651 spotting it back in 2008. Shame on me for forgetting he did.
13652
13653 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13654
8040619d
RM
136552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13656
13657 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13658 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13659 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13660 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13661 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13662 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13663
a0c2a0f6
RM
136642010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13665
13666 * include/grub/test.h: Add license header.
13667 * tests/example_functional_test.c: Likewise.
13668 * tests/example_unit_test.c: Likewise.
13669 * tests/lib/functional_test.c: Likewise.
13670 * tests/lib/test.c: Likewise.
13671 * tests/lib/unit_test.c: Likewise.
13672
b0b13907
VS
136732010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 Use flag-based instead of hook-based video mode selection and "auto"
13676 keyword.
13677
13678 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13679 (grub_video_set_mode): Changed prototype. All users updated.
13680 (grub_video_check_mode_flag): New inline function.
13681 * video/video.c (parse_modespec): New function.
13682 (grub_video_set_mode): Parse flags and keywords.
13683
ea379330 136842010-01-17 Carles Pina i Estany <carles@pina.cat>
13685
13686 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13687 fprintf call.
13688
e15c215e
FZ
136892010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13690
13691 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13692
409ae1c9 136932010-01-16 Carles Pina i Estany <carles@pina.cat>
13694
13695 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13696 string.
13697 * util/grub-emu.c (usage): Likewise.
13698 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13699 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13700 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13701 * util/i386/pc/grub-setup.c (usage): Likewise.
13702
70a14d3d 137032010-01-16 Carles Pina i Estany <carles@pina.cat>
13704
13705 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13706 the message.
13707 (grub_util_info): Likewise.
13708 (grub_util_error): Likewise.
13709 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13710 and/or new lines in `grub_util_warna', `grub_util_info',
13711 `grub_util_error' calls.
13712 * util/getroot.c: Likewise.
13713 * util/grub-editenv.c: Likewise.
13714 * util/grub-emu.c: Likewise.
13715 * util/grub-fstest.c: Likewise.
13716 * util/grub-mkdevicemap.c: Likewise.
13717 * util/grub-mkfont.c: Likewise.
13718 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13719 * util/grub-mkrelpath.c: Likewise.
13720 * util/grub-pe2elf.c: Likewise.
13721 * util/grub-probe.c: Likewise.
13722 * util/hostdisk.c: Likewise.
13723 * util/i386/efi/grub-mkimage.c: Likewise.
13724 * util/i386/pc/grub-mkimage.c: Likewise.
13725 * util/i386/pc/grub-setup.c: Likewise.
13726 * util/ieee1275/ofpath.c: Likewise.
13727 * util/mkisofs/eltorito.c: Likewise.
13728 * util/mkisofs/rock.c: Likewise.
13729 * util/mkisofs/write.c: Likewise.
13730 * util/raid.c: Likewise.
13731 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13732 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13733
a0b766fc
VS
137342010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 Enable multiboot on non-pc.
13737
13738 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13739 multiboot.mod and multiboot2.mod to ...
13740 * conf/i386.rmk (pkglib_MODULES): ... here.
13741 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13742 Moved to ...
13743 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13744 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13745 Moved to ...
13746 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13747 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13748 Moved to ...
13749 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13750 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13751 Moved to ...
13752 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13753 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13754 relocator.mod.
13755 (ata_mod_SOURCES): Removed.
13756 (ata_mod_CFLAGS): Likewise.
13757 (ata_mod_LDFLAGS): Likewise.
13758 (relocator_mod_SOURCES): Removed.
13759 (relocator_mod_CFLAGS): Likewise.
13760 (relocator_mod_ASFLAGS): Likewise.
13761 (relocator_mod_LDFLAGS): Likewise.
13762 Include i386.mk.
13763 * include/grub/x86_64/multiboot.h: New file.
13764 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13765 Terminate EFI.
13766
884ade56
VS
137672010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Video multiboot support.
13770
13771 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13772 New prototype.
13773 * include/multiboot.h: Resynced with multiboot specification.
13774 * include/multiboot2.h: Likewise.
13775 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13776 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13777 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13778 (HAS_VGA_TEXT): Likewise.
13779 (accepts_video): New variable.
13780 (grub_multiboot_set_accepts_video): New function.
13781 (grub_multiboot_get_mbi_size): Account for video structures.
13782 (set_video_mode): New function.
13783 (retrieve_video_parameters): Likewise.
13784 (grub_multiboot_make_mbi): Fill video fields.
13785
0d90e8a6
VS
137862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Video driver ids.
13789
13790 * include/grub/video.h (grub_video_driver_id): New type.
13791 (grub_video_adapter): New member 'id'. All users updated.
13792 (grub_video_get_driver_id): New proto.
13793 * video/video.c (grub_video_get_driver_id): New function.
13794
5c71db1b 137952010-01-14 Carles Pina i Estany <carles@pina.cat>
13796
13797 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13798 `var=val'.
13799
cca15b52 138002010-01-14 Carles Pina i Estany <carles@pina.cat>
13801
13802 * normal/cmdline.c (print_completion): Gettextizze.
13803
c586fbb2 138042001-01-14 Carles Pina i Estany <carles@pina.cat>
13805
13806 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13807
ba2f6848 138082010-01-14 Carles Pina i Estany <carles@pina.cat>
13809
13810 * gettext/gettext.c (grub_gettext_translate): Push and pop
13811 grub_errno.
13812 (grub_gettext_delete_list): Change comment style.
13813 * kern/err.c (grub_error): Gettextizze.
13814 (grub_fatal): Gettextizze.
13815
0a46429a
RM
138162010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13817
13818 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13819 (grub_linux16_real_boot): ... this.
13820 * kern/i386/loader.S: Likewise.
13821 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13822 (grub_linux16_boot): New function. Switches to text mode and calls
13823 grub_linux16_real_boot().
13824
13825 * loader/i386/bsd.c: Include `<grub/video.h>'.
13826 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13827 text mode before calling grub_unix_real_boot().
13828
13829 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13830 (grub_multiboot_boot): Switch to text mode before calling
13831 grub_relocator32_boot().
13832
13833 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13834 (grub_chainloader_boot): Switch to text mode before calling
13835 grub_chainloader_real_boot().
13836
d6f93a66
RM
138372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138382010-01-05 Colin Watson <cjwatson@ubuntu.com>
13839
13840 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13841 non-empty value.
13842
138432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138442010-01-05 Colin Watson <cjwatson@ubuntu.com>
13845
13846 * util/grub.d/00_header.in: Define a "savedefault" function for use
13847 in menu entries.
13848 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13849
138502010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
138512010-01-05 Colin Watson <cjwatson@ubuntu.com>
13852
13853 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13854 saved_entry if boot_once is unset.
13855 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13856 previous saved entry (i.e. grub-reboot).
13857
138582009-12-08 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13861
138622009-12-08 Colin Watson <cjwatson@ubuntu.com>
13863
13864 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13865 `var=val'.
13866 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13867
138682009-12-08 Colin Watson <cjwatson@ubuntu.com>
13869
13870 * util/grub-reboot.in: Fix --version output.
13871 * util/grub-set-default.in: Likewise.
13872
138732009-12-08 Colin Watson <cjwatson@ubuntu.com>
13874
13875 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13876 blocks.
13877
138782009-12-08 Colin Watson <cjwatson@ubuntu.com>
13879
13880 * util/grub.d/00_header.in: Quote the value assigned to `default',
13881 in case it contains spaces.
13882
138832009-12-08 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13886 `save_default_entry' call from the macosx case to the linux case.
13887
138882009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
138892009-10-25 Colin Watson <cjwatson@ubuntu.com>
13890
13891 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13892 in `chosen' environment variable.
13893 * normal/menu_text.c (get_entry_number): Check if the variable
13894 matches the title of a menu entry.
13895 (run_menu): Pass menu to get_entry_number.
13896
13897 * util/grub-reboot.in: New file.
13898 * util/grub-set-default.in: New file.
13899 * conf/common.rmk (grub-reboot): New utility.
13900 (grub-set-default): New utility.
13901
13902 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13903 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13904 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13905 move it to `saved_entry' for the next boot. Load environment on
13906 initialisation.
13907 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13908 * util/grub.d/10_hurd.in: Likewise.
13909 * util/grub.d/10_linux.in (linux_entry): Likewise.
13910 * util/grub.d/10_windows.in: Likewise.
13911 * util/grub.d/30_os-prober.in: Likewise.
13912
13913 * util/grub-install.in: Create environment block.
13914 * util/i386/efi/grub-install.in: Likewise.
13915 * util/ieee1275/grub-install.in: Likewise.
13916 * util/sparc64/ieee1275/grub-install.in: Likewise.
13917
0934d184
BC
139182010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13919
13920 Unit testing framework for GRUB.
13921
13922 * Makefile.in: Test framework build rules for 'make check'.
13923 * conf/tests.rmk: Build rules for individual tests and framework.
13924
13925 * include/grub/test.h: Header file for whitebox tests.
13926 * tests/lib/functional_test.c: Framework support for whitebox
13927 functional tests.
13928 * tests/lib/test.c: Common whitebox testing code for unit and
13929 functional tests.
13930 * tests/lib/unit_test.c: Framework support for whitebox unit
13931 tests.
13932
13933 * tests/util/grub-shell-tester.in: Support utility for grub-script
13934 tests.
13935 * tests/util/grub-shell.in: Utility to execute grub-script
13936 commands in a Qemu instance.
13937
13938 * tests/example_functional_test.c: Example whitebox functional
13939 test.
13940 * tests/example_grub_script_test.in: Example grub-script test.
13941 * tests/example_scripted_test.in: Example scripted test.
13942 * tests/example_unit_test.c: Example whitebox unit test.
13943
9c4ffeeb
VS
139442010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13947 Add loader/i386/multiboot_mbi.c.
13948 (multiboot2_mod_SOURCES): Likewise.
13949 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13950 (multiboot2_mod_SOURCES): Likewise.
13951 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13952 (grub_multiboot_make_mbi): Likewise.
13953 (grub_multiboot_free_mbi): Likewise.
13954 (grub_multiboot_init_mbi): Likewise.
13955 (grub_multiboot_add_module): Likewise.
13956 (grub_multiboot_set_bootdev): Likewise.
13957 * loader/i386/multiboot.c (mbi): Removed.
13958 (mbi_dest): Likewise.
13959 (alloc_mbi): New variable.
13960 (grub_multiboot_payload_size): Removed. All users updated.
13961 (grub_multiboot_pure_size): New variable.
13962 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
13963 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
13964 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
13965 (grub_fill_multiboot_mmap): Likewise.
13966 (grub_multiboot_get_bootdev): Likewise.
13967 (grub_multiboot): Use multiboot_mbi functions.
13968 * loader/i386/multiboot_mbi.c: New file.
13969
17383dfe
VS
139702010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
13973 it would result in module crash.
13974
c1f28820
VS
139752010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
13978 (grub_ofconsole_getwh): Split to ...
13979 (grub_ofconsole_getwh): ... this.
13980 (grub_ofconsole_dimensions): ...and this.
13981 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
13982
58655a16
RM
139832010-01-13 Robert Millan <rmh.grub@aybabtu.com>
13984
13985 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
13986
10891398
VS
139872010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * loader/i386/pc/multiboot2.c: Removed stalled file.
13990
0b8a223c
VS
139912010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
13994 Reported by: Grégoire Sutre
13995
92ab12b0
RM
139962010-01-11 Robert Millan <rmh.grub@aybabtu.com>
13997
13998 * util/misc.c (canonicalize_file_name): New function.
13999 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14000 instead of realpath().
14001
a788afb6
CW
140022010-01-11 Colin Watson <cjwatson@ubuntu.com>
14003
14004 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14005 and make it clearer that it's optional. Based on confusion
14006 witnessed on IRC.
14007
ffa8e3d2
VS
140082010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14011 in premature implicit newline.
14012
e9060a9d
VS
140132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14016 which resulted in garbled command line at the end of screen.
14017
f0d0c0b7
RM
140182010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14019
14020 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14021 initialization with similar approach as with other Linux loaders.
14022
0e60bae7
RM
140232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14024
14025 Fix i386-ieee1275 build.
14026
14027 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14028 and grub_term_height() for video_{width,height} initialization.
14029
140302010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
14031
14032 Fix grub-emu build.
14033
14034 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14035
cdb3f378
RM
140362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
140372010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14038
14039 Support for multiple terminals.
14040
14041 * Makefile.in (pkglib_DATA): terminal.lst.
14042 (terminal.lst): New target.
14043 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14044 (GRUB_MOD_INIT(handler)): Likewise.
14045 (GRUB_MOD_FINI(handler)): Likewise.
14046 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14047 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14048 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14049 (grub_cmd_sleep): Use grub_term_save_pos.
14050 * commands/terminal.c: New file.
14051 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14052 commands/terminal.c and lib/charset.c.
14053 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14054 (pkglib_MODULES): Add terminal.mod.
14055 (terminal_mod_SOURCES): New variable.
14056 (terminal_mod_CFLAGS): Likewise.
14057 (terminal_mod_LDFLAGS): Likewise.
14058 * genhandlerlist.sh: Don't handle terminals.
14059 * genmk.rb: Generate terminal-*.lst.
14060 * genterminallist.sh: New file.
14061 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14062 (grub_is_valid_utf8): Likewise.
14063 (grub_utf8_to_ucs4_alloc): Likewise.
14064 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14065 (grub_menu_register_viewer): Changed argument.
14066 (grub_menu_try_text): New proto.
14067 (grub_gfxmenu_try_hook): New declaration.
14068 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14069 (grub_menu_init_page): Additional argument term.
14070 (grub_normal_init_page): Likewise.
14071 (grub_cmdline_get): Arguments simplified.
14072 (grub_utf8_to_ucs4_alloc): Removed.
14073 (grub_print_ucs4): Additional argument term.
14074 (grub_getstringwidth): Likewise.
14075 (grub_print_message_indented): Likewise.
14076 (grub_menu_text_register_instances): New proto.
14077 (grub_show_menu): Likewise.
14078 (read_terminal_list): Likewise.
14079 (grub_set_more): Likewise.
14080 * include/grub/parser.h: Include handler.h.
14081 * include/grub/reader.h: Rewritten.
14082 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14083 (GRUB_TERM_WIDTH): Changed to function.
14084 (GRUB_TERM_HEIGHT): Likewise.
14085 (GRUB_TERM_BORDER_WIDTH): Likewise.
14086 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14087 (GRUB_TERM_NUM_ENTRIES): Likewise.
14088 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14089 (GRUB_TERM_CURSOR_X): Likewise.
14090 (grub_term_input_class): Likewise.
14091 (grub_term_output_class): Likewise.
14092 (grub_term_outputs_disabled): New declaration.
14093 (grub_term_inputs_disabled): Likewise.
14094 (grub_term_outputs): Likewise.
14095 (grub_term_inputs): Likewise.
14096 (grub_term_register_input): Rewritten.
14097 (grub_term_register_output): Likewise.
14098 (grub_term_unregister_input): Likewise.
14099 (grub_term_unregister_output): Likewise.
14100 (FOR_ACTIVE_TERM_INPUTS): New macro.
14101 (FOR_DISABLED_TERM_INPUTS): Likewise.
14102 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14103 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14104 * include/grub/terminfo.h: Add oterm argument to all protypes.
14105 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14106 Use grub_rescue_run.
14107 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14108 All users updated.
14109 * kern/reader.c: Removed. All users updated.
14110 * kern/rescue_reader.c (grub_rescue_init): Removed.
14111 (grub_rescue_reader): Likewise.
14112 (grub_register_rescue_reader): Likewise.
14113 (grub_rescue_run): New function based on kern/reader.c.
14114 * kern/term.c: Adapted for multiterm.
14115 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14116 (grub_is_valid_utf8): Likewise.
14117 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14118 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14119 right terminal.
14120 * loader/i386/linux.c (grub_linux_boot): Likewise.
14121 * normal/auth.c (grub_username_get): New function.
14122 (grub_auth_check_authentication): Use grub_username_get.
14123 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14124 * normal/color.c: Adapt for multiterm.
14125 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14126 (grub_normal_init_page): Additional argument term.
14127 (read_lists): Call read_terminal_lists.
14128 (grub_enter_normal_mode): Call grub_cmdline_run.
14129 Handle grub_normal_exit_level.
14130 (grub_cmd_normal): Make reentrant.
14131 (grub_cmd_normal_exit): New function.
14132 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14133 * normal/menu.c: Adapt for multiterm.
14134 * normal/menu_entry.c: Likewise.
14135 * normal/menu_text.c: Likewise.
14136 * normal/menu_viewer.c: Removed. All users updated.
14137 * normal/term.c: New file.
14138 * util/console.c: Change order of includes to workaround a bug in
14139 ncurses headers.
14140 * term/terminfo.c: New argument oterm on all exported functions.
14141 All users updated.
14142 * util/grub-editenv.c (grub_term_input_class): Removed.
14143 (grub_term_output_class): Likewise.
14144
1a064917
RM
141452010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14146
14147 Make loader output a bit more user-friendly.
14148
14149 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14150 is being loaded. Likewise for the Hurd.
14151
14152 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14153 that kernel of FreeBSD ${version} is being loaded.
14154
14155 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14156 grub_dprintf().
14157 (grub_cmd_initrd): Likewise.
14158 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14159 that Linux ${version} is being loaded. Likewise for initrd.
14160
5ce0a83a 141612010-01-09 Carles Pina i Estany <carles@pina.cat>
14162
14163 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14164
809bbfeb 141652010-01-08 Carles Pina i Estany <carles@pina.cat>
14166
14167 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14168 (GRUB_MOD_INIT): Gettextizze.
14169 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14170 (GRUB_MOD_INIT): Gettextizze.
14171 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14172 (grub_cmd_linux): Capitalise Linux.
14173 (GRUB_MOD_INIT): Gettextizze.
14174 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14175 (grub_cmd_linux): Capitalise Linux.
14176 (GRUB_MOD_INIT): Gettextizze.
14177 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14178 (grub_cmd_linux): Capitalise Linux.
14179 (GRUB_MOD_INIT): Gettextizze.
14180 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14181 (GRUB_MOD_INIT): Gettextizze.
14182 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14183 (grub_cmd_linux): Capitalise Linux.
14184 (GRUB_MOD_INIT): Gettextizze.
14185 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14186 (grub_cpu_xnu_init): Gettextizze.
14187 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14188 (GRUB_MOD_INIT): Gettextizze.
14189 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14190 (GRUB_MOD_INIT): Gettextizze.
14191 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14192 (grub_linux_load64): Capitalise Linux.
14193 (GRUB_MOD_INIT): Gettextizze.
14194 * loader/xnu.c: Include `<grub/i18n.h>'.
14195 (GRUB_MOD_INIT): Gettextizze.
14196 * po/POTFILES: Add `loader/efi/appleloader.c',
14197 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14198 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14199 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14200 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14201 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14202 and `loader/xnu.c'.
14203
b394b2ca
RM
142042010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14205
14206 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14207
142082010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
14209
14210 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14211 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14212 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14213
bc8b32b3
RM
142142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14215
14216 Reset Multiboot 2 support. New loader implements the draft in
14217 /branches/multiboot2 and shares as much code as possible with the
14218 production Multiboot 1 implementation.
14219
14220 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14221 * loader/multiboot2.c: Likewise.
14222 * loader/i386/multiboot_helper.S: Likewise.
14223 * include/multiboot2.h: Replace with latest version from the draft
14224 in /branches/multiboot2.
14225
14226 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14227 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14228 and `loader/multiboot2.c'.
14229 (pkglib_MODULES): Add `multiboot2.mod'.
14230 (multiboot2_mod_SOURCES): New variable.
14231 (multiboot2_mod_LDFLAGS): Likewise.
14232 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14233
14234 * conf/i386-pc.rmk: Likewise.
14235
14236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14237 (multiboot_mod_SOURCES): Remove variable.
14238 (multiboot_mod_LDFLAGS): Likewise.
14239 (multiboot_mod_CFLAGS): Likewise.
14240
14241 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14242 `<multiboot2.h>' instead of `<multiboot.h>'.
14243 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14244 (MULTIBOOT_HEADER_MAGIC): New macros.
14245
14246 * loader/multiboot_loader.c (module_version_status): Remove variable.
14247 (find_multi_boot2_header): Remove function.
14248 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14249 logic. Always check for the Multiboot version we're compiling for.
14250 (grub_cmd_module_loader): Likewise.
14251 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14252 command instead of `multiboot'.
14253
5d2c52b8
RM
142542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14255
14256 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14257 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14258 all users.
14259
53108d92
RM
142602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
142612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 Fix breakage introduced with previous commit.
14264
14265 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14266 commands.
14267 * normal/handler.c (read_handler_list): Revert part of previous commit
14268 affecting this file.
14269 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14270 (grub_normal_execute): ... here.
14271
e2e936b2
RM
142722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14273
14274 Merge prefix-redefinition-fix branch.
14275
14276 * normal/autofs.c (read_fs_list): Make function capable of being
14277 run multiple times, gracefuly replacing the previous data
14278 structures.
14279 * normal/dyncmd.c (read_command_list): Likewise.
14280 * normal/handler.c (read_handler_list): Likewise.
14281 * normal/main.c (read_lists): New function. Calls all the
14282 list reading functions.
14283 (grub_normal_execute): Use read_lists() instead of calling all
14284 list reading functions explicitly. Register read_lists() as a
14285 variable hook attached to ${prefix}.
14286
607a3701
VS
142872010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Merge crypto branch.
14290
14291 * Makefile.in (pkglib_DATA): Add crypto.lst.
14292 (crypto.lst): New target.
14293 * commands/hashsum.c: New file.
14294 * commands/password.c (check_password): Use grub_crypto_memcmp.
14295 * commands/password_pbkdf2.c: New file.
14296 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14297 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14298 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14299 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14300 -I$(srcdir)/lib/libgcrypt_wrap.
14301 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14302 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14303 password_pbkdf2.mod.
14304 (crypto_mod_SOURCES): New variable.
14305 (crypto_mod_CFLAGS): Likewise.
14306 (crypto_mod_LDFLAGS): Likewise.
14307 (hashsum_mod_SOURCES): New variable.
14308 (hashsum_mod_CFLAGS): Likewise.
14309 (hashsum_mod_LDFLAGS): Likewise.
14310 (pbkdf2_mod_SOURCES): New variable.
14311 (pbkdf2_mod_CFLAGS): Likewise.
14312 (pbkdf2_mod_LDFLAGS): Likewise.
14313 (password_pbkdf2_mod_SOURCES): New variable.
14314 (password_pbkdf2_mod_CFLAGS): Likewise.
14315 (password_pbkdf2_mod_LDFLAGS): Likewise.
14316 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14317 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14318 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14319 Include conf/gcry.rmk.
14320 * include/grub/auth.h: Rewritten.
14321 * include/grub/crypto.h: New file.
14322 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14323 * include/grub/normal.h (read_crypto_list): New prototype.
14324 * lib/crypto.c: New file.
14325 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14326 * lib/pbkdf2.c: Likewise.
14327 * normal/auth.c (grub_auth_strcmp): Removed.
14328 (grub_iswordseparator): Likewise.
14329 (grub_auth_strword): Likewise.
14330 (is_authenticated): Use grub_strword.
14331 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14332 and grub_strword. Pass entered password to authentication callback.
14333 * normal/crypto.c: New file.
14334 * normal/main.c: Call read_crypto_list.
14335 * util/grub-mkpasswd-pbkdf2.c: New file.
14336 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14337
42841caa
VS
143382010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 Fix descent and ascent calculation.
14341
14342 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14343 (options): New option "asce".
14344 (usage): Likewise.
14345 (add_char): Ignore invalid glyphs for descent calculation.
14346 Calculate ascent from actual content.
14347 (print_glyphs): Use 'asce'.
14348 (write_font): Likewise. Allow ascent override.
14349 (main): Handle "asce" option.
14350
e7730de7 143512010-01-06 Carles Pina i Estany <carles@pina.cat>
14352
14353 * kern/err.c: Include `<grub/i18n.h>'.
14354 (grub_print_error): Add full stop. Gettextizze.
14355 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14356 (grub_bsd_load_elf): Capitalise ELF.
14357 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14358 (grub_cmd_freebsd_module): Likewise.
14359 (grub_cmd_freebsd_module_elf): Likewise.
14360 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14361
40e3a41f 143622010-01-06 Carles Pina i Estany <carles@pina.cat>
14363
14364 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14365 * commands/search_file.c (HELP_MESSAGE): New macro.
14366 * commands/search_label.c (HELP_MESSAGE): Likewise.
14367 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14368 * po/POTFILES: Add `commands/search_file.c',
14369 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14370 `commands/search.c'.
14371
83507e68
RM
143722010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14373
14374 * config.rpath: Update from Gnulib.
14375
465c787b
YB
143762010-01-05 Yves Blusseau <blusseau@zetam.org>
14377
14378 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14379
6581dd3a
YB
143802010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14381
14382 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14383
3bff18c5
CW
143842010-01-05 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14387 arguments to fread so that we get a return value in bytes, rather
14388 than something that will normally be rounded down to 0.
14389 Adjust error handling to avoid producing garbage when size_t is not
14390 the same size as long long.
14391
a1368118
CW
143922010-01-05 Colin Watson <cjwatson@ubuntu.com>
14393
14394 * util/mkisofs/write.c (padblock_write): Check return value of
14395 fread.
14396
7c302978
RM
143972010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14398
14399 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14400 floppy images now.
14401
14402 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14403
e33ace06
RM
144042010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14405
14406 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14407 instead of manual alignment.
14408 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14409 verbose). Avoid attempts to read past end of the device
14410 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14411 but GRUB_DISK_CACHE_SIZE may exceed that).
14412
4b856776
RM
144132010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14414
14415 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14416 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14417 it to upper layer.
14418
52c2d97f
VS
144192010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14422 New constant.
14423 (grub_efi_piwg_device_path): New structure
14424 (grub_efi_piwg_device_path_t): New type.
14425 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14426 (devpath_1): Transform to a structure. All users updated.
14427 (devpath_2): Likewise.
14428 (devpath_3): Likewise.
14429 (devpath_4): Likewise.
14430 (devpath_5): Likewise.
14431
98ff6a54
VS
144322010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * loader/efi/appleloader.c: Restored. Update all users.
14435
3a73dcb6
RM
144362010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14437
14438 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14439
14440 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14441 (struct boot_blocklist): Move from here ...
14442 * include/grub/i386/pc/boot.h [ASM_FILE]
14443 (struct grub_boot_blocklist): ... to here. Update all users.
14444 (setup): Only initialize `start' member of `first_block'
14445 structure. Add assert() calls to verify the other members.
14446
14447 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14448 (generate_image): Fix broken blocklist length initialization.
14449 Add assert() call to verify blocklist `segment' field.
14450
ab0eeb0c
RM
144512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14452
14453 * loader/efi/appleloader.c: Remove. Update all users.
14454
58bc8bd5
RM
144552010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14456
14457 * boot/i386/pc/boot.S: Update copyright year.
14458 * boot/i386/pc/cdboot.S: Likewise.
14459 * boot/i386/pc/diskboot.S: Likewise.
14460 * boot/i386/pc/lnxboot.S: Likewise.
14461 * boot/i386/pc/pxeboot.S: Likewise.
14462 * bus/pci.c: Likewise.
14463 * commands/cmp.c: Likewise.
14464 * commands/help.c: Likewise.
14465 * commands/hexdump.c: Likewise.
14466 * commands/i386/pc/halt.c: Likewise.
14467 * commands/i386/pc/play.c: Likewise.
14468 * commands/i386/pc/vbeinfo.c: Likewise.
14469 * commands/ls.c: Likewise.
14470 * commands/test.c: Likewise.
14471 * disk/dmraid_nvidia.c: Likewise.
14472 * disk/i386/pc/biosdisk.c: Likewise.
14473 * disk/ieee1275/nand.c: Likewise.
14474 * disk/ieee1275/ofdisk.c: Likewise.
14475 * disk/lvm.c: Likewise.
14476 * disk/raid.c: Likewise.
14477 * disk/raid6_recover.c: Likewise.
14478 * disk/scsi.c: Likewise.
14479 * fs/affs.c: Likewise.
14480 * fs/cpio.c: Likewise.
14481 * fs/ext2.c: Likewise.
14482 * fs/hfs.c: Likewise.
14483 * fs/iso9660.c: Likewise.
14484 * fs/ntfs.c: Likewise.
14485 * fs/sfs.c: Likewise.
14486 * fs/udf.c: Likewise.
14487 * fs/ufs.c: Likewise.
14488 * fs/xfs.c: Likewise.
14489 * gencmdlist.sh: Likewise.
14490 * genmk.rb: Likewise.
14491 * include/grub/disk.h: Likewise.
14492 * include/grub/efi/api.h: Likewise.
14493 * include/grub/efi/efi.h: Likewise.
14494 * include/grub/efi/pe32.h: Likewise.
14495 * include/grub/elf.h: Likewise.
14496 * include/grub/fs.h: Likewise.
14497 * include/grub/i386/at_keyboard.h: Likewise.
14498 * include/grub/i386/pc/memory.h: Likewise.
14499 * include/grub/i386/pc/vbe.h: Likewise.
14500 * include/grub/i386/pci.h: Likewise.
14501 * include/grub/i386/tsc.h: Likewise.
14502 * include/grub/ieee1275/ieee1275.h: Likewise.
14503 * include/grub/ntfs.h: Likewise.
14504 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14505 * include/grub/sparc64/libgcc.h: Likewise.
14506 * include/grub/symbol.h: Likewise.
14507 * include/grub/types.h: Likewise.
14508 * include/multiboot2.h: Likewise.
14509 * io/gzio.c: Likewise.
14510 * kern/device.c: Likewise.
14511 * kern/disk.c: Likewise.
14512 * kern/efi/efi.c: Likewise.
14513 * kern/efi/mm.c: Likewise.
14514 * kern/elf.c: Likewise.
14515 * kern/file.c: Likewise.
14516 * kern/i386/dl.c: Likewise.
14517 * kern/i386/pc/init.c: Likewise.
14518 * kern/i386/pc/startup.S: Likewise.
14519 * kern/ieee1275/ieee1275.c: Likewise.
14520 * kern/ieee1275/init.c: Likewise.
14521 * kern/main.c: Likewise.
14522 * kern/mm.c: Likewise.
14523 * kern/powerpc/dl.c: Likewise.
14524 * kern/sparc64/dl.c: Likewise.
14525 * kern/x86_64/dl.c: Likewise.
14526 * lib/hexdump.c: Likewise.
14527 * loader/efi/appleloader.c: Likewise.
14528 * loader/i386/ieee1275/linux.c: Likewise.
14529 * loader/i386/pc/chainloader.c: Likewise.
14530 * loader/i386/pc/linux.c: Likewise.
14531 * loader/i386/pc/multiboot2.c: Likewise.
14532 * loader/ieee1275/multiboot2.c: Likewise.
14533 * loader/multiboot2.c: Likewise.
14534 * loader/multiboot_loader.c: Likewise.
14535 * loader/powerpc/ieee1275/linux.c: Likewise.
14536 * normal/completion.c: Likewise.
14537 * normal/menu_entry.c: Likewise.
14538 * partmap/apple.c: Likewise.
14539 * util/grub.d/10_hurd.in: Likewise.
14540 * util/hostfs.c: Likewise.
14541 * video/readers/png.c: Likewise.
14542
e2d70b5c
CW
145432010-01-03 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * include/grub/misc.h (GNUC_PREREQ): New macro.
14546 (ATTRIBUTE_ERROR): New macro.
14547 * include/grub/list.h (grub_bad_type_cast_real): Use
14548 ATTRIBUTE_ERROR.
14549
a173283f 145502010-01-03 Carles Pina i Estany <carles@pina.cat>
14551
14552 * normal/menu_text.c (print_message): Change messages.
14553
7fa7ff74 145542010-01-03 Carles Pina i Estany <carles@pina.cat>
14555
14556 * normal/menu_entry.c (store_completion): Gettextizze.
14557
136d24f6 145582010-01-03 Carles Pina i Estany <carles@pina.cat>
14559
14560 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14561
f936862e 145622010-01-03 Carles Pina i Estany <carles@pina.cat>
14563
14564 * po/POTFILES: Sort correctly.
14565
29c44ad1 145662010-01-03 Carles Pina i Estany <carles@pina.cat>
14567
14568 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14569 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14570 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14571 full stop.
14572 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14573 summary. Gettextizze the strings.
14574 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14575 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14576 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14577 full stop.
14578 (GRUB_MOD_INIT): Remove command name from summary.
14579 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14580 summary.
14581 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14582 * term/i386/pc/serial.c (options): Add full stops.
14583 (GRUB_MOD_INIT): Remove command name from the summary.
14584
77a79592 145852010-01-03 Carles Pina i Estany <carles@pina.cat>
14586
14587 * commands/acpi.c: Gettextizze help strings and/or options. Include
14588 `grub/i18n.h' if needed.
14589 * commands/blocklist.c: Likewise.
14590 * commands/boot.c: Likewise.
14591 * commands/cat.c: Likewise.
14592 * commands/cmp.c: Likewise.
14593 * commands/configfile.c: Likewise.
14594 * commands/crc.c: Likewise.
14595 * commands/date.c: Likewise.
14596 * commands/echo.c: Likewise.
14597 * commands/efi/fixvideo.c: Likewise.
14598 * commands/efi/loadbios.c: Likewise.
14599 * commands/gptsync.c: Likewise.
14600 * commands/halt.c: Likewise.
14601 * commands/handler.c: Likewise.
14602 * commands/hdparm.c: Likewise.
14603 * commands/hexdump.c: Likewise.
14604 * commands/i386/cpuid.c: Likewise.
14605 * commands/i386/pc/drivemap.c: Likewise.
14606 * commands/i386/pc/halt.c: Likewise.
14607 * commands/i386/pc/pxecmd.c: Likewise.
14608 * commands/i386/pc/vbeinfo.c: Likewise.
14609 * commands/i386/pc/vbetest.c: Likewise.
14610 * commands/ieee1275/suspend.c: Likewise.
14611 * commands/keystatus.c: Likewise.
14612 * commands/loadenv.c: Likewise.
14613 * commands/ls.c: Likewise.
14614 * commands/lsmmap.c: Likewise.
14615 * commands/lspci.c: Likewise.
14616 * commands/memrw.c: Likewise.
14617 * commands/minicmd.c: Likewise.
14618 * commands/parttool.c: Likewise.
14619 * commands/password.c: Likewise.
14620 * commands/probe.c: Likewise.
14621 * commands/read.c: Likewise.
14622 * commands/reboot.c: Likewise.
14623 * commands/search.c: Likewise.
14624 * commands/sleep.c: Likewise.
14625 * commands/test.c: Likewise.
14626 * commands/true.c: Likewise.
14627 * commands/usbtest.c: Likewise.
14628 * commands/videotest.c: Likewise.
14629 * commands/xnu_uuid.c: Likewise.
14630 * disk/loopback.c: Likewise.
14631 * hello/hello.c: Likewise.
14632 * loader/i386/bsd.c: Likewise.
14633 * term/i386/pc/serial.c: Likewise.
14634 * po/POTFILES: Add new files.
14635
da8d5c53
CW
146362010-01-02 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * term/i386/pc/at_keyboard.c
14639 (keyboard_controller_wait_untill_ready): Rename to ...
14640 (keyboard_controller_wait_until_ready): ... this. Update all users.
14641
33937904 146422010-01-01 Carles Pina i Estany <carles@pina.cat>
14643
14644 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14645 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14646 string using string width.
14647 * normal/menu_text.c (grub_print_message_indented): Use
14648 grub_print_spaces and not print_spaces.
14649 (print_timeout): Likewise.
14650 (print_spaces): Move to...
14651 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14652
3fd3b8d8
RM
146532010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14654
14655 Import from Gnulib.
14656
14657 * gnulib/getdelim.c: New file.
14658 * gnulib/getline.c: Likewise.
14659
33433555
VS
146602009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14661
14662 * include/grub/list.h (grub_assert_fail): Removed.
14663 (grub_bad_type_cast_real): New function.
14664 (grub_bad_type_cast): New macro.
14665 (GRUB_AS_LIST): Use grub_bad_type_cast.
14666 (GRUB_AS_LIST_P): Likewise.
e44721e8 14667 (GRUB_AS_NAMED_LIST): Likewise.
33433555 14668 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 14669 (GRUB_AS_PRIO_LIST): Likewise.
33433555 14670 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 14671 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 14672
f5a51306
VS
146732009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14676 Fix syntax error.
14677
90d1e879
RM
146782009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14679
14680 * configure.ac: Check for TARGET_CFLAGS initialization before we
14681 initialize it ourselves (sigh).
14682 Move a few modifications to TARGET_CFLAGS to be unconditional
14683 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14684 eh_frame)
14685
14686 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14687 * term/i386/pc/at_keyboard.c
14688 (keyboard_controller_wait_untill_ready): Likewise.
14689 (keyboard_controller_led): Rename `led_status' paramter to avoid
14690 name conflict.
14691
465b5a81 146922009-12-28 Carles Pina i Estany <carles@pina.cat>
14693
14694 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14695 quotes.
14696
c181849b
VS
146972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14700
9c8739a4
VS
147012009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * normal/menu_text.c (grub_print_message_indented): Prevent
14704 past-the-end-of-array dereference.
14705
3e74249c
VS
147062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14709 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14710
64fd18ed 147112009-12-27 Carles Pina i Estany <carles@pina.cat>
14712
14713 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14714 * normal/main.c (grub_normal_read_line): Remove a space from the
14715 default prompt.
14716
714af9b9 147172009-12-27 Carles Pina i Estany <carles@pina.cat>
14718
14719 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14720 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14721 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14722 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14723 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14724 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14725 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14726
82f3e412 147272009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 14728
14729 * video/readers/jpeg.c (cmd): Declare.
14730 (grub_cmd_jpegtest): Use `grub_command_t' type.
14731 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14732 Assign to `cmd'.
14733 (GRUB_MOD_FINI): Use `cmd' to unregister.
14734 * video/readers/png.c (cmd): Declare.
14735 (grub_cmd_pngtest): Use `grub_command_t' type.
14736 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14737 Assign to `cmd'.
14738 (GRUB_MOD_FINI): Use `cmd' to unregister.
14739 * video/readers/tga.c (cmd): Declare.
14740 (grub_cmd_tgatest): Use `grub_command_t' type.
14741 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14742 Assign to `cmd'.
14743 (GRUB_MOD_FINI): Use `cmd' to unregister.
14744
82f3e412 147452009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 14746
14747 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14748 stops.
14749 * kern/corecmd.c (grub_register_core_commands): Likewise.
14750 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14751 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14752 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14753 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14754 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14755 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14756 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14757 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14758 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14759 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14760 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14761 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14762 * normal/handler.c (insert_handler): Likewise.
14763 * normal/main.c (GRUB_MOD_INIT): Likewise.
14764 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14765
fdcdbb66 147662009-12-26 Carles Pina i Estany <carles@pina.cat>
14767
14768 * commands/help.c (grub_cmd_help): Print the command name before the
14769 summary.
14770 (GRUB_MOD_INIT): Remove command name from the summary.
14771 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 14772 string as summary.
fdcdbb66 14773 * lib/arg.c (find_long): Print the command name before the summary.
14774 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14775 summary.
14776 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14777 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14778 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14779 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14780 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14781 * commands/date.c (GRUB_MOD_INIT): Likewise.
14782 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14783 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14784 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14785 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14786 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14787 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14788 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14789 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14790 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14791 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14792 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14793 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14794 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14795 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14796 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14797 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14798 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14799 * commands/password.c (GRUB_MOD_INIT): Likewise.
14800 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14801 * commands/read.c (GRUB_MOD_INIT): Likewise.
14802 * commands/search.c (GRUB_MOD_INIT): Likewise.
14803 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14804 * commands/test.c (GRUB_MOD_INIT): Likewise.
14805 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14806 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14807 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14808 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14809 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14810 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14811 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14812 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14813 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14814 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14815 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14816 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14817 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14818 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14819
9c288be2
VS
148202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Use search command for preliminar UUID search.
14823
14824 * commands/search.c: Split into ...
14825 * commands/search_wrap.c: ...this
14826 * commands/search.c: ...and this.
14827 * commands/search_file.c: New file.
14828 * commands/search_label.c: New file.
14829 * commands/search_uuid.c: New file.
14830 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14831 Add commands/search_wrap.c, commands/search_file.c,
14832 commands/search_label.c and commands/search_uuid.c.
14833 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14834 (search_mod_SOURCES): Set to commands/search_wrap.c.
14835 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14836 search_label.mod.
14837 (search_fs_file_mod_SOURCES): New variable.
14838 (search_fs_file_mod_CFLAGS): Likewise.
14839 (search_fs_file_mod_LDFLAGS): Likewise.
14840 (search_label_mod_SOURCES): Likewise.
14841 (search_label_mod_CFLAGS): Likewise.
14842 (search_label_mod_LDFLAGS): Likewise.
14843 (search_fs_uuid_mod_SOURCES): New variable.
14844 (search_fs_uuid_mod_CFLAGS): Likewise.
14845 (search_fs_uuid_mod_LDFLAGS): Likewise.
14846 (fs_file_mod_SOURCES): Removed.
14847 (fs_file_mod_CFLAGS): Likewise.
14848 (fs_file_mod_LDFLAGS): Likewise.
14849 (fs_uuid_mod_SOURCES): Removed.
14850 (fs_uuid_mod_CFLAGS): Likewise.
14851 (fs_uuid_mod_LDFLAGS): Likewise.
14852 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14853 Set to util/grub-install.in.
14854 * disk/fs_file.c: Removed.
14855 * disk/fs_uuid.c: Likewise.
14856 * include/grub/search.h: New file.
14857 * util/grub-install.in: Handle sparc64.
14858 Create and use load.cfg.
14859 * util/sparc64/ieee1275/grub-install.in: Removed.
14860
db943399
VS
148612009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14864 Ignore return status if CF is cleared.
14865 (grub_biosdisk_get_diskinfo_standard): Likewise.
14866
3fdae612
RM
148672009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * term/i386/pc/at_keyboard.c
14870 (keyboard_controller_wait_untill_ready): New function.
14871 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14872 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14873 for keyboard polling, rather than duplicate the same loop. This
14874 saves a few bytes in code size.
14875
7ebaa2b4
VS
148762009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Support for (pxe[:server[:gateway]]) syntax and
14879 use environment variable for PXE.
14880
14881 * commands/i386/pc/pxecmd.c (options): Removed.
14882 (print_ip): Removed.
14883 (grub_cmd_pxe): Removed
14884 (grub_cmd_pxe_unload): New function.
14885 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14886 (grub_pxe_your_ip): Made static.
14887 (grub_pxe_default_server_ip): Likewise.
14888 (grub_pxe_default_gateway_ip): Likewise.
14889 (grub_pxe_blksize): Likewise.
14890 (parse_ip): New function.
14891 (grub_pxe_open): Support server and gateway specification.
14892 (grub_pxe_close): Free disk->data.
14893 (grub_pxefs_open): Use disk->data.
14894 (grub_pxefs_read): Likewise.
14895 (grub_env_write_readonly): New function.
14896 (set_mac_env): Likewise.
14897 (set_env_limn_ro): Likewise.
14898 (parse_dhcp_vendor): Likewise.
14899 (grub_pxe_detect): Set the environment variables.
14900 (set_ip_env): New function.
14901 (write_ip_env): Likewise.
14902 (grub_env_write_pxe_default_server): Likewise.
14903 (grub_env_write_pxe_default_gateway): Likewise.
14904 (grub_env_write_pxe_blocksize): Likewise.
14905 (GRUB_MOD_INIT(pxe)): Set environment variables.
14906 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14907 (grub_pxe_mac_addr_t): ... this. All users updated.
14908 (grub_pxe_your_ip): Removed.
14909 (grub_pxe_server_ip): Likewise.
14910 (grub_pxe_gateway_ip): Likewise.
14911 (grub_pxe_blksize): Likewise.
14912
ec5f98ab 149132009-12-25 Carles Pina i Estany <carles@pina.cat>
14914
14915 * commands/help.c: Include `<grub/i18n.h>'.
14916 (grub_cmd_help): Gettextizze.
14917 (GRUB_MOD_INIT): Likewise.
14918 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14919 (GRUB_MOD_INIT): Gettextizze.
14920 * commands/search.c: Include `<grub/i18n.h>'.
14921 (options): Gettextizze.
14922 (GRUB_MOD_INIT): Gettextizze.
14923 * lib/arg.c: Include `<grub/i18n.h>'.
14924 (help_options): Gettextizze.
14925 (find_long): Likewise.
14926 (grub_arg_show_help): Likewise.
14927 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14928 (read_command_list): Gettextizze.
14929 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 14930 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 14931
22815526
RM
149322009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14933
14934 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14935 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14936 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14937 (led_status): New variable.
14938 (keyboard_controller_led): New function.
14939 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14940 update led status for caps lock, num lock and scroll lock.
14941
0ad46fd7
FZ
149422009-12-25 Felix Zielcke <fzielcke@z-51.de>
14943
14944 * util/hostdisk.c (open_device): Fix a comment.
14945
d0e158c2
RM
149462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14947
14948 * util/grub-install.in (host_os): New variable.
14949 * util/i386/efi/grub-install.in (host_os): Likewise.
14950
401c0ad6
RM
149512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * util/mkisofs/write.c (padblock_write): Abort when given an
14954 excedingly large embed image, instead of silently truncating it.
14955
d14d3370
RM
149562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14957
14958 * include/multiboot.h: Indentation fixes.
14959
eeed10b4
RM
149602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14961
14962 * include/multiboot.h (struct multiboot_aout_symbol_table)
14963 (struct multiboot_elf_section_header_table): New structure
14964 declarations (stolen from GRUB Legacy).
14965 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
14966 table information.
14967
14968 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
14969 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
14970 type aliases.
14971
681c70ab
RM
149722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14973
14974 * include/multiboot.h: Make comments src2texi-friendly.
14975
e4d47d8d
RM
149762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 For consistency with [multiboot]/docs/boot.S.
14979
14980 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
14981 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
14982 (MULTIBOOT_MAGIC2): Rename from this ...
14983 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
14984
a0b70bda
RM
149852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 * include/multiboot.h: Remove `<grub/types.h>'.
14988 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
14989 types. Update all users.
14990
61ba42be 149912009-12-25 Carles Pina i Estany <carles@pina.cat>
14992
14993 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
14994 `couldn't' and `can not' by `cannot'.
14995 * commands/i386/pc/drivemap.c: Likewise.
14996 * disk/ata.c: Likewise.
14997 * disk/ieee1275/nand.c: Likewise.
14998 * fs/affs.c: Likewise.
14999 * fs/fat.c: Likewise.
15000 * fs/hfs.c: Likewise.
15001 * fs/hfsplus.c: Likewise.
15002 * fs/iso9660.c: Likewise.
15003 * fs/jfs.c: Likewise.
15004 * fs/minix.c: Likewise.
15005 * fs/reiserfs.c: Likewise.
15006 * fs/sfs.c: Likewise.
15007 * fs/udf.c: Likewise.
15008 * fs/ufs.c: Likewise.
15009 * fs/xfs.c: Likewise.
15010 * loader/powerpc/ieee1275/linux.c: Likewise.
15011 * loader/sparc64/ieee1275/linux.c: Likewise.
15012 * util/grub-probe.c: Likewise.
15013 * util/misc.c: Likewise.
15014
7fd0baee 150152009-12-24 Carles Pina i Estany <carles@pina.cat>
15016
15017 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15018 grub_errno calls.
15019 * commands/acpi.c: Likewise.
15020 * commands/blocklist.c: Likewise.
15021 * commands/efi/loadbios.c: Likewise.
15022 * commands/i386/pc/drivemap.c: Likewise.
15023 * commands/loadenv.c: Likewise.
15024 * commands/memrw.c: Likewise.
15025 * commands/password.c: Likewise.
15026 * commands/videotest.c: Likewise.
15027 * disk/ata.c: Likewise.
15028 * disk/ata_pthru.c: Likewise.
15029 * disk/dmraid_nvidia.c: Likewise.
15030 * disk/ieee1275/nand.c: Likewise.
15031 * disk/ieee1275/ofdisk.c: Likewise.
15032 * disk/loopback.c: Likewise.
15033 * disk/lvm.c: Likewise.
15034 * disk/mdraid_linux.c: Likewise.
15035 * disk/raid.c: Likewise.
15036 * disk/raid6_recover.c: Likewise.
15037 * disk/scsi.c: Likewise.
15038 * efiemu/main.c: Likewise.
15039 * efiemu/mm.c: Likewise.
15040 * efiemu/pnvram.c: Likewise.
15041 * efiemu/symbols.c: Likewise.
15042 * font/font.c: Likewise.
15043 * fs/cpio.c: Likewise.
15044 * fs/hfsplus.c: Likewise.
15045 * fs/iso9660.c: Likewise.
15046 * fs/jfs.c: Likewise.
15047 * fs/minix.c: Likewise.
15048 * fs/ntfs.c: Likewise.
15049 * fs/ntfscomp.c: Likewise.
15050 * fs/reiserfs.c: Likewise.
15051 * fs/ufs.c: Likewise.
15052 * fs/xfs.c: Likewise.
15053 * gettext/gettext.c: Likewise.
15054 * include/grub/auth.h: Likewise.
15055 * kern/elf.c: Likewise.
15056 * kern/file.c: Likewise.
15057 * kern/ieee1275/init.c: Likewise.
15058 * kern/ieee1275/mmap.c: Likewise.
15059 * kern/ieee1275/openfw.c: Likewise.
15060 * kern/powerpc/dl.c: Likewise.
15061 * kern/sparc64/dl.c: Likewise.
15062 * lib/arg.c: Likewise.
15063 * loader/i386/bsd.c: Likewise.
15064 * loader/i386/bsdXX.c: Likewise.
15065 * loader/i386/efi/linux.c: Likewise.
15066 * loader/i386/efi/xnu.c: Likewise.
15067 * loader/i386/ieee1275/linux.c: Likewise.
15068 * loader/i386/linux.c: Likewise.
15069 * loader/i386/multiboot.c: Likewise.
15070 * loader/i386/pc/linux.c: Likewise.
15071 * loader/i386/pc/multiboot2.c: Likewise.
15072 * loader/i386/xnu.c: Likewise.
15073 * loader/ieee1275/multiboot2.c: Likewise.
15074 * loader/macho.c: Likewise.
15075 * loader/machoXX.c: Likewise.
15076 * loader/multiboot2.c: Likewise.
15077 * loader/multiboot_loader.c: Likewise.
15078 * loader/powerpc/ieee1275/linux.c: Likewise.
15079 * loader/sparc64/ieee1275/linux.c: Likewise.
15080 * loader/xnu.c: Likewise.
15081 * loader/xnu_resume.c: Likewise.
15082 * mmap/i386/pc/mmap.c: Likewise.
15083 * normal/menu_viewer.c: Likewise.
15084 * partmap/acorn.c: Likewise.
15085 * partmap/amiga.c: Likewise.
15086 * partmap/apple.c: Likewise.
15087 * script/lexer.c: Likewise.
15088 * term/gfxterm.c: Likewise.
15089 * term/i386/pc/serial.c: Likewise.
15090 * term/i386/pc/vga.c: Likewise.
15091 * term/ieee1275/ofconsole.c: Likewise.
15092 * term/terminfo.c: Likewise.
15093 * video/bitmap.c: Likewise.
15094 * video/efi_gop.c: Likewise.
15095 * video/efi_uga.c: Likewise.
15096 * video/fb/video_fb.c: Likewise.
15097 * video/i386/pc/vbe.c: Likewise.
15098 * video/readers/tga.c: Likewise.
15099 * video/video.c: Likewise.
15100
0ad46fd7 151012009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
15102
15103 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15104 * commands/lspci.c: Likewise.
15105 * commands/probe.c: Likewise.
15106 * commands/xnu_uuid.c: Likewise.
15107 * conf/i386-coreboot.rmk: Likewise.
15108 * conf/i386-efi.rmk: Likewise.
15109 * conf/i386-ieee1275.rmk: Likewise.
15110 * conf/i386-pc.rmk: Likewise.
15111 * conf/powerpc-ieee1275.rmk: Likewise.
15112 * conf/sparc64-ieee1275.rmk: Likewise.
15113 * conf/x86_64-efi.rmk: Likewise.
15114 * fs/i386/pc/pxe.c: Likewise.
15115 * gettext/gettext.c: Likewise.
15116 * include/grub/efi/graphics_output.h: Likewise.
15117 * include/grub/i386/pc/memory.h: Likewise.
15118 * kern/env.c: Likewise.
15119 * kern/i386/qemu/startup.S: Likewise.
15120 * lib/i386/pc/biosnum.c: Likewise.
15121 * lib/i386/relocator.c: Likewise.
15122 * lib/i386/relocator_asm.S: Likewise.
15123 * lib/relocator.c: Likewise.
15124 * loader/i386/bsd.c: Likewise.
15125 * loader/i386/multiboot.c: Likewise.
15126 * loader/i386/pc/chainloader.c: Likewise.
15127 * loader/i386/xnu.c: Likewise.
15128 * loader/xnu.c: Likewise.
15129 * normal/main.c: Likewise.
15130 * normal/menu_text.c: Likewise.
15131 * util/getroot.c: Likewise.
15132 * util/grub-mkconfig_lib.in: Likewise.
15133 * util/grub.d/00_header.in: Likewise.
15134 * util/i386/pc/grub-mkimage.c: Likewise.
15135 * util/mkisofs/eltorito.c: Likewise.
15136 * util/mkisofs/exclude.h: Likewise.
15137 * util/mkisofs/hash.c: Likewise.
15138 * util/mkisofs/iso9660.h: Likewise.
15139 * util/mkisofs/joliet.c: Likewise.
15140 * util/mkisofs/mkisofs.c: Likewise.
15141 * util/mkisofs/mkisofs.h: Likewise.
15142 * util/mkisofs/multi.c: Likewise.
15143 * util/mkisofs/name.c: Likewise.
15144 * util/mkisofs/rock.c: Likewise.
15145 * util/mkisofs/tree.c: Likewise.
15146 * util/mkisofs/write.c: Likewise.
15147 * video/efi_gop.c: Likewise.
15148
009ec743
VS
151492009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15152 size counting.
15153
0ad46fd7 151542009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
15155
15156 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15157 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15158
d3d30ea0
VS
151592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15162 (GRUB_MOD_INIT(memrw)): Update help line.
15163
a34f5c70
VS
151642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15167 Use grub_extcmd_t. All users updated.
15168 (options): New variable.
15169 (grub_cmd_read): Restructure for readability. Support "-v" option.
15170 (grub_cmd_write): Restructure for readability.
15171
0ad46fd7 151722009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
15173
15174 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15175
0ad46fd7 151762009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
15177
15178 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15179 with the actual contents of the correspondending make variable.
15180 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15181 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15182 specifying `*.lst' and `efiemu??.o'
15183
0ad46fd7 151842009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
15185
15186 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15187 after function name.
15188 Noticed by Rene Engelhard <rene@debian.org>.
15189
dc77a799
VS
151902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15193 (options): New variable.
15194 (iospace): Likewise.
15195 (grub_lspci_iter): List IO spaces if "-i" was given.
15196 (grub_cmd_lspci): Parse options.
15197 (GRUB_MOD_INIT(lspci)): Use extcmd.
15198 (GRUB_MOD_FINI(lspci)): Likewise.
15199
0ad46fd7 152002009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
15201
15202 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15203 `function' keyword.
15204 Patch by Tony Mancill <tmancill@debian.org>.
15205
b5d5993b
VS
152062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15209 (grub_uhci_portstatus): Likewise.
15210 (grub_uhci_portstatus): Add necessary delay.
11d18281 15211 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 15212
941903f2 152132009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 15214
941903f2 15215 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15216 (GRUB_MOD_INIT): Likewise.
15217 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 15218 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15219 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 15220 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15221 (enable_rom_area): Likewise.
15222 (GRUB_MOD_INIT): Likewise.
15223 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15224 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15225 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15226 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15227 * commands/hexdump.c (options): Likewise.
15228 * commands/i386/cpuid.c (options): Likewise.
15229 (GRUB_MOD_INIT): Likewise.
15230 * commands/i386/pc/drivemap.c (options): Likewise.
15231 (GRUB_MOD_INIT): Likewise.
15232 * commands/i386/pc/halt (options): Likewise.
15233 (GRUB_MOD_INIT): Likewise.
15234 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15235 * commands/i386/pc/pxecmd.c (options): Likewise.
15236 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15237 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15238 * commands/keystatus.c (options): Likewise.
15239 (GRUB_MOD_INIT): Likewise.
15240 * commands/loadenv.c (options): Likewise.
15241 * commands/ls.c (options): Likewise.
15242 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15243 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15244 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15245 * commands/parttool.c (helpmsg): Likewise.
15246 * commands/probe.c (options): Likewise.
15247 * commands/read.c (GRUB_MOD_INIT): Likewise.
15248 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15249 * commands/search.c (options): Likewise.
15250 * commands/sleep.c (options): Likewise.
15251 * commands/test.c (GRUB_MOD_INIT): Likewise.
15252 * commands/true.c (GRUB_MOD_INIT): Likewise.
15253 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15254 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15255 * lib/arg.c (help_options): Likewise.
e9bbb4e7 15256 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15257 `$(XGETTEXT)'.
98a50553 15258 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 15259
0ad46fd7 152602009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 15261
ef3c2c3a 15262 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
15263 instead of specifying them explicit.
15264
7922f68b
RM
152652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15266
15267 * NEWS: Add grub-probe support for GNU/Hurd.
15268
537ce47f
RM
152692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15270
15271 * NEWS: gettext was added after 1.97.
15272
9b214e3a
RM
152732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15274
15275 * util/mkisofs/msdos_partition.h: New file (based on
15276 include/grub/msdos_partition.h).
15277 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15278 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15279 (ld_options, main): Recognize --protective-msdos-label.
15280 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15281 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15282 (padblock_write): If `use_protective_msdos_label' is set, patch a
15283 protective DOS-style label in the output image.
15284
15285 * util/grub-mkrescue.in: Use --protective-msdos-label.
15286
e9309813
RM
152872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15288
15289 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15290 boot.
15291
0ae56929
RM
152922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15293
15294 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15295 variables.
15296 (ld_options, main): Recognize `--embedded-boot'.
15297 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15298 declarations.
15299 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15300 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15301 (padblock_write): Likewise. Rewrite to support embedded boot image.
15302
15303 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15304 for BIOS-based disk boot instead of only ElTorito.
15305
b15937b1
RM
153062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15307
15308 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15309 build (not needed for bootstrap).
15310
52cc3ce0
RM
153112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15314 from i386-pc build (not needed for bootstrap).
15315 Rewrite a pair of strings.
15316
36f5ff04
RM
153172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15318
15319 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15320
973c6c85 153212009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
15322
15323 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15324
05d21547
AB
153252009-12-21 Andreas Born <futur.andy@googlemail.com>
15326
15327 * kern/env.c (grub_env_context_open): Mark exported variable for
15328 reexport.
15329
0175d51f
AB
153302009-12-21 Andreas Born <futur.andy@googlemail.com>
15331
15332 * kern/env.c (grub_env_export): Create nonexistent variables before
15333 exporting.
15334
7f39d92f 153352009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 15336
7f39d92f 15337 * include/grub/auth.h: Include `<grub/i18n.h>'.
15338 (GRUB_GET_PASSWORD): Gettextizze string.
15339 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15340 menu_text.c.
15341 (grub_utf8_to_ucs4_alloc): Fix indentation.
15342 (grub_print_ucs4): Likewise.
15343 (grub_getstringwidth): Likewise.
15344 (print_message_indented): New declaration.
15345 * normal/auth.c: Include `<grub/i18n.h>'.
15346 (grub_auth_check_authentication): Gettexttize string.
15347 * normal/cmdline.c: Include `<grub/i18n.h>'.
15348 (grub_cmdline_get): Gettextizze.
15349 * normal/color.c: Include `<grub/i18n.h>'.
15350 (grub_parse_color_name_pair): Gettexttize strings.
15351 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15352 string (use `print_message_indented').
15353 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15354 `include/grub/normal.h'.
15355 (print_message_indented): Renamed to ...
15356 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15357 used in normal/main.c).
15358 (print_message): Use `grub_print_message_indented' instead of
15359 `print_message_indented'.
15360 (print_timeout): Likewise.
15361 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15362 (grub_normal_print_device_info): Gettexttize strings.
15363 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15364
3041d898
VS
153652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15368 of arguments. Return number of tokens and not arguments. All users
15369 updated.
15370
de15bf8e
VS
153712009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15374 non-MSDOS paritions.
15375
e0a6ca52
VS
153762009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * include/grub/types.h (UNUSED): Removed since it conflicts with
15379 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15380 Reported by Grégoire Sutre.
15381
b99518d1 153822009-12-19 Carles Pina i Estany <carles@pina.cat>
15383
15384 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15385 (grub_print_ucs4_alloc): Likewise.
15386 (grub_getstringwidth): Likewise.
15387 * normal/main.c (grub_normal_init_page): Gettextize version string.
15388 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15389 (getstringwidth): Renamed to ...
15390 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15391 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15392 (grub_print_ucs4): Remove `static' qualifer (now used in
15393 normal/main.c).
15394 * po/POTFILES: Add normal/main.c.
15395
bfd5e52b 153962009-12-19 Carles Pina i Estany <carles@pina.cat>
15397
15398 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15399 (print_message_indented): Add `margin_left' and `margin_right'
15400 parameters.
15401 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15402 strings.
15403 (print_timeout): Use `print_message_indented' to print the message.
15404 Deletes `second_stage' parameter.
15405 (run_menu): Update `print_timeout' calls.
15406
5a1ad2b9
VS
154072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 Fix console palette on OpenFirmware.
15410
15411 * term/ieee1275/ofconsole.c (MAX): Removed.
15412 (colors): Redone based on VGA palette.
15413 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15414 colors are supported.
15415 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15416
b045f00a
VS
154172009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 Fix potential EfiEmu double prepare.
15420
15421 * efiemu/main.c (prepared): New variable
15422 (grub_efiemu_unload): Set prepare to '0'.
15423 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15424
15425 set_virtual_address_map support.
15426
15427 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15428 prototype.
15429 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15430 prototype.
15431 (grub_efiemu_crc32): Likewise.
15432 (grub_efiemu_crc64): Likewise.
15433 (grub_efiemu_set_virtual_address_map): Likewise.
15434 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15435 New definition.
15436 (grub_autoefi_set_virtual_address_map): Likewise.
15437 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15438 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15439 Restructure flow to accomodate it.
15440 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15441 (grub_efiemu_crc): Recompute CRC32.
15442 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15443 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15444 * efiemu/symbols.c (relocated_handle): New variable.
15445 (grub_efiemu_free_syms): Free relocated_handle.
15446 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15447 (grub_efiemu_write_sym_markers): New function.
15448 (grub_efiemu_set_virtual_address_map): Likewise.
15449
15450 Newer XNU parameters.
15451
15452 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15453 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15454 (grub_xnu_fill_devicetree): New prototype.
15455 (grub_xnu_heap_real_start): New variable.
15456 * loader/xnu.c (get_name_ptr): New function.
15457 (grub_xnu_load_driver): Fill namelen and name.
15458
15459 64-bit xnu support.
15460
15461 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15462 and 'loader/macho64.c'.
15463 * conf/i386-pc.rmk: Likewise.
15464 * conf/x86_64-efi.rmk: Likewise.
15465 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15466 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15467 * include/grub/macho.h (grub_macho_segment64): New structure.
15468 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15469 (grub_macho_size32): ... to this.
15470 (grub_macho32_get_entry_point): Renamed from ...
15471 (grub_macho_get_entry_point32): ... to this.
15472 (grub_macho_contains_macho64): New prototype.
15473 (grub_macho_size64): Likewise.
15474 (grub_macho_get_entry_point64): Likewise.
15475 (grub_macho32_load): Renamed from ...
15476 (grub_macho_load32): ... to this.
15477 (grub_macho32_filesize): Renamed from ...
15478 (grub_macho_filesize32): ... to this.
15479 (grub_macho32_readfile): Renamed from ...
15480 (grub_macho_readfile32): ... to this.
15481 (grub_macho_filesize64): New prototype.
15482 (grub_macho_readfile64): Likewise.
15483 (grub_macho_parse32): Likewise.
15484 (grub_macho_parse64): Likewise.
15485 * loader/macho.c: Split into ...
15486 * loader/machoXX.c: ... and this. Replace 32 with XX.
15487 * loader/macho32.c: New file.
15488 * loader/macho64.c: Likewise.
15489 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15490 (grub_cmd_xnu_kernel): Make 32-bit only.
15491 (grub_cmd_xnu_kernel64): New function.
15492 (grub_xnu_load_driver): Support Mach-O 64.
15493 (grub_cmd_xnu_mkext): Likewise.
15494 * util/grub.d/30_os-prober.in (osx_entry): New function.
15495 Generate entries for 64-bit boot too.
15496
15497 Eliminate ad-hoc tree format in XNU and EfiEmu.
15498
15499 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15500 * efiemu/pnvram.c: Rewritten to use environment variables.
15501 All users updated.
15502
15503 Inline utf16_to_utf8.
15504
15505 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15506 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15507 All users updated.
15508 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15509
15510 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15511 * commands/usbtest.c (grub_usb_get_string): ... move here.
15512 (usb_print_str): Fix error handling.
15513 * include/grub/usb.h (grub_usb_get_string): Remove.
15514
15515 UTF-8 to UTF-16 transformation.
15516
15517 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15518 (charset_mod_SOURCES): New variable.
15519 (charset_mod_CFLAGS): Likewise.
15520 (charset_mod_LDFLAGS): Likewise.
15521 * include/grub/utf.h: New file.
15522 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15523
15524 Support for device properties.
15525
15526 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15527 (grub_xnu_devprop_device_header): Likewise.
15528 (grub_xnu_devprop_device_descriptor): Likewise.
15529 (grub_xnu_devprop_add_device): New prototype.
15530 (grub_xnu_devprop_remove_device): Likewise.
15531 (grub_xnu_devprop_remove_property): Likewise.
15532 (grub_xnu_devprop_add_property_utf8): Likewise.
15533 (grub_xnu_devprop_add_property_utf16): Likewise.
15534 (grub_cpu_xnu_init): Likewise.
15535 (grub_cpu_xnu_fini): Likewise.
15536 (grub_cpu_xnu_unload): Likewise.
15537 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15538 (property_descriptor): Likewise.
15539 (devices): New variable.
15540 (grub_xnu_devprop_remove_property): New function.
15541 (grub_xnu_devprop_add_device): Likewise.
15542 (grub_xnu_devprop_remove_device): Likewise.
15543 (grub_xnu_devprop_add_property): Likewise.
15544 (grub_xnu_devprop_add_property_utf8): Likewise.
15545 (grub_xnu_devprop_add_property_utf16): Likewise.
15546 (hextoval): Likewise.
15547 (grub_cpu_xnu_fill_devprop): Likewise.
15548 (grub_cmd_devprop_load): Likewise.
15549 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15550 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15551 (cmd_devprop_load): New variable.
15552 (grub_cpu_xnu_init): New function.
15553 (grub_cpu_xnu_fini): Likewise.
15554 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15555 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15556 (grub_cmd_xnu_devtree): Likewise.
15557 (hextoval): New function.
15558 (unescape): Likewise.
15559 (grub_xnu_fill_devicetree): Likewise.
15560
15561 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15562 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15563
0945f181
VS
155642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Workaround for broken ATI VBE.
15567
15568 * video/i386/pc/vbe.c (last_set_mode): New variable.
15569 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15570 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15571 (grub_video_vbe_setup): Don't check for reserved flag.
15572
0ad46fd7 155732009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
15574
15575 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15576 the `find' command.
15577
c179ebe4
VS
155782009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 UUID support for HFS.
15581
15582 * fs/hfs.c (grub_hfs_uuid): New function.
15583 (grub_hfs_fs): New value .uuid.
15584 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15585
0ad46fd7 155862009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
15587
15588 Fix a segfault with parsing unknown long options.
15589
15590 * util/grub-mkrelpath.c (options): Zero terminate it.
15591
c4a3e41a
CPE
155922009-12-13 Carles Pina i Estany <carles@pina.cat>
15593
15594 * include/grub/misc.h (grub_puts): New declaration.
15595 (grub_puts_): Likewise.
a22008a6 15596 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
15597 (grub_puts_): Likewise.
15598
2e8a7602
RM
155992009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15600
15601 * util/grub-probe.c (probe): Improve error message.
15602
b50b77b9
RM
156032009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15604
15605 * loader/i386/multiboot_elfxx.c
15606 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15607 initialization.
15608
156092009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Relocator framework
15612
15613 * loader/i386/xnu_helper.S: Removed. All users updated.
15614 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15615 (relocator_mod_SOURCES): New variable.
15616 (relocator_mod_CFLAGS): Likewise.
15617 (relocator_mod_LDFLAGS): Likewise.
15618 (relocator_mod_ASFLAGS): Likewise.
15619 * conf/x86_64.rmk: Likewise.
15620 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15621 (grub_multiboot_payload_entry_offset): Likewise.
15622 (grub_multiboot_forward_relocator): Likewise.
15623 (grub_multiboot_forward_relocator_end): Likewise.
15624 (grub_multiboot_backward_relocator): Likewise.
15625 (grub_multiboot_backward_relocator_end): Likewise.
15626 (grub_multiboot_payload_eip): New variable.
15627 (grub_multiboot_payload_orig): Likewise.
15628 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15629 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15630 * include/grub/i386/memory.h
15631 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15632 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15633 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15634 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15635 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15636 * include/grub/i386/relocator.h: New file.
15637 * include/grub/x86_64/relocator.h: Likewise.
15638 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15639 (XNU_RELOCATOR): New macro.
15640 (grub_xnu_launcher_start): Remove.
15641 (grub_xnu_launcher_end): Likewise.
15642 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15643 (grub_xnu_heap_real_start): Remove.
15644 (grub_xnu_heap_start): Change to void *. All users updated.
15645 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15646 * lib/i386/relocator.c: New file.
15647 * lib/i386/relocator_asm.S: Likewise.
15648 * lib/i386/relocator_backward.S: Likewise.
15649 * lib/mips/relocator.c: Likewise.
15650 * lib/mips/relocator_asm.S: Likewise.
15651 * lib/relocator.c: Likewise.
15652 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15653 (entry): Removed.
15654 (playground): Likewise.
15655 (grub_multiboot_payload_orig): New variable.
15656 (grub_multiboot_payload_dest): Likewise.
15657 (grub_multiboot_payload_size): Likewise.
15658 (grub_multiboot_payload_eip): Likewise.
15659 (grub_multiboot_payload_esp): Likewise.
15660 (grub_multiboot_boot): Use grub_relocator32_boot.
15661 (grub_multiboot_unload): Free relocators.
15662 (grub_multiboot): Setup stack. Use relocators.
15663 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15664 (grub_multiboot_load_elfXX): Use relocators.
15665 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15666 (grub_multiboot_payload_size): Likewise.
15667 (grub_multiboot_payload_dest): Likewise.
15668 (grub_multiboot_payload_entry_offset): Likewise.
15669 (grub_multiboot_forward_relocator): Likewise.
15670 (grub_multiboot_backward_relocator): Likewise.
15671 (grub_multiboot_real_boot): Likewise.
15672 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15673 (grub_xnu_entry_point): Likewise.
15674 (grub_xnu_arg1): Likewise.
15675 (grub_xnu_stack): Likewise.
15676 (grub_xnu_launch): Removed.
15677 (grub_xnu_boot_resume): New function.
15678 (grub_xnu_boot): Use relocators.
15679 * loader/i386/xnu_helper.S: Removed.
15680 * loader/xnu.c (grub_xnu_heap_start): New variable.
15681 (grub_xnu_heap_size): Likewise.
15682 (grub_xnu_heap_malloc): Use relocators.
15683 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15684
29eb90c6
VS
156852009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15688 anything.
15689
31027430
CPE
156902009-12-13 Carles Pina i Estany <carles@pina.cat>
15691
15692 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15693 GRUB_ERR_NONE before calling grub_env_set.
15694
dc0c71d9
RM
156952009-12-12 Robert Millan <rmh@aybabtu.com>
15696
15697 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15698 * genmk.rb (video): New variable.
15699 (CLEANFILES, VIDEOFILES): Add #{video}.
15700 (#{video}): New target rule.
15701 * genvideolist.sh: New file.
15702 * Makefile.in (pkglib_DATA): Add video.lst.
15703 (video.lst): New target rule.
15704 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15705 `video.lst'.
15706 * util/grub.d/30_os-prober.in: Replace `vbe' with
15707 ${GRUB_VIDEO_BACKEND}.
15708
2a4bfcf0
RM
157092009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15710
15711 * THANKS: Add David Miller.
15712
2a3aa4d5
RM
157132009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 libpciaccess support.
15716
15717 * Makefile.in (LIBPCIACCESS): New variable.
15718 (enable_grub_emu_pci): Likewise.
15719 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15720 util/pci.c and commands/lspci.c.
15721 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15722 * configure.ac (grub-emu-pci): New option.
15723 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15724 (grub_pci_device_unmap_range): Likewise.
15725 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15726 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15727 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15728 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15729 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15730 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15731 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15732 * include/grub/pciutils.h: New file.
15733 * util/pci.c: Likewise.
15734
0ad46fd7 157352009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
15736
15737 * util/misc.c: Don't include <errno.h> twice.
15738
0ad46fd7 157392009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
15740
15741 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15742 name in an error message.
15743 (grub_biosdisk_rw): Likewise.
15744
2e59983c
VS
157452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Eliminate NTFS 4Gib barrier.
15748
15749 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15750 (read_run_data): Likewise.
15751 (grub_ntfs_read_run_list): Likewise.
15752 (grub_ntfs_read_block): Likewise.
15753 (grub_ntfs_iterate_dir): Likewise.
15754 (read_mft): Likewise.
15755 (read_data): Likewise.
15756 Use COM_LOG_LEN.
15757 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15758 to avoid 64-bit division
15759 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15760 (grub_ntfs_rlst): Use grub_disk_addr_t.
15761
71ee178a
VS
157622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Eliminate grub-fstest 4Gib barrier.
15765
15766 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15767 (read_file): Fix error reporting.
15768
2520d4b8
VS
157692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Eliminate hexdump 4Gib barrier.
15772
15773 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15774 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15775
e1f27065
VS
157762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15779 Fixes amarsh bug.
15780
1a0f7f45
RM
157812009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15782
15783 Remove miscellaneous files in distclean target.
15784
15785 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15786
c631d9fb
CW
157872009-12-09 Colin Watson <cjwatson@ubuntu.com>
15788
15789 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15790 if they're already set. This resolves the conflict between my
15791 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15792 fixing the --grub-probe option again.
15793 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15794 change on 2009-10-06, so that we now once again source
15795 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15796
7c7b6106
RM
157972009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15798
15799 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15800 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15801 `util/devicemap.c'.
15802
e3069ec1
CPE
158032009-12-08 Carles Pina i Estany <carles@pina.cat>
15804
15805 * include/grub/misc.h (grub_printf_): New declaration.
15806 * kern/misc.c (grub_printf_): New definition.
15807 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15808 instead of `grub_printf' and `_'.
15809 * normal/menu_entry.c (store_completion): Likewise.
15810 (run): Likewise.
15811 (grub_menu_entry_run): Likewise.
15812 * normal/menu_text.c (grub_wait_after_message): Likewise.
15813 (notify_booting): Likewise.
15814 (notify_fallback): Likewise.
15815 (notify_execution_failure): Likewise.
15816
d6ceebf1
CW
158172009-12-07 Colin Watson <cjwatson@ubuntu.com>
15818
15819 * configure.ac: Check for vasprintf.
15820 * util/misc.c (asprintf): Move allocation from here ...
15821 (vasprintf): ... to here. New function.
15822 (xasprintf): New function.
15823 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15824 prototypes.
15825 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15826 * util/grub-mkfont.c (write_font): Likewise.
15827 * util/grub-probe.c (probe): Likewise.
15828 * util/hostdisk.c (make_device_name): Likewise.
15829
de6daa8b
DM
158302009-12-06 David S. Miller <davem@sunset.davemloft.net>
15831
15832 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15833 anything even prefixed with 'cdrom' as a cdrom.
15834
0ad46fd7 158352009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
15836
15837 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15838 mount points.
15839
98d3dc02
CPE
158402009-12-05 Carles Pina i Estany <carles@pina.cat>
15841
15842 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15843 grub_gettext_msg_list.
15844 (grub_gettext_gettranslation_from_position): Return const char *
15845 and not char *.
a2c1332b 15846 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
15847 returns from the list if existing there.
15848 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15849 (grub_gettext_delete_list): Delete the list.
15850 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15851 lang environment variable is changed.
15852 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15853
b283f108
VS
158542009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Rename kernel.mod to kernel.img.
15857
15858 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15859 (kernel_mod_EXPORTS): Rename to ...
15860 (kernel_img_EXPORTS): ... this.
15861 (kernel_mod_SOURCES): Rename to ...
15862 (kernel_img_SOURCES): ... this.
15863 (kernel_mod_HEADERS): Rename to ...
15864 (kernel_img_HEADERS): ... this. All users updated.
15865 (kernel_mod_CFLAGS): Rename to ...
15866 (kernel_img_CFLAGS): ... this.
15867 (kernel_mod_ASFLAGS): Rename to ...
15868 (kernel_img_ASFLAGS): ... this.
15869 (kernel_mod_LDFLAGS): Rename to ...
15870 (kernel_img_LDFLAGS): ... this.
15871 * conf/x86_64-efi.rmk: Likewise.
15872 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15873 (read_kernel_image): ... this. All users updated.
15874 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15875
69055f8a
CPE
158762009-12-05 Carles Pina i Estany <carles@pina.cat>
15877
15878 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15879 (print_spaces): New function.
15880 (grub_print_ucs4): New function.
15881 (getstringwidth): New function.
15882 (print_message_indented): New function.
15883 (print_message): Gettexttize strings using print_message_indented.
15884 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15885 width.
15886 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 15887 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
15888 Gettextize.
15889 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15890 string.
15891 (run): Likewise.
15892 (grub_menu_entry_run): Likewise.
15893 * PO/POTFILES: Add normal/menu_entry.c.
15894
f616f51c
VS
158952009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15898
57bbe3be
CPE
158992009-12-05 Carles Pina i Estany <carles@pina.cat>
15900
15901 * util/grub-install.in: Install gettext .mo files.
15902 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15903
013d67a1
CPE
159042009-12-05 Carles Pina i Estany <carles@pina.cat>
15905
15906 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15907 grub_dprintf.
15908
fb954db0
RM
159092009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15910
15911 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15912 non-firmware-dependant one in realmode.S takes precedence.
15913
6b8474f8
RM
159142009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15915
15916 * commands/halt.c: Replace misc arch-specific headers with
15917 `<grub/misc.h>'.
15918 * commands/reboot.c: Likewise.
15919 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15920 `<grub/misc.h>'.
15921 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15922 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15923 (kernel_img_SOURCES): ... to here.
15924
15925 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15926 * include/grub/i386/pc/init.h: Likewise.
15927 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15928 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15929
15930 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15931
15932 * include/grub/i386/halt.h: Remove.
15933 * include/grub/i386/reboot.h: Likewise.
15934
15935 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15936
4b2e6ca2
DM
159372009-12-03 David S. Miller <davem@sunset.davemloft.net>
15938
15939 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15940 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15941 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15942 "progname.h"
15943 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15944 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15945 (usage): Add missing comma in printf.
15946
5239348f
RM
159472009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15948
15949 Use the same reboot approach on i386 coreboot and qemu as we do on
15950 BIOS.
15951
15952 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15953 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15954 * kern/i386/reboot.c: Remove.
15955 * include/grub/i386/reboot.h (grub_reboot): Export function.
15956 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15957 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15958 0xf000:0xfff0 instead of 0xffff:0x0000.
15959 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15960 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
15961
ef34cbd4
RM
159622009-11-30 Robert Millan <rmh.grub@aybabtu.com>
15963
15964 Fix $srcdir != $objdir build.
15965
15966 * Makefile.in (po/%.po): Rewrite as ...
15967 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
15968
dc9837ea
ST
159692009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
15970
15971 Fix GNU/Hurd grub-install crash.
15972 * util/grub-probe.c (probe): Try to access `path' only when it is not
15973 NULL.
15974
2f857f98
VS
159752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 Correct module naming.
15978
15979 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15980 (GRUB_MOD_INIT(efi_uga)): ... to this
15981 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15982 (GRUB_MOD_FINI(efi_uga)): ... to this
15983 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15984 (GRUB_MOD_INIT(efi_gop)): ... to this
15985 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15986 (GRUB_MOD_FINI(efi_gop)): ... to this
15987
c5448046
RM
159882009-11-28 Robert Millan <rmh.grub@aybabtu.com>
15989
15990 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
15991 translatable.
15992 (usage): Translate `arg' strings using gettext().
15993 Thanks to Jordi Mallach for the suggestion.
15994
c85184ad
VS
159952009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 GOP support. Based on patch from Bean
15998 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
15999
16000 * video/efi_gop.c: New file.
16001 * include/grub/efi/graphics_output.h: Likewise.
16002 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16003 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16004 variables.
16005 * conf/x86_64-efi.rmk: Likewise.
16006
8a4c48d8
VS
160072009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Rename efi_fb to efi_uga.
16010
16011 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16012 'efi_uga.mod'.
16013 (efi_fb_mod_SOURCES): Rename this ...
16014 (efi_uga_mod_SOURCES): ... to this.
16015 (efi_fb_mod_CFLAGS): Rename this ...
16016 (efi_uga_mod_CFLAGS): ... to this.
16017 (efi_fb_mod_LDFLAGS): Rename this ...
16018 (efi_uga_mod_LDFLAGS): ... to this.
16019 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16020 'efi_uga.mod'.
16021 (efi_fb_mod_SOURCES): Rename this ...
16022 (efi_uga_mod_SOURCES): ... to this.
16023 (efi_fb_mod_CFLAGS): Rename this ...
16024 (efi_uga_mod_CFLAGS): ... to this.
16025 (efi_fb_mod_LDFLAGS): Rename this ...
16026 (efi_uga_mod_LDFLAGS): ... to this.
16027 * video/efi_fb.c: Move this ...
16028 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16029
fb6c1a7b
RM
160302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16031
16032 * po/README: New file. Explain our PO file workflow.
16033
3bc7896c
RM
160342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16035
16036 * po/ChangeLog: Remove. Move relevant entries back to ...
16037 * ChangeLog: ... here.
16038 * po/ca.po: Remove (now handled by TLP).
16039 * po/id.po: Likewise.
16040 * po/zh_CN.po: Likewise.
16041 * Makefile.in (LINGUAS): Initialize in a way that supports
16042 empty set.
16043
9ed4841d
RM
160442009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16045
16046 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16047 reliing on po/LINGUAS.
16048 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16049 (po/%.po): ... this.
16050
0ad46fd7 160512009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
16052
16053 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16054 (main): Use `program_name' instead of nonexistent `progname'.
16055
e30dd392
FZ
160562009-11-26 Felix Zielcke <fzielcke@z-51.de>
16057
16058 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16059 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16060
7656de4f
RM
160612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16064 commit.
16065 * conf/i386-efi.rmk: Likewise.
16066 * conf/i386-ieee1275.rmk: Likewise.
16067 * conf/powerpc-ieee1275.rmk: Likewise.
16068 * conf/sparc64-ieee1275.rmk: Likewise.
16069 * conf/x86_64-efi.rmk: Likewise.
16070
db77c4d4
FZ
160712009-11-26 Felix Zielcke <fzielcke@z-51.de>
16072
16073 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16074
a755bb04
FZ
160752009-11-26 Felix Zielcke <fzielcke@z-51.de>
16076
16077 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16078
8a4c07fd
RM
160792009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16080
16081 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16082 (grub_mkdevicemap_SOURCES): New variable.
16083 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16084 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16085 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16086 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16087 (grub_mkdevicemap_SOURCES): Remove.
16088 * conf/i386-efi.rmk: Likewise.
16089 * conf/i386-ieee1275.rmk: Likewise.
16090 * conf/i386-pc.rmk: Likewise.
16091 * conf/powerpc-ieee1275.rmk: Likewise.
16092 * conf/sparc64-ieee1275.rmk: Likewise.
16093 * conf/x86_64-efi.rmk: Likewise.
16094 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16095 (usage): Fix strings to use `program_name'.
16096 (main): Initialize gettext.
16097 * util/grub-editenv.c: Likewise.
16098 * util/grub-emu.c: Likewise.
16099 * util/grub-fstest.c: Likewise.
16100 * util/grub-mkdevicemap.c: Likewise.
16101 * util/grub-mkfont.c: Likewise.
16102 * util/grub-mkrelpath.c: Likewise.
16103 * util/grub-pe2elf.c: Likewise.
16104 * util/grub-probe.c: Likewise.
16105 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16106 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16107 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16108
16109 * util/misc.c: Include `"progname.h"'.
16110 (progname): Remove variable.
16111 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16112
6f61ed55
FZ
161132009-11-25 Felix Zielcke <fzielcke@z-51.de>
16114
16115 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16116 printf and print a newline after the menuentry header line.
16117 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16118
f022876b
FZ
161192009-11-25 Felix Zielcke <fzielcke@z-51.de>
16120
16121 autoconf >= 2.60 support $(localedir).
16122
16123 * INSTALL: Note that autoconf 2.60 is required.
16124 * configure.ac (AC_PREREQ): Bump to 2.60.
16125 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16126 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16127
6717926e
YB
161282009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16129
16130 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16131 aclocal is run.
16132
08806a54
RM
161332009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16134
16135 * normal/main.c (grub_normal_read_line): Fix off-by-one
16136 buffer overflow.
16137
13b33fba
RM
161382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16139
16140 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16141 "parser.grub" in grub_command_execute() call.
16142
4a8572e9
CPE
161432009-11-24 Carles Pina i Estany <carles@pina.cat>
16144
16145 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16146 * conf/i386-efi.rmk: Likewise.
16147 * conf/i386-ieee1275.rmk: Likewise.
16148 * conf/i386-pc.rmk: Likewise.
16149 * conf/powerpc-ieee1275.rmk: Likewise.
16150 * conf/sparc64-ieee1275.rmk: Likewise.
16151 * conf/x86_64-efi.rmk: Likewise.
16152 * gettext/gettex.c: Include <grub/i18n.h>.
16153 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16154 here ...
16155 * include/grub/i18n.h: ... to here
16156 * include/grub/i18n.h: ... to here.
16157 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 16158 (grub_gettext_dummy): Move above user.
4a8572e9 16159
bee48093
FZ
161602009-11-24 Felix Zielcke <fzielcke@z-51.de>
16161
16162 * util/Makefile.in (install-local): Convert a `for' into a normal
16163 shell expansion.
16164
a031e91c
RM
161652009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16166
16167 * autogen.sh: Add automake call.
16168 * config.guess: Remove.
16169 * config.sub: Likewise.
16170 * install-sh: Likewise.
16171
26bec39d
FZ
161722009-11-24 Felix Zielcke <fzielcke@z-51.de>
16173
16174 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16175
8e2532fd
FZ
161762009-11-24 Felix Zielcke <fzielcke@z-51.de>
16177
16178 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16179 function to a normal shell `for'.
16180
fefa1b7d
FZ
161812009-11-24 Felix Zielcke <fzielcke@z-51.de>
16182
16183 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16184
4501250b
FZ
161852009-11-24 Felix Zielcke <fzielcke@z-51.de>
16186
16187 * util/grub-mkrelpath.c: New file.
16188 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16189 (grub_mkrelpath_SOURCES): New variable.
16190 * include/grub/util/misc.h: New function prototype.
16191 * util/misc.c (make_system_path_relative_to_its_root): New function.
16192
16193 * util/grub-mkconfig_lib.in (bindir): New variable.
16194 (grub_mkrelpath): Likewise.
16195 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16196
16197 * util/probe.c (probe): Make the file path relative to its root.
16198 Change a info message to use the GRUB path. Enable again the
16199 check if we can read the file with GRUB facilities.
16200
16201 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16202 to its root.
16203
11d9778b
FZ
162042009-11-24 Felix Zielcke <fzielcke@z-51.de>
16205
16206 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16207 platform.
16208
4465287d
FZ
162092009-11-24 Felix Zielcke <fzielcke@z-51.de>
16210
16211 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16212 strncmp().
16213
62b47f22
FZ
162142009-11-24 Felix Zielcke <fzielcke@z-51.de>
16215
16216 * util/getroot.c (grub_util_is_dmraid): New function.
16217 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16218 devices as normal ones, not as LVM.
16219
1eafb9b9 162202009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
16221
16222 * conf/common.rmk: Add grub-gettext_lib target and updates
16223 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16224 LDFLAGS.
16225 * gettext/gettext.c: New file. (Reads mo files).
16226 * include/grub/file.h (grub_file_pread): New prototype.
16227 * include/grub/i18n.h (_): New prototype.
16228 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16229 prototypes.
16230 * kern/misc.c (grub_gettext_dummy): New function.
16231 * normal/menu_text.c: Include <grub/i18n.h>.
16232 * normal/menu_text.c (print_timeout): Gettexttize string.
16233 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
16234 * po/POTFILES: Add `normal/menu_text.c'.
16235 * po/ca.po: Add new translations.
c3ea6bd4
CPE
16236 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16237 gettext module and defines locale_dir and lang in grub.cfg.
16238 * NEWS: Add gettext support.
16239
0fdb2568
RM
162402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16241
16242 * util/hostdisk.c: Include `<grub/i18n.h>'.
16243 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16244 (make_device_name): Rewrite using asprintf.
16245 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16246 (find_system_device): If a device is not found, generate one just
16247 by reusing the OS path name.
16248 (read_device_map): Make it permissible for device.map not to exist.
16249
f515aa62
RM
162502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16251
16252 * script/sh/execute.c: Move from here ...
16253 * script/execute.c: ... to here. Update all users.
16254 * script/sh/function.c: Move from here ...
16255 * script/function.c: ... to here. Update all users.
16256 * script/sh/lexer.c: Move from here ...
16257 * script/lexer.c: ... to here. Update all users.
16258 * script/sh/main.c: Move from here ...
16259 * script/main.c: ... to here. Update all users.
16260 * script/sh/parser.y: Move from here ...
16261 * script/parser.y: ... to here. Update all users.
16262 * script/sh/script.c: Move from here ...
16263 * script/script.c: ... to here. Update all users.
16264
f84b481b
RM
162652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16266
16267 * configure.ac: Detect all `emu' platforms. Define
16268 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16269 --enable-grub-emu logic. Disable include/grub/machine
16270 symlink on `emu' platforms.
16271
16272 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16273 * gensymlist.sh.in: Likewise.
16274
16275 * include/grub/i386/coreboot/machine.h: Remove file.
16276 * include/grub/i386/efi/machine.h: Likewise.
16277 * include/grub/i386/ieee1275/machine.h: Likewise.
16278 * include/grub/i386/pc/machine.h: Likewise.
16279 * include/grub/i386/qemu/machine.h: Likewise.
16280 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16281 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16282 * include/grub/x86_64/efi/machine.h: Likewise.
16283
16284 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16285 * commands/halt.c: Likewise.
16286 * commands/reboot.c: Likewise.
16287 * include/grub/autoefi.h: Likewise.
16288 * include/grub/i386/at_keyboard.h: Likewise.
16289 * include/grub/i386/kernel.h: Likewise.
16290 * include/grub/i386/loader.h: Likewise.
16291 * include/grub/i386/pc/memory.h: Likewise.
16292 * kern/dl.c: Likewise.
16293 * kern/i386/coreboot/init.c: Likewise.
16294 * loader/i386/bsd.c: Likewise.
16295 * loader/i386/linux.c: Likewise.
16296 * loader/multiboot_loader.c: Likewise.
16297 * term/i386/pc/serial.c: Likewise.
16298 * term/usb_keyboard.c: Likewise.
16299
16300 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16301 `<grub/machine/machine.h>'
16302 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16303 * util/misc.c: Remove `<grub/machine/machine.h>' and
16304 `<grub/machine/time.h>'.
16305
16306 * Makefile.in (enable_grub_emu): Remove variable.
16307 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16308
16309 * conf/any-emu.rmk: New file.
16310 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16311 (grub_emu_init.c): Move from here ...
16312 * conf/any-emu.rmk: ... to here.
16313
16314 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16315 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16316 * conf/any-emu.rmk: ... to here.
16317
4efeab03
RM
163182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16319
16320 * include/grub/parser.h (grub_parser_register): Document need
16321 of `name' parameter.
16322 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16323 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16324 "sh" to "grub".
16325
ea1dd8bf
RM
163262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16327
16328 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16329 `$(XGETTEXT)'.
16330 * include/grub/i18n.h (N_): New macro.
16331 * util/mkisofs/mkisofs.h: Likewise.
16332 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16333 around N_().
16334 (usage): Use gettext() to translate help strings when printing them.
16335
0c140626
RM
163362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16337
16338 Based on patch from Bean
16339 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16340
16341 * video/efi_fb.c: New file.
16342 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16343 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16344 variables.
16345 * conf/x86_64-efi.rmk: Likewise.
16346
87d58298
RM
163472009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16348
16349 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16350 * util/i386/pc/grub-setup.c: Likewise.
16351
994cc3a3
ST
163522009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16353
16354 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16355 <hurd/fs.h>
16356 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16357 file_get_storage_info to implement grub_guess_root_device.
16358
26a61d6a
FZ
163592009-11-21 Felix Zielcke <fzielcke@z-51.de>
16360
16361 * Makefile.in (target): Use make's builtin $(shell) function
16362 instead of calling directly $(SHELL) to create the locale directories,
16363 inside the $(foreach) function.
16364
74ff1dd5
FZ
163652009-11-21 Felix Zielcke <fzielcke@z-51.de>
16366
16367 * util/grub-mkrescue.in: Print an error and usage if output option
16368 has not been given.
16369
0b787d0e
FZ
163702009-11-21 Felix Zielcke <fzielcke@z-51.de>
16371
16372 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16373 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16374 root and /boot are on different devices.
16375
1164b270
RM
163762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16377
16378 Fix build for srcdir != objdir.
16379
16380 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16381 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16382 $(srcdir).
16383 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16384 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16385 reference for input.
16386
13774a2f
RM
163872009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16388
16389 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16390 or hardlinking it). Remove -J option, Joliet is not compatible with
16391 multiple source directories.
16392
efda854e
RM
163932009-11-21 Carles Pina i Estany <carles@pina.cat>
163942009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16395
16396 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16397 (process_input_dir): New function. Process an arbitrary input
16398 directory.
16399 Misc adjustments to support both "override mode" and system-wide mode.
16400
6c09890c
FZ
164012009-11-20 Felix Zielcke <fzielcke@z-51.de>
16402
16403 * configure.ac (UNIFONT_BDF): Rename to ...
16404 (FONT_SOURCE): ... this. Update all users.
16405
a797824f
FZ
164062009-11-20 Felix Zielcke <fzielcke@z-51.de>
16407
16408 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16409 to the list of unifont files to look for.
16410
cd4f42b0
RM
164112009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16412
16413 Patch from Joe Auricchio <jauricchio@gmail.com>
16414 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16415 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16416 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16417
393c783d
FZ
164182009-11-19 Felix Zielcke <fzielcke@z-51.de>
16419
16420 * Makefile.in (install-local): Add a missing backslash.
16421
b2f1e327
FZ
164222009-11-19 Felix Zielcke <fzielcke@z-51.de>
16423
16424 * include/grub/x86_64/io.h: New file.
16425
f577f7a0
RM
164262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16429 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16430 Include `"progname.h"'.
16431 (main): Initialize gettext.
16432 * util/i386/pc/grub-setup.c: Gettexttize.
16433 * util/i386/pc/grub-mkimage.c: Likewise.
16434
16435 * Makefile.in (po/*.po): Redefine as ...
16436 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16437
3bc7896c
RM
16438 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16439
c37943b6
RM
164402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16441
16442 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16443 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16444 (program_name): Remove.
16445 (main): Initialize gettext support.
6323f705
RM
16446 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16447 Include `<libintl.h>'.
16448 (_): New macro.
c37943b6
RM
16449
16450 * util/mkisofs/eltorito.c: Gettexttize.
16451 * util/mkisofs/joliet.c: Likewise.
16452 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
16453 * util/mkisofs/multi.c: Likewise.
16454 * util/mkisofs/rock.c: Likewise.
16455 * util/mkisofs/tree.c: Likewise.
16456 * util/mkisofs/write.c: Likewise.
16457
3bc7896c
RM
16458 * po/POTFILES: Update with new files.
16459
5ce77c6e
RM
164602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16461
16462 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16463 * util/mkisofs/iso9660.h: Likewise.
16464 * util/mkisofs/joliet.c: Likewise.
16465 * util/mkisofs/mkisofs.c: Likewise.
16466 * util/mkisofs/mkisofs.h: Likewise.
16467 * util/mkisofs/rock.c: Likewise.
16468 * util/mkisofs/tree.c: Likewise.
16469 * util/mkisofs/write.c: Likewise.
16470
16471 * util/mkisofs/eltorito.c (rcsid): Remove.
16472 * util/mkisofs/hash.c: Likewise.
16473 * util/mkisofs/joliet.c: Likewise.
16474 * util/mkisofs/name.c: Likewise.
16475 * util/mkisofs/rock.c: Likewise.
16476 * util/mkisofs/tree.c: Likewise.
16477 * util/mkisofs/write.c: Likewise.
16478
1dabbc77
RM
164792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16482 instead of static allocation.
16483 * util/mkisofs/match.h: Likewise.
16484
633877cb
RM
164852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16486
3bc7896c
RM
16487 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16488 and `util/grub.d/10_linux.in'.
633877cb
RM
16489 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16490 translatable Shell files.
16491
af1c0c85
RM
164922009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16493
16494 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16495
769ae37b
RM
164962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16497
16498 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 16499 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
16500 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16501 Add gettext initialization.
16502 (kfreebsd_entry): Make menuentry output translatable.
16503
165042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16505
16506 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16507 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16508 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16509 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16510 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 16511 * po/LINGUAS: New file.
769ae37b
RM
16512
165132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16514
16515 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16516 other things).
16517 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16518 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16519 bindtextdomain() calls for gettext initialization.
16520
165212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16522
16523 * gnulib/progname.c: New file (imported from Gnulib).
16524 * gnulib/progname.h: Likewise.
16525 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16526 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16527 (usage): Replace `progname' with `program_name'.
16528 (main): Use set_program_name() for program name initialization.
16529
165302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16531
16532 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16533 from here ...
16534 * Makefile.in (CPPFLAGS): ... to here.
16535
165362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16537
16538 * aclocal.m4: Move from here ...
16539 * acinclude.m4: ... to here.
16540 * autogen.sh: Add call to `aclocal'.
16541 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16542
165432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16544
16545 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16546 (LINGUAS): New variable.
16547 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16548 (install-local): Install MO files.
16549 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16550 * include/grub/i18n.h: New file.
3bc7896c
RM
16551 * po/POTFILES: New file.
16552 * po/ca.po: New file.
769ae37b
RM
16553 * util/grub.d/10_linux.in (bindir): New variable.
16554 Add gettext initialization.
16555 (linux_entry): Make menuentry output translatable.
16556 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16557 (usage): Make --help output translatable.
16558 (main): Initialize gettext.
16559
02c0a6ad
RM
165602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * import_gcry.py: New file (written by Vladimir with minor
16563 adjustments).
16564 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16565 ciphers.
16566 * INSTALL: Document that Python is required for bootstrap.
16567
165682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16569
16570 Import ciphers from libgcrypt 1.4.4.
16571
16572 * lib/libgcrypt/cipher/ChangeLog
16573 * lib/libgcrypt/cipher/ac.c
16574 * lib/libgcrypt/cipher/arcfour.c
16575 * lib/libgcrypt/cipher/bithelp.h
16576 * lib/libgcrypt/cipher/blowfish.c
16577 * lib/libgcrypt/cipher/camellia-glue.c
16578 * lib/libgcrypt/cipher/camellia.c
16579 * lib/libgcrypt/cipher/camellia.h
16580 * lib/libgcrypt/cipher/cast5.c
16581 * lib/libgcrypt/cipher/cipher.c
16582 * lib/libgcrypt/cipher/crc.c
16583 * lib/libgcrypt/cipher/des.c
16584 * lib/libgcrypt/cipher/dsa.c
16585 * lib/libgcrypt/cipher/ecc.c
16586 * lib/libgcrypt/cipher/elgamal.c
16587 * lib/libgcrypt/cipher/hash-common.c
16588 * lib/libgcrypt/cipher/hash-common.h
16589 * lib/libgcrypt/cipher/hmac-tests.c
16590 * lib/libgcrypt/cipher/md.c
16591 * lib/libgcrypt/cipher/md4.c
16592 * lib/libgcrypt/cipher/md5.c
16593 * lib/libgcrypt/cipher/primegen.c
16594 * lib/libgcrypt/cipher/pubkey.c
16595 * lib/libgcrypt/cipher/rfc2268.c
16596 * lib/libgcrypt/cipher/rijndael-tables.h
16597 * lib/libgcrypt/cipher/rijndael.c
16598 * lib/libgcrypt/cipher/rmd.h
16599 * lib/libgcrypt/cipher/rmd160.c
16600 * lib/libgcrypt/cipher/rsa.c
16601 * lib/libgcrypt/cipher/seed.c
16602 * lib/libgcrypt/cipher/serpent.c
16603 * lib/libgcrypt/cipher/sha1.c
16604 * lib/libgcrypt/cipher/sha256.c
16605 * lib/libgcrypt/cipher/sha512.c
16606 * lib/libgcrypt/cipher/tiger.c
16607 * lib/libgcrypt/cipher/twofish.c
16608 * lib/libgcrypt/cipher/whirlpool.c
16609
af2f93ac
RM
166102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16611
16612 Fix build for systems without error().
16613
16614 * gnulib/error.c: New file (imported from Gnulib).
16615 * gnulib/error.h: Likewise.
16616 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16617 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16618 (this variable is now used by error()).
16619
73fb3dd5
FZ
166202009-11-16 Felix Zielcke <fzielcke@z-51.de>
16621
814f5e96
FZ
16622 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16623 instead of relying that char is signed.
73fb3dd5 16624
a691ca33
VS
166252009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16628 blocksize different from specified.
16629 (grub_pxefs_read): Likewise.
16630
2af8f0f4
FZ
166312009-11-16 Felix Zielcke <fzielcke@z-51.de>
16632
16633 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16634
16635 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16636 (grub_ata_readwrite): Likewise. Update 2 format strings.
16637 (grub_atapi_read): Likewise.
16638
16639 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16640 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16641 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16642 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16643 (ata_mod_LDFLAGS): Move from here ...
16644 * conf/i386.rmk: ... to here ...
16645 * conf/x86_64-efi.rmk: ... and here.
16646 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16647 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16648
83bdecaf
RM
166492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 Relicense multiboot.h, with RMS' blessing.
16652
16653 * include/multiboot.h: Change to X11 license.
16654
fd6fd3d7
RM
166552009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16656
16657 Support --version in grub-mkisofs.
16658
16659 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16660 (OPTION_VERSION): New macro.
16661 (ld_options): Recognize --version.
16662 (usage): Move `program_name' from here ...
16663 (program_name): ... to here. Add `static' qualifier.
16664 (main): Recognize `OPTION_VERSION'.
16665
16a88c49
FZ
166662009-11-15 Felix Zielcke <fzielcke@z-51.de>
16667
16668 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16669 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16670
a4158476
RM
166712009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16672
16673 Fix help2man generation for mkisofs.
16674
16675 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16676 (usage): Send output to stdout (rather than stderr).
16677
fc2208b0
RM
166782009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16679
16680 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16681 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16682 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16683 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16684 (bin_SCRIPTS): Add `grub-mkfloppy'.
16685 (grub_mkfloppy_SOURCES): New variable.
16686
16687 * util/grub-mkrescue.in: New file.
16688 * util/i386/pc/grub-mkfloppy.in: New file.
16689
16690 * util/i386/coreboot/grub-mkrescue.in: Remove.
16691 * util/i386/pc/grub-mkrescue.in: Remove.
16692
8d0edf4a
RM
166932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16694
16695 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16696 from here ...
16697 * include/multiboot.h (struct multiboot_header): ... to here. Update
16698 all users.
16699 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16700 from here ...
16701 * include/multiboot.h (struct multiboot_info): ... to here. Update
16702 all users.
16703 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16704 from here ...
16705 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16706 Update all users.
16707 * include/grub/multiboot.h (struct grub_mod_list): Move
16708 from here ...
16709 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16710 Update all users.
16711
a73f5969
RM
167122009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16713
16714 * include/multiboot2.h (multiboot_word): Rename from this ...
16715 (multiboot2_word): ... to this. Update all users.
16716 (multiboot_header): Rename from this ...
16717 (multiboot2_header): ... to this. Update all users.
16718 (multiboot_tag_header): Rename from this ...
16719 (multiboot2_tag_header): ... to this. Update all users.
16720 (multiboot_tag_start): Rename from this ...
16721 (multiboot2_tag_start): ... to this. Update all users.
16722 (multiboot_tag_name): Rename from this ...
16723 (multiboot2_tag_name): ... to this. Update all users.
16724 (multiboot_tag_module): Rename from this ...
16725 (multiboot2_tag_module): ... to this. Update all users.
16726 (multiboot_tag_memory): Rename from this ...
16727 (multiboot2_tag_memory): ... to this. Update all users.
16728 (multiboot_tag_unused): Rename from this ...
16729 (multiboot2_tag_unused): ... to this. Update all users.
16730 (multiboot_tag_end): Rename from this ...
16731 (multiboot2_tag_end): ... to this. Update all users.
16732
1c8927f0
RM
167332009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16734
16735 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16736 this platform we should support Multiboot1 first.
16737
16738 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16739 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16740 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16741
6e1e0d89
RM
167422009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16743
16744 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16745 of write calls (converting them to fwrite() if they aren't already).
16746 (get_torito_desc): Likewise.
16747 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16748
7f2b34d8
RM
167492009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16750
16751 * util/i386/pc/grub-install.in: Move from here ...
16752 * util/grub-install.in: ... to here. Update all users.
16753
c0ef3311
CW
167542009-11-11 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16757
e1f240ff
RM
167582009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16759
16760 Support for El Torito without floppy emulation.
16761
16762 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16763 (init_boot_catalog): Improve error handling.
16764 (get_torito_desc): Don't use floppy emulation unless requested by
16765 user. Patch boot information table when requested via
16766 `-boot-info-table'.
16767 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16768 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16769 (use_boot_info_table): New variables.
16770 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16771 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16772 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16773 `--eltorito-emul-floppy'.
16774 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16775 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16776 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16777 (use_boot_info_table, get_731): New prototypes.
16778 * util/mkisofs/write.c (get_731): New function.
16779
af7d4de5
FZ
167802009-11-11 Felix Zielcke <fzielcke@z-51.de>
16781
16782 Fix the generation of the man page.
16783
16784 * util/pc/i386/grub-install.in: Source
16785 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16786
2c55dbc0
RM
167872009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16788
16789 Large file support for grub-mkisofs.
16790
16791 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16792 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16793 (session_start): Upgrade type to `uint64_t'. Update all users.
16794 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16795 (struct directory_entry): Upgrade type of `starting_block' and
16796 `size' to `uint64_t'. Update all users.
16797 (struct deferred): Remove unused structure.
16798 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16799 Update all users.
16800 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16801 file is larger than `UINT32_MAX'.
16802 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16803 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16804 return value.
16805 (struct deferred_write): Upgrade type of `extent' and `size' to
16806 `uint64_t'. Update all users.
16807 (last_extent_written): Upgrade type to `uint64_t'. Update all
16808 users.
16809 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16810 Update all users. Upgrade type of `remain' to `int64_t' and
16811 `use' to `size_t'. Use error() to handle fread() errors.
16812 (write_files): Rely on write_one_file() rather than calling
16813 xfwrite() directly.
16814
6a9cead5
FZ
168152009-11-09 Felix Zielcke <fzielcke@z-51.de>
16816
16817 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16818
4825d790
RM
168192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16820
16821 * util/mkisofs/fnmatch.c: Remove.
16822 * util/mkisofs/getopt1.c: Likewise.
16823 * util/mkisofs/getopt.c: Likewise.
16824 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16825 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16826 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16827 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16828 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16829
16830 * configure.ac: Detect `mingw32msvc' host_os.
16831 Check for lstat(), getuid() and getgid().
16832
16833 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16834 instances of `u_char' with `uint8_t'.
16835
16836 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16837 [!HAVE_GETUID] (getuid): New function (stub).
16838 [!HAVE_GETGID] (getgid): Likewise.
16839 [!HAVE_LSTAT] (lstat): Likewise.
16840 [!S_IROTH] (S_IROTH): New macro (dummy).
16841 [!S_IRGRP] (S_IRGRP): Likewise.
16842
84b860d8
RM
168432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16844
16845 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16846 conditional expression).
16847
66e9b712
RM
168482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16849
16850 Import from Gnulib.
16851
16852 * gnulib/fnmatch.c: New file.
16853 * gnulib/fnmatch.h: Likewise.
16854 * gnulib/fnmatch_loop.c: Likewise.
16855 * gnulib/getopt.c: Likewise.
16856 * gnulib/getopt.h: Likewise.
16857 * gnulib/getopt1.c: Likewise.
16858 * gnulib/getopt_int.h: Likewise.
16859 * gnulib/gettext.h: Likewise.
16860
34f4a5b0
RM
168612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16862
16863 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16864 * normal/handler.c (read_handler_list): Likewise.
16865
ac451143
RM
168662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16867
16868 Misc cleanup.
16869
16870 * kern/command.c (grub_register_command_prio): Use
16871 grub_zalloc() instead of explicitly zeroing data.
16872 * kern/list.c: Include `<grub/mm.h>'.
16873 (grub_named_list_find): Replace `0' with `NULL'.
16874 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16875 (fs_module_list): Change type to `grub_named_list_t'. Update all
16876 users.
16877 * normal/dyncmd.c (read_command_list): Add space between function
16878 call and parenthesis.
16879 * normal/handler.c (read_handler_list): Likewise.
16880
4089b167
RM
168812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16882
16883 * normal/auth.c (punishment_delay): Moved from here ...
16884 (grub_auth_strcmp): ... to here (inside function).
16885
325f5037
RM
168862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16887
16888 * include/grub/list.h (struct grub_named_list): Remove `const'
16889 qualifier from `name'.
16890 (struct grub_prio_list): Likewise.
16891
7aea29a3
RM
168922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16893
16894 * normal/auth.c: Include `<grub/time.h>'.
16895 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16896
3fd6f044
RM
168972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16898
16899 * normal/auth.c (punishment_delay): New variable.
16900 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16901 (grub_auth_check_authentication): Punish failed login attempts with
16902 an incremental (2^N) delay.
16903
a4cd68e4
RM
169042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16905
16906 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16907 path with $(srcdir).
16908
7ad12f43
VS
169092009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16912
c1129f03
RM
169132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16914
16915 * util/i386/coreboot/grub-mkrescue.in: New file.
16916 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16917 variables.
16918
16919 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16920 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16921 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16922 requirements.
16923 * util/mkisofs/defaults.h: New file.
16924 * util/mkisofs/eltorito.c: Likewise.
16925 * util/mkisofs/exclude.h: Likewise.
16926 * util/mkisofs/fnmatch.c: Likewise.
16927 * util/mkisofs/getopt.c: Likewise.
16928 * util/mkisofs/getopt1.c: Likewise.
16929 * util/mkisofs/hash.c: Likewise.
16930 * util/mkisofs/include/fctldefs.h: Likewise.
16931 * util/mkisofs/include/mconfig.h: Likewise.
16932 * util/mkisofs/include/prototyp.h: Likewise.
16933 * util/mkisofs/include/statdefs.h: Likewise.
16934 * util/mkisofs/iso9660.h: Likewise.
16935 * util/mkisofs/joliet.c: Likewise.
16936 * util/mkisofs/match.c: Likewise.
16937 * util/mkisofs/match.h: Likewise.
16938 * util/mkisofs/mkisofs.c: Likewise.
16939 * util/mkisofs/mkisofs.h: Likewise.
16940 * util/mkisofs/multi.c: Likewise.
16941 * util/mkisofs/name.c: Likewise.
16942 * util/mkisofs/rock.c: Likewise.
16943 * util/mkisofs/tree.c: Likewise.
16944 * util/mkisofs/write.c: Likewise.
16945
ec8bb77d
VS
169462009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16949 being insecure.
16950
3716b12c
RM
169512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16952
16953 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16954 `grub-mkimage' (and use $0 when possible).
16955
b97b7b91
RM
169562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16957
16958 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16959 error message for excessively large memory map.
16960
04114812
RM
169612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16962
16963 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
16964 executable bit.
16965
e4eb2373
RM
169662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16967
16968 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
16969 message for coreboot users.
16970
c926e1d5 169712009-11-07 Robert Millan <rmh.grub@aybabtu.com>
16972
16973 Fix build with GNU gold.
16974
16975 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
16976 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
16977 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
16978 link addresses.
16979 * aclocal.m4: Likewise.
16980
86e5b1db 169812009-11-04 Felix Zielcke <fzielcke@z-51.de>
16982
16983 * configure.ac (AC_PREREQ): Bump to 2.59d.
16984 * INSTALL: Make it more clear when Autoconf and Ruby are
16985 needed and when to run `./autogen.sh'.
16986
246cd78f 169872009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
16988
16989 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
16990 OSes.
16991
4f9dfb37 169922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16993
16994 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
16995
b82bd5e1 169962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16997
16998 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
16999 giving it to GNU Mach.
17000
ff1a9bca 170012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17002
17003 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17004 GNU partition number to get internal GRUB partition number.
17005
61697d9c 170062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17007
17008 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17009 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17010
a50569e1 170112009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17012
17013 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17014 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17015 case.
17016
5b153867 170172009-11-01 Felix Zielcke <fzielcke@z-51.de>
17018
17019 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17020
d9e2cd70 170212009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17022
17023 Fix build problem.
17024
17025 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17026 `-isystem=$(srcdir)/include'.
17027
805111a4 170282009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17029
17030 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17031 checked (grub-install doesn't currently rely on it).
17032
fa6e945f 170332009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17034
17035 Revert SVN r2660.
17036
17037 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17038 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17039 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17040 * conf/i386-ieee1275.rmk: Likewise.
17041 * conf/i386-pc.rmk: Likewise.
17042 * conf/powerpc-ieee1275.rmk: Likewise.
17043 * conf/sparc64-ieee1275.rmk: Likewise.
17044 * conf/x86_64-efi.rmk: Likewise.
17045
cee15086 170462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17047
17048 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17049
95b9239e 170502009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17051
17052 * include/grub/misc.h: Stop checking for APPLE_CC.
17053
2ed19dfd 170542009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17055
17056 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17057 doesn't cause an infinite call loop.
17058
fdcdde19 170592009-10-28 Felix Zielcke <fzielcke@z-51.de>
17060
17061 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17062 strings.
17063
cefabfe1 170642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17065
17066 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17067 variable.
17068 * Makefile.in: Likewise.
17069
ed96ab6d 170702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17071
17072 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17073
0579b753 170742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17075
17076 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17077
478df409 170782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17079
17080 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17081
083d1679 170822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17083
17084 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17085 from here ...
17086 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17087
5947ae32 170882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17089
17090 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17091 in $(MAKEINFO) invocation. This makes it clear in output that
17092 errors are being ignored.
17093
94180ff6 170942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17097 from here ...
17098 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17099 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17100 * conf/i386-ieee1275.rmk: Likewise.
17101 * conf/i386-pc.rmk: Likewise.
17102 * conf/powerpc-ieee1275.rmk: Likewise.
17103 * conf/sparc64-ieee1275.rmk: Likewise.
17104 * conf/x86_64-efi.rmk: Likewise.
17105
9031b03a 171062009-10-26 Colin Watson <cjwatson@ubuntu.com>
17107
17108 * util/grub-editenv.c (main): If only a command is given, use
17109 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17110 (usage): FILENAME is now optional and has a default.
17111
e4f6809b 171122009-10-26 Colin Watson <cjwatson@ubuntu.com>
17113
17114 Improve grub-mkconfig performance when there are several menu
17115 entries on a single filesystem.
17116
17117 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17118 prepare_grub_to_access_device.
17119 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17120 * util/grub.d/30_os-prober.in: Likewise.
17121
67937d4d 171222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17123
17124 * util/grub.d/10_freebsd.in: Remove.
17125 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17126 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17127
ee3756cc 171282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17129
5c35048e 17130 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 17131
4dea1c6f 171322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17133
17134 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17135 grub_util_error() call.
17136
042484d7 171372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17138
17139 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17140 `reserved_first_sector' member.
17141 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17142 `reserved_first_sector' to 1.
17143 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17144 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17145 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17146 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17147 filesystems which begin at first sector.
17148 (options): New option --skip-fs-probe.
17149 (main): Handle --skip-fs-probe and pass it to setup().
17150
d64448a7 171512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17154 (memset): Fix function prototype.
17155
508d42ec 171562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
171572009-10-25 Vasily Averin <vvs@parallels.com>
17158
17159 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17160 `dirent.direntlen == 0'.
17161
b240e30c 171622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17163
17164 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17165 `cpio'.
17166 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17167
346e7fbe 171682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17169
17170 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17171 `__trampoline_setup' and `__ucmpdi2'.
17172 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17173 that libgcc provides.
17174
cdb308b0 171752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17176
17177 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17178 * include/grub/sparc64/libgcc.h (memset): Likewise.
17179 * include/grub/misc.h (memset, memcmp): New function prototypes.
17180
fb26abc2 171812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17184 `cpio'.
17185 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17186
f6693890 171872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17188
17189 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17190 * docs/grub.cfg: Compensate for recent change in multiboot
17191 loader (since 2009-08-14 it won't pass filename to payload).
17192 * util/grub.d/10_hurd.in: Likewise.
17193
0933cdc0 171942009-10-21 Felix Zielcke <fzielcke@z-51.de>
17195
17196 * config.guess: Update to latest version from config git
17197 repository.
17198 * config.sub: Likewise.
17199
3b2fe8c2 172002009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17201
17202 Fix build on sparc64.
17203
17204 * configure.ac: Perform checks for libgcc symbols before
17205 adding `-nostdlib' to LDFLAGS.
17206
46695a62 172072009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Let user specify OpenBSD root device.
17210
17211 * loader/i386/bsd.c (openbsd_root): New variable.
17212 (openbsd_opts): New option 'root'.
17213 (OPENBSD_ROOT_ARG): New macro.
17214 (grub_openbsd_boot): Use 'openbsd_root'.
17215 (grub_cmd_openbsd): Fill 'openbsd_root'.
17216
d2b6b7fc 172172009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17218
17219 * NEWS: Misc adjustments.
17220
421bd7ac 172212009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17222
17223 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17224
f1d29d87 172252009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17226
17227 * configure.ac: Bump version to 1.97.
17228
6f3cd880 172292009-10-16 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17232 -mno-3dnow on x86 architectures. Some toolchains enable these
17233 features by default, but they rely on registers that aren't enabled
17234 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17235
035f7122 172362009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17237
17238 Make entry text a bit more readable.
17239
17240 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17241
44998e58 172422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17245
cd2851b3 172462009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17249 operations.
17250
c6f3b249 172512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * configure.ac: Add missing dollar.
17254
6b5886ba 172552009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17258
17259 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17260 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17261 exports.
17262 * include/grub/sparc64/libgcc.h: Likewise. Use
17263 preprocessor conditionals.
17264
e9d66f6d 172652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17266
17267 * conf/common.rmk (grub-dumpbios): Remove rule.
17268 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17269 * util/grub-dumpbios.in: Remove file.
17270
9155bc17 172712009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17272
17273 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17274 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17275
17276 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17277 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17278 users.
17279
17280 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17281 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17282 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17283 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17284 users.
17285
bf7f7a18 172862009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 * term/tparm.c: Switch to GPLv3.
17289
86564c26 172902009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17291
17292 * include/grub/i386/cpuid.h: Add header protection.
17293
5c936493 172942009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17295
17296 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17297
17298 * include/grub/i386/cpuid.h: New file.
17299 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17300 (has_longmode): Rename to ...
17301 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17302 `static' attribute.
17303 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17304 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17305 on a CPU that doesn't implement AMD64 instruction set.
17306
186e7cf2 173072009-10-06 Colin Watson <cjwatson@ubuntu.com>
17308
17309 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17310 that version.texi is rebuilt on version number changes.
17311
83b65c4a 173122009-10-06 Colin Watson <cjwatson@ubuntu.com>
17313
17314 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17315 Fixes bug #27602.
17316
d244281c 173172009-10-06 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * util/i386/pc/grub-install.in: Source
17320 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17321 that the --grub-probe option will work.
17322 * util/sparc64/ieee1275/grub-install.in: Likewise.
17323
da25306d 173242009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17325
17326 * configure.ac: Bump version to 1.97~beta4.
17327
e8ee83c0 173282009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17329
17330 Resync grub-mkdevicemap in x86_64-efi.
17331
17332 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17333 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17334 `util/devicemap.c'.
17335
50dcabcf 173362009-10-01 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * util/grub-editenv.c (create_envblk_file): Write new block with a
17339 .new suffix and then rename it into place, to ensure atomic
17340 creation.
17341
0e51c3a7 173422009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17343
17344 Do not automatically install headers.
17345
17346 * Makefile.in (include_DATA): Remove. Update all users.
17347
31299a95 173482009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17349
17350 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17351 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17352
17353 * util/osdetect.lua: Remove.
17354 * script/lua/lauxlib.c: Likewise.
17355 * script/lua/ldebug.c: Likewise.
17356 * script/lua/grub_main.c: Likewise.
17357 * script/lua/lauxlib.h: Likewise.
17358 * script/lua/ldebug.h: Likewise.
17359 * script/lua/ltablib.c: Likewise.
17360 * script/lua/liolib.c: Likewise.
17361 * script/lua/lstrlib.c: Likewise.
17362 * script/lua/lualib.h: Likewise.
17363 * script/lua/ldo.c: Likewise.
17364 * script/lua/ldump.c: Likewise.
17365 * script/lua/ldo.h: Likewise.
17366 * script/lua/loslib.c: Likewise.
17367 * script/lua/lundump.c: Likewise.
17368 * script/lua/grub_lib.c: Likewise.
17369 * script/lua/ldblib.c: Likewise.
17370 * script/lua/lundump.h: Likewise.
17371 * script/lua/lmem.c: Likewise.
17372 * script/lua/grub_lib.h: Likewise.
17373 * script/lua/lmathlib.c: Likewise.
17374 * script/lua/lstate.c: Likewise.
17375 * script/lua/ltm.c: Likewise.
17376 * script/lua/lvm.c: Likewise.
17377 * script/lua/lmem.h: Likewise.
17378 * script/lua/lstate.h: Likewise.
17379 * script/lua/ltm.h: Likewise.
17380 * script/lua/ltable.c: Likewise.
17381 * script/lua/lvm.h: Likewise.
17382 * script/lua/llex.c: Likewise.
17383 * script/lua/lgc.c: Likewise.
17384 * script/lua/grub_lua.h: Likewise.
17385 * script/lua/loadlib.c: Likewise.
17386 * script/lua/lfunc.c: Likewise.
17387 * script/lua/lopcodes.c: Likewise.
17388 * script/lua/lparser.c: Likewise.
17389 * script/lua/ltable.h: Likewise.
17390 * script/lua/llex.h: Likewise.
17391 * script/lua/lgc.h: Likewise.
17392 * script/lua/lfunc.h: Likewise.
17393 * script/lua/lbaselib.c: Likewise.
17394 * script/lua/lopcodes.h: Likewise.
17395 * script/lua/lparser.h: Likewise.
17396 * script/lua/lzio.c: Likewise.
17397 * script/lua/linit.c: Likewise.
17398 * script/lua/lobject.c: Likewise.
17399 * script/lua/llimits.h: Likewise.
17400 * script/lua/lstring.c: Likewise.
17401 * script/lua/lzio.h: Likewise.
17402 * script/lua/lapi.c: Likewise.
17403 * script/lua/lcode.c: Likewise.
17404 * script/lua/lua.h: Likewise.
17405 * script/lua/lobject.h: Likewise.
17406 * script/lua/lstring.h: Likewise.
17407 * script/lua/lapi.h: Likewise.
17408 * script/lua/lcode.h: Likewise.
17409 * script/lua/luaconf.h: Likewise.
17410
cb8a2c38 174112009-09-26 Colin Watson <cjwatson@ubuntu.com>
17412
17413 * docs/grub.texi (Command-line and menu entry commands): Document
17414 date and echo commands.
17415
6b9b6276 174162009-09-24 Pavel Roskin <proski@gnu.org>
17417
17418 * include/grub/kernel.h (struct grub_module_header): Remove
17419 `grub_module_header_types'. Make `type' unsigned. Make `size'
17420 32-bit on all platforms.
17421 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17422 8-bit field. Use grub_host_to_target32() for `size'.
17423 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17424 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17425 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17426
4e5a02a7 174272009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17428
17429 Fix "lost keypress" bug in at_keyboard.
17430
17431 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17432 Checks for readyness of input buffer (without flushing it).
17433 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17434 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17435
c6dcedf6 174362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17437
17438 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17439 size check within GRUB_MACHINE_PCBIOS section.
17440
74c958b1 174412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17442
17443 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17444 return value.
17445 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17446 KEYBOARD_ISREADY check.
17447 (grub_at_keyboard_checkkey): Rename to ...
17448 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17449 Remove gratuitous cast.
17450
ff420223 174512009-09-23 Colin Watson <cjwatson@ubuntu.com>
17452
17453 * configure.ac: Call AC_PROG_MKDIR_P.
17454 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17455 version.texi in $(builddir) rather than $(srcdir).
17456 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17457 to makeinfo's @include search path.
17458
d96875df 174592009-09-23 Felix Zielcke <fzielcke@z-51.de>
17460
17461 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17462
9b3f8365 174632009-09-23 Felix Zielcke <fzielcke@z-51.de>
17464
17465 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17466 for `*.dpkg-new'.
17467
c44c90db 174682009-09-21 Colin Watson <cjwatson@ubuntu.com>
17469
17470 Build info documentation. Some code borrowed from Automake.
17471
17472 * configure.ac: Check for makeinfo.
17473 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17474 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17475 docs/version.texi.
17476 (MOSTLYCLEANFILES): Add vti.tmp.
17477 (docs/version.texi, docs/stamp-vti): Update automatically.
17478 (docs/grub.info): Build info documentation. Use --force and ignore
17479 errors for now.
17480 (all-local): Add $(INFOS).
17481 (install-local): Install info files.
17482 (uninstall): Uninstall info files.
17483 * docs/version.texi: Remove from revision control. This file is
17484 automatically generated on build now.
17485 * gendistlist.sh: Add `*.info'.
17486
e0b37bb5 174872009-09-21 Felix Zielcke <fzielcke@z-51.de>
17488
17489 * kern/term.c: Fix indentation.
17490
5a78865b 174912009-09-21 Felix Zielcke <fzielcke@z-51.de>
17492
17493 * util/hostdisk.c: Fix a comment.
17494
dace7e8a 174952009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17496
17497 Fix regression introduced in r2539.
17498
17499 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17500 to 0xA1.
17501
a83d079b 175022009-09-19 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 17505 os-prober. Under normal operation, it does not print anything to
17506 stderr; if it does, we need to debug it, and throwing away stderr
17507 makes that excessively difficult.
a83d079b 17508
be94a509 175092009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17512
63f745e8 175132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17514
17515 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17516 AC_LANG_PROGRAM from autoconf.
17517 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17518 prototypes (fixes warning).
17519
17520 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17521 `--disable-werror' was used.
17522
bbb2a70f 175232009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17524
17525 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17526 uninitialized `lastaddr'.
17527
77c24f1d 175282009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17529
0f0b8c87 17530 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 17531
07197f23 175322009-09-14 Colin Watson <cjwatson@ubuntu.com>
17533
17534 * commands/test.c (get_fileinfo): Return immediately if
17535 grub_fs_probe fails.
17536
dabf1798 175372009-09-14 José Martínez <xosemp@gmail.com>
17538
17539 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17540
d52109a7 175412009-09-14 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17544 output.
17545
56532179 175462009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17547
17548 * configure.ac: Remove --enable-grub-pe2elf. Only build
17549 grub-pe2elf when needed by the build system itself.
17550 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17551
8ef070f5 175522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17553
17554 * configure.ac: Bump version to 1.97~beta3.
17555 * docs/version.texi: Likewise.
17556
61229557 175572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17558
17559 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17560 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17561 from here ...
17562 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17563 (grub_linux_setup_video): ... to here (with some adjustments).
17564
5c9f8d84 175652009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17566
17567 Fix memory corruption issue (spotted by Colin Watson).
17568
17569 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17570 causing returned size to be stored in an incorrect memory location.
17571 Fix use of uninitialized value when storing the returned size.
17572
e8f5d6e9 175732009-09-12 Yves Blusseau <blusseau@zetam.org>
17574
17575 Change clean rules to properly remove files
17576
17577 * genmk.rb: add new clean rules
17578 * Makefile.in (clean): add the new targets
17579 (mostlyclean): likewise
17580
cda2a409 175812009-09-11 Colin Watson <cjwatson@ubuntu.com>
17582
17583 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17584 to grub_uint64_t.
17585 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17586 non-resident files.
17587
86695375 175882009-09-11 Colin Watson <cjwatson@ubuntu.com>
17589
17590 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17591 part of bug #27349.
17592
8aa1541a 175932009-09-10 Felix Zielcke <fzielcke@z-51.de>
17594
17595 * util/grub-mkconfig.in: Make the created config mode 400 and
17596 print a warning if it fails.
17597
48d9bb0a 175982009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17599
17600 * util/grub.d/40_custom.in: Ask user to type custom entries below
17601 comment, rather than below 'exec tail' line.
17602
3b0521be 176032009-09-10 Colin Watson <cjwatson@ubuntu.com>
17604
17605 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17606 visible in grub.cfg.
17607
50051d55 176082009-09-10 Colin Watson <cjwatson@ubuntu.com>
17609
17610 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17611 file.
17612
c0d34387 176132009-09-10 Felix Zielcke <fzielcke@z-51.de>
17614
17615 * docs/grub.cfg: Add an example menu entry for memtest86+.
17616
80a608f3 176172009-09-09 Felix Zielcke <fzielcke@z-51.de>
17618
a2094832 17619 * config.guess: Update to latest version from config git.
80a608f3 17620 * config.sub: Likewise.
17621
99423078 176222009-09-08 Colin Watson <cjwatson@ubuntu.com>
17623
17624 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17625 unknown-command case. Fixes bug #27320.
17626
44454e4c 176272009-09-08 Felix Zielcke <fzielcke@z-51.de>
17628
17629 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17630 `help' if the command exists.
17631
e30d87ad 176322009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17633
17634 * INSTALL: Require GCC 4.1.3 or later.
17635
9a86f1ec 176362009-09-06 Yves Blusseau <blusseau@zetam.org>
17637
17638 * Makefile.in (RMKFILES): add i386-qemu.rmk
17639 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17640 $(srcdir)/stamp-h.in
17641
7f26d466 176422009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17643
17644 * util/grub-probe.c (probe): Comment out buggy codepath, which
17645 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17646 should be re-enabled after 1.97.
17647
3a613259 176482009-09-05 Felix Zielcke <fzielcke@z-51.de>
17649
17650 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17651 find searches for.
17652
197f76c7 176532009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17656 unnecessary calls to grub_error.
17657
70ba68ce 176582009-09-04 Colin Watson <cjwatson@ubuntu.com>
17659
17660 * NEWS: Mention `keystatus' and Unicode fonts.
17661
4ff0d7a4 176622009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17663
17664 * configure.ac: Bump version to 1.97~beta2.
17665 * docs/version.texi: Likewise.
17666
77c55a87 176672009-09-03 Colin Watson <cjwatson@ubuntu.com>
17668
17669 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17670 containing unwind information in some cases where it previously did
17671 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17672 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17673 discussion.
17674
f79572cd 176752009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17676
17677 Embedding loadenv module into grub-emu
17678
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17680 commands/loadenv.c
17681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17682 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17686 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17687
93a81088 176882009-09-03 Magnus Granberg <zorry@ume.nu>
17689
17690 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17691 include -fPIE in the default specs.
17692 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17693 to TARGET_CFLAGS.
17694
160034b2 176952009-09-03 Felix Zielcke <fzielcke@z-51.de>
17696
17697 * INSTALL: Note that GNU Bison 2.3 or later is required.
17698
087c07c4 176992009-09-03 Colin Watson <cjwatson@ubuntu.com>
17700
17701 * kern/i386/pc/startup.S: Fix typo.
17702
cbf978c0 177032009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17706 according to GCS.
17707
177082009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 17709
17710 * docs/grub.texi (Naming convention): Describe one-based partition
17711 numbering.
17712 (Device syntax): Likewise.
17713 (File name syntax): Likewise.
17714 (Block list syntax): Likewise.
17715 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17716 menu.lst.
17717 (File name syntax): Likewise.
17718 (Command-line and menu entry commands): Document acpi, blocklist,
17719 crc, export, insmod, keystatus, ls, set, and unset commands.
17720
f3e8cdfd 177212009-09-02 Colin Watson <cjwatson@ubuntu.com>
17722
17723 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17724 to avoid implying that only one of --shift, --ctrl, or --alt may be
17725 used.
17726
c0bc232b 177272009-09-02 Colin Watson <cjwatson@ubuntu.com>
17728
17729 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17730 rather than comparing against S_IFREG, which will almost never work.
17731
aa0f752d 177322009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17735 (write_blocklists): Likewise.
17736
ecb3166a 177372009-09-01 Colin Watson <cjwatson@ubuntu.com>
17738
17739 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17740 argument to grub_printf.
17741
c403a125 177422009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 17743
17744 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 17745 non GNU test.
31aba781 17746
b5e7312c 177472009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * kern/file.c (grub_file_read): Spelling fix
17750
fe00f472 177512009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17754 loading of headers in some cases.
17755
cc55302e 177562009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17757
17758 * configure.ac: Bump version to 1.97~beta1.
17759 * docs/version.texi: Likewise.
17760
5c90cdd2 177612009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 17762
17763 * include/grub/i386/xnu.h: Add license header.
17764 include grub/err.h explicitly.
17765
c90edae4 177662009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17767
17768 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17769 to `ufs' in the vfs.root.mountfrom kernel parameter.
17770
d8888b5c 177712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17772
17773 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17774
17775 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17776 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17777
17778 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17779 `ARRAY_SIZE' macro.
17780
6f07b921 177812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * kern/file.c (grub_file_read): Check offset.
17784 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17785 * fs/jfs.c (grub_jfs_read_file): Likewise.
17786 * fs/ntfs.c (grub_ntfs_read): Likewise.
17787 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17788 * fs/minix.c (grub_minix_read_file): Correct offset check.
17789 * fs/ufs.c (grub_ufs_read_file): Likewise.
17790
b4f34077 177912009-08-28 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * term/i386/pc/console.c (bios_data_area): Cast
17794 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17795
e7c69859 177962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 1-bit optimised blitters.
17799
17800 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17801 prototype.
17802 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17803 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17804 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17805 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17806 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17807 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17808 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17809 function.
17810 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17811 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17812 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17813 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17814 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17815 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17816 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17817 when possible.
17818 * video/video.c (grub_video_get_blit_format): Return
17819 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17820
a57da43f 178212009-08-28 Colin Watson <cjwatson@ubuntu.com>
17822
17823 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17824 the first argument to grub_printf.
17825
4cbe67e5 178262009-08-28 Colin Watson <cjwatson@ubuntu.com>
178272009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 Add `getkeystatus' terminal method. Add a new `keystatus' command
17830 to query it.
17831
17832 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17833 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17834 modifier key bitmasks.
17835 (struct grub_term_input): Add `getkeystatus' member.
17836 (grub_getkeystatus): Add prototype.
17837 * kern/term.c (grub_getkeystatus): New function.
17838
17839 * include/grub/i386/pc/memory.h
17840 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17841 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17842 Data Area layout.
17843 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17844 (grub_console_term_input): Set `getkeystatus' member.
17845 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17846 constants.
17847 (grub_usb_keyboard_getreport): Likewise.
17848 (grub_usb_keyboard_checkkey): Likewise.
17849 (grub_usb_keyboard_getkeystatus): New function.
17850 (grub_usb_keyboard_term): Set `getkeystatus' member.
17851
17852 * commands/keystatus.c: New file.
17853 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17854 (keystatus_mod_SOURCES): New variable.
17855 (keystatus_mod_CFLAGS): Likewise.
17856 (keystatus_mod_LDFLAGS): Likewise.
17857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17858 commands/keystatus.c.
17859 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17863 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 17865
6e2a9085 178662009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 Split befs.mod and afs.mod into *_be.mod and *.mod
17869
17870 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17871 (grub_fstest_SOURCES): Likewise.
17872 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17873 (afs_be_mod_SOURCES): New variable.
17874 (afs_be_mod_CFLAGS): Likewise.
17875 (afs_be_mod_LDFLAGS): Likewise.
17876 (befs_be_mod_SOURCES): Likewise.
17877 (befs_be_mod_CFLAGS): Likewise.
17878 (befs_be_mod_LDFLAGS): Likewise.
17879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17882 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17883 (grub_emu_SOURCES): Likewise.
17884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17887 * fs/afs_be.c: New file.
17888 * fs/befs_be.c: New file.
17889 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17890 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17891 (U16): Replaced with ...
17892 (grub_afs_to_cpu16): ...this. All users updated.
17893 (U32): Replaced with ...
17894 (grub_afs_to_cpu32): ...this. All users updated.
17895 (U64): Replaced with ...
17896 (grub_afs_to_cpu64): ...this. All users updated.
17897 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17898 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 17899 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 17900 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17901 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17902 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17903 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17904 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17905 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17906 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17907 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17908
32a71655 179092009-08-26 Bean <bean123ch@gmail.com>
17910
17911 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17912 64-bit number.
17913 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17914 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17915 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17916
552bf6c5 179172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 NetBSD memory map support.
17920
17921 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17922 (grub_netbsd_btinfo_mmap_header): New structure.
17923 (grub_netbsd_btinfo_mmap_entry): Likewise.
17924 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17925
1ae2078c 179262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 Enable bsd.mod on coreboot.
17929
17930 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17931 (bsd_mod_SOURCES): New variable.
17932 (bsd_mod_CFLAGS): Likewise.
17933 (bsd_mod_LDFLAGS): Likewise.
17934 (bsd_mod_ASFLAGS): Likewise.
17935 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17936 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17937
beefc598 179382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 Cleanup NetBSD root support.
17941
17942 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17943 grub_bsd_get_device.
17944 Fix typo.
17945
3b76e68b 179462009-08-25 Felix Zielcke <fzielcke@z-51.de>
17947
17948 * util/grub.d/00_header.in: Move check for the video backend of
17949 gfxterm from here ...
17950 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17951 a suitable video backend.
17952
aea664ea 179532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Fix breakage in grub-setup.
17956
17957 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17958 "msdos_partition_map".
17959
ff747d50 179602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Fix breakage in normal/auth.c.
17963
17964 * normal/auth.c (grub_iswordseparator): New function.
17965
e7e1f93f 179662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Authentication support.
17969
17970 * commands/password.c: New file.
17971 * conf/common.rmk (pkglib_MODULES): Add password.mod.
17972 (password_mod_SOURCES): New variable.
17973 (password_mod_CFLAGS): Likewise.
17974 (password_mod_LDFLAGS): Likewise.
17975 (normal_mod_SOURCES): Add normal/auth.c.
17976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
17977 normal/auth.c.
17978 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17980 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17982 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17983 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17984 * include/grub/auth.h: New file.
17985 * include/grub/err.h (grub_err_t): New enum value
17986 GRUB_ERR_ACCESS_DENIED.
17987 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
17988 'users'.
17989 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
17990 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
17991 users updated.
17992 * normal/auth.c: New file.
17993 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
17994 (grub_cmdline_run): Don't allow to go to command line without
17995 authentication.
17996 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
17997 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
17998 menuentry without superuser rights.
17999 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18000 user isn't a superuser.
18001
70f1161d 180022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 Save space by inlining misc.c functions.
18005
18006 * kern/misc.c (grub_iswordseparator): Made static.
18007 * kern/misc.c (grub_strcat): Moved from here ...
18008 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18009 * kern/misc.c (grub_strncat): Moved from here ...
18010 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18011 * kern/misc.c (grub_strcasecmp): Moved from here ...
18012 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18013 * kern/misc.c (grub_strncasecmp): Moved from here ...
18014 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18015 * kern/misc.c (grub_isalpha): Moved from here ...
18016 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18017 * kern/misc.c (grub_isdigit): Moved from here ...
18018 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18019 * kern/misc.c (grub_isgraph): Moved from here ...
18020 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18021 * kern/misc.c (grub_tolower): Moved from here ...
18022 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18023
48e40bff 180242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * script/sh/function.c (grub_script_function_find): Cut error message
18027 not to flood terminal.
18028 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18029 limit.
18030 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18031
c385bfc3 180322009-08-24 Colin Watson <cjwatson@ubuntu.com>
18033
18034 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18035 `report' grub_uint8_t *.
18036 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18037 Use a 50-millisecond timeout rather than just repeating
18038 grub_usb_keyboard_getreport 50 times.
18039 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18040
2d21e3e8 180412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Rename *_partition_map to part_*
18044
18045 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18046 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18047 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18048 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18049 All users updated.
18050 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18051 All users updated.
18052 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18053 * util/grub-probe.c (probe_partmap): Don't transform partition name
18054 to get module name.
18055
dd103c4e 180562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Fix OpenBSD and NetBSD support.
18059
18060 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18061 memory address conflict.
18062 (OPENBSD_MMAP_ACPI): New definition.
18063 (OPENBSD_MMAP_NVS): Likewise.
18064 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18065 and OPENBSD_MMAP_NVS.
18066 Add memory map terminator
18067 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 18068 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 18069
16c84d74 180702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 Let user specify NetBSD root device.
18073
18074 * loader/i386/bsd.c (netbsd_root): New variable.
18075 (netbsd_opts): New option 'root'.
18076 (NETBSD_ROOT_ARG): New macro.
18077 (grub_netbsd_boot): Use 'netbsd_root'.
18078 (grub_bsd_unload): Free 'netbsd_root'.
18079 (grub_cmd_netbsd): Fill 'netbsd_root'.
18080
adb29902 180812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 Support for 64-bit NetBSD.
18084
18085 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18086 point when booting non-FreeBSD.
18087
f5ae9f74 180882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 Support --no-smp and --no-acpi for NetBSD.
18091
18092 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18093 (NETBSD_AB_NOACPI): Likewise.
18094 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18095 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18096
de74f136 180972009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18100 errors.
18101 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18102 errors. Call grub_error when needed.
18103
e9a925da 181042009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * commands/search.c (search_fs): Try searching without autoload first.
18107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18108 filesystem module explicitly for faster booting.
18109
5174302b 181102009-08-23 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18113
c8c80635 181142009-08-23 Colin Watson <cjwatson@ubuntu.com>
18115
18116 * util/grub.d/30_os-prober.in: Disable os-prober if
18117 `GRUB_DISABLE_OS_PROBER' was set to true.
18118
71acf5e5 181192009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18120
18121 * partmap/pc.c: Rename to ...
18122 * partmap/msdos.c: ... this. Update all users.
18123 (grub_pc_partition_map): Rename to ...
18124 (grub_msdos_partition_map): ... this. Update all users.
18125
18126 * parttool/pcpart.c: Rename to ...
18127 * parttool/msdospart.c: ... this. Update all users.
18128
18129 * include/grub/pc_partition.h: Rename to ...
18130 * include/grub/msdos_partition.h: ... this. Update all users.
18131 (grub_pc_partition_bsd_entry): Rename to ...
18132 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18133 (grub_pc_partition_disk_label): Rename to ...
18134 (grub_msdos_partition_disk_label): ... this. Update all users.
18135 (grub_pc_partition_entry): Rename to ...
18136 (grub_msdos_partition_entry): ... this. Update all users.
18137 (grub_pc_partition_mbr): Rename to ...
18138 (grub_msdos_partition_mbr): ... this. Update all users.
18139 (grub_pc_partition): Rename to ...
18140 (grub_msdos_partition): ... this. Update all users.
18141 (grub_pc_partition_is_empty): Rename to ...
18142 (grub_msdos_partition_is_empty): ... this. Update all users.
18143 (grub_pc_partition_is_extended): Rename to ...
18144 (grub_msdos_partition_is_extended): ... this. Update all users.
18145 (grub_pc_partition_is_bsd): Rename to ...
18146 (grub_msdos_partition_is_bsd): ... this. Update all users.
18147
18148 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18149 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18150 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18151 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18152 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18153 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18154 (gpt_mod_LDFLAGS): Rename to ...
18155 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18156 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18157 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18158 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18159 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18160 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18161 (part_gpt_mod_LDFLAGS): ... this.
18162 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18163 `pcpart.mod' to `msdospart.mod'.
18164 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18165 to ...
18166 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18167 (msdospart_mod_LDFLAGS): ... this.
18168
c11fded5 181692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18172 (openbsd_opts): Likewise.
18173 (netbsd_opts): Likewise.
18174 (freebsd_flags): Added 0 terminator.
18175 (openbsd_flags): Likewise.
18176 (netbsd_flags): Likewise.
18177 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18178 (grub_cmd_freebsd): Transformed into extended command.
18179 (grub_cmd_openbsd): Likewise.
18180 (grub_cmd_netbsd): Likewise.
18181 (cmd_freebsd): Changed type to grub_extcmd_t.
18182 (cmd_openbsd): Likewise.
18183 (cmd_netbsd): Likewise.
18184 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18185 grub_cmd_openbsd as extended commands.
18186 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18187 cmd_netbsd and cmd_openbsd
18188
11d1c769 181892009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18192
7a9094e5 181932009-08-21 Pavel Roskin <proski@gnu.org>
18194
5496c37e 18195 * Makefile.in (install-local): When checking if a file is in the
18196 build directory, use "test -e" to detect symlinks.
18197
7a9094e5 18198 * Makefile.in (install-local): Remove all files in
18199 $(DESTDIR)$(pkglibdir) before installing new files there.
18200
e53cea11 182012009-08-18 Felix Zielcke <fzielcke@z-51.de>
18202
18203 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18204 grub-mkelfimage.
18205
9aced544 182062009-08-18 Felix Zielcke <fzielcke@z-51.de>
18207
18208 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18209 explicitly specified by the user.
18210
b7da6bab 182112009-08-18 Pavel Roskin <proski@gnu.org>
18212
18213 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18214 grub_uint8_t pointer for data.
18215 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18216 Likewise.
18217 * video/fb/fbutil.c: Remove unnecessary casts.
18218
19f1b335 182192009-08-17 Michal Suchanek <hramrach@centrum.cz>
18220
18221 VBE cleanup.
18222
18223 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18224 (grub_vbe_set_video_mode): Save active mode info
18225 only after setting the mode.
18226 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18227 second argument.
18228
2f467aa9 182292009-08-17 Michal Suchanek <hramrach@centrum.cz>
18230
18231 Rename variables for clarity.
18232
18233 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18234 (active_vbe_mode_info): ... this. All users updated.
18235 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18236 All users updated.
18237 (initial_mode): Rename to ...
18238 (initial_vbe_mode): ... this. All users updated.
18239 (mode_in_use): Rename to ..
18240 (vbe_mode_in_use): ... this. All users updated.
18241 (mode_list): Rename to ..
18242 (vbe_mode_list): ... this. All users updated.
18243 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18244 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18245 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18246 'mode_list_size' to 'vbe_mode_list_size'.
18247 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18248 'best_mode_info' to 'best_vbe_mode_info' and
18249 'best_mode' to 'best_vbe_mode'
18250
6025fcd7 182512009-08-17 Michal Suchanek <hramrach@centrum.cz>
18252
18253 Remove duplicate grub_video_fb_get_video_ptr.
18254
18255 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18256 (grub_video_fb_get_video_ptr): ... this.
18257 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18258 * video/fb/fbutil.c: Add comment about addressing.
18259 (get_data_ptr): Rename to ...
18260 (grub_video_fb_get_video_ptr): ... this. All users updated.
18261 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18262
cc8c6faf 182632009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18264
18265 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18266 grub_dprintf() that was just added.
18267
08aa61f0 182682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18271 (DEFAULT_VIDEO_MODE): Remove macros.
18272 (grub_linux_boot): Remove assumption that Linux has FB support,
18273 and use "text" as default video mode.
18274
7cef4f75 182752009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18278 grub_dprintf.
18279 * fs/fat.c (grub_fat_read_data): Likewise.
18280
e1f39873 182812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18284 payload.
18285 (grub_module): Likewise.
18286
c166d79e 182872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18290 mbi->cmdline but free playground.
18291
c60cee8e 182922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 Handle group offset on UFS1.
18295
18296 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18297 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18298
c0d8b5d4 182992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Split ufs.mod into ufs1.mod and ufs2.mod.
18302
18303 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18304 (grub_fstest_SOURCES): Likewise.
18305 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18306 (ufs_mod_SOURCES): Remove.
18307 (ufs_mod_CFLAGS): Likewise.
18308 (ufs_mod_LDFLAGS): Likewise.
18309 (ufs1_mod_SOURCES): New variable.
18310 (ufs1_mod_CFLAGS): Likewise.
18311 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 18312 (ufs2_mod_SOURCES): New variable.
18313 (ufs2_mod_CFLAGS): Likewise.
18314 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 18315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18316 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18317 Likewise.
18318 (grub_emu_SOURCES): Likewise.
18319 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18320 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18321 (grub_setup_SOURCES): Likewise.
18322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18323 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18324 (grub_setup_SOURCES): Likewise.
18325 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18326 Likewise.
18327 * fs/ufs2.c: New file.
18328 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18329
d3539132 183302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 Framebuffer split.
18333
18334 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18335 subsystem at the end.
18336 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18337 (video_fb_mod_SOURCES): New variable.
18338 (video_fb_mod_CFLAGS): Likewise.
18339 (video_fb_mod_LDFLAGS): Likewise.
18340 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18341 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18342 * video/i386/pc/vbeblit.c: Moved from here ...
18343 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18344 * video/i386/pc/vbefill.c: Moved from here ...
18345 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18346 * video/i386/pc/vbeutil.c: Moved from here ...
18347 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18348 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18349 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18350 * include/grub/i386/pc/vbefill.h: Moved from here ...
18351 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18352 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18353 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18354 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18355 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18356 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18357 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18358 (grub_video_adapter): Added 'get_info_and_fini'.
18359 (grub_video_get_info_and_fini): New prototype.
18360 (grub_video_set_mode): make modestring const char *.
18361 * loader/i386/linux.c (grub_linux_setup_video): Use
18362 grub_video_get_info_and_fini.
18363 (grub_linux_boot): Move modesetting just before booting.
18364 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18365 grub_video_get_info_and_fini.
18366 * video/i386/pc/vbe.c: Moved framebuffer part ...
18367 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18368 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18369 grub_video_fbstd_colors and grub_video_fb_set_palette.
18370 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18371 grub_video_fb_init.
18372 (grub_video_vbe_fini): Use grub_video_fb_fini.
18373 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18374 render_target and use grub_video_fb_set_active_render_target and
18375 grub_video_fb_set_palette.
18376 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18377 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18378 (grub_video_vbe_adapter): Use framebuffer.
18379 * video/video.c (grub_video_get_info_and_fini): New function.
18380 (grub_video_set_mode): Make modestring const char *.
18381 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18382 values are already initialised.
18383
d404ee56 183842009-08-14 Pavel Roskin <proski@gnu.org>
18385
18386 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18387 ABS and APPLE_CC.
18388 * boot/i386/pc/diskboot.S: Likewise.
18389 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18390 sectors allow compilation on MacOSX.
18391 * conf/i386-pc.rmk: Enable unconditional compilation of
18392 lnxboot.img.
18393
9a10df16 183942009-08-13 Colin Watson <cjwatson@ubuntu.com>
18395
18396 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18397 * util/grub.d/00_header.in: Enter interruptible sleep if
18398 GRUB_HIDDEN_TIMEOUT is set.
18399
be3c9ca7 184002009-08-13 Yves Blusseau <blusseau@zetam.org>
18401
18402 * include/grub/symbol.h: Add the LOCAL macro.
18403 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18404 starting with "L_".
18405
1f9e557e 184062009-08-13 Pavel Roskin <proski@gnu.org>
18407
9ca62843 18408 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18409 any modern compilers we support.
18410
1f9e557e 18411 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18412 Use local labels starting with "L_" so that Apple assembler
18413 knows they are local.
18414
81623db6 184152009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18416
18417 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18418 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18419 (bsd_kernel_types): ... this enum.
18420
18421 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18422 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18423 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18424
18425 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18426 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18427 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18428 messages.
18429
f5d35e7a 184302009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18431
18432 * util/grub-dumpdevtree: Moved from here ...
18433 * util/i386/efi/grub-dumpdevtree: ... to here.
18434 (hexify): New function. Converts a string to its hex version.
18435 Generate hex versions of "efi" and "device-properties" by calling
18436 hexify() on the ASCII strings rather than by hardcoding numbers.
18437
d1e1d527 184382009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18439
18440 * fs/jfs.c: Update copyright year.
18441
1ebbe064 184422009-08-08 Felix Zielcke <fzielcke@z-51.de>
18443
18444 * util/grub.d/00_header.in: Fix a comment.
18445 * util/grub.d/10_linux.in: Likewise.
18446 * util/grub.d/10_windows.in: Likewise.
18447 * util/grub.d/10_hurd.in: Likewise.
18448
a78c8d24 184492009-08-08 Felix Zielcke <fzielcke@z-51.de>
18450
18451 * util/grub-mkconfig.in: Allow the user to specify the used font
18452 with GRUB_FONT.
18453
29a6b9e8 184542009-08-08 Pavel Roskin <proski@gnu.org>
18455
b5f16cc4 18456 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18457 available, xfs.mod needs it now.
18458
2f5cb827 18459 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18460 the "g" modifier in sed when the intention is to strip something
18461 once. This fixes comparison of kernels with multiple dashes.
18462
29a6b9e8 18463 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18464 on it. Add missing space before closing bracket. Fix
18465 misleading formatting.
18466
892a3d98 184672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18468
18469 * docs/grub.texi: Major overhaul. Remove all sections that are
18470 specific to GRUB Legacy, or mostly composed of Legacy-specific
18471 information.
18472
ed94253f 184732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18474
18475 * docs/version.texi: New file. Provides version information for
18476 grub.texi.
18477
126d6628 184782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * docs/grub.texi: Update CVS information to SVN.
18481 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18482
998b5aa9 184832009-08-07 Felix Zielcke <fzielcke@z-51.de>
18484
18485 * util/grub-mkconfig.in: Remove a wrong `fi'.
18486
818e094a 184872009-08-07 Felix Zielcke <fzielcke@z-51.de>
18488
18489 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18490 (grub_jfs_uuid): New function.
18491 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18492
b969c52f 184932009-08-07 Felix Zielcke <fzielcke@z-51.de>
18494
18495 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18496 of it to ...
18497 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18498 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18499
7a4894cc 185002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18501
18502 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18503 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18504 Update all users.
18505
18506 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18507 not just "vmlinu[zx]".
18508 Moved from here ...
18509 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18510 all users.
18511
18512 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18513 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18514 all users.
18515
4e2171f8 185162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18517
18518 * util/grub.d/10_freebsd.in: Use an absolute device path for
18519 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18520
6dcfcb32 185212009-08-06 Felix Zielcke <fzielcke@z-51.de>
18522
18523 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18524 handling of multiple abstraction modules.
18525
f56a8756 185262009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18527
18528 Fix a bug resulting in black screen when loading Linux using a
18529 packed video mode.
18530
18531 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18532 function.
18533
18534 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18535 (grub_vbe_bios_getset_dac_palette_width): New function.
18536 (grub_vbe_bios_get_dac_palette_width)
18537 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18538 grub_vbe_bios_getset_dac_palette_width()).
18539
18540 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18541 check for return status.
18542 (grub_vbe_get_video_mode_info): When getting information for a packed
18543 mode (<= 8 bpp), obtain DAC palette width using
18544 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18545 {red,green,blue}_mark_size.
18546
222671b2 185472009-08-04 Felix Zielcke <fzielcke@z-51.de>
18548
ecb1a6d9 18549 * commands/search.c (options): Fix help output to match actual code.
222671b2 18550
f84114f5 185512009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18554 of homegrown code.
18555
bd288a20 185562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 18557
18558 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18559 on XFS or ReiserFS.
18560
8aab5e25 185612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 Support Apple partition map with sector size different from 512 bytes.
18564
18565 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18566 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18567 and 'apart.partmap_size'.
18568
6ad6258a 185692009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
185702009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18571
18572 Fix cpuid command.
18573
18574 * commands/i386/cpuid.c (options): New variable.
18575 (grub_cmd_cpuid): Return real error.
18576 (GRUB_MOD_INIT(cpuid)): Declare options.
18577
67459bc6 185782009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18581 valid.
18582
fbc6ab54 185832009-07-31 Bean <bean123ch@gmail.com>
18584
18585 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18586 log2_inode.
18587 (grub_fshelp_node): Move inode field to the end.
18588 (grub_xfs_data): Remove inode field.
18589 (grub_xfs_inode_block): Calculate inode size using sblock.
18590 (grub_xfs_inode_offset): Likewise.
18591 (grub_xfs_read_inode): Calculate inode size using sblock.
18592 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18593 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18594 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18595 to match inode size.
18596 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18597 not accessible when data is null.
18598 (grub_xfs_open): Likewise.
18599
f45d6cfc 186002009-07-31 Bean <bean123ch@gmail.com>
18601
18602 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18603 Don't change pv->disk if it's already set.
18604
18605 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18606 (grub_raid_register): ... here.
18607 (grub_raid_rescan): Removed.
18608
18609 * include/grub/raid.h (grub_raid_rescan): Removed.
18610
18611 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18612 (fstest): Replace grub_raid_rescan with module fini function followed
18613 by init function.
18614
18615 * util/grub-probe.c: Add include file <grub/raid.h>.
18616 (probe_raid_level): New function.
18617 (probe): Detect abstraction by walking the disk device, support two
18618 level of abstraction (LVM on RAID) when detecting partition map.
18619
24443b5a 186202009-07-31 Pavel Roskin <proski@gnu.org>
18621
18622 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18623 to grub_zalloc(), it was erroneous.
18624 Reported by Bean <bean123ch@gmail.com>
18625
a275d9e7 186262009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 18629 embedding zone, not only the first one.
a275d9e7 18630
56c5a47f 186312009-07-29 Joe Auricchio <jauricchio@gmail.com>
18632
18633 * term/gfxterm.c (clear_char): New function.
18634 (grub_virtual_screen_setup): Use clear_char.
18635 (scroll_up): Likewise.
18636 (grub_virtual_screen_cls): Likewise.
18637
67bb323a 186382009-07-29 Felix Zielcke <fzielcke@z-51.de>
18639
18640 * util/deviceiter.c (get_acceleraid_disk_name): New static
18641 function.
18642 (grub_util_iterate_devices): Handle Accelraid devices.
18643 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18644
388a7c75 186452009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18648 separator for the suggested gfxpayload string (';' collides with the
18649 parser and needs escaping).
18650
3bb7abcf 186512009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18654 Clear direction flag before jumping to OS.
18655 (grub_multiboot2_real_boot): Likewise.
18656
2ddd36d7 186572009-07-28 Felix Zielcke <fzielcke@z-51.de>
18658
18659 * util/i386/pc/grub-install: Fix parsing of --disk-module
18660 option.
18661
c521b62b 186622009-07-28 Felix Zielcke <fzielcke@z-51.de>
18663
18664 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18665 when embedding.
18666
880e0a0c 186672009-07-26 Felix Zielcke <fzielcke@z-51.de>
18668
18669 * util/grub-mkconfig.in (package_version): New variable.
18670 Use it do display the version.
18671
2366e356 186722009-07-25 Felix Zielcke <fzielcke@z-51.de>
18673
18674 * kern/file.c (grub_file_open): Revert to previous check with
18675 grub_errno.
18676
7ad8c80e 186772009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18680 from help line. It's out of sync with code.
18681
72b9658b 186822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18685 entries on failed boot.
18686
77435277 186872009-07-25 Felix Zielcke <fzielcke@z-51.de>
18688
18689 * kern/file.c (grub_file_open): Fix an error check.
18690
fcaa8b21 186912009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18692
35d16c74 18693 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18694 partition map couldn't be identified.
fcaa8b21 18695
48904cd1 186962009-07-23 Pavel Roskin <proski@gnu.org>
18697
ef3c317f 18698 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18699 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18700 case of little endian words becomes just an optimization.
18701 Respect const modifier.
ad8ea1f4 18702 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 18703
48904cd1 18704 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18705 to avoid loss of upper bits if align is unsigned and shorter
18706 than addr.
18707
260c9a89 187082009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 UUID support for UFS
18711
18712 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18713 (grub_ufs_uuid): New function.
18714 (grub_ufs_fs): add .uuid
18715
f76ce889 187162009-07-21 Pavel Roskin <proski@gnu.org>
18717
18718 * kern/dl.c (grub_dl_check_header): Make static.
18719
6a6cbcaf 187202009-07-21 Felix Zielcke <fzielcke@z-51.de>
18721
18722 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18723 add drivemap for Vista. It breaks Windows 7.
18724
cffcddb2 187252009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18728 128 bytes
18729
1ef44b80 187302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 Add BFS support
18733
18734 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18735 (grub_fstest_SOURCES): Likewise.
18736 (pkglib_MODULES): Add befs.mod.
18737 (befs_mod_SOURCES): New variable.
18738 (befs_mod_CFLAGS): Likewise.
18739 (befs_mod_LDFLAGS): Likewise.
18740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18743 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18744 (grub_setup_SOURCES): Likewise.
18745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18747 (grub_setup_SOURCES): Likewise.
18748 * fs/befs.c: New file.
18749 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18750 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18751 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18752 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18753 (B_KEY_INDEX_ALIGN): New declaration.
18754 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18755 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18756 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18757 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18758 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18759 (grub_afs_mount) [MODE_BFS]: Likewise.
18760 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18761 (grub_afs_fs): Use GRUB_AFS_FSNAME
18762 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18763 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18764 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18765 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18766
4f253044 187672009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18768
18769 * util/getroot.c (find_root_device): Add support for MacOSX.
18770 * util/hostdisk.c: Likewise.
18771
57a55913 187722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * font/font.c (find_glyph): Check whether a font is present to avoid
18775 segmentation fault.
75421ca9 18776
187772009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 18778
18779 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18780
e98cd0c2 187812009-07-20 Pavel Roskin <proski@gnu.org>
18782
18783 * configure.ac: Trim excessively wordy excuses.
18784
1d2d169a 187852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 Add symlink, mtime and label support to AtheFS.
18788
18789 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18790 (grub_afs_iterate_dir): Handle symlinks.
18791 (grub_afs_open): Use grub_afs_read_symlink.
18792 (grub_afs_dir): Likewise.
18793 Pass mtime.
18794 (grub_afs_label): New function.
18795 (grub_afs_fs): Add grub_afs_label.
18796 (grub_afs_read_symlink): New function.
18797
186f3189 187982009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Fix AtheFS support.
18801
18802 * fs/afs.c: Fix comments style.
18803 (grub_afs_blockrun): Declare as packed.
18804 (grub_afs_datastream): Likewise.
18805 (grub_afs_bnode): Likewise.
18806 (grub_afs_btree): Likewise.
18807 (grub_afs_sblock): Likewise.
18808 Declare `name' as char.
18809 (grub_afs_inode): Declare as packed.
18810 Change void *vnode to grub_uint32_t unused.
18811 (grub_afs_iterate_dir): Check that key_size is positive.
18812 (grub_afs_mount): Don't read superblock twice.
75421ca9 18813 (grub_afs_dir): Don't free node in case of error,
186f3189 18814 grub_fshelp_find_file already handles this.
18815 (grub_afs_open): Likewise.
18816
5680109e 188172009-07-19 Pavel Roskin <proski@gnu.org>
18818
18819 * Makefile.in: Remove LIBLZO and enable_lzo.
18820 * conf/i386-pc.rmk: Remove lzo support.
18821 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18822 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18823 support.
18824 * kern/i386/pc/lzo1x.S: Remove.
18825 * kern/i386/pc/startup.S: Remove lzo support.
18826 * util/i386/pc/grub-mkimage.c: Likewise.
18827
ac70fa32 188282009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18831 * fs/xfs.c (grub_xfs_dir): Likewise.
18832 * fs/afs.c (grub_afs_dir): Likewise.
18833 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18834 (grub_iso9660_open): Likewise.
18835 * fs/jfs.c (grub_jfs_open): Likewise.
18836 * fs/ext2.c (grub_ext2_dir): Likewise.
18837 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18838 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 18839
eab58da2 188402009-07-16 Pavel Roskin <proski@gnu.org>
18841
d2838156 18842 * configure.ac: Never add "-c" to CFLAGS.
18843
55c70904 18844 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18845
43e6200c 18846 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18847 grub_cv_cc_efiemu should be used.
18848
ce7a733d 18849 * configure.ac: Typo fixes.
18850
eab58da2 18851 * kern/mm.c (grub_zalloc): New function.
18852 (grub_debug_zalloc): Likewise.
18853 * include/grub/mm.h: Declare grub_zalloc() and
18854 grub_debug_zalloc().
18855 * util/misc.c (grub_zalloc): New function.
18856 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18857 instead of grub_malloc(), remove unneeded initializations.
18858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18859 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18860 * commands/parttool.c (grub_cmd_parttool): Likewise.
18861 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18862 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18863 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18864 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18865 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18866 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18867 (grub_cmd_efiemu_pnvram): Likewise.
18868 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18869 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18870 (grub_iso9660_iterate_dir): Likewise.
18871 * fs/jfs.c (grub_jfs_opendir): Likewise.
18872 * fs/ntfs.c (list_file): Likewise.
18873 (grub_ntfs_mount): Likewise.
18874 * kern/disk.c (grub_disk_open): Likewise.
18875 * kern/dl.c (grub_dl_load_core): Likewise.
18876 * kern/elf.c (grub_elf_file): Likewise.
18877 * kern/env.c (grub_env_context_open): Likewise.
18878 (grub_env_set): Likewise.
18879 (grub_env_set_data_slot): Likewise.
18880 * kern/file.c (grub_file_open): Likewise.
18881 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18882 * loader/i386/multiboot.c (grub_module): Likewise.
18883 * loader/xnu.c (grub_xnu_create_key): Likewise.
18884 (grub_xnu_create_value): Likewise.
18885 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18886 (read_config_file): Likewise.
18887 * normal/menu_entry.c (make_screen): Likewise.
18888 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18889 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18890 * script/sh/script.c (grub_script_parse): Likewise.
18891 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18892 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18893 * video/readers/png.c (grub_png_output_byte): Likewise.
18894 (grub_video_reader_png): Likewise.
18895
830afef7 188962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 18897
18898 Enable all targets that can be built by default
18899
830afef7 18900 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 18901 grub-mkfont and grub-fstest if they can be built
18902
ee293aee 189032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 Fix hang and segmentation fault in grub-emu-usb
18906
18907 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18908 * util/usb.c (grub_libusb_devices): likewise
18909 (grub_libusb_init): rename to ...
18910 (GRUB_MOD_INIT (libusb)):...this
18911 (grub_libusb_fini): rename to ..
18912 (GRUB_MOD_FINI (libusb)):...this
18913 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18914 * include/grub/disk.h (grub_raid_init): removed, it's useless
18915 (grub_raid_fini): likewise
18916 (grub_lvm_init): likewise
18917 (grub_lvm_fini): likewise
18918 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18919 by grub_init_all
18920
94414221 189212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 Fix libusb
18924
18925 * Makefile.in (LIBUSB): new macro
18926 * genmk.rb (Utility/print_tail): new method
18927 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18928 (top level): call util.print_tail at the end.
18929
59ade63d 189302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 Make FreeBSD accept zpool.cache
18933
18934 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18935 type is /boot/zfs/zpool.cache
18936
a58da8c7 189372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 Fix 64-bit efiemu
18940
18941 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18942 correct wrong typedef
18943 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18944
20591577 189452009-07-15 Pavel Roskin <proski@gnu.org>
18946
560ca572 18947 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18948 * kern/disk.c (struct grub_disk_cache): Likewise.
18949
e8e8e4fd 18950 * commands/probe.c (options): Typo fix.
18951
fde24e10 18952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18953 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18954 accordingly.
18955 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18956
379c54c1 18957 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18958 the end of "Error" to make the message more readable.
18959
7bd8f5bf 18960 * boot/i386/pc/boot.S (kernel_segment): Remove.
18961 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
18962 for destination.
18963
40b132c5 18964 * boot/i386/pc/boot.S (boot_version): Remove.
18965 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
18966 Remove.
18967
20591577 18968 * include/grub/i386/pc/boot.h: Sort all offsets.
18969 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
18970 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
18971 * boot/i386/pc/boot.S: Assert location of every offset listed in
18972 include/grub/i386/pc/boot.h.
18973
2df32b2c 189742009-07-13 Pavel Roskin <proski@gnu.org>
18975
44b5d879 18976 * include/grub/i386/coreboot/machine.h: Rename
18977 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
18978 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
18979 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
18980
17dc3751 18981 * kern/dl.c: Force native word size to suppress warnings when
18982 compiling grub-emu.
18983
2df32b2c 18984 * kern/device.c (grub_device_iterate): Change struct part_ent to
18985 hold the name, not a pointer to it. Use one grub_malloc() per
18986 partition, not two. Free partition_name if grub_malloc() fails.
18987 Set ents to NULL only before grub_partition_iterate() is called.
18988
75c59f59 189892009-07-11 Bean <bean123ch@gmail.com>
18990
18991 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
18992 childname.
18993
0ae1bf88 189942009-07-10 Bean <bean123ch@gmail.com>
189952009-07-10 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 * kern/ieee1275/openfw.c (grub_children_iterate)
18998 (grub_devalias_iterate): Fix size evaluation for property or path
18999 strings, which was broken since r2132.
19000
8279cade 190012009-07-07 Pavel Roskin <proski@gnu.org>
19002
7d8a52d3 19003 * commands/search.c (search_file): Merge into ...
19004 (search_fs): ... this. Accept search type as argument.
19005 (grub_cmd_search): Pass search type to search_fs().
19006
25f9a05a 19007 * include/grub/util/console.h: New file.
19008 * util/console.c: Use it instead of grub/machine/console.h.
19009 * util/grub-emu.c: Likewise.
19010
8279cade 19011 * lib/arg.c (find_long_option): Remove.
19012 (find_long): Add `len' argument, make `s' const char *.
19013 (grub_arg_parse): Parse long options in place, not in a
19014 temporary buffer.
19015
4a11b60f 190162009-07-06 Pavel Roskin <proski@gnu.org>
19017
99f68041 19018 * commands/search.c (search_fs): Fix potential NULL pointer
19019 dereference.
19020
4a11b60f 19021 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19022 function pointer.
19023
e110f4de 190242009-07-06 Daniel Mierswa <impulze@impulze.org>
19025
19026 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19027 comparison.
19028
46eeb6a2 190292009-07-05 Pavel Roskin <proski@gnu.org>
19030
bab74958 19031 * include/grub/i386/linux.h (struct linux_kernel_params):
19032 Restore padding3, it's still needed.
19033
46eeb6a2 19034 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19035 FreeBSD.
19036 * util/osdetect.lua: Likewise.
19037
b4a1dc79 190382009-07-05 Bean <bean123ch@gmail.com>
19039
19040 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19041
19042 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19043 (grub_lua_getenv): Likewise.
19044 (grub_lua_setenv): Likewise.
19045 (save_errno): New function.
19046 (push_result): Likewise.
19047 (grub_lua_enum_device): Likewise.
19048 (grub_lua_enum_file): Likewise.
19049 (grub_lua_file_open): Likewise.
19050 (grub_lua_file_close): Likewise.
19051 (grub_lua_file_seek): Likewise.
19052 (grub_lua_file_read): Likewise.
19053 (grub_lua_file_getline): Likewise.
19054 (grub_lua_file_getsize): Likewise.
19055 (grub_lua_file_getpos): Likewise.
19056 (grub_lua_file_eof): Likewise.
19057 (grub_lua_file_exist): Likewise.
19058 (grub_lua_add_menu): Likewise.
19059
19060 * script/lua/grub_lua.h (isupper): New inline function.
19061 (islower): Likewise.
19062 (ispunct): Likewise.
19063 (isxdigit): Likewise.
19064 (strcspn): Change to normal function.
19065 (strpbkr): New function declaration.
19066 (memchr): Likewise.
19067
19068 * script/lua/grub_main.c (scan_str): New function.
19069 (strcspn): Likewise.
19070 (strpbrk): Likewise.
19071 (memchr): Likewise.
19072
19073 * script/lua/linit.c (lualibs): Enable the string library.
19074
19075 * util/osdetect.lua: New file.
19076
2da92295 190772009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19078
19079 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19080 `capabilities' member.
19081
b2582ec9 190822009-07-02 Pavel Roskin <proski@gnu.org>
19083
19084 * genparttoollist.sh: Add missing newline at the end.
19085
32622956 190862009-07-01 Pavel Roskin <proski@gnu.org>
19087
87a7339e 19088 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19089
d23af54e 19090 * util/hostdisk.c (open_device): Remove `const' from
19091 `sysctl_size', as sysctlbyname() can change it (in this case it
19092 doesn't actually happen).
19093
c94b18a9 19094 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19095 using signed long int constants.
19096
c6cd3ef0 19097 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19098 constant to avoid a warning on FreeBSD.
19099
0df63420 19100 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19101 where it's needed.
19102
999577f1 19103 * Makefile.in: Install include/grub/machine symlink.
19104
6f41557f 19105 * Makefile.in: When installing symlinks, use "cp -fR", which
19106 works on FreeBSD and MacOSX.
19107 From Yves Blusseau <cl7m42e02@sneakemail.com>
19108
c8d22988 19109 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19110 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19111
1b96e952 19112 * util/misc.c: Move grub_reboot() and grub_halt() ...
19113 * util/grub-emu.c: ... here. Make main_env static.
19114 * include/grub/util/misc.h: Remove main_env.
19115
2ef0084d 19116 * kern/mm.c: Use correct format to print size_t.
19117
32622956 19118 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19119 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19120 * kern/powerpc/dl.c: Likewise.
19121 * kern/sparc64/dl.c: Likewise.
19122 * kern/x86_64/dl.c: Likewise.
19123
3f7f0cd0 191242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 Fix grub-emu build on sparc64-ieee1275.
19127
75421ca9 19128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 19129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19130
211d06b5 191312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19132
19133 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19134 (grub_reboot, grub_halt): New functions.
19135
19136 * util/i386/pc/misc.c: Delete. Update all users.
19137 * util/sparc64/ieee1275/misc.c: Likewise.
19138 * util/powerpc/ieee1275/misc.c: Likewise.
19139
aaf53e3c 191402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19141
19142 * conf/i386.rmk (setjmp_mod_SOURCES)
19143 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19144 * conf/common.rmk (setjmp_mod_SOURCES)
19145 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19146 to use $(target_cpu).
19147 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19148 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19149 * conf/powerpc-ieee1275.rmk: Likewise.
19150 * conf/sparc64-ieee1275.rmk: Likewise.
19151
19152 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19153 $(target_cpu) for kern/$(target_cpu)/dl.c.
19154 * conf/i386-efi.rmk: Likewise.
19155 * conf/i386-ieee1275.rmk: Likewise.
19156 * conf/x86_64-efi.rmk: Likewise.
19157 * conf/i386-coreboot.rmk: Likewise.
19158 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19159 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19160 kern/$(target_cpu)/cache.S.
19161 * conf/sparc64-ieee1275.rmk: Likewise.
19162
a337130b 191632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19164
19165 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19166 type to `grub_uint8_t', and adjust `padding9' accordingly.
19167
c6fe4d53 191682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19169
b09db61d 19170 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19171
c6fe4d53 19172 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19173 assembly in final jump, using register constraints.
19174
b09db61d 19175 (grub_linux_boot): For text mode, initialize `have_vga' using
19176 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19177
19178 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19179 right before the final jump.
19180
19181 Set `video_mode' to 0x3.
19182
19183 Document initialization of `video_page', `video_mode' and
19184 `video_ega_bx'.
19185
28333ad0 191862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19187
19188 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19189 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 19190 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 19191
02164e1b 191922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19193
19194 Fix build on Debian / sparc.
19195
19196 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19197
18b6c557 191982009-06-28 Pavel Roskin <proski@gnu.org>
19199
85f2aab6 19200 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19201 fix a warning.
19202
18b6c557 19203 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19204
ad760f81 192052009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19206
19207 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19208 `err'.
19209
87a4623b 192102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 Revert r2338.
19213
19214 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19215 file can't be opened. grub_file_open() is already supposed to set
75421ca9 19216 grub_errno / grub_errmsg appropriately.
87a4623b 19217 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19218
8231fb77 192192009-06-27 Pavel Roskin <proski@gnu.org>
192202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19221
19222 * include/grub/dl.h: Include grub/elf.h.
19223 (struct grub_dl): Add symtab field.
19224 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19225 GRUB_MODULES_MACHINE_READONLY.
19226 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19227 of the header for read-only modules.
19228 (grub_dl_unload): Free mod->symtab for read-only modules.
19229 * kern/i386/dl.c: Use mod->symtab.
19230 * kern/powerpc/dl.c: Likewise.
19231 * kern/sparc64/dl.c: Likewise.
19232 * kern/x86_64/dl.c: Likewise.
19233
19234 * conf/i386-qemu.rmk: New file.
19235 * kern/i386/qemu/startup.S: Likewise.
19236 * kern/i386/qemu/mmap.c: Likewise.
19237 * boot/i386/qemu/boot.S: Likewise.
19238 * include/grub/i386/qemu/time.h: Likewise.
19239 * include/grub/i386/qemu/serial.h: Likewise.
19240 * include/grub/i386/qemu/kernel.h: Likewise.
19241 * include/grub/i386/qemu/console.h: Likewise.
19242 * include/grub/i386/qemu/boot.h: Likewise.
19243 * include/grub/i386/qemu/init.h: Likewise.
19244 * include/grub/i386/qemu/machine.h: Likewise.
19245 * include/grub/i386/qemu/loader.h: Likewise.
19246 * include/grub/i386/qemu/memory.h: Likewise.
19247
19248 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19249 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19250 [qemu] (pkglib_IMAGES): Add `boot.img'.
19251 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19252 [qemu] (boot_img_FORMAT): New variables.
19253 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19254 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19255 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19256 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19257 [qemu] (kernel_img_FORMAT): New variables.
19258
19259 * configure.ac: Recognise `i386-qemu'.
19260
19261 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19262 (for no compression).
19263 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19264 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19265 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19266 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19267 ifdefs).
19268
97fe384e 192692009-06-27 Pavel Roskin <proski@gnu.org>
19270
19271 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19272 read.
19273 * efiemu/prepare32.c: Likewise.
19274 * efiemu/prepare64.c: Likewise.
19275
c402ab17 192762009-06-26 Pavel Roskin <proski@gnu.org>
19277
19278 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19279 * include/grub/elf.h: Define symbols without "32" or "64" based
19280 on GRUB_TARGET_WORDSIZE.
19281 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19282 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19283 ELF definitions.
19284 * efiemu/loadcore64.c: Likewise.
19285 * loader/i386/bsd32.c: Likewise.
19286 * loader/i386/bsd64.c: Likewise.
19287 * kern/dl.c: Remove own ELF definitions.
19288 * util/i386/efi/grub-mkimage.c: Likewise.
19289
9bbdfd4d 192902009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19291
19292 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19293 segment 0x0 unconditionally, because the reference generated by
19294 GAS is an absolute address.
19295
a42ce6e9 192962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19297
19298 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19299 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19300
c952cf92 193012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19302
19303 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19304 indexes. Check for -f explicitly.
cc3752ad 19305 (search_file): Improve error message.
19306 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 19307
132a0a59 193082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19309
19310 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19311 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19312
387a140c 193132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19314
19315 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19316 * conf/i386-ieee1275.rmk: Likewise.
19317 * conf/i386-coreboot.rmk: Likewise.
19318
19319 * kern/i386/pc/startup.S (grub_stop): Remove function.
19320 * kern/i386/ieee1275/startup.S: Likewise.
19321 * kern/i386/coreboot/startup.S: Likewise.
19322 * kern/i386/misc.S (grub_stop): New function.
19323
41da9665 193242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19325
19326 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19327 * kern/i386/realmode.S (real_to_prot): ... to here.
19328
bf337234 193292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19330
19331 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19332 with `kernel.img'.
19333 (kernel_elf_SOURCES): Rename to ...
19334 (kernel_img_SOURCES): ... this.
19335 (kernel_elf_HEADERS): Rename to ...
19336 (kernel_img_HEADERS): ... this. Update all users.
19337 (kernel_elf_ASFLAGS): Rename to ...
19338 (kernel_img_ASFLAGS): ... this.
19339 (kernel_elf_CFLAGS): Rename to ...
19340 (kernel_img_CFLAGS): ... this.
19341 (kernel_elf_LDFLAGS): Rename to ...
19342 (kernel_img_LDFLAGS): ... this.
19343 * conf/i386-coreboot.rmk: Likewise.
19344 * conf/powerpc-ieee1275.rmk: Likewise.
19345
19346 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19347 with "kernel.img".
19348
f52196ff 193492009-06-21 Pavel Roskin <proski@gnu.org>
19350
c3cee413 19351 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19352 to match nested functions.
19353 * loader/sparc64/ieee1275/linux.c: Likewise.
19354
f52196ff 19355 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19356
58750afc 193572009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19358
19359 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19360 all i386 platforms.
19361
15355c7d 193622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 Fix asm file handling on ELF, and remove workarounds.
19365
19366 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 19367 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 19368 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19369 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19370
3f3ec72b 193712009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 Load BSD ELF modules
19374
19375 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19376 and loader/i386/bsd64.c
19377 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19378 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19379 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19380 (grub_freebsd_load_elfmodule32): New declaration
19381 (grub_freebsd_load_elfmoduleobj64): Likewise
19382 (grub_freebsd_load_elf_meta32): Likewise
19383 (grub_freebsd_load_elf_meta64): Likewise
19384 (grub_freebsd_add_meta): Likewise
19385 (grub_freebsd_add_meta_module): Likewise
19386 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19387 (grub_freebsd_add_meta_module): Likewise and move module-specific
19388 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19389 (grub_cmd_freebsd): Add elf-kernel specific parts
19390 based on grub_freebsd_add_meta_module
19391 (grub_cmd_freebsd_module): Add type parsing moved from
19392 grub_freebsd_add_meta_module
19393 (grub_cmd_freebsd_module_elf): New function
19394 (cmd_freebsd_module_elf): New variable
19395 (GRUB_MOD_INIT): Register freebsd_module_elf
19396 * loader/i386/bsd32.c: New file
19397 * loader/i386/bsd64.c: Likewise
19398 * loader/i386/bsdXX.c: Likewise
19399 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19400 (grub_elf64_load): Likewise
19401 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19402 All users updated
19403 (grub_elf64_load_hook_t): Likewise
19404
0db15301 194052009-06-21 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19408 variable.
19409 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19410 don't write a menu entry for recovery mode.
19411
546796c1 194122009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19413
19414 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19415 after it's no longer needed.
19416
cd7310d5 194172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19418
19419 * include/grub/i386/loader.h (grub_linux_prot_size)
19420 (grub_linux_tmp_addr, grub_linux_real_addr)
19421 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19422 GRUB_MACHINE_PCBIOS.
19423 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19424 common grub_util_info() call to ...
19425 (generate_image): ... here.
19426 Fix use of uninitialized memory, comparison of signed with
19427 unsigned integers and memory leak.
19428 Remove bogus module address message.
19429
ab32d3b5 194302009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19433 grub_raid_register
19434 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19435
024ef597 194362009-06-19 Pavel Roskin <proski@gnu.org>
19437
19438 * configure.ac: Remove stray AC_MSG_CHECKING.
19439
3ac72b51 194402009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 19443
e14cd814 194442009-06-18 Pavel Roskin <proski@gnu.org>
19445
19446 * conf/common.rmk: Add fs_file.mod.
19447 * disk/fs_file.c: New file.
19448 * include/grub/disk.h (enum grub_disk_dev_id): Add
19449 GRUB_DISK_DEVICE_FILE_ID.
19450
26586d98 194512009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 Fix build with Apple's toolchain. Part 2
19454
19455 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19456 a fake start
19457
26de2bcd 194582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 Fix build with Apple's toolchain. Part 1
19461
19462 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19463 for long calls
19464 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 19465 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 19466 Apple's toolchain
19467
09b3490b 194682009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 Fix warnings
19471
19472 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19473 (decomp_block): initialize ch
19474 use grub_memcpy instead of memcpy
19475
c22a006a 194762009-06-17 Pavel Roskin <proski@gnu.org>
19477
d3638678 19478 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19479 version, use declarations needed to use vga_text as the startup
19480 console.
19481
c22a006a 19482 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19483 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19484 the kernel.
19485 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19486 and grub_at_keyboard_fini(), it's done on module load and
19487 unload.
19488
05b129e0 194892009-06-17 Felix Zielcke <fzielcke@z-51.de>
19490
19491 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19492 file can't be found.
19493 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19494
cf24ed9e 194952009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 Fix newline handling
19498
19499 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 19500 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 19501 (grub_script_yylex): don't segfault on unterminated script
19502 newline terminates command and variable
19503
74aa8e4b 195042009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 avoid double grub_adjust_range call. Bug reported by David Simner
19507
19508 * kern/disk.c (grub_disk_write): change to raw disk access before
19509 calling disk_read
19510
1bd265f3 195112009-06-17 Colin Watson <cjwatson@ubuntu.com>
19512
19513 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19514 spaces, for the benefit of help2man.
19515 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19516
a2d08c06 195172009-06-16 Pavel Roskin <proski@gnu.org>
19518
19519 * kern/i386/halt.c: Include grub/machine/init.h.
19520 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19521
b97bcb19 195222009-06-16 Felix Zielcke <fzielcke@z-51.de>
19523
19524 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19525 drivemap menuentry.
19526
0644f96c 195272009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19528
19529 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19530 `echo' command.
19531
3ef17a2e 195322009-06-16 Pavel Roskin <proski@gnu.org>
19533
19534 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19535 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19536 save %dx, we only need %dl and we never change it.
19537 * boot/i386/pc/cdboot.S: Don't set the root drive.
19538 * boot/i386/pc/pxeboot.S: Likewise.
19539 * include/grub/i386/pc/boot.h: Remove
19540 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19541 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19542 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19543 * kern/i386/pc/init.c (make_install_device): Remove references
19544 to grub_root_drive.
19545 * kern/i386/pc/startup.S: Likewise.
19546 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19547
693fe637 195482009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 xnu_uuid command
19551
19552 * commands/xnu_uuid.c: new file
19553 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19554 (xnu_uuid_mod_SOURCES): new variable
19555 (xnu_uuid_mod_CFLAGS): likewise
19556 (xnu_uuid_mod_LDFLAGS): likewise
19557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19558 * conf/i386-ieee1275.rmk: likewise
19559 * conf/i386-pc.rmk: likewise
19560 * conf/powerpc-ieee1275.rmk: likewise
19561 * conf/sparc64-ieee1275.rmk: likewise
19562 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19563
c9da87d0 195642009-06-16 Pavel Roskin <proski@gnu.org>
19565
19566 * configure.ac: Avoid '==' in test command, it's not portable.
19567
9c6f4596 195682009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 Probe command
19571
19572 * commands/probe.c: new file
19573 * conf/common.rmk (pkglib_MODULES): add probe.mod
19574 (probe_mod_SOURCES): new variable
19575 (probe_mod_CFLAGS): likewise
19576 (probe_mod_LDFLAGS): likewise
19577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19578 * conf/i386-ieee1275.rmk: likewise
19579 * conf/i386-pc.rmk: likewise
19580 * conf/powerpc-ieee1275.rmk: likewise
19581 * conf/sparc64-ieee1275.rmk: likewise
19582
70b7f9fd 195832009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Fix handling of string like \"hello\" and "a
19586 b"
19587
19588 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19589 (grub_script_yylex): fix parsing of quoting, escaping and newline
19590
71c79a6b 195912009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19592
dd74360c 19593 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 19594 handling
dd74360c 19595
0644f96c 195962009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 19597
19598 * util/grub-mkconfig.in: Fix parsing of --output option.
19599
e40893c3 196002009-06-12 Pavel Roskin <proski@gnu.org>
19601
19602 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19603 genmk.rb don't need to be generated or installed.
19604
3a1acfe2 196052009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * commands/i386/pc/drivemap_int13h.S: add more comments
19608
3a4575d4 196092009-06-11 Pavel Roskin <proski@gnu.org>
19610
0658e928 19611 * Makefile.in (uninstall): Uninstall manuals.
19612
ca0388f0 19613 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19614 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19615 and update-grub_lib in two places.
19616 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19617
e3b27c39 19618 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19619 a compiler warning.
19620
3a4575d4 19621 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19622 `entry_lo' to fix variable shadowing.
19623
af1f4f55 196242009-06-11 Christian Franke <franke@computer.org>
19625
19626 * kern/misc.c (__enable_execute_stack): Add missing return type
19627 to prevent gcc warning.
19628
5225e649 196292009-06-11 Felix Zielcke <fzielcke@z-51.de>
19630
19631 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19632
7d83bd47 196332009-06-11 Pavel Roskin <proski@gnu.org>
19634
c1cb63ba 19635 * Makefile.in: Don't rely on any scripts being executable.
19636 Always use $(SHELL) to run shell scripts.
19637
7d83bd47 19638 * configure.ac: Always define ___main if using -nostdlib. This
19639 fixes tests on Cygwin.
19640
948f48e7 196412009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19642
19643 UDF fix
19644
7d83bd47 19645 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 19646 is in bytes and not in blocks
7d83bd47 19647
8ada9bc1 196482009-06-11 Pavel Roskin <proski@gnu.org>
19649
19650 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19651 warning.
19652
25ad2323 196532009-06-11 Felix Zielcke <fzielcke@z-51.de>
19654
19655 * util/grub.d/30_os-prober.in: Fix a comment. Source
19656 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19657 to set the root device. Place drivemap command in the generated
19658 chain entry.
19659
e65acb0c 196602009-06-11 Pavel Roskin <proski@gnu.org>
19661
19662 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19663 have long been resolved.
19664
f285fe2d 196652009-06-11 Colin Watson <cjwatson@ubuntu.com>
19666
bd47b0b5 19667 * util/grub.d/10_linux.in: Capitalise "Linux".
19668
f285fe2d 19669 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19670
a0c62e4e 196712009-06-11 Pavel Roskin <proski@gnu.org>
19672
b6783cb2 19673 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19674 fix a gcc warning and ensure that the function won't ever exit.
19675
dde032e8 19676 * kern/i386/ieee1275/init.c: Add missing prototype for
19677 grub_stop_floppy().
19678
22cd079d 19679 * loader/ieee1275/multiboot2.c [__i386__]: Include
19680 grub/cpu/multiboot.h.
19681
a0c62e4e 19682 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19683 casts to short - they are not portable and cause warnings. Fix
19684 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19685
63963d17 196862009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 Drivemap fixes
19689
19690 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19691 new function
19692 (grub_get_root_biosnumber_saved): new variable
19693 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19694 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 19695 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 19696 %dx after the call if necessary
19697 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19698 (boot_mod_SOURCES): remove
19699 (boot_mod_CFLAGS): remove
19700 (boot_mod_LDFLAGS): remove
19701 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19702 (boot_mod_SOURCES): new variable
19703 (boot_mod_CFLAGS): likewise
19704 (boot_mod_LDFLAGS): likewise
19705 * conf/i386-efi.rmk: likewise
19706 * conf/i386-ieee1275.rmk: likewise
19707 * conf/i386-pc.rmk: likewise
19708 * conf/powerpc-ieee1275.rmk: likewise
19709 * conf/sparc64-ieee1275.rmk: likewise
19710 * conf/x86_64-efi.rmk: likewise
19711 * include/grub/i386/pc/biosnum.h: new file
19712 * lib/i386/pc/biosnum.c: likewise
19713 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19714 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19715 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 19716
33abf7ae 197172009-06-10 Pavel Roskin <proski@gnu.org>
19718
5ac35b35 19719 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19720 Use separate variables. Read only the file size at the end, but
19721 not the checksum that we don't use.
19722
5c5215d5 19723 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19724 Adjust all callers.
19725
27d5fef7 19726 * kern/ieee1275/openfw.c: Remove libc includes.
19727 * kern/ieee1275/cmain.c: Likewise.
19728 * include/grub/ieee1275/ieee1275.h: Likewise.
19729
33abf7ae 19730 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19731 compiler warnings.
19732
19d50c2b 197332009-06-10 Felix Zielcke <fzielcke@z-51.de>
19734
19735 * Makefile.in: Remove all trailing whitespace.
19736 * conf/i386-pc.rmk: Likewise.
19737 * conf/powerpc-ieee1275.rmk: Likewise.
19738 * conf/sparc64-ieee1275.rmk: Likewise.
19739 * docs/grub.texi: Likewise.
19740 * docs/texinfo.tex: Likewise.
19741 * disk/fs_uuid.c: Likewise.
19742 * disk/lvm.c: Likewise.
19743 * disk/scsi.c: Likewise.
19744 * disk/ata.c: Likewise.
19745 * disk/ieee1275/ofdisk.c: Likewise.
19746 * disk/i386/pc/biosdisk.c: Likewise.
19747 * disk/host.c: Likewise.
19748 * disk/raid.c: Likewise.
19749 * disk/efi/efidisk.c: Likewise.
19750 * disk/usbms.c: Likewise.
19751 * disk/memdisk.c: Likewise.
19752 * disk/loopback.c: Likewise.
19753 * kern/powerpc/dl.c: Likewise.
19754 * kern/device.c: Likewise.
19755 * kern/dl.c: Likewise.
19756 * kern/sparc64/dl.c: Likewise.
19757 * kern/ieee1275/ieee1275.c: Likewise.
19758 * kern/term.c: Likewise.
19759 * kern/fs.c: Likewise.
19760 * kern/i386/dl.c: Likewise.
19761 * kern/i386/pc/startup.S: Likewise.
19762 * kern/i386/pc/init.c: Likewise.
19763 * kern/i386/pc/mmap.c: Likewise.
19764 * kern/i386/pc/lzo1x.S: Likewise.
19765 * kern/i386/ieee1275/init.c: Likewise.
19766 * kern/i386/realmode.S: Likewise.
19767 * kern/i386/tsc.c: Likewise.
19768 * kern/partition.c: Likewise.
19769 * kern/corecmd.c: Likewise.
19770 * kern/file.c: Likewise.
19771 * kern/efi/efi.c: Likewise.
19772 * kern/efi/init.c: Likewise.
19773 * kern/efi/mm.c: Likewise.
19774 * kern/main.c: Likewise.
19775 * kern/err.c: Likewise.
19776 * kern/env.c: Likewise.
19777 * kern/disk.c: Likewise.
19778 * kern/generic/millisleep.c: Likewise.
19779 * kern/generic/rtc_get_time_ms.c: Likewise.
19780 * kern/misc.c: Likewise.
19781 * kern/parser.c: Likewise.
19782 * genmk.rb: Likewise.
19783 * configure.ac: Likewise.
19784 * boot/i386/pc/diskboot.S: Likewise.
19785 * boot/i386/pc/pxeboot.S: Likewise.
19786 * boot/i386/pc/boot.S: Likewise.
19787 * boot/i386/pc/lnxboot.S: Likewise.
19788 * boot/i386/pc/cdboot.S: Likewise.
19789 * parttool/pcpart.c: Likewise.
19790 * video/readers/tga.c: Likewise.
19791 * video/video.c: Likewise.
19792 * video/bitmap.c: Likewise.
19793 * lib/envblk.c: Likewise.
19794 * lib/i386/setjmp.S: Likewise.
19795 * fs/xfs.c: Likewise.
19796 * fs/afs.c: Likewise.
19797 * fs/fat.c: Likewise.
19798 * fs/ntfs.c: Likewise.
19799 * fs/udf.c: Likewise.
19800 * fs/affs.c: Likewise.
19801 * fs/iso9660.c: Likewise.
19802 * fs/hfs.c: Likewise.
19803 * fs/fshelp.c: Likewise.
19804 * fs/ext2.c: Likewise.
19805 * fs/jfs.c: Likewise.
19806 * fs/reiserfs.c: Likewise.
19807 * fs/hfsplus.c: Likewise.
19808 * fs/minix.c: Likewise.
19809 * fs/cpio.c: Likewise.
19810 * fs/sfs.c: Likewise.
19811 * fs/ufs.c: Likewise.
19812 * efiemu/prepare.c: Likewise.
19813 * efiemu/loadcore_common.c: Likewise.
19814 * efiemu/runtime/efiemu.sh: Likewise.
19815 * efiemu/runtime/efiemu.S: Likewise.
19816 * efiemu/runtime/efiemu.c: Likewise.
19817 * efiemu/pnvram.c: Likewise.
19818 * efiemu/main.c: Likewise.
19819 * efiemu/i386/pc/cfgtables.c: Likewise.
19820 * efiemu/i386/loadcore64.c: Likewise.
19821 * efiemu/i386/loadcore32.c: Likewise.
19822 * efiemu/loadcore.c: Likewise.
19823 * efiemu/symbols.c: Likewise.
19824 * efiemu/mm.c: Likewise.
19825 * include/grub/autoefi.h: Likewise.
19826 * include/grub/datetime.h: Likewise.
19827 * include/grub/term.h: Likewise.
19828 * include/grub/hfs.h: Likewise.
19829 * include/grub/lvm.h: Likewise.
19830 * include/grub/i386/tsc.h: Likewise.
19831 * include/grub/i386/linux.h: Likewise.
19832 * include/grub/i386/xnu.h: Likewise.
19833 * include/grub/i386/efiemu.h: Likewise.
19834 * include/grub/i386/pc/biosdisk.h: Likewise.
19835 * include/grub/i386/pc/memory.h: Likewise.
19836 * include/grub/i386/pc/vbe.h: Likewise.
19837 * include/grub/parttool.h: Likewise.
19838 * include/grub/video.h: Likewise.
19839 * include/grub/memory.h: Likewise.
19840 * include/grub/fs.h: Likewise.
19841 * include/grub/partition.h: Likewise.
19842 * include/grub/xnu.h: Likewise.
19843 * include/grub/efi/api.h: Likewise.
19844 * include/grub/efi/pe32.h: Likewise.
19845 * include/grub/efi/memory.h: Likewise.
19846 * include/grub/multiboot.h: Likewise.
19847 * include/grub/usbdesc.h: Likewise.
19848 * include/grub/multiboot2.h: Likewise.
19849 * include/grub/acpi.h: Likewise.
19850 * include/grub/efiemu/efiemu.h: Likewise.
19851 * include/grub/disk.h: Likewise.
19852 * include/grub/ieee1275/ieee1275.h: Likewise.
19853 * include/grub/net.h: Likewise.
19854 * include/grub/machoload.h: Likewise.
19855 * include/grub/macho.h: Likewise.
19856 * include/multiboot.h: Likewise.
19857 * genmoddep.awk: Likewise.
19858 * normal/main.c: Likewise.
19859 * normal/menu_entry.c: Likewise.
19860 * normal/menu_viewer.c: Likewise.
19861 * normal/completion.c: Likewise.
19862 * normal/cmdline.c: Likewise.
19863 * normal/misc.c: Likewise.
19864 * normal/datetime.c: Likewise.
19865 * bus/usb/usbtrans.c: Likewise.
19866 * bus/usb/ohci.c: Likewise.
19867 * bus/usb/uhci.c: Likewise.
19868 * bus/usb/usb.c: Likewise.
19869 * mmap/efi/mmap.c: Likewise.
19870 * mmap/i386/pc/mmap_helper.S: Likewise.
19871 * mmap/i386/pc/mmap.c: Likewise.
19872 * mmap/i386/mmap.c: Likewise.
19873 * mmap/i386/uppermem.c: Likewise.
19874 * mmap/mmap.c: Likewise.
19875 * commands/acpi.c: Likewise.
19876 * commands/echo.c: Likewise.
19877 * commands/blocklist.c: Likewise.
19878 * commands/loadenv.c: Likewise.
19879 * commands/usbtest.c: Likewise.
19880 * commands/boot.c: Likewise.
19881 * commands/parttool.c: Likewise.
19882 * commands/search.c: Likewise.
19883 * commands/cat.c: Likewise.
19884 * commands/i386/pc/play.c: Likewise.
19885 * commands/i386/pc/drivemap.c: Likewise.
19886 * commands/i386/pc/vbeinfo.c: Likewise.
19887 * commands/i386/pc/acpi.c: Likewise.
19888 * commands/i386/pc/vbetest.c: Likewise.
19889 * commands/ls.c: Likewise.
19890 * commands/cmp.c: Likewise.
19891 * commands/test.c: Likewise.
19892 * commands/efi/acpi.c: Likewise.
19893 * commands/gptsync.c: Likewise.
19894 * commands/help.c: Likewise.
19895 * partmap/amiga.c: Likewise.
19896 * partmap/apple.c: Likewise.
19897 * partmap/acorn.c: Likewise.
19898 * partmap/pc.c: Likewise.
19899 * partmap/sun.c: Likewise.
19900 * partmap/gpt.c: Likewise.
19901 * script/sh/lexer.c: Likewise.
19902 * script/sh/function.c: Likewise.
19903 * font/font.c: Likewise.
19904 * font/font_cmd.c: Likewise.
19905 * loader/powerpc/ieee1275/linux.c: Likewise.
19906 * loader/efi/chainloader.c: Likewise.
19907 * loader/multiboot_loader.c: Likewise.
19908 * loader/macho.c: Likewise.
19909 * loader/i386/multiboot.c: Likewise.
19910 * loader/i386/linux.c: Likewise.
19911 * loader/i386/pc/linux.c: Likewise.
19912 * loader/i386/pc/multiboot2.c: Likewise.
19913 * loader/i386/pc/chainloader.c: Likewise.
19914 * loader/i386/pc/xnu.c: Likewise.
19915 * loader/i386/bsd_trampoline.S: Likewise.
19916 * loader/i386/efi/linux.c: Likewise.
19917 * loader/i386/multiboot_elfxx.c: Likewise.
19918 * loader/i386/bsd_helper.S: Likewise.
19919 * loader/i386/bsd.c: Likewise.
19920 * loader/i386/linux_trampoline.S: Likewise.
19921 * loader/i386/xnu_helper.S: Likewise.
19922 * loader/i386/xnu.c: Likewise.
19923 * loader/i386/bsd_pagetable.c: Likewise.
19924 * loader/i386/multiboot_helper.S: Likewise.
19925 * loader/xnu.c: Likewise.
19926 * loader/xnu_resume.c: Likewise.
19927 * io/gzio.c: Likewise.
19928 * term/efi/console.c: Likewise.
19929 * term/terminfo.c: Likewise.
19930 * term/ieee1275/ofconsole.c: Likewise.
19931 * term/i386/pc/serial.c: Likewise.
19932 * term/i386/pc/vesafb.c: Likewise.
19933 * term/i386/pc/vga.c: Likewise.
19934 * term/usb_keyboard.c: Likewise.
19935 * term/gfxterm.c: Likewise.
19936 * aclocal.m4: Likewise.
19937 * util/lvm.c: Likewise.
19938 * util/grub.d/30_os-prober.in: Likewise.
19939 * util/grub.d/10_hurd.in: Likewise.
19940 * util/console.c: Likewise.
19941 * util/grub-macho2img.c: Likewise.
19942 * util/grub-probe.c: Likewise.
19943 * util/hostfs.c: Likewise.
19944 * util/i386/pc/grub-mkimage.c: Likewise.
19945 * util/i386/pc/grub-setup.c: Likewise.
19946 * util/i386/efi/grub-mkimage.c: Likewise.
19947 * util/grub-mkconfig.in: Likewise.
19948 * util/raid.c: Likewise.
19949 * util/resolve.c: Likewise.
19950 * util/grub-mkdevicemap.c: Likewise.
19951 * util/grub-emu.c: Likewise.
19952 * util/getroot.c: Likewise.
19953 * util/hostdisk.c: Likewise.
19954 * util/usb.c: Likewise.
19955 * util/grub-editenv.c: Likewise.
19956 * util/misc.c: Likewise.
19957
d2d49665 199582009-06-10 Felix Zielcke <fzielcke@z-51.de>
19959
19960 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
19961 `genparttoollist.sh'.
19962 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
19963 Add `*.sh' to the list find searches for and change `mdate.sh'
19964 to `mdate-sh'.
19965
fe052e37 199662009-06-10 Pavel Roskin <proski@gnu.org>
19967
2763ac18 19968 * include/grub/multiboot2.h: Provide compatibility defines for
19969 multiboot2.h.
19970 * include/multiboot2.h: Include stdint.h only if needed, using
19971 angle brackets.
19972 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
19973 grub/multiboot2.h.
19974 * loader/ieee1275/multiboot2.c: Likewise.
19975 * loader/multiboot2.c: Likewise.
19976 * loader/multiboot_loader.c: Likewise.
19977
437e6adc 19978 * configure.ac: Use -nostdlib when probing for the target. It
19979 should not be required to have libc for the target.
19980
06a6836c 19981 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
19982 they fail without libc headers for the target.
19983 * include/grub/powerpc/libgcc.h: Use weak attribute for all
19984 exports.
19985 * include/grub/sparc64/libgcc.h: Likewise. Don't use
19986 preprocessor conditionals.
19987
fe052e37 19988 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
19989 build system doesn't need to be aware of the tar.c internals.
19990
afd22553 199912009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 19992
afd22553 19993 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 19994
6b787c4f 199952009-06-09 Robert Millan <rmh.grub@aybabtu.com>
19996
19997 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
19998 disk limit to 26 for IDE, Virtio, Xen and SCSI.
19999
200002009-06-09 Felix Zielcke <fzielcke@z-51.de>
20001
20002 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 20003 aren't available if ata.mod gets used.
6b787c4f 20004
473d1e45 200052009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 20006
473d1e45 20007 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 20008 initialising controller.
473d1e45 20009 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 20010
255a27d4 200112009-06-08 Felix Zielcke <fzielcke@z-51.de>
20012
20013 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20014 to choose between ata and biosdisk module on i386-pc.
20015
473d1e45 200162009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 20017
d55842d8 20018 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20019 Subclass and Programming Interface fields in terms of the 3 byte
20020 Class Code register.
20021 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20022
fa5db0b1 20023 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20024 interface is OHCI. Add grub_dprintf for symmetry with
20025 bus/usb/uhci.c.
20026 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20027 interface is UHCI. Add interf variable for programming
20028 interface. Print interface with class/subclass.
20029
c0947beb 20030 * bus/usb/ohci.c: Set interf with correct field.
20031
69da8877 20032 * bus/usb/uhci.c: Remove unneeded doubled lines.
20033 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20034 Remove whitespace inside comment.
20035
9e172e30 200362009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20037
20038 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20039 as fallback an equivalent option without depth.
20040
de65ee2b 200412009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 Not fail if unable to retrieve C/H/S on LBA disks
20044
473d1e45 20045 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 20046 if unable to retrieve C/H/S on LBA disks
20047
b57ea2c9 200482009-06-08 Pavel Roskin <proski@gnu.org>
20049
20050 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20051 about aliasing.
20052
af361263 200532009-06-08 Felix Zielcke <fzielcke@z-51.de>
20054
20055 * Makefile.in (uninstall): Remove all $lib_DATA files.
20056
4c9ec6b3 200572009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 Bugfix: install on partitionless device
20060
20061 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20062 is a whole disk
20063
e76fc924 200642009-06-08 Felix Zielcke <fzielcke@z-51.de>
20065
20066 * Makefile.in (uninstall): Remove all $include_DATA files.
20067
ba5a0d05 200682009-06-08 Felix Zielcke <fzielcke@z-51.de>
20069
20070 * commands/true.c: New file. Implement the true and false commands.
20071 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20072 (true_mod_SOURCES): New variable.
20073 (true_mod_CFLAGS): Likewise.
20074 (true_mod_LDFLAGS): Likewise.
20075
c8048e32 200762009-06-05 Colin D Bennett <colin@gibibit.com>
20077
20078 Optimized font character lookup using binary search instead of linear
20079 search. Fonts now are required to have the character index ordered by
20080 code point.
20081
20082 * font/font.c (load_font_index): Verify that fonts have ordered
20083 character indices.
20084 (find_glyph): Use binary search instead of linear search to find a
20085 character in a font.
20086
408305be 200872009-06-05 Michael Scherer <misc@mandriva.org>
20088
20089 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20090 uses case sensitive btree.
20091 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20092 only for case insensitive filesystems.
20093
8ee1e0d9 200942009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20097 * conf/common.rmk (search_mod_CFLAGS): likewise
20098
a9966eb1 200992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20100
473d1e45 20101 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 20102 compensate a compiler bug
20103
9e7100fb 201042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20105
473d1e45 20106 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 20107 instead of '\b'
473d1e45 20108
ede21d71 201092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 Definitions for creating asm symbols with Apple's CC
20112
20113 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20114 [APPLE_CC] (VARIABLE): likewise
20115
9dbf7653 201162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 Disable lnxboot.img when compiled
20119 with Apple's CC
20120
20121 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20122 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20123 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20124 [! APPLE_CC] (CODE_LENG): skip
20125 [! APPLE_CC] (setup_sects): likewise
20126 [! APPLE_CC]: skip filling
473d1e45 20127
e93cdc3d 201282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 Address in trampolines based on 32-bit registers when compiled
20131 with Apple's CC
20132
473d1e45 20133 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 20134 for addresses
20135 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20136
6c688477 201372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20140
20141 * kern/misc.c [APPLE_CC] (memcpy): new function
20142 [APPLE_CC] (memmove): likewise
20143 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 20144 (memcpy): define alias conditionally on !APPLE_CC
6c688477 20145 (memset): likewise
20146 (abort): likewise
20147 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20148 APPLE_CC are defined
20149 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20150 (grub_assert_fail): make prototype conditional
20151
e37ffc5c 201522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20155
473d1e45 20156 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20157 grub-macho2img
e37ffc5c 20158 (CLEANFILES): add grub-macho2img
20159 (grub_macho2img_SOURCES): new variable
20160 * kern/i386/pc/startup.S (bss_start): new variable
20161 (bss_end): likewise
20162 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20163 * util/grub-macho2img.c: new file
20164
cf00df31 201652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 Use objconv when compiling with Apple's CC
20168
20169 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20170 (efiemu64.o): likewise
20171 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20172 when compiling with Apple's CC
20173 (efiemu64_s.o): likewise
20174 * configure.ac: check for objconv when compiling with Apple's CC
20175 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 20176
d119a20c 201772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 Define segment as well as section when compiling with
20180 Apple's CC
20181
20182 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20183 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20184 (efiemu_convert_pointer): likewise
20185 (efiemu_set_virtual_address_map): likewise
20186 (efiemu_convert_pointer): likewise
20187 (efiemu_getcrc32): likewise
20188 (init_crc32_table): likewise
20189 (reflect): likewise
20190 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20191 (GRUB_MOD_DEP): likewise
473d1e45 20192
c8600122 201932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 Allow a compilation without -mcmodel=large
20196
20197 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20198 when compiled without -mcmodel=large
473d1e45 20199 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 20200 without -mcmodel=large
473d1e45 20201 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 20202 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 20203
e8df1d4e 202042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 Remove nested functions in efiemu core
20207
20208 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 20209
cc6c3ac1 202102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20213
20214 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20215 temporary storage
473d1e45 20216 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20217 using Apple's CC
cc6c3ac1 20218 (grub_cpu_is_tsc_supported): likewise
20219 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 20220
3e325901 202212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 Absolute addressing through constant with Apple's cc
20224
20225 * kern/i386/pc/startup.S: Define necessary constants
20226 and address through it when using ABS with Apple's CC
20227 * boot/i386/pc/diskboot.S: likewise
20228 * boot/i386/pc/boot.S: likewise
20229 * boot/i386/pc/lnxboot.S: likewise
20230 * boot/i386/pc/cdboot.S: likewise
20231 * mmap/i386/pc/mmap_helper.S: likewise
20232 * commands/i386/pc/drivemap_int13h.S: likewise
20233
2b167a72 202342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Check if compiler is apple cc
20237
20238 * Makefile.in (ASFLAGS): new variable
20239 (TARGET_ASFLAGS): likewise
20240 (TARGET_MODULE_FORMAT): likewise
20241 (TARGET_APPLE_CC): likewise
20242 (OBJCONV): likewise
20243 (TARGET_IMG_CFLAGS): likewise
20244 (TARGET_CPPFLAGS): add includedir
20245 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20246 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20247 Check for linker script only if compiler isn't Apple's CC
20248 (TARGET_MODULE_FORMAT): set
20249 (TARGET_APPLE_CC): likewise
20250 (TARGET_ASFLAGS): likewise
20251 (ASFLAGS): likewise
20252 Check for objcopy only if compiler isn't Apple's CC
20253 Check for BSS symbol only if compiler isn't Apple's CC
20254 * genmk.rb: adapt nm options if we use Apple's utils
20255 * aclocal.m4 (grub_apple_cc): new test
20256 (grub_apple_target_cc): likewise
473d1e45 20257
fb14123e 202582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 Simplify sed expressions and improve awk
20261
20262 * Makefile.in (install-local): simplify sed expression
20263 * gencmdlist.sh: likewise
20264 * genmoddep.awk: avoid adding module as a dependency of itself
20265
5b889789 202662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 Add missing start symbols
20269
20270 * boot/i386/pc/boot.S: add start
fb14123e 20271 * boot/i386/pc/pxeboot.S: likewise
473d1e45 20272
fd2bf2e3 202732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 20276
20277 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 20278 (relocate_addresses): consider both r_addend and value at offset
20279 (make_mods_section): zerofill modinfo and header
20280 (convert_elf): write prefix here
473d1e45 20281
5389763d 202822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 Use .asciz instead of .string
20285
20286 * i386/pc/diskboot.S: use .asciz instead of .string
20287 * i386/pc/boot.S: likewise
20288 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20289 (GRUB_MOD_NAME): likewise
473d1e45 20290
3eb5ed4e 202912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 gfxpayload support
20294
20295 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20296 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20297 (grub_video_setup): remove
20298 (grub_video_set_mode): new prototype
20299 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20300 (vid_mode): remove
20301 (linux_vesafb_res): compile only on PCBIOS
20302 (grub_linux_boot): support gfxpayload
20303 * loader/i386/pc/xnu.c (video_hook): new function
20304 (grub_xnu_set_video): support gfxpayload
20305 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20306 (DEFAULT_VIDEO_HEIGHT): likewise
20307 (DEFAULT_VIDEO_FLAGS): likewise
20308 (DEFAULT_VIDEO_MODE): new definition
20309 (video_hook): new function
20310 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 20311 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 20312 loading xnu
20313 * video/video.c (grub_video_setup): removed
473d1e45 20314 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 20315 grub_video_setup
20316
4b0e1143 203172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Avoid calling biosdisk in drivemap
20320
20321 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20322 (revparse_biosdisk): likewise
20323 (list_mappings): derive name from id directly
20324 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 20325
fda6cb98 203262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 Script fixes
20329
20330 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20331 (grub_lexer_param): add tokenonhold
20332 (grub_script_create_cmdline): remove cmdline. All callers updated
20333 (grub_script_function_create): make functionname
20334 grub_script_arg. All callers updated
20335 (grub_script_execute_argument_to_string): new prototype
20336 * kern/parser.c (state_transitions): reorder
20337 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 20338 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 20339 make global
20340 (grub_script_execute_cmdline): use new format
20341 * script/sh/function.c (grub_script_function_create): make functionname
20342 grub_script_arg. All callers updated
473d1e45 20343 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 20344 (grub_script_yylex): remove
20345 (grub_script_yylex2): renamed to ...
20346 (grub_script_yylex): ...renamed
20347 parse the expressions like a${b}c
20348 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20349 (GRUB_PARSER_TOKEN_VAR): remove
20350 (GRUB_PARSER_TOKEN_NAME): likewise
20351 ("if"): declare as typeless
20352 ("while"): likewise
20353 ("function"): likewise
20354 ("else"): likewise
20355 ("then"): likewise
20356 ("fi"): likewise
20357 (text): remove
20358 (argument): likewise
20359 (script): accept empty scripts and make exit on error
20360 (arguments): use GRUB_PARSER_TOKEN_ARG
20361 (function): likewise
20362 (command): move error handling to script
20363 (menuentry): move grub_script_lexer_ref before
473d1e45 20364 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 20365 argument. All callers updated
20366
f4448a07 203672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20368
20369 Prevent GRUB from probing floppies during boot.
20370
20371 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20372 * commands/search.c (options): Add --no-floppy.
20373 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20374 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20375 --no-floppy when searching for UUIDs.
20376
2bf5885a 203772009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 Simplify the code duplication in commands/search.c.
20380
20381 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20382 (search_fs): ... this. Update all users.
20383
f6fd460a 203842009-06-03 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20387
cbb3c83e 203882009-05-28 Pavel Roskin <proski@gnu.org>
20389
57788cfd 20390 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20391 Remove the original symlink explicitly.
20392
cbb3c83e 20393 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20394 just one slash. That's how grub_fshelp_find_file() does it.
20395
cd0d5e30 203962009-05-26 Pavel Roskin <proski@gnu.org>
20397
f0f8bbe2 20398 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20399 to `str'.
20400
cd0d5e30 20401 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20402 possibly unused.
20403
8c2cab51 204042009-05-25 Christian Franke <franke@computer.org>
20405
20406 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20407 register.
20408 (grub_atapi_identify): Add wait after drive select.
20409 (grub_ata_identify): Do more strict status register check before
20410 calling grub_atapi_identify (). Suppress error message if status
20411 register is 0x00 after command failure. Add status register
20412 check after PIO read to avoid bogus identify due to stuck DRQ.
20413 Thanks to Pavel Roskin for testing.
20414 (grub_device_initialize): Remove unsafe status register check.
20415 Thanks to 'phcoder' for problem report and patch.
20416 Prevent sign extension in debug message.
20417
230c0ad6 204182009-05-23 Colin D Bennett <colin@gibibit.com>
20419
20420 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20421 definition file, and functions defined in `normal/menu.c' have had
20422 their prototypes moved to `include/grub/menu.h' for consistency.
20423
20424 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20425 from normal.h.
20426 (grub_menu_get_entry): Likewise.
20427 (grub_menu_get_timeout): Likewise.
20428 (grub_menu_set_timeout): Likewise.
20429 (grub_menu_execute_entry): Likewise.
20430 (grub_menu_execute_with_fallback): Likewise.
20431 (grub_menu_entry_run): Likewise.
20432
20433 * include/grub/normal.h: Re-ordered and grouped function
20434 prototypes by file that the function is defined in.
20435 (grub_menu_execute_callback): Removed; moved to menu.h.
20436 (grub_menu_get_entry): Likewise.
20437 (grub_menu_get_timeout): Likewise.
20438 (grub_menu_set_timeout): Likewise.
20439 (grub_menu_execute_entry): Likewise.
20440 (grub_menu_execute_with_fallback): Likewise.
20441 (grub_menu_entry_run): Likewise.
20442 (grub_menu_addentry): Renamed from this ...
20443 (grub_normal_add_menu_entry): ... to this.
20444
20445 * normal/main.c (grub_menu_addentry): Renamed from this ...
20446 (grub_normal_add_menu_entry): ... to this.
20447
20448 * script/sh/execute.c (grub_script_execute_menuentry): Update
20449 reference to renamed grub_menu_addentry function.
20450
861f03a5 204512009-05-23 Felix Zielcke <fzielcke@z-51.de>
20452
20453 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20454
96b1619a 204552009-05-22 Pavel Roskin <proski@gnu.org>
20456
bf6a5fb2 20457 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20458 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20459 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20460 compiling for the i386 targets, but not for the utilities.
20461
96b1619a 20462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20463 to grub_uint8_t.
20464 (grub_root_drive): Likewise.
20465 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20466 remove alignment.
20467 (grub_root_drive): Change size to byte.
20468 (grub_start_addr): Remove.
20469 (grub_end_addr): Likewise.
20470 (grub_apm_bios_info): Likewise.
20471
b729776b 204722009-05-21 Felix Zielcke <fzielcke@z-51.de>
20473
20474 * normal/i386: Remove.
20475 * normal/powerpc: Likewise.
20476 * normal/sparc64: Likewise.
20477 * normal/x86_64: Likewise.
20478
0a15ce80 204792009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20480
20481 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 20482 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 20483 * loader/i386/xnu_helper.S: Likewise
d6da58e6 20484
33db9015 204852009-05-18 Colin D Bennett <colin@gibibit.com>
20486
d6da58e6 20487 Display error messages when parsing a Lua statement fails.
20488 Previously, executing a syntactically invalid statement like
20489 ")foo" or "bar;" would silently fail.
33db9015 20490
20491 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 20492 (grub_lua_parse_line): Improved reporting of Lua parser and
20493 execution errors.
33db9015 20494
46422c89 204952009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Remove -Werror which causes build to fail on some systems
20498
20499 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20500 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20501 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 20502
22f53a96 205032009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 trampoline for linux on 64-bit platform
20506
18f547ad 20507 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20508 loader/i386/efi/linux_trampoline.S
20509 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 20510 declaration
d6da58e6 20511 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20512 here
22f53a96 20513 * loader/i386/linux_trampoline.S: moved here
d6da58e6 20514 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20515 trampoline
22f53a96 20516 (jumpvector): removed
20517 (grub_linux_trampoline_start): new declaration
20518 (grub_linux_trampoline_end): likewise
20519 (grub_linux_boot): use trampoline when on 64-bit platform
20520 * loader/i386/linux.c: likewise
20521
cb5a0f40 205222009-05-16 Pavel Roskin <proski@gnu.org>
20523
20524 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20525 const to avoid a warning.
20526 (grub_lua_setenv): Likewise.
20527 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20528 lmsg to fix a warning.
20529
334f2c28 205302009-05-16 Felix Zielcke <fzielcke@z-51.de>
20531
20532 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 20533 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20534 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20535 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20536 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20537 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20538 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20539 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 20540
59e5d3ec 205412009-05-16 Felix Zielcke <fzielcke@z-51.de>
20542
20543 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20544
9d87a1ba 205452009-05-16 Bean <bean123ch@gmail.com>
20546
20547 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20548 (lua_mod_SOURCES): New variable.
20549 (lua_mod_CFLAGS): Likewise.
20550 (lua_mod_LDFLAGS): Likewise.
20551
20552 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20553 (setjmp_mod_SOURCES): New variable.
20554 (setjmp_mod_CFLAGS): Likewise.
20555 (setjmp_LDFLAGS): Likewise.
20556
20557 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20558 (setjmp_mod_SOURCES): New variable.
20559 (setjmp_mod_CFLAGS): Likewise.
20560 (setjmp_LDFLAGS): Likewise.
20561
20562 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20563 (setjmp_mod_SOURCES): New variable.
20564 (setjmp_mod_CFLAGS): Likewise.
20565 (setjmp_LDFLAGS): Likewise.
20566
20567 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20568 (setjmp_mod_SOURCES): New variable.
20569 (setjmp_mod_CFLAGS): Likewise.
20570 (setjmp_LDFLAGS): Likewise.
20571
20572 * normal/i386/setjmp.S: Moved from here ...
20573 * lib/i386/setjmp.S: ... Moved here
20574 * normal/x86_64/setjmp.S: Moved from here ...
20575 * lib/x86_64/setjmp.S: ... Moved here
20576 * normal/powerpc/setjmp.S: Moved from here ...
20577 * lib/powerpc/setjmp.S: ... Moved here
20578 * normal/sparc64/setjmp.S: Moved from here ...
20579 * lib/sparc64/setjmp.S: ... Moved here
20580
20581 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20582 returns_twice in mingw.
20583
20584 * script/lua/grub_lib.c: New file.
20585 * script/lua/grub_lib.h: Likewise.
20586 * script/lua/grub_lua.h: Likewise.
20587 * script/lua/grub_main.c: Likewise.
20588 * script/lua/lapi.c: Likewise.
20589 * script/lua/lapi.h: Likewise.
20590 * script/lua/lauxlib.c: Likewise.
20591 * script/lua/lauxlib.h: Likewise.
20592 * script/lua/lbaselib.c: Likewise.
20593 * script/lua/lcode.c: Likewise.
20594 * script/lua/lcode.h: Likewise.
20595 * script/lua/ldblib.c: Likewise.
20596 * script/lua/ldebug.c: Likewise.
20597 * script/lua/ldebug.h: Likewise.
20598 * script/lua/ldo.c: Likewise.
20599 * script/lua/ldo.h: Likewise.
20600 * script/lua/ldump.c: Likewise.
20601 * script/lua/lfunc.c: Likewise.
20602 * script/lua/lfunc.h: Likewise.
20603 * script/lua/lgc.c: Likewise.
20604 * script/lua/lgc.h: Likewise.
20605 * script/lua/linit.c: Likewise.
20606 * script/lua/liolib.c: Likewise.
20607 * script/lua/llex.c: Likewise.
20608 * script/lua/llex.h: Likewise.
20609 * script/lua/llimits.h: Likewise.
20610 * script/lua/lmathlib.c: Likewise.
20611 * script/lua/lmem.c: Likewise.
20612 * script/lua/lmem.h: Likewise.
20613 * script/lua/loadlib.c: Likewise.
20614 * script/lua/lobject.c: Likewise.
20615 * script/lua/lobject.h: Likewise.
20616 * script/lua/lopcodes.c: Likewise.
20617 * script/lua/lopcodes.h: Likewise.
20618 * script/lua/loslib.c: Likewise.
20619 * script/lua/lparser.c: Likewise.
20620 * script/lua/lparser.h: Likewise.
20621 * script/lua/lstate.c: Likewise.
20622 * script/lua/lstate.h: Likewise.
20623 * script/lua/lstring.c: Likewise.
20624 * script/lua/lstring.h: Likewise.
20625 * script/lua/lstrlib.c: Likewise.
20626 * script/lua/ltable.c: Likewise.
20627 * script/lua/ltable.h: Likewise.
20628 * script/lua/ltablib.c: Likewise.
20629 * script/lua/ltm.c: Likewise.
20630 * script/lua/ltm.h: Likewise.
20631 * script/lua/lua.h: Likewise.
20632 * script/lua/luaconf.h: Likewise.
20633 * script/lua/lualib.h: Likewise.
20634 * script/lua/lundump.c: Likewise.
20635 * script/lua/lundump.h: Likewise.
20636 * script/lua/lvm.c: Likewise.
20637 * script/lua/lvm.h: Likewise.
20638 * script/lua/lzio.c: Likewise.
20639 * script/lua/lzio.h: Likewise.
20640
5e898c9d 206412009-05-16 Bean <bean123ch@gmail.com>
20642
20643 * include/grub/kernel.h (grub_module_header_types): Add type
20644 OBJ_TYPE_CONFIG.
20645
20646 * kern/main.c (grub_load_config): New function.
20647 (grub_main): Call grub_load_config to read boot config.
20648
20649 * grub-mkimage (generate_image): New parameter config_path.
20650 (options): New option --config.
20651 (main): Parse --config option, and pass it to generate_image.
20652
cf353a47 206532009-05-14 Christian Franke <franke@computer.org>
20654
20655 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20656 This fixes build on Cygwin.
20657
3834887f 206582009-05-14 Pavel Roskin <proski@gnu.org>
20659
20660 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20661 jump. This saves two bytes, so the typical case of 2 swapped
20662 drives would fit 32 bytes.
20663
8090fc01 206642009-05-13 Pavel Roskin <proski@gnu.org>
20665
ac963883 20666 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20667 grub_uint32_t to avoid a warning.
20668
8090fc01 20669 * loader/i386/linux.c (allocate_pages): When assigning
20670 real_mode_mem, cast through grub_size_t to fix a warning. The
20671 code already makes sure that the value would fit a pointer.
20672 (grub_linux_setup_video): Cast render_target->data to
20673 grub_size_t to fix a warning.
20674
18f547ad 206752009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 20676
20677 * commands/i386/pc/drivemap.c: New file - implement drivemap
20678 command.
20679 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20680 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20681
6f6a8b28 206822009-05-13 Pavel Roskin <proski@gnu.org>
20683
20684 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20685 embedding_area_exists.
20686
15fbf4c4 206872009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20688
20689 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20690 it easier to understand / work with.
59978c8a 20691 Improve warning messages for cases where there's no embedding area,
20692 or when it is too small (or core.img too large).
15fbf4c4 20693
238e871f 206942009-05-13 Pavel Roskin <proski@gnu.org>
20695
0ab3a9a4 20696 * loader/i386/pc/multiboot2.c: Add necessary includes for
20697 grub_multiboot2_real_boot().
20698
a2c8c5f8 20699 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20700 PX record is always little-endian. We only need the lower 2
20701 bytes of the mode.
20702
faec96af 20703 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20704 facilitate code reuse.
20705 (grub_cpio_mount): Use "struct head", not a char buffer. This
20706 fixes a warning reported by gcc 4.4.
20707
238e871f 20708 * kernel/disk.c (grub_disk_read): Use void pointer for the
20709 buffer.
20710 (grub_disk_write): Use const void pointer for the buffer.
20711 Adjust all callers. Remove unnecessary casts.
20712
901d2f0c 207132009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20714
20715 * util/i386/pc/grub-install.in: Update copyright year.
20716
18f547ad 207172009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 20718
20719 gptsync
20720
20721 * commands/gptsync.c: new file
20722 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20723 (gptsync_mod_SOURCES): new variable
20724 (gptsync_mod_CFLAGS): likewise
20725 (gptsync_mod_LDFLAGS): likewise
18f547ad 20726 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 20727 new definition
20728 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20730 * conf/i386-ieee1275.rmk: likewise
20731 * conf/i386-pc.rmk: likewise
20732 * conf/powerpc-ieee1275.rmk: likewise
20733
b4ba690a 207342009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 Fixed grub-emu
20737
20738 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20739 (grub_dl_ref): likewise
20740
317e1a44 207412009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20742
20743 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20744 split in two functions (one for msdos and one for gpt).
20745
041b8094 207462009-05-08 Pavel Roskin <proski@gnu.org>
20747
752473c2 20748 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20749 not modified.
20750
041b8094 20751 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20752 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20753 Initialize them with -1. Add sanity check for bad1. Eliminate
20754 nerr variable.
20755
172800ce 207562009-05-08 David S. Miller <davem@davemloft.net>
20757
20758 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20759
29aa5e81 207602009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 20763 existence.
29aa5e81 20764
96613b62 207652009-05-05 Felix Zielcke <fzielcke@z-51.de>
20766
20767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 20768 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 20769
eef73c8a 207702009-05-05 David S. Miller <davem@davemloft.net>
20771
20772 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20773
119494b5 207742009-05-05 Pavel Roskin <proski@gnu.org>
20775
20776 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20777 of grub_dl_ref() and grub_dl_unref().
20778 * commands/parttool.c: Remove preprocessor conditionals around
20779 grub_dl_ref() and grub_dl_unref().
20780 * fs/affs.c: Likewise.
20781 * fs/afs.c: Likewise.
20782 * fs/cpio.c: Likewise.
20783 * fs/ext2.c: Likewise.
20784 * fs/fat.c: Likewise.
20785 * fs/hfs.c: Likewise.
20786 * fs/hfsplus.c: Likewise.
20787 * fs/iso9660.c: Likewise.
20788 * fs/jfs.c: Likewise.
20789 * fs/minix.c: Likewise.
20790 * fs/ntfs.c: Likewise.
20791 * fs/reiserfs.c: Likewise.
20792 * fs/sfs.c: Likewise.
20793 * fs/udf.c: Likewise.
20794 * fs/ufs.c: Likewise.
20795 * fs/xfs.c: Likewise.
20796 * include/grub/dl.h: Likewise.
20797 * loader/xnu.c: Likewise.
20798
de5fd76e 207992009-05-04 Pavel Roskin <proski@gnu.org>
20800
20801 * commands/acpi.c: Remove unused variable my_mod.
20802 * partmap/amiga.c: Likewise.
20803 * partmap/apple.c: Likewise.
20804 * partmap/gpt.c: Likewise.
20805 * partmap/pc.c: Likewise.
20806 * partmap/sun.c: Likewise.
20807 * term/gfxterm.c: Likewise.
20808 * term/i386/pc/vesafb.c: Likewise.
20809 * term/i386/pc/vga.c: Likewise.
20810
983598ad 208112009-05-04 David S. Miller <davem@davemloft.net>
20812
20813 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20814 pointer args to grub_ieee1275_get_property().
20815
8aadec43 20816 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20817
9554b15e 20818 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20819 devices, and do not traverse down under controller nodes.
20820
67e23c90 20821 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20822 (grub_ofdisk_open): Use it to un-escape "," characters.
20823 * kern/disk.c (find_part_sep): New.
20824 (grub_disk_open): Use it to find the first non-escaped ','
20825 character in the disk name.
20826 * util/ieee1275/devicemap.c (escape_of_path): New.
20827 (grub_util_emit_devicemap_entry): Use it.
20828 * util/sparc64/ieee1275/grub-install.in: Update script to
20829 strip partition specifiers properly by not triggering on
20830 '\' escaped ',' characters.
20831
74bfdd2f 208322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20833
20834 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20835 to 0x300.
20836 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20837 resolutions.
20838 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20839 on documentation from Wikipedia).
20840
4241d2b1 208412009-05-04 Pavel Roskin <proski@gnu.org>
20842
20843 * disk/ata.c: Spelling fixes.
20844 * disk/raid.c: Likewise.
20845 * disk/usbms.c: Likewise.
20846 * disk/dmraid_nvidia.c: Likewise.
20847 * kern/ieee1275/openfw.c: Likewise.
20848 * kern/ieee1275/init.c: Likewise.
20849 * kern/ieee1275/cmain.c: Likewise.
20850 * boot/i386/pc/cdboot.S: Likewise.
20851 * video/readers/png.c: Likewise.
20852 * video/i386/pc/vbe.c: Likewise.
20853 * fs/udf.c: Likewise.
20854 * fs/hfs.c: Likewise.
20855 * fs/reiserfs.c: Likewise.
20856 * efiemu/runtime/efiemu.c: Likewise.
20857 * efiemu/main.c: Likewise.
20858 * efiemu/mm.c: Likewise.
20859 * include/grub/elf.h: Likewise.
20860 * include/grub/xnu.h: Likewise.
20861 * include/grub/usbdesc.h: Likewise.
20862 * include/grub/usb.h: Likewise.
20863 * include/grub/script_sh.h: Likewise.
20864 * include/grub/lib/LzmaEnc.h: Likewise.
20865 * include/grub/efiemu/efiemu.h: Likewise.
20866 * include/grub/command.h: Likewise.
20867 * normal/menu.c: Likewise.
20868 * normal/main.c: Likewise.
20869 * normal/datetime.c: Likewise.
20870 * bus/usb/uhci.c: Likewise.
20871 * mmap/i386/uppermem.c: Likewise.
20872 * mmap/mmap.c: Likewise.
20873 * commands/acpi.c: Likewise.
20874 * commands/test.c: Likewise.
20875 * partmap/apple.c: Likewise.
20876 * font/font.c: Likewise.
20877 * loader/sparc64/ieee1275/linux.c: Likewise.
20878 * loader/macho.c: Likewise.
20879 * loader/i386/bsd_trampoline.S: Likewise.
20880 * loader/i386/bsd.c: Likewise.
20881 * loader/xnu.c: Likewise.
20882 * term/i386/pc/vesafb.c: Likewise.
20883 * term/usb_keyboard.c: Likewise.
20884 * util/resolve.c: Likewise.
20885 * util/getroot.c: Likewise.
20886
0cfc0083 208872009-05-04 Felix Zielcke <fzielcke@z-51.de>
20888
20889 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20890
7c1d00cd 208912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20894 build error.
20895
b01f0548 208962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20897
20898 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20899 parameter only available on BIOS.
20900
ecc3eb22 209012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 Removed wrong semicolon in declaration
20904
20905 * grub/misc.h (grub_dprintf): remove semicolon
20906
112972a9 209072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20908
20909 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20910 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20911 is done by grub_cmd_linux() now).
20912 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20913 restore video to text mode.
20914 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20915 indicates lack of "vga=" parameter. "vga=0" is mapped to
20916 `GRUB_LINUX_VID_MODE_NORMAL'.
20917
afd5c115 209182009-05-04 Felix Zielcke <fzielcke@z-51.de>
20919
20920 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20921 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20922 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 20923 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 20924 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20925 `grub_script.tab.c'.
20926
20927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20932
faa517ce 20933 * Makefile.in: Remove duplicated 2008 in Copyright line.
20934
ae0c0bdc 209352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20936
473d1e45 20937 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 20938 unconditionally.
20939 * include/grub/util/misc.h (grub_util_warn): New declaration.
20940
20941 * util/i386/pc/grub-install.in: Understand --force and pass it down
20942 to grub-setup.
20943
20944 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20945 down to setup().
20946 (setup): Improve error messages and add warnings when requested to
20947 install in odd layouts. Refuse to install using blocklists unless
20948 --force was set.
20949
18f547ad 209502009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 20951
20952 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20953
6d260daa 209542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 Updated copyright year
20957
20958 * fs/hfsplus.c: updated copyright year
18f547ad 20959
69f853f8 209602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 HFS+ UUID
20963
18f547ad 20964 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 20965 in the space previously used by unused3
20966 (grub_hfsplus_uuid): new function
20967 (grub_hfsplus_fs): added uuid field
20968
4c402e73 209692009-05-03 Pavel Roskin <proski@gnu.org>
20970
20971 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
20972 suppress warnings. It's no longer needed.
20973 * disk/host.c: Likewise.
20974 * disk/ata_pthru.c: Likewise.
20975 * disk/loopback.c: Likewise.
20976 * hook/datehook.c: Likewise.
20977 * parttool/pcpart.c: Likewise.
20978 * fs/i386/pc/pxe.c: Likewise.
20979 * fs/ntfscomp.c: Likewise.
20980 * efiemu/main.c: Likewise.
20981 * mmap/mmap.c: Likewise.
20982 * commands/crc.c: Likewise.
20983 * commands/hexdump.c: Likewise.
20984 * commands/hdparm.c: Likewise.
20985 * commands/acpi.c: Likewise.
20986 * commands/echo.c: Likewise.
20987 * commands/minicmd.c: Likewise.
20988 * commands/blocklist.c: Likewise.
20989 * commands/memrw.c: Likewise.
20990 * commands/loadenv.c: Likewise.
20991 * commands/usbtest.c: Likewise.
20992 * commands/lsmmap.c: Likewise.
20993 * commands/boot.c: Likewise.
20994 * commands/parttool.c: Likewise.
20995 * commands/configfile.c: Likewise.
20996 * commands/search.c: Likewise.
20997 * commands/ieee1275/suspend.c: Likewise.
20998 * commands/cat.c: Likewise.
20999 * commands/i386/pc/pxecmd.c: Likewise.
21000 * commands/i386/pc/play.c: Likewise.
21001 * commands/i386/pc/halt.c: Likewise.
21002 * commands/i386/pc/vbeinfo.c: Likewise.
21003 * commands/i386/pc/vbetest.c: Likewise.
21004 * commands/lspci.c: Likewise.
21005 * commands/date.c: Likewise.
21006 * commands/handler.c: Likewise.
21007 * commands/ls.c: Likewise.
21008 * commands/test.c: Likewise.
21009 * commands/cmp.c: Likewise.
21010 * commands/efi/loadbios.c: Likewise.
21011 * commands/efi/fixvideo.c: Likewise.
21012 * commands/halt.c: Likewise.
21013 * commands/help.c: Likewise.
21014 * commands/reboot.c: Likewise.
21015 * hello/hello.c: Likewise.
21016 * script/sh/main.c: Likewise.
21017 * loader/xnu.c: Likewise.
21018 * term/terminfo.c: Likewise.
21019 * term/i386/pc/serial.c: Likewise.
21020 * term/usb_keyboard.c: Likewise.
21021
515b5079 210222009-05-03 David S. Miller <davem@davemloft.net>
21023
21024 * normal/menu.c: Include grub/parser.h
21025
dfc31a22 210262009-05-03 Pavel Roskin <proski@gnu.org>
21027
2fee74f1 21028 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21029 not char*.
21030 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21031 Suggested by Javier Martín <lordhabbit@gmail.com>
21032
dfc31a22 21033 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21034 efiemu??.o doesn't exist.
21035 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21036 copying.
21037
18f547ad 210382009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 21039
21040 FreeBSD 64-bit support
21041
18f547ad 21042 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 21043 and loader/i386/bsd_trampoline.S
21044 (bsd_mod_ASFLAGS): new variable
21045 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21046 (FREEBSD_MODTYPE_KERNEL64): likewise
21047 (grub_bsd64_trampoline_start): likewise
21048 (grub_bsd64_trampoline_end): likewise
21049 (grub_bsd64_trampoline_selfjump): likewise
21050 (grub_bsd64_trampoline_gdt): likewise
21051 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21052 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21053 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21054 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 21055 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 21056 of "attrib" member
21057 * loader/i386/bsd_pagetable.c: new file
21058 * loader/i386/bsd_trampoline.S: likewise
21059 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21060 (ALIGN_VAR): likewise
21061 (entry_hi): new variable
21062 (kern_end_mdofs): likewise
21063 (is_64bit): likewise
21064 (grub_freebsd_add_meta): use ALIGN_VAR
21065 (grub_e820_mmap): new declaration
21066 (grub_freebsd_add_mmap): new function
21067 (grub_freebsd_add_meta_module): support 64 bit kernels
21068 (grub_freebsd_list_modules): use ALIGN_VAR
21069 (gdt_descriptor): new declaration
21070 (grub_freebsd_boot): support 64 bit kernels
21071 (grub_bsd_elf64_hook): new function
21072 (grub_bsd_load_elf): support elf64
21073
038c5720 210742009-05-03 Bean <bean123ch@gmail.com>
21075
21076 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21077 after we get the result of if statement.
21078
fc45fb58 210792009-05-03 Bean <bean123ch@gmail.com>
21080
21081 * Makefile.in (enable_efiemu): New variable.
21082
21083 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21084 set.
21085 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21086 path.
21087 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21088 path, add -mno-red-zone option.
21089 (efiemu64_s.o): Likewise.
21090 (efiemu64.o): Use macro $^ for source file.
21091
21092 * configure.ac (--enable-efiemu): New option.
21093
bbee0f2b 210942009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 xnu support
21097
21098 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21099 (pkglib_MODULES): add xnu.mod
21100 (xnu_mod_SOURCES): new variable
21101 (xnu_mod_CFLAGS): likewise
21102 (xnu_mod_LDFLAGS): likewise
21103 (xnu_mod_ASFLAGS): likewise
21104 * conf/i386-pc.rmk: likewise
21105 * conf/x86_64-efi.rmk: likewise
7dd4a573 21106 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 21107 new declaration
21108 * include/grub/i386/macho.h: new file
21109 * include/grub/i386/xnu.h: likewise
21110 * include/grub/macho.h: likewise
21111 * include/grub/machoload.h: likewise
21112 * include/grub/x86_64/macho.h: likewise
21113 * include/grub/x86_64/xnu.h: likewise
21114 * include/grub/xnu.h: likewise
21115 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21116 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21117 * loader/i386/efi/xnu.c: new file
21118 * loader/i386/pc/xnu.c: likewise
21119 * loader/i386/xnu.c: likewise
21120 * loader/i386/xnu_helper.S: likewise
21121 * loader/macho.c: likewise
21122 * loader/xnu.c: likewise
21123 * loader/xnu_resume.c: likewise
21124 * util/grub-dumpdevtree: likewise
21125 * include/grub/i386/pit.h: include grub/err.h
21126 (grub_pit_wait): export
21127 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 21128
5caf964d 211292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 Efiemu
7dd4a573 21132
5caf964d 21133 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 21134 _linux_efi, linux_efi.
21135 new files in grub-emu
5caf964d 21136 new targets efiemu32.o and efiemu64.o
21137 * loader/linux_normal_efiemu.c: likewise
21138 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 21139 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 21140 files to copy
21141 * include/grub/autoefi.h: new file
7dd4a573 21142 * include/grub/i386/efiemu.h: likewise
5caf964d 21143 * include/grub/i386/pc/efiemu.h: likewise
21144 * include/grub/efi/api.h: add LL suffix when necessary
21145 new definitions relating to tables
21146 * include/grub/efiemu/efiemu.h: new file
21147 * include/grub/efiemu/runtime.h: likewise
21148 * efiemu/prepare.c: likewise
21149 * efiemu/loadcore_common.c: likewise
21150 * efiemu/loadcore64.c: likewise
21151 * efiemu/runtime/efiemu.sh: likewise
21152 * efiemu/runtime/efiemu.S: likewise
21153 * efiemu/runtime/efiemu.c: likewise
21154 * efiemu/runtime/config.h: likewise
21155 * efiemu/prepare32.c: likewise
21156 * efiemu/main.c: likewise
21157 * efiemu/modules/pnvram.c: likewise
21158 * efiemu/modules/i386: likewise
21159 * efiemu/modules/i386/pc: likewise
21160 * efiemu/modules/acpi.c: likewise
21161 * efiemu/i386/pc/cfgtables.c: likewise
21162 * efiemu/i386/loadcore64.c: likewise
21163 * efiemu/i386/loadcore32.c: likewise
21164 * efiemu/prepare64.c: likewise
21165 * efiemu/loadcore.c: likewise
21166 * efiemu/symbols.c: likewise
21167 * efiemu/mm.c: likewise
21168 * efiemu/loadcore32.c: likewise
7dd4a573 21169
211702009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 21171
21172 ACPI spoofing
21173
21174 * commands/acpi.c: new file
21175 * commands/i386/pc/acpi.c: likewise
21176 * commands/efi/acpi.c: likewise
21177 * include/grub/acpi.h: likewise
21178 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21179 (acpi_mod_SOURCES): new variable
21180 (acpi_mod_CFLAGS): likewise
21181 (acpi_mod_LDFLAGS): likewise
21182 * conf/i386-efi.rmk: likewise
21183 * conf/x86_64-efi.rmk: likewise
21184
7dd4a573 211852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 21186
21187 Missing part from mmap patch
21188
21189 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21190 (grub_mmap_unregister)
21191 (grub_mmap_free_and_unregister): use grub_mmap_register
21192
7dd4a573 211932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 21194
21195 Mmap services
21196
21197 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21198 * loader/i386/linux.c (find_mmap_size): likewise
21199 (allocate_pages): likewise
21200 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21201 (grub_fill_multiboot_mmap): likewise
21202 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21203 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21204 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21205 (OPENBSD_MMAP_RESERVED): likewise
21206 * include/grub/i386/pc/memory.h: include grub/memory.h
21207 (grub_lower_mem): removed
21208 (grub_upper_mem): likewise
21209 (GRUB_MACHINE_MEMORY_ACPI): new definition
21210 (GRUB_MACHINE_MEMORY_NVS): likewise
21211 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21212 (GRUB_MACHINE_MEMORY_HOLE): likewise
21213 (grub_machine_mmap_register): likewise
21214 (grub_machine_mmap_unregister): likewise
21215 (grub_machine_get_upper): likewise
21216 (grub_machine_get_lower): likewise
21217 (grub_machine_get_post64): likewise
21218 * include/grub/i386/efi/memory.h: new file
21219 * include/grub/x86_64/efi/memory.h: likewise
21220 * include/grub/efi/memory.h: likewise
21221 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21222 (mmap_mod_SOURCES): new variable
21223 (mmap_mod_LDFLAGS): likewise
21224 (mmap_mod_ASFLAGS): likewise
21225 * conf/i386-coreboot.rmk: likewise
21226 * conf/i386-ieee1275.rmk: likewise
21227 * conf/i386-efi.rmk: likewise
21228 * conf/x86_64-efi.rmk: likewise
21229 * include/grub/types.h (UINT_TO_PTR): new macro
21230 (PTR_TO_UINT32): likewise
21231 (PTR_TO_UINT64): likewise
21232 * include/grub/memory.h: new file
21233 * mmap/i386/pc/mmap.c: likewise
21234 * mmap/i386/pc/mmap_helper.S: likewise
21235 * mmap/i386/uppermem.c: likewise
21236 * mmap/mmap.c: likewise
21237 * mmap/efi/mmap.c: likewise
7dd4a573 21238 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 21239 grub_upper_mem
21240 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21241 (grub_upper_mem): likewise
21242 (grub_machine_init): don't use grub_upper_mem,
21243 make grub_lower_mem local
21244 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21245 grub_mmap_iterate and grub_mmap_get_upper
21246 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21247
d558e6b5 212482009-05-02 Bean <bean123ch@gmail.com>
21249
21250 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21251 script/sh/parser.y.
21252 (pkglib_MODULES): Add normal.mod and sh.mod.
21253 (normal_SOURCES): New variable.
21254 (normal_mod_CFLAGS): Likewise.
21255 (normal_mod_LDFLAGS): Likewise.
21256 (sh_mod_SOURCES): Likewise.
21257 (sh_mod_CFLAGS): Likewise.
21258 (sh_mod_LDFLAGS): Likewise.
21259
21260 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21261 script/sh/lexer.c_DEPENDENCIES.
21262 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21263 kern/rescue_reader.c and kern/rescue_parser.c.
21264 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21265 (grub_emu_SOURCES): Change source files.
21266 (pkglib_MODULES): Remove normal.mod.
21267 (normal_SOURCES): Removed.
21268 (normal_mod_CFLAGS): Likewise.
21269 (normal_mod_LDFLAGS): Likewise.
21270 * conf/i386-coreboot.rmk: Likewise.
21271 * conf/i386-efi.rmk: Likewise.
21272 * conf/i386-ieee1276.rmk: Likewise.
21273 * conf/powerpc-ieee1275.rmk: Likewise.
21274 * conf/sparc64-ieee1275.rmk: Likewise.
21275 * conf/x86_64-efi.rmk: Likewise.
21276
21277 * include/grub/command.h (grub_command_execute): New inline function.
21278
21279 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21280
21281 * include/grub/normal.h: Remove <grub/setjmp.h>.
21282 (grub_fs_module_list): Moved to normal/autofs.c.
21283 (grub_exit_env): Removed.
21284 (grub_command_execute): Likewise.
21285 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21286 parameter script.
21287 (read_command_list): New function declaration.
21288 (read_fs_list): Likewise.
21289
21290 * include/parser.h: Include <grub/reader.h>.
21291 (grub_parser_split_cmdline): Change type of getline parameter.
21292 (grub_parser): New structure.
21293 (grub_parser_class): New variable.
21294 (grub_parser_execute): New function declaration.
21295 (grub_register_rescue_parser): Likewise.
21296 (grub_parser_register): New inline function.
21297 (grub_parser_unregister): Likewise.
21298 (grub_parser_get_current): Likewise.
21299 (grub_parser_set_current): Likewise.
21300
21301 * include/grub/reader.h: New file.
21302 * kern/reader.c: Likewise.
21303 * kern/rescue_parser.c: Likewise.
21304 * kern/rescue_reader.c: Likewise.
21305 * normal/autofs.c: Likewise.
21306 * normal/dyncmd.c: Likewise.
21307
21308 * include/grub/rescue.h: Removed.
21309 * normal/command.h: Likewise.
21310
21311 * include/grub/script.h: Moved to ...
21312 * include/grub/script_sh.h: ... Moved here.
21313 * normal/execute.c: Moved to ...
21314 * script/sh/execute.c: ... Moved here.
21315 * normal/function.c: Moved to ...
21316 * script/sh/function.c: ... Moved here.
21317 * normal/lexer.c: Moved to ...
21318 * script/sh/lexer.c: ... Moved here.
21319 * normal/parser.y: Moved to ...
21320 * script/sh/parser.y: ... Moved here.
21321 * normal/script.c: Moved to ...
21322 * script/sh/script.c: ... Moved here.
21323
21324 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21325 <grub/reader.h>.
21326 (grub_exit_env): Removed.
21327 (fs_module_list): Moved to normal/autofs.c.
21328 (grub_file_getline): Don't handle comment here.
21329 (free_menu): Skip removed field entry->commands.
21330 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21331 script parameter.
21332 (read_config_file): Removed nested parameter, change getline function.
21333 (grub_enter_normal_mode): Removed.
21334 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21335 (read_command_list): Likewise.
21336 (autoload_fs_module): Moved to normal/autofs.c.
21337 (read_fs_list): Likewise.
21338 (reader_nested): New variable.
21339 (grub_normal_execute): Run parser.sh to switch to sh parser.
21340 (grub_cmd_rescue): Removed.
21341 (cmd_normal): Removed.
21342 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21343 rescue command.
21344 (grub_cmdline_run): New function.
21345 (grub_normal_reader_init): Likewise.
21346 (grub_normal_read_line): Likewise.
21347 (grub_env_write_pager): Likewise.
21348 (cmdline): New variable.
21349 (grub_normal_reader): Likewise.
21350 (GRUB_MOD_INIT): Register normal reader and set as current, register
21351 pager hook, register normal command with grub_register_command_prio,
21352 so that it won't show up in command.lst.
21353 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21354 grub_fs_autoload_hook.
21355
21356 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21357 (grub_menu_execute_entry): Replace grub_script_execute with
21358 grub_parser_execute, change parameter to grub_command_execute.
21359
21360 * normal/menu_text.c: Remove <grub/script.h>.
21361
21362 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21363 and <grub/parser.h>.
21364 (run): Change editor_getline to use new parser interface. Change
21365 parameter to grub_command_execute.
21366
21367 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21368 <grub/reader.h> and <grub/parser.h>.
21369 (grub_load_normal_mode): Execute normal command.
21370 (grub_main): Call grub_register_core_commands,
21371 grub_register_rescue_parser and grub_register_rescue_reader, use
21372 grub_reader_loop to enter input loop.
21373
7dd4a573 21374 * kern/parser.c (grub_parser_split_cmdline): Change type of
21375 getline parameter.
d558e6b5 21376 (grub_parser_class): New variable.
21377 (grub_parser_execute): New function.
21378
21379 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21380 * loader/multiboot2.c: Likewise.
21381 * loader/sparc64/ieee1275/linux.c: Likewise.
21382
21383 * util/grub-emu.c (read_command_list): New dummy function.
21384
18db813d 213852009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21386
21387 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21388 count to 16 for CCISS and IDA.
21389
6c67de15 213902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21391
21392 * normal/menu_text.c (grub_wait_after_message): Print a newline
21393 after waiting for user input.
21394
21395 * loader/i386/linux.c: Include `<grub/normal.h>'.
21396 (grub_cmd_linux): Improve the error message about `ask' mode, by
21397 waiting for user input so it's not missed (we can do this, since
21398 user requested interaction).
21399
d9dc87b0 214002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 Added missing lst to grub-mkrescue
21403
21404 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21405 and ${input_dir}/parttool.lst
21406
ac8a2baa 214072009-04-30 David S. Miller <davem@davemloft.net>
21408
ad22a610 21409 * util/hostdisk.c (device_is_wholedisk): New function.
21410 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21411 zero only if device_is_wholedisk() returns true.
21412
6966215d 21413 * util/hostdisk.c (convert_system_partition_to_system_disk):
21414 Handle virtual disk devices named /dev/vdiskX as found on sparc
21415 and powerpc.
21416
ac8a2baa 21417 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21418 lettered partition specifier is found, convert to numbered.
21419
979b4fb4 214202009-04-29 David S. Miller <davem@davemloft.net>
21421
e2bf39b2 21422 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21423 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21424
3c64e104 21425 * normal/command.c: Add missing newline at end of file.
21426
979b4fb4 21427 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21428 warnings.
21429 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21430 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21431 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21432 ihandles have a 32-bit type but need to be stored in a "void *".
21433
136d9f82 214342009-04-28 Pavel Roskin <proski@gnu.org>
21435
9459c306 21436 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21437 not disk. Adjust all dependencies.
2e08a26a 21438 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 21439 grub_disk_close().
21440
136d9f82 21441 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21442 parent's partition, don't copy it by reference, as it gets freed
21443 on close.
21444
7dd4a573 214452009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 21446
21447 Preboot hooks support
21448
21449 * commands/boot.c (struct grub_preboot_t): new declaration
21450 (preboots_head): new variable
21451 (preboots_tail): likewise
21452 (grub_loader_register_preboot_hook): new function
21453 (grub_loader_unregister_preboot_hook): likewise
21454 (grub_loader_set): launch preboot hooks
21455 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21456 (grub_loader_register_preboot_hook): new declaration
21457 (grub_loader_unregister_preboot_hook): likewise
21458
5af922b5 214592009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 Warning fix
21462
7dd4a573 21463 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 21464 calling grub_dprintf
21465
a5562c30 214662009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 Bug and warning fixes
21469
7dd4a573 21470 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 21471 declaration
21472 * commands/test.c (test_parse): fixed bug with file tests and corrected
21473 declaration of find_file
21474
4006f85c 214752009-04-26 Pavel Roskin <proski@gnu.org>
21476
21477 * Makefile.in: Don't install empty manual pages if help2man is
21478 missing. Use help2man option for output, not shell redirection.
21479
5c77c3de 214802009-04-26 David S. Miller <davem@davemloft.net>
21481
21482 * util/grub-mkdevicemap.c (make_device_map): Add missing
21483 NESTED_FUNC_ATTR to process_device().
21484
033b10a8 214852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 Test command
21488
21489 * commands/test.c: rewritten to use bash-like test
21490
e4343593 214912009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 Parttool autoloading and improvements
21494
7dd4a573 21495 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 21496 (parttool.lst): new target
21497 * genmk.rb: generate parttool-*
21498 (CLEANFILES): add #{parttool}
21499 (PARTTOOLFILES): new variable
21500 * genparttoollist.sh: new file
7dd4a573 21501 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 21502 (grub_pcpart_type): likewise
21503 * commands/parttool.c (helpmsg): new variable
21504 (grub_cmd_parttool): output help if not enough arguments are supplied
21505 autoload modules
21506 (GRUB_MOD_INIT(parttool)): use helpmsg
21507
0d312500 215082009-04-24 David S. Miller <davem@davemloft.net>
21509
7dd4a573 21510 Avoiding opening same device multiple times in device iterator.
0d312500 21511
21512 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 21513 and use it to build a list of partitions in iterate_disk() and
0d312500 21514 iterate_partition().
21515
ac20caff 21516 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21517 on disk->data.
21518
0dcf7495 21519 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21520 grub_devalias_iterate() result instead of unconditional 0.
21521 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21522 Also, capture hook return value, either directly or via
21523 grub_children_iterate(), and propagate to caller.
21524 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21525 grub_children_iterate): Return value is now 'int' instead of
21526 'grub_err_t'.
21527 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21528 like a proper iterator, stopping when hooks return non-zero.
21529 (grub_devalias_iterate): Likewise.
21530
c8c08833 215312009-04-23 David S. Miller <davem@davemloft.net>
21532
21533 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21534
f01005a8 215352009-04-22 David S. Miller <davem@davemloft.net>
21536
21537 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21538 is larger than address_cells, use that value for address_cells too.
21539
4e8269da 21540 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21541 IEEE1275_MAX_PATH_LEN): Define.
21542 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21543 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21544 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21545 'devtype'. Explicitly NULL terminate devalias expansion.
21546
a1447506 21547 * util/sparc64/ieee1275/misc.c: New file.
21548 * util/sparc64/ieee1275/grub-setup.c: New file.
21549 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21550 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21551 * util/sparc64/ieee1275/grub-install.in: New file.
21552 * util/ieee1275/ofpath.c: New file.
21553 * util/ieee1275/devicemap.c: New file.
21554 * util/devicemap.c: New file.
21555 * util/deviceiter.c: New file.
21556 * kern/sparc64/ieee1275/init.c: New file.
21557 * include/grub/util/ofpath.h: New file.
21558 * include/grub/util/deviceiter.h: New file.
21559 * util/grub-mkdevicemap.c: Include deviceiter.h.
21560 Implement using grub_util_emit_devicemap_entry and
21561 grub_util_iterate_devices.
21562 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21563 util/devicemap.c into grub-mkdevicemap
21564 * conf/i386-efi.rmk: Likewise.
21565 * conf/i386-ieee1275.rmk: Likewise.
21566 * conf/i386-pc.rmk: Likewise.
21567 * conf/powerpc-ieee1275.rmk: Likewise.
21568 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21569 images and installation utilities. Build kernel as image
21570 instead of as elf binary. Use common rules as much as possible.
21571
7dd4a573 215722009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 21573
21574 Correct GPT definition
21575
7dd4a573 21576 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 21577 of "attrib" member
21578
c6c5219f 215792009-04-19 Felix Zielcke <fzielcke@z-51.de>
21580
21581 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21582
0552ff9f 215832009-04-19 David S. Miller <davem@davemloft.net>
21584
21585 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21586 (grub_rescue_cmd_linux): Rename to...
21587 (grub_cmd_linux): and fix prototype.
21588 (grub_rescue_cmd_initrd): Rename to...
21589 (grub_cmd_initrd): and fix prototype.
21590 (cmd_linux, cmd_initrd): New.
21591 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21592 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21593
d1a282fc 215942009-04-17 Pavel Roskin <proski@gnu.org>
21595
07c5039f 21596 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21597 format.
21598 (grub_ohci_transfer): Likewise.
21599
b012002d 21600 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21601
1bc09c35 21602 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21603 return without a value. Fix inconsistent indentation.
21604
e0ff9126 21605 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21606 match struct grub_fs.
21607
d1a282fc 21608 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21609 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21610 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21611 * commands/lspci.c (grub_lspci_iter): Likewise.
21612
a96df3f2 216132009-04-16 Bean <bean123ch@gmail.com>
21614
21615 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21616 value.
21617
41bb0fe9 216182009-04-15 Pavel Roskin <proski@gnu.org>
21619
21620 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21621 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21622 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21623 definitions.
21624
596c6970 216252009-04-15 Felix Zielcke <fzielcke@z-51.de>
21626
21627 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 21628 that no multiple data or metadata areas are supported and `Unknown
596c6970 21629 metadata header'.
21630
7dd4a573 216312009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 21632
21633 Move loader out of the kernel
21634
21635 * kern/loader.c: moved to ...
21636 * commands/boot.c: ... moved here
21637 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21638 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21639 * include/grub/kernel.h (grub_machine_fini): export
21640 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21641 (grub_loader_set): likewise
21642 (grub_loader_unset): likewise
21643 (grub_loader_boot): likewise
21644 * conf/common.rmk: new module boot.mod
21645 (pkglib_MODULES): add boot.mod
21646 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21647 (grub_emu_SOURCES): likewise
21648 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21649 (grub_emu_SOURCES): likewise
21650 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21651 (grub_emu_SOURCES): likewise
21652 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21653 (grub_emu_SOURCES): likewise
21654 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21655 (grub_emu_SOURCES): likewise
7dd4a573 21656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21657 (grub_emu_SOURCES): likewise
0d5d5653 21658 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 21659 (grub_emu_SOURCES): likewise
0d5d5653 21660
7dd4a573 216612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 21662
21663 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 21664
5999d619 21665 * kern/misc.c (grub_itoa): Removed function
21666 (grub_ltoa): likewise
21667 (grub_vsprintf): use grub_lltoa
21668
7dd4a573 216692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 21670
21671 Restore grub-emu
21672
21673 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21674 * conf/i386-coreboot.rmk: likewise
21675 * conf/i386-ieee1275.rmk: likewise
21676 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 21677
20318222 216782009-04-15 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * INSTALL: Add that `./autogen.sh' needs to be run before
21681 `./configure.'.
21682
d05f0df3 216832009-04-14 Bean <bean123ch@gmail.com>
21684
21685 * Makefile.in (pkglib_DATA): Add handler.lst.
21686 (handler.lst): New rule.
21687
21688 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21689 * conf/i386-coreboot.rmk: Likewise.
21690 * conf/i386-ieee1275.rmk: Likewise.
21691 * conf/i386-efi.rmk: Likewise.
21692 * conf/x86_64-efi.rmk: Likewise.
21693 * conf/powerpc-ieee1275.rmk: Likewise.
21694 * conf/sparc64-ieee1275.rmk: Likewise.
21695
21696 * genhandlerlist.sh: New file.
21697
21698 * genmk.rb: Add rules to generate handler.lst.
21699
21700 * include/grub/normal.h (grub_file_getline): New function definition.
21701 (read_handler_list): Likewise.
21702 (free_handler_list): Likewise.
21703
21704 * include/grub/term.h (grub_term_register_input): Add name parameter
21705 for auto generation of handler.lst.
21706 (grub_term_register_output): Likewise.
21707
21708 * normal/handler.c: New file.
21709
21710 * normal/main.c (get_line): Renamed to grub_file_getline.
21711 (read_config_file): Use the newly renamed grub_file_getline.
21712 (read_command_list): Likewise.
21713 (read_fs_list): Likewise.
21714 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21715 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21716
21717 * term/efi/console.c (grub_console_init): Add name parameter for auto
21718 generation of handler.lst.
21719 * term/gfxterm.c: Likewise.
21720 * term/i386/pc/at_keyboard.c: Likewise.
21721 * term/i386/pc/console.c: Likewise.
21722 * term/i386/pc/serial.c: Likewise.
21723 * term/i386/pc/vesafb.c: Likewise.
21724 * term/i386/pc/vga.c: Likewise.
21725 * term/i386/pc/vga_text.c: Likewise.
21726 * term/ieee1275/ofconsole.c: Likewise.
21727 * term/usb_keyboard.c: Likewise.
21728
33c846be 217292009-04-14 Bean <bean123ch@gmail.com>
21730
21731 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21732 properly with null character.
21733
4484e01e 217342009-04-14 Felix Zielcke <fzielcke@z-51.de>
21735
21736 * configure: Remove.
21737 * config.h.in: Likewise.
f93d668e 21738 * stamp-h.in: Likewise.
4484e01e 21739 * DISTLIST: Likewise.
21740 * conf/common.mk: Likewise.
21741 * conf/i386-coreboot.mk: Likewise.
21742 * conf/i386-efi.mk: Likewise.
21743 * conf/i386-ieee1275.mk: Likewise.
21744 * conf/i386.mk: Likewise.
21745 * conf/i386-pc.mk: Likewise.
21746 * conf/powerpc-ieee1275.mk: Likewise.
21747 * conf/sparc64-ieee1275.mk: Likewise.
21748 * conf/x86_64-efi.mk: Likewise.
21749
21750 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21751 develop on GRUB.
21752
7dd4a573 217532009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 21754 David S. Miller <davem@davemloft.net>
21755
21756 * util/hostdisk.c (make_device_name): Fix buffer length
21757 calculations.
21758
e25b5a8c 217592009-04-14 Felix Zielcke <fzielcke@z-51.de>
21760
21761 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21762 <sys/param.h> and <sys/sysctl.h>.
21763 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21764 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21765 opening the device and reset them afterwards.
21766
1f1f580c 217672009-04-13 Pavel Roskin <proski@gnu.org>
21768
21769 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21770 Reported by John Stanley <jpsinthemix@verizon.net>
21771
7ebc2d6b 217722009-04-13 Robert Millan <rmh@aybabtu.com>
21773
21774 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 21775 that name for menuentries when appropriate.
7ebc2d6b 21776
d8ba3667 217772009-04-13 Felix Zielcke <fzielcke@z-51.de>
21778
21779 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21780
cba416eb 217812009-04-13 Robert Millan <rmh@aybabtu.com>
21782
21783 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21784 to Linux, simply abort telling the user it's no longer supported.
21785
a547a745 217862009-04-13 Felix Zielcke <fzielcke@z-51.de>
21787
21788 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 21789 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 21790 `freebsd_loadenv' only when devices.hints exist.
21791
232a769c 217922009-04-13 Pavel Roskin <proski@gnu.org>
21793
21794 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21795
c3012039 217962009-04-13 Felix Zielcke <fzielcke@z-51.de>
21797
21798 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21799 partition number.
21800 (grub_drive): Likewise.
21801
234022fe 218022009-04-13 David S. Miller <davem@davemloft.net>
21803
21804 * kern/sparc64/ieee1275/ieee1275.c: New file.
21805 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21806 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21807 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21808 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21809 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21810 grub_ieee1275_alloc_physmem): Declare new exported functions.
21811
d8e1836c 21812 * include/grub/sparc64/ieee1275/loader.h: New file.
21813 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21814 * include/grub/sparc64/kernel.h: Likewise.
21815 * loader/sparc64/ieee1275/linux.c: Likewise.
21816
96bd81ec 21817 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21818 (grub_fstest_SOURCES): Likewise.
21819
6a4737e5 21820 * util/hostdisk.c (make_device_name): Do not make any assumptions
21821 about the length of drive names.
21822
1d7a72fd 21823 * kern/dl.c (grub_dl_load_file): Close file immediately when
21824 we are done using it.
21825
56bc2471 218262009-04-12 David S. Miller <davem@davemloft.net>
21827
21828 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21829 values. Noticed by Pavel Roskin.
21830
df38d0bb 21831 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21832 target compiler.
7dd4a573 21833
e382e93a 21834 * genmk.rb: Add more flexible image type specification, also
21835 pass --strip-unneeded to objcopy.
21836 * conf/i386-pc.rmk: Use *_FORMAT.
21837 * conf/i386-pc.mk: Rebuilt.
21838
f5dbbca9 21839 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21840 (OFDISK_HASH_SZ): Define.
21841 (ofdisk_hash): New hash table.
21842 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21843 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21844 instead of device phandle which is not unique.
21845
91c88b12 21846 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21847 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21848 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21849 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21850 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21851 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21852 GRUB_KERNEL_MACHINE_DATA_END): Define.
21853 (grub_kernel_image_size, grub_total_module_size): Declare.
21854
5b5d4aa5 218552009-04-12 Pavel Roskin <proski@gnu.org>
21856
7dd4a573 21857 * configure.ac: Change the logic when we check for target tools.
21858 Do it when the target is specified and it's different from the
21859 specified value of the host.
5b5d4aa5 21860
c91e1793 218612009-04-11 Felix Zielcke <fzielcke@z-51.de>
21862
21863 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21864 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21865 GNU/kFreeBSD. Check if a device is a character device. Use
21866 DIOCGMEDIASIZE to get the size.
21867 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21868 support for GNU/kFreeBSD.
21869 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21870 is a character device instead of a block device. Add support for
21871 FreeBSD device names.
21872
21873 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21874 is a character device instead of a block device.
21875
21876 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21877 is a character device instead of a block device.
21878
b1ac8644 218792009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21880
21881 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21882 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21883 FreeBSD. Check if a device is a character device. Use
21884 DIOCGMEDIASIZE to get the size.
21885 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21886 support for FreeBSD.
21887 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21888 is a character device instead of a block device. Add support for
21889 FreeBSD device names.
21890
21891 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21892 a character device instead of a block device.
21893 (grub_util_check_char_device): New function.
21894
21895 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21896 a character device instead of a block device.
21897
21898 * include/grub/util/getroot.h (grub_util_check_char_device): New
21899 prototype.
21900
a3f7515a 219012009-04-11 David S. Miller <davem@davemloft.net>
21902
21903 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21904 static libgcc.
21905 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21906 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21907 function, if present.
21908 (__bswapdi2): Likewise.
21909
0d44993d 21910 * include/grub/sparc64/ieee1275/boot.h: New file.
21911 * boot/sparc64/ieee1275/boot.S: Likewise.
21912 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21913
ed3d2bc2 21914 * kern/misc.c (grub_ltoa): New function.
21915 (grub_vsprintf): Use it to format 'long' integers.
21916
d3bfb59c 219172009-04-10 David S. Miller <davem@davemloft.net>
21918
21919 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21920 slots are of type grub_ieee1275_cell_t.
21921 (grub_nand_read): Likewise.
21922 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21923 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21924 macros are used to compare values in arg/ret block of the call.
21925 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21926 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21927 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21928 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21929 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21930 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21931 grub_ieee1275_close, grub_ieee1275_set_property,
21932 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21933 grub_ieee1275_cell_t.
21934 * kern/ieee1275/openfw.c (grub_map): Likewise.
21935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21936 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21937
450e2238 21938 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21939 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21940 (grub_devalias_iterate): Likewise.
21941
7dd4a573 219422009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 21943
21944 UFS improvements
21945
21946 * fs/ufs.c (INODE_NBLOCKS): new definition
21947 (struct grub_ufs_dirent): added fields for non-BSD dirents
21948 (grub_ufs_get_file_block): fixed double indirect handling
21949 (grub_ufs_lookup_symlink): use more robust way to determine whether
21950 symlink is inline
21951 (grub_ufs_find_file): support for non-BSD dirents
21952 (grub_ufs_dir): support for non-BSD dirents
21953
e7e6862a 219542009-04-10 Bean <bean123ch@gnail.com>
21955
21956 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21957 attribute, otherwise the size would be wrong for i386 platform.
21958
21959 * include/grub/pci.h (grub_pci_read_word): New inline function.
21960 (grub_pci_read_byte): Likewise.
21961 (grub_pci_write): Likewise.
21962 (grub_pci_write_word): Likewise.
21963 (grub_pci_write_byte): Likewise.
21964
21965 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
21966
21967 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
21968 (find_framebuf): Scan pci to locate the frame buffer address.
21969
21970 * commands/efi/fixvideo.c: New file.
21971
21972 * commands/efi/loadbios.c: Likewise.
21973
21974 * commands/memrw.c: Likewise.
21975
21976 * util/grub-dumpbios.in: Likewise.
21977
21978 * conf/common.rmk (grub-dumpbios): New utility.
21979 (pkglib_MODULES): New module memrw.mod.
21980 (memrw_mod_SOURCE): New macro.
21981 (memrw_mod_CFLAGS): Likewise.
21982 (memrw_mod_LDFLAGS): Likewise.
21983
7dd4a573 21984 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 21985 fixvideo.mod.
21986 (loadbios_mod_SOURCE): New macro.
21987 (loadbios_mod_CFLAGS): Likewise.
21988 (loadbios_mod_LDFLAGS): Likewise.
21989 (fixvideo_mod_SOURCE): Likewise.
21990 (fixvideo_mod_CFLAGS): Likewise.
21991 (fixvideo_mod_LDFLAGS): Likewise.
21992
7dd4a573 21993 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 21994 fixvideo.mod.
21995 (loadbios_mod_SOURCE): New macro.
21996 (loadbios_mod_CFLAGS): Likewise.
21997 (loadbios_mod_LDFLAGS): Likewise.
21998 (fixvideo_mod_SOURCE): Likewise.
21999 (fixvideo_mod_CFLAGS): Likewise.
22000 (fixvideo_mod_LDFLAGS): Likewise.
22001
af63ada2 220022009-04-08 Felix Zielcke <fzielcke@z-51.de>
22003
22004 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22005
c2cdde70 220062009-04-07 David S. Miller <davem@davemloft.net>
22007
22008 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22009 support for R_SPARC_OLO10 relocations. Fix compile warning for
22010 R_SPARC_WDISP30 case.
ea3f72cf 22011 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 22012
761319cf 220132009-04-06 Pavel Roskin <proski@gnu.org>
22014
1007d1f5 22015 * include/grub/misc.h (ARRAY_SIZE): New macro.
22016 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22017 New macro.
22018 * loader/i386/linux.c (allocate_pages): Use free_pages().
22019 (grub_linux_unload): Don't use free_pages().
22020 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22021 wrong index. Treat all other modes as text modes.
22022 (grub_cmd_linux): Initialize vid_mode unconditionally to
22023 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22024
761319cf 22025 * commands/help.c (print_command_help): Use cmd->prio, not
22026 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22027
ea761d40 220282009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 22029
ea761d40 22030 Parttool
22031
22032 * parttool/pcpart.c: new file
22033 * commands/parttool.c: likewise
22034 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22035 (parttool_mod_SOURCES): new variable
22036 (parttool_mod_CFLAGS): likewise
22037 (parttool_mod_LDFLAGS): likewise
22038 (pcpart_mod_SOURCES): likewise
22039 (pcpart_mod_CFLAGS): likewise
22040 (pcpart_mod_LDFLAGS): likewise
7dd4a573 22041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 22042 and parttool/pcpart.c
22043 * conf/i386-efi.rmk: likewise
22044 * conf/i386-ieee1275.rmk: likewise
22045 * conf/i386-pc.rmk: likewise
22046 * conf/powerpc-ieee1275.rmk: likewise
22047 * conf/sparc64-ieee1275.rmk: likewise
22048 * conf/x86_64-ieee1275.rmk: likewise
22049
05aaebfb 220502009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22051
22052 Support for mtime and further expandability of dir command
22053
22054 * include/grub/lib/datetime.h: moved to ...
7dd4a573 22055 * include/grub/datetime.h: ... moved here and added
05aaebfb 22056 declaration of grub_unixtime2datetime. All users updated
7dd4a573 22057 * include/grub/fs.h: new syntax for dir and mtime functions in
22058 struct grub_fs
05aaebfb 22059 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22060 and GRUB_FSHELP_FLAGS_MASK
22061 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22062 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22063 (grub_ext2_mtime): new function
22064 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22065 (grub_hfsplus_mtime): new function
22066 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22067 (GRUB_UFS_ATTR_FILE): likewise
22068 (GRUB_UFS_ATTR_LNK): likewise
22069 (struct grub_ufs_sblock): new fields mtime
22070 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22071 all users updated
22072 (grub_ufs_dir): mtime support
22073 (grub_ufs_mtime): new function
22074 * fs/affs.c (grub_affs_dir): use new dir syntax
22075 * fs/afs.c (grub_afs_dir): likewise
22076 * fs/cpio.c (grub_cpio_dir): likewise
22077 * fs/fat.c (grub_fat_find_dir): likewise
22078 * fs/hfs.c (grub_hfs_dir): likewise
22079 * fs/iso9660.c (grub_iso9660_dir): likewise
22080 * fs/jfs.c (grub_jfs_dir): likewise
22081 * fs/minix.c (grub_minix_dir): likewise
22082 * fs/ntfs.c (grub_ntfs_dir): likewise
22083 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22084 * fs/sfs.c (grub_sfs_dir): likewise
22085 * fs/xfs.c (grub_xfs_dir): likewise
22086 * util/hostfs.c (grub_hostfs_dir): likewise
22087 * lib/datetime.c: moved to ...
22088 * normal/datetime.c: ... moved here
22089 (grub_unixtime2datetime): new function
22090 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 22091 * normal/completion.c (iterate_dir): use new dir syntax
22092 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 22093 last modification time of a volume
7dd4a573 22094 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 22095 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 22096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 22097 (normal_mod_SOURCES): likewise
22098 (datetime_mod_SOURCES): Removed lib/datetime.c
22099 * conf/i386-efi.rmk: likewise
7dd4a573 22100 * conf/i386-ieee1275.rmk: likewise
05aaebfb 22101 * conf/i386-pc.rmk: likewise
22102 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22103 * conf/sparc64-ieee1275.rmk: likewise
22104 * conf/x86_64-efi.rmk: likewise
05aaebfb 22105
8a7e1a14 221062009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 22109
22110 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 22111 on grub_fat_find_dir
22112 (grub_fat_find_dir): use grub_fat_iterate_dir
22113 (grub_fat_label): likewise
22114
04186a9c 221152009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22116
7dd4a573 22117 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 22118 and command.h
22119 remove extraneous kernel_elf_HEADERS
22120
da4c0bb6 221212009-04-04 Bean <bean123ch@gnail.com>
22122
22123 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22124
22125 * util/misc.c: Likewise.
22126
54ad9555 221272009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22128
22129 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22130 instead of grub_printf.
22131
7a6bf9f2 221322009-04-03 Robert Millan <rmh@aybabtu.com>
22133
22134 * loader/i386/linux.c (grub_linux_setup_video): Fill
22135 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22136 values from `mode info' structure instead of hardcoded
22137 values.
22138
3fcc2083 221392009-04-01 Pavel Roskin <proski@gnu.org>
22140
22141 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22142 unused now.
22143 * genmk.rb: Likewise.
22144 * configure.ac: Likewise.
22145
5ec9740b 221462009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22147
22148 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22149 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22150
5270cec8 221512009-04-01 David S. Miller <davem@davemloft.net>
22152
22153 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 22154 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 22155 (grub_setjmp): Mark with 'returns_twice' attribute.
22156 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22157 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22158 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22159
9c3dd854 221602009-04-01 Robert Millan <rmh@aybabtu.com>
22161
22162 Reapply fix from 2008-07-28 which was accidentally reverted; also
22163 perform the same fix to a similar check in same function.
22164
22165 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22166 with the same number are found, just use issue a warning with
22167 grub_dprintf(), as this error has been reported to be non-fatal.
22168
0d818b7e 221692009-03-31 Pavel Roskin <proski@gnu.org>
22170
22171 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22172 for cross-compilation.
22173
95646d92 221742009-03-30 Robert Millan <rmh@aybabtu.com>
22175
22176 Fix i386-ieee1275 build.
22177
22178 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22179 Remove declaration.
22180
6a003ed1 221812009-03-30 Pavel Roskin <proski@gnu.org>
22182
22183 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22184 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22185 zero-terminated, rely only on the strlen value. Fix comparison
22186 of strings differing in length.
22187
92f33540 221882009-03-30 Robert Millan <rmh@aybabtu.com>
22189
22190 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22191 checking for abi version. Improve error messages on BIOS to notify
22192 user about `linux16' command.
22193
a8c48fd5 221942009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22195
f968172e 22196 Leak fixes
a8c48fd5 22197
f968172e 22198 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22199 in case of collision
22200 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 22201
9c323f09 222022009-03-29 Robert Millan <rmh@aybabtu.com>
22203
22204 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22205 set `vid_mode' accordingly.
22206 (grub_linux_boot): Process `vid_mode' and set video mode.
22207
ae68f423 222082009-03-29 Robert Millan <rmh@aybabtu.com>
22209
22210 * util/grub.d/10_linux.in (linux_entry): New function.
22211 Factorize generation of Linux boot entries.
22212
5709cfc4 222132009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22214
22215 Make the format of Environment Block plain text. The boot loader
22216 part is not tested well yet.
7dd4a573 22217
5709cfc4 22218 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22219 (buffer): Removed.
22220 (envblk): Likewise.
22221 (usage): Remove "info" and "clear". Add "unset". Update the
22222 description of "set", as this does not delete variables any
22223 longer.
22224 (create_envblk_file): Complete rewrite.
22225 (open_envblk_file): Likewise.
22226 (cmd_info): Removed.
22227 (cmd_list): Likewise.
22228 (cmd_set): Likewise.
22229 (cmd_clear): Likewise.
22230 (list_variables): New function.
22231 (write_envblk): Likewise.
22232 (set_variables): Likewise.
22233 (unset_variables): Likewise.
22234 (main): Complete rewrite.
22235
22236 * commands/loadenv.c (buffer): Removed.
22237 (envblk): Likewise.
22238 (open_envblk_file): New function.
22239 (read_envblk_file): Complete rewrite.
22240 (grub_cmd_load_env): Likewise.
22241 (grub_cmd_list_env): Likewise.
22242 (struct blocklist): New struct.
22243 (free_blocklists): New function.
22244 (check_blocklists): Likewise.
22245 (write_blocklists): Likewise.
22246 (grub_cmd_save_env): Complete rewrite.
22247
22248 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22249 a plain text signature.
22250 (GRUB_ENVBLK_MAXLEN): Removed.
22251 (struct grub_envblk): Complete rewrite.
22252 (grub_envblk_find): Removed.
22253 (grub_envblk_insert): Likewise.
22254 (grub_envblk_open): New prototype.
22255 (grub_envblk_set): Likewise.
22256 (grub_envblk_delete): Put const to VALUE.
22257 (grub_envblk_iterate): Put const to NAME and VALUE.
22258 (grub_envblk_close): New prototype.
22259 (grub_envblk_buffer): New inline function.
22260 (grub_envblk_size): Likewise.
22261
22262 * lib/envblk.c: Include grub/mm.h.
22263 (grub_env_find): Removed.
22264 (grub_envblk_open): New function.
22265 (grub_envblk_close): Likewise.
22266 (escaped_value_len): Likewise.
22267 (find_next_line): Likewise.
22268 (grub_envblk_insert): Removed.
22269 (grub_envblk_set): New function.
22270 (grub_envblk_delete): Complete rewrite.
22271 (grub_envblk_iterate): Likewise.
22272
a9368fd3 222732009-03-28 Robert Millan <rmh@aybabtu.com>
22274
22275 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22276 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22277 variables. Use 16-bit loader.
22278 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22279 loader.
22280 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22281 (grub_linux16_boot): ... this. Update all users.
22282 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22283 (grub_linux_boot): ... this. Update all users.
22284
22285 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22286 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22287 commands to `linux16' and `initrd16'.
22288 (GRUB_MOD_FINI(linux)): Rename to ...
22289 (GRUB_MOD_FINI(linux16)): ... this.
22290
e4dd5a7e 222912009-03-24 Pavel Roskin <proski@gnu.org>
22292
22293 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22294 not just for compilation.
22295
c04d6e05 222962009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 Move multiboot helper out of kernel
22299
22300 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22301 `loader/i386/multiboot_helper.S'.
22302 * conf/i386-coreboot.rmk: Likewise
22303 * conf/i386-ieee1275.rmk: Likewise
22304
22305 * kern/i386/loader.S: Move multiboot helpers from here...
22306 * loader/i386/multiboot_helper.S: ...moved here
22307 * include/grub/i386/loader.h: Move declarations of multiboot
22308 helpers from here...
22309 * include/grub/i386/multiboot.h: ...moved here
22310 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22311
42a5b3fc 223122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22313
22314 * kern/env.c (grub_env_context_open): Added an argument to specify
22315 whether a new context inherits exported variables from current
22316 one. This is useful when making a sandbox to interpret a config
22317 file.
22318 All callers updated.
22319
22320 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22321
b28bbc4e 223222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22323
22324 * kern/env.c (grub_env_context_close): Fix memory leaks.
22325
f04f02e4 223262009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22327
22328 * normal/main.c (grub_normal_execute): Added an argument
22329 BATCH to specify if an interactive interface should be provided
22330 after reading a config file.
22331 All callers updated.
22332 (read_command_list): Prevent being executed twice.
22333 (read_fs_list): Likewise.
22334
42a5b3fc 22335 * include/grub/normal.h (grub_normal_execute): Updated the
22336 prototype.
f04f02e4 22337
41473ac2 223382009-03-22 Pavel Roskin <proski@gno.org>
22339
fbc00b0c 22340 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22341 _start.
22342 * kern/i386/pc/startup.S: Likewise.
22343 * kern/i386/efi/startup.S: Likewise.
22344 * kern/i386/ieee1275/startup.S: Likewise.
22345 * kern/i386/coreboot/startup.S: Likewise.
22346 * kern/x86_64/efi/startup.S: Likewise.
22347
41473ac2 22348 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22349 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22350 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22351
2274cc8f 223522009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22355
22356 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22357 limit detection.
22358 Use vaddr of correct segment for entry_point.
22359
b1b797cb 223602009-03-21 Bean <bean123ch@gmail.com>
22361
22362 * commands/blocklist.c: Add include file <grub/command.h>, remove
22363 <grub/normal.h> and <grub/arg.h>.
22364 (grub_cmd_blocklist): Use the new command interface.
22365 (GRUB_MOD_INIT): Likewise.
22366 (GRUB_MOD_FINI): Likewise.
22367 * commands/boot.c: Likewise.
22368 * commands/cat.c: Likewise.
22369 * commands/cmp.c: Likewise.
22370 * commands/configfile.c: Likewise.
22371 * commands/crc.c: Likewise.
22372 * commands/echo.c: Likewise.
22373 * commands/halt.c: Likewise.
22374 * commands/handler.c: Likewise.
22375 * commands/hdparm.c: Likewise.
22376 * commands/help.c: Likewise.
22377 * commands/hexdump.c: Likewise.
22378 * commands/loadenv.c: Likewise.
22379 * commands/ls.c: Likewise.
22380 * commands/lsmmap.c: Likewise.
22381 * commands/lspci.c: Likewise.
22382 * commands/loadenv.c: Likewise.
22383 * commands/read.c: Likewise.
22384 * commands/reboot.c: Likewise.
22385 * commands/search.c: Likewise.
22386 * commands/sleep.c: Likewise.
22387 * commands/test.c: Likewise.
22388 * commands/usbtest.c: Likewise.
22389 * commands/videotest.c: Likewise.
22390 * commands/i386/cpuid.c: Likewise.
22391 * commands/i386/pc/halt.c: Likewise.
22392 * commands/i386/pc/play.c: Likewise.
22393 * commands/i386/pc/pxecmd.c: Likewise.
22394 * commands/i386/pc/vbeinfo.c: Likewise.
22395 * commands/i386/pc/vbetest.c: Likewise.
22396 * commands/ieee1275/suspend.c: Likewise.
22397 * disk/loopback.c: Likewise.
22398 * font/font_cmd.c: Likewise.
22399 * hello/hello.c: Likewise.
22400 * loader/efi/appleloader.c: Likewise.
22401 * loader/efi/chainloader.c: Likewise.
22402 * loader/i386/bsd.c: Likewise.
22403 * loader/i386/efi/linux.c: Likewise.
22404 * loader/i386/ieee1275/linux.c: Likewise.
22405 * loader/i386/linux.c: Likewise.
22406 * loader/i386/pc/chainloader.c: Likewise.
22407 * loader/i386/pc/linux.c: Likewise.
22408 * loader/powerpc/ieee1275/linux.c: Likewise.
22409 * loader/multiboot_loader.c: Likewise.
22410 * term/gfxterm.c: Likewise.
22411 * term/i386/pc/serial.c: Likewise.
22412 * term/terminfo.c: Likewise.
22413
22414 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22415 * term/i386/pc/vga.c: Likewise.
22416 * video/readers/jpeg.c: Likewise.
22417 * video/readers/png.c: Likewise.
22418 * video/readers/tga.c: Likewise.
22419
22420 * util/grub-fstest (cmd_loopback): Removed.
22421 (cmd_blocklist): Likewise.
22422 (cmd_ls): Likewise.
22423 (grub_register_command): Likewise.
22424 (grub_unregister_command): Likewise.
22425 (execute_command): Use grub_command_find to locate command and execute
22426 it.
22427
22428 * include/grub/efi/chainloader.h: Removed.
22429 * loader/efi/chainloader_normal.c: Likewise.
22430 * loader/i386/bsd_normal.c: Likewise.
22431 * loader/i386/pc/chainloader_normal.c: Likewise.
22432 * loader/i386/pc/multiboot_normal.c: Likewise.
22433 * loader/linux_normal.c: Likewise.
22434 * loader/multiboot_loader_normal.c: Likewise.
22435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22436
22437 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22438 and grub_register_command_p1.
22439
22440 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22441 kern/command.c, lib/arg.c and commands/extcmd.c.
22442 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22443 (minicmd_mod_SOURCES): New variable.
22444 (minicmd_mod_CFLAGS): Likewise.
22445 (minicmd_mod_LDFLAGS): Likewise.
22446 (extcmd_mod_SOURCES): Likewise.
22447 (extcmd_mod_CFLAGS): Likewise.
22448 (extcmd_mod_LDFLAGS): Likewise.
22449 (boot_mod_SOURCES): Removed.
22450 (boot_mod_CFLAGS): Likewise.
22451 (boot_mod_LDFLAGS): Likewise.
22452
22453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22454 kern/corecmd.c.
22455 (kernel_img_HEADERS): Add command.h.
22456 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22457 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22458 and lib/arg.c.
22459 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22460 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22461 remove the corresponding normal mode command.
22462 (normal_mod_SOURCES): Remove normal/arg.c.
22463 * conf/i386-coreboot.rmk: Likewise.
22464 * conf/i386-efi.rmk: Likewise.
22465 * conf/i386-ieee1275.rmk: Likewise.
22466 * conf/powerpc-ieee1275.rmk: Likewise.
22467 * conf/x86_64-efi.rmk: Likewise.
22468
22469 * include/grub/arg.h: Move from here ...
22470 * include/grub/lib/arg.h: ... to here.
22471
22472 * normal/arg.c: Move from here ...
22473 * lib/arg.c: ... to here.
22474
22475 * commands/extcmd.c: New file.
22476 * commands/minicmd.c: Likewise.
22477 * include/grub/command.h: Likewise.
22478 * include/grub/extcmd.h: Likewise.
22479 * kern/command.c: Likewise.
22480 * kern/corecmd.c: Likewise.
22481
22482 * kern/list.c (grub_list_iterate): Return int instead of void.
22483 (grub_list_insert): New function.
22484 (grub_prio_list_insert): Likewise.
22485
22486 * kern/rescue.c (grub_rescue_command): Removed.
22487 (grub_rescue_command_list): Likewise.
22488 (grub_rescue_register_command): Likewise.
22489 (grub_rescue_unregister_command): Likewise.
22490 (grub_rescue_cmd_boot): Move to minicmd.c
22491 (grub_rescue_cmd_help): Likewise.
22492 (grub_rescue_cmd_info): Likewise.
22493 (grub_rescue_cmd_boot): Likewise.
22494 (grub_rescue_cmd_testload): Likewise.
22495 (grub_rescue_cmd_dump): Likewise.
22496 (grub_rescue_cmd_rmmod): Likewise.
22497 (grub_rescue_cmd_lsmod): Likewise.
22498 (grub_rescue_cmd_exit): Likewise.
22499 (grub_rescue_print_devices): Moved to corecmd.c.
22500 (grub_rescue_print_files): Likewise.
22501 (grub_rescue_cmd_ls): Likewise.
22502 (grub_rescue_cmd_insmod): Likewise.
22503 (grub_rescue_cmd_set): Likewise.
22504 (grub_rescue_cmd_unset): Likewise.
7d074e3c 22505 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 22506 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 22507 commands, remove grub_rescue_register_command calls.
b1b797cb 22508
7d074e3c 22509 * normal/command.c (grub_register_command): Removed.
b1b797cb 22510 (grub_unregister_command): Likewise.
22511 (grub_command_find): Likewise.
22512 (grub_iterate_commands): Likewise.
22513 (rescue_command): Likewise.
22514 (export_command): Moved to corecmd.c.
22515 (set_command): Removed.
22516 (unset_command): Likewise.
22517 (insmod_command): Likewise.
22518 (rmmod_command): Likewise.
22519 (lsmod_command): Likewise.
22520 (grub_command_init): Likewise.
22521
22522 * normal/completion.c (iterate_command): Use cmd->prio to check for
22523 active command.
22524 (complete_arguments): Use grub_extcmd_t structure to find options.
22525 (grub_normal_do_completion): Change function grub_iterate_commands to
22526 grub_command_iterate.
22527
22528 * normal/execute.c (grub_script_execute_cmd): No need to parse
22529 argument here.
22530
22531 * normal/main.c (grub_dyncmd_dispatcher): New function.
22532 (read_command_list): Register unload commands as dyncmd.
22533 (grub_cmd_normal): Use new command interface, register rescue,
22534 unregister normal at entry, register normal, unregister rescue at exit.
22535
22536 * include/grub/list.h (grub_list_test_t): New type.
22537 (grub_list_iterate): Return int instead of void.
22538 (grub_list_insert): New function.
22539 (GRUB_AS_NAMED_LIST_P): New macro.
22540 (GRUB_AS_PRIO_LIST): Likewise.
22541 (GRUB_AS_PRIO_LIST_P): Likewise.
22542 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22543 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22544 (grub_prio_list): New structure.
22545 (grub_prio_list_insert): New function.
22546 (grub_prio_list_remove): New inline function.
22547
22548 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22549 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22550 (GRUB_COMMAND_FLAG_MENU): Likewise.
22551 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22552 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22553 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22554 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22555 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22556 (grub_command): Likewise.
22557 (grub_register_command): Likewise.
22558 (grub_command_find): Likewise.
22559 (grub_iterate_commands): Likewise.
22560 (grub_command_init): Likewise.
22561 (grub_arg_parse): Likewise.
22562 (grub_arg_show_help): Likewise.
22563
22564 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22565 (grub_rescue_unregister_command): Likewise.
22566
22567 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22568 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22569 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22570
22571 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22572 grub_rescue_cmd_initrd.
22573 * include/grub/i386/loader.h: Likewise.
22574 * include/grub/x86_64/loader.h: Likewise.
22575
22576 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22577
1f4147aa 225782009-03-21 Bean <bean123ch@gmail.com>
22579
22580 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22581 instead of stat in mingw environment.
22582
22583 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22584
22585 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22586
22587 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22588 AC_CONFIG_LINKS.
22589
2156d5ba 225902009-03-21 Bean <bean123ch@gmail.com>
22591
22592 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22593 out of range error.
22594
177b82ca 225952009-03-18 Michel Dänzer <michel@daenzer.net>
22596
22597 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22598 checking inode flags for EXT4_EXTENTS_FLAG.
22599
14aad807 226002009-03-18 Robert Millan <rmh@aybabtu.com>
22601
22602 * loader/i386/linux.c: Include `<grub/video.h>' and
22603 `<grub/i386/pc/vbe.h>'..
22604 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22605 (grub_linux32_boot): Attempt to configure video settings with
22606 grub_linux_setup_video().
22607 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22608 to avoid grub_console_fini() which would step out of graphical mode
22609 unconditionally.
22610
8cf83a27 226112009-03-14 Robert Millan <rmh@aybabtu.com>
22612
22613 Fix build on powerpc.
22614 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22615
40164e75 226162009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22619 background image command.
22620
c58bc32a 226212009-03-12 Colin D Bennett <colin@gibibit.com>
22622
22623 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22624 (grub_gfxterm_putchar): Extract pairs of identical calls to
22625 draw_cursor out of conditional blocks.
22626
5415144a 226272009-03-11 Pavel Roskin <proski@gnu.org>
22628
22629 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22630 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22631
6394042e 226322009-03-11 Robert Millan <rmh@aybabtu.com>
22633
22634 * loader/i386/multiboot_elfxx.c
22635 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22636
b7b50e5f 226372009-03-11 Felix Zielcke <fzielcke@z-51.de>
22638
22639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22640 `kern/handler.c'.
22641
1ca7fc96 226422009-03-11 Robert Millan <rmh@aybabtu.com>
22643
22644 * loader/i386/multiboot.c (code_size): New variable.
22645 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 22646 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 22647 4-byte alignment to MBI and others by increasing
7d074e3c 22648 `boot_loader_name_length' appropriately.
1ca7fc96 22649
22650 * loader/i386/multiboot_elfxx.c
22651 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22652
a83ea1d2 226532009-03-09 Felix Zielcke <fzielcke@z-51.de>
22654
22655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22656 `fs/ext2.c'.
22657
aa9f3bff 226582009-03-08 Robert Millan <rmh@aybabtu.com>
22659
22660 Make loader/i386/linux.c usable on i386-pc again.
22661
22662 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22663 memory to heap.
22664 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22665 `#error' stanza.
22666
d8b3b60e 226672009-03-07 Bean <bean123ch@gmail.com>
22668
22669 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22670 allocation.
22671
b362c9e9 226722009-03-06 Robert Millan <rmh@aybabtu.com>
22673
22674 Fix display issue on terminals with screen size other than 80x25
22675 (e.g. gfxterm with resolution higher than 640x480).
22676
22677 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 22678 position relative to the center of the terminal instead of relying
b362c9e9 22679 on a hardcoded offset.
22680
9304eef1 226812009-03-04 Robert Millan <rmh@aybabtu.com>
22682
22683 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22684 installed.
22685
22686 * Makefile.in (host_kernel): New variable.
22687 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22688 scripts instead of just the windows one.
22689 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22690
eabc95fb 226912009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 22692
22693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22694 `kern/handler.c'.
22695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22701
ceb1223c 227022009-03-04 Felix Zielcke <fzielcke@z-51.de>
22703
22704 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22705 or if there's no space for the disk label and print the partition number on a
22706 invalid magic.
22707
4910684a 227082009-03-04 Felix Zielcke <fzielcke@z-51.de>
22709
22710 * util/misc.c: Include <time.h>.
22711 (grub_millisleep): New function.
22712
7e9ca17a 227132009-03-04 Bean <bean123ch@gmail.com>
22714
22715 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22716 another option -mno-red-zone.
22717
22718 * commands/handler.c: Change module description.
22719
22720 * kern/handler.c: Add missing space at the end of description line.
22721
22722 * kern/list.c: Likewise.
22723
f501677c 227242009-03-03 Robert Millan <rmh@aybabtu.com>
22725
22726 Move more components to the relocation area, and fix mbi pointer
22727 handling to use the destination rather than the origin (thanks to
22728 Vladimir Serbinenko for spotting).
22729
22730 * loader/i386/multiboot.c (mbi_dest): New variable.
22731 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22732 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22733 relocation area.
22734
9902d047 227352009-03-01 Bean <bean123ch@gmail.com>
22736
50fb7002 22737 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 22738 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22739 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22740 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22741
22742 * loader/i386/efi/linux.c (acpi_guid): New variable.
22743 (acpi_guid): Likewise.
22744 (EBDA_SEG_ADDR): New constant.
22745 (LOW_MEM_ADDR): Likewise.
22746 (FAKE_EBDA_SEG): Likewise.
22747 (fake_bios_data): New function.
22748 (grub_linux_boot): Call fake_bios_data.
22749
71b9f361 227502009-03-01 Bean <bean123ch@gmail.com>
22751
22752 * commands/terminal.c: Removed.
22753
22754 * commands/handler.c: New file.
22755
22756 * include/grub/list.h: Likewise.
22757
22758 * include/grub/handler.h: Likewise.
22759
22760 * kern/list.c: Likewise.
22761
22762 * kern/handler.c: Likewise.
22763
22764 * kern/term.h: Include header file <grub/handler.h>.
22765 (grub_term_input): Move next field to the beginning.
22766 (grub_term_output): Likewise.
22767 (grub_term_input_class): New variable.
22768 (grub_term_output_class): Likewise.
22769 (grub_term_register_input): Changed to inline function.
22770 (grub_term_register_output): Likewise.
22771 (grub_term_unregister_input): Likewise.
22772 (grub_term_unregister_output): Likewise.
22773 (grub_term_set_current_input): Likewise.
22774 (grub_term_set_current_output): Likewise.
22775 (grub_term_get_current_input): Likewise.
22776 (grub_term_get_current_output): Likewise.
22777 (grub_term_iterate_input): Removed.
22778 (grub_term_iterate_output): Likewise.
22779
22780 * kern/term.c (grub_term_list_input): Removed.
22781 (grub_term_list_output): Likewise.
22782 (grub_term_input_class): New variable.
22783 (grub_term_output_class): Likewise.
50fb7002 22784 (grub_cur_term_input): Change variable as macro.
71b9f361 22785 (grub_cur_term_output): Likewise.
22786 (grub_term_register_input): Removed.
22787 (grub_term_register_output): Likewise.
22788 (grub_term_unregister_input): Likewise.
22789 (grub_term_unregister_output): Likewise.
22790 (grub_term_set_current_input): Likewise.
22791 (grub_term_set_current_output): Likewise.
22792 (grub_term_iterate_input): Likewise.
22793 (grub_term_iterate_output): Likewise.
22794 (grub_term_get_current_input): Likewise.
22795 (grub_term_get_current_output): Likewise.
22796
22797 * util/grub-editenv.c: Include header file <grub/handler.h>.
22798 (grub_term_get_current_input): Removed.
22799 (grub_term_get_current_output): Likewise.
22800 (grub_term_input_class): New variable.
50fb7002 22801 (grub_term_output_class): Likewise.
71b9f361 22802
22803 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22804 (grub_term_get_current_output): Likewise.
22805 (grub_term_input_class): New variable.
50fb7002 22806 (grub_term_output_class): Likewise.
71b9f361 22807
22808 * util/grub-probe.c (grub_term_get_current_input): Removed.
22809 (grub_term_get_current_output): Likewise.
22810 (grub_term_input_class): New variable.
50fb7002 22811 (grub_term_output_class): Likewise.
71b9f361 22812
22813 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22814 (grub_term_get_current_output): Likewise.
22815 (grub_term_input_class): New variable.
50fb7002 22816 (grub_term_output_class): Likewise.
71b9f361 22817
22818 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22819 (terminal_mod_SOURCES): Likewise.
22820 (terminal_mod_CFLAGS): Likewise.
22821 (terminal_mod_LDFLAGS): Likewise.
22822
22823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22824 handler.c.
22825 (kernel_img_SOURCES): Add list.c and handler.c.
22826 (kernel_img_HEADERS): Add list.h and handler.h.
22827
22828 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22829 handler.c.
22830 (kernel_mod_SOURCES): Add list.c and handler.c.
22831 (kernel_mod_HEADERS): Add list.h and handler.h.
22832
22833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22834 handler.c.
22835 (kernel_elf_SOURCES): Add list.c and handler.c.
22836 (kernel_elf_HEADERS): Add list.h and handler.h.
22837
22838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22839 handler.c.
22840 (kernel_elf_SOURCES): Add list.c and handler.c.
22841 (kernel_elf_HEADERS): Add list.h and handler.h.
22842
22843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22844 handler.c.
22845 (kernel_mod_SOURCES): Add list.c and handler.c.
22846 (kernel_mod_HEADERS): Add list.h and handler.h.
22847
22848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22849 handler.c.
22850 (kernel_elf_SOURCES): Add list.c and handler.c.
22851 (kernel_elf_HEADERS): Add list.h and handler.h.
22852
8a31787f 228532009-02-27 Robert Millan <rmh@aybabtu.com>
22854
22855 Factorize elf32 / elf64 code in Multiboot loader. This will
22856 prevent it from getting out of sync again.
22857
22858 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22859 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22860 grub_multiboot_load_elf64): Move from here ...
22861 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22862 grub_multiboot_load_elf): ... to here (new file).
22863
51cd3dfc 228642009-02-27 Robert Millan <rmh@aybabtu.com>
22865
22866 * util/grub.d/10_linux.in: Rename "single-user mode" to
22867 "recovery mode".
22868
6e8c9c3a 228692009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 Don't leak in SCSI code.
22872 * disk/scsi.c (grub_scsi_close): free `scsi'.
22873
4b6bf4f9 228742009-02-27 Robert Millan <rmh@aybabtu.com>
22875
22876 * loader/i386/pc/multiboot.c: Move from here ...
22877 * loader/i386/multiboot.c: ... to here. Update all users.
22878
b9413424 228792009-02-27 Robert Millan <rmh@aybabtu.com>
22880
22881 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22882 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22883
50fb7002 228842009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 22885
22886 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22887 b-tree.
22888
8cc50345 228892009-02-27 Robert Millan <rmh@aybabtu.com>
22890
22891 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22892 `0x' qualifier as 0 when base is specified as parameter).
22893
6e09b8b7 228942009-02-24 Bean <bean123ch@gmail.com>
22895
22896 * configure.ac: Check for -mcmodel=large in x86_64 target.
22897
22898 * include/grub/efi/api.h (efi_call_10): New macro.
22899 (efi_wrap_10): New function.
22900
22901 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22902 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22903 (GRUB_PE32_REL_BASED_LOW): Likewise.
22904 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22905 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22906 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22907 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22908 (GRUB_PE32_REL_BASED_REL): Likewise.
22909 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22910 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22911 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22912
22913 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22914 issue.
22915
22916 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22917 (efi_wrap_10): New function.
22918
22919 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22920
22921 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22922 MB/MBP model (NV chipset).
22923 (devdata_devs): Add devpath_5 to the list.
22924
22925 * load/i386/efi/linux.c (video_base): Remove variable.
22926 (RGB_MASK): New macro.
22927 (RGB_MAGIC): Likewise.
22928 (LINE_MIN): Likewise.
22929 (LINE_MAX): Likewise.
22930 (FBTEST_STEP): Likewise.
22931 (FBTEST_COUNT): Likewise.
22932 (fb_list): New variable.
22933 (grub_find_video_card): Remove function.
22934 (find_framebuf): New function.
22935 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22936 line length.
22937
22938 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22939 problem for x86_64.
22940
74b21bee 229412009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22942
22943 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22944
22945 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22946 coding tool name.
22947
a455f472 229482009-02-22 Robert Millan <rmh@aybabtu.com>
22949
22950 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22951 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22952 in our relocation, instead of using it directly from heap. Also
22953 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22954
6374daf3 229552009-02-21 Robert Millan <rmh@aybabtu.com>
22956
22957 Implement USB keyboard support (based on patch by Marco Gerards)
22958
22959 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22960 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
22961 (usb_keyboard_mod_LDFLAGS): New variables.
22962
22963 * term/usb_keyboard.c: New file.
22964
8fa4ea70 229652009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 Corrected wrong declaration
22968
22969 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
22970
353976ac 229712009-02-14 Christian Franke <franke@computer.org>
22972
22973 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
22974 (grub_lspci_iter): Print class code and programming interface byte.
22975
6aa1169b 229762009-02-14 Christian Franke <franke@computer.org>
22977
22978 * gendistlist.sh: Ignore `.svn' directories.
22979
265372ca 229802009-02-14 Felix Zielcke <fzielcke@z-51.de>
22981
22982 * fs/fat.c: Add 2009 to Copyright line.
22983
9ff516f3 229842009-02-14 Christian Franke <franke@computer.org>
22985
22986 * commands/hdparm.c: New file. Provides `hdparm' command
22987 which sends ATA commands via grub_disk_ata_pass_through ().
22988
22989 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
22990
22991 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
22992 and <grub/cpu/io.h> to include/grub/ata.h.
22993 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
22994 (GRUB_CDROM_SECTOR_SIZE): Remove.
22995 (GRUB_ATA_*): Move to include/grub/ata.h.
22996 (GRUB_ATAPI_*): Likewise.
22997 (enum grub_ata_commands): Likewise.
22998 (enum grub_ata_timeout_milliseconds): Likewise.
22999 (struct grub_ata_device): Likewise.
23000 (grub_ata_regset): Likewise.
23001 (grub_ata_regget): Likewise.
23002 (grub_ata_regset2): Likewise.
23003 (grub_ata_regget2): Likewise.
23004 (grub_ata_check_ready): Likewise.
23005 (grub_ata_wait_not_busy): Remove static, exported in
23006 include/grub/ata.h.
23007 (grub_ata_wait_drq): Likewise.
23008 (grub_ata_pio_read): Likewise.
23009
23010 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23011 function for hdparm.mod.
23012
23013 * include/grub/ata.h: New file, contains declarations from
23014 disk/ata.c.
23015 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23016
23017 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23018 (grub_disk_ata_pass_through): New exported variable.
23019
23020 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23021
772e23da 230222009-02-13 Colin D Bennett <colin@gibibit.com>
23023
23024 Support multiple fallback entries, and provide an API to support
23025 executing default+fallback menu entries. Renamed the `terminal' menu
23026 viewer to `text'.
23027
23028 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23029 variable declaration.
23030 (grub_menu_execute_callback): New structure declaration.
23031 (grub_menu_execute_callback_t): New typedef.
23032 (grub_menu_execute_with_fallback): New function declaration.
23033 (grub_menu_get_entry): Likewise.
23034 (grub_menu_get_timeout): Likewise.
23035 (grub_menu_set_timeout): Likewise.
23036
23037 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23038
23039 * normal/menu.c (grub_wait_after_message): Moved to
23040 `normal/menu_text.c'.
23041 (draw_border): Likewise.
23042 (print_message): Likewise.
23043 (print_entry): Likewise.
23044 (print_entries): Likewise.
23045 (grub_menu_init_page): Likewise.
23046 (get_entry_number): Likewise.
23047 (print_timeout): Likewise.
23048 (run_menu): Likewise.
23049 (grub_menu_execute_entry): Likewise.
23050 (show_text_menu): Likewise.
23051 (get_and_remove_first_entry_number): New function.
23052 (grub_menu_execute_with_fallback): Likewise.
23053 (get_entry): Renamed to ...
23054 (grub_menu_get_entry): .. this and made it global.
23055 (get_timeout): Renamed to ...
23056 (grub_menu_get_timeout): ... this and made it global.
23057 (set_timeout): Renamed to ...
23058 (grub_menu_set_timeout): ... this and made it global.
23059 (grub_normal_terminal_menu_viewer): Renamed to ...
23060 (grub_normal_text_menu_viewer): ... this.
23061
23062 * normal/menu_text.c: New file. Extracted text-menu-specific code
23063 from normal/menu.c.
23064
23065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23066 (normal_mod_SOURCES): Likewise.
23067
23068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23069 (normal_mod_SOURCES): Likewise.
23070
23071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23072 (normal_mod_SOURCES): Likewise.
23073
23074 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23075 (normal_mod_SOURCES): Likewise.
23076
23077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23078 (normal_mod_SOURCES): Likewise.
23079
23080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23081 (normal_mod_SOURCES): Likewise.
23082
23083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23084 (normal_mod_SOURCES): Likewise.
23085
16ac430e 230862009-02-11 Robert Millan <rmh@aybabtu.com>
23087
23088 * util/grub.d/00_header.in: Update old reference to `font' command.
23089
06ff20fc 230902009-02-10 Felix Zielcke <fzielcke@z-51.de>
23091
23092 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23093
23094 Based on patch from Javier Martín.
23095
96da9407 230962009-02-09 Felix Zielcke <fzielcke@z-51.de>
23097
23098 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 23099 to avoid false positives with FAT.
96da9407 23100 (grub_fstest_SOURCES): Likewise.
23101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23102 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23107
6dca6fe4 231082009-02-09 Felix Zielcke <fzielcke@z-51.de>
23109
06ff20fc 23110 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 23111 bpb.version_specific.fat12_or_fat16.fstype and
23112 bpb.version_specific.fat32.fstype.
23113
2550c62f 231142009-02-08 Robert Millan <rmh@aybabtu.com>
23115
be110b30 23116 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 23117
56978920 231182009-02-08 Robert Millan <rmh@aybabtu.com>
23119
23120 * Makefile.in (host_os, host_cpu): New variables.
23121 (target_os): Remove. Update all users.
23122
d64399b5 231232009-02-08 Marco Gerards <marco@gnu.org>
23124
23125 * Makefile.in (enable_grub_emu_usb): New variable.
23126 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23127 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23128 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23129 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23130 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23131 `usbtest.mod' and `usbms.mod'.
23132 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23133 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23134 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23135 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23136 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23137 variables.
23138
23139 * disk/usbms.c: New file.
23140
23141 * include/grub/usb.h: Likewise.
23142
23143 * include/grub/usbtrans.h: Likewise.
23144
23145 * include/grub/usbdesc.h: Likewise.
23146
23147 * bus/usb/usbtrans.c: Likewise.
23148
23149 * bus/usb/ohci.c: Likewise.
23150
23151 * bus/usb/uhci.c: Likewise.
23152
23153 * bus/usb/usbhub.c: Likewise.
23154
23155 * bus/usb/usb.c: Likewise.
23156
23157 * commands/usbtest.c: Likewise.
23158
23159 * util/usb.c: Likewise.
50fb7002 23160
d64399b5 23161 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23162
23163 * configure.ac: Test for libusb presence.
50fb7002 23164
d64399b5 23165 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23166
2b40d6bb 231672009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23168
23169 * kern/mm.c: Add more comments.
23170
73a4ce81 231712009-02-08 Robert Millan <rmh@aybabtu.com>
23172
23173 Patch from Javier Martín.
23174 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23175 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23176
f821ce59 231772009-02-08 Robert Millan <rmh@aybabtu.com>
23178
23179 * fs/cpio.c: Split tar functionality to ...
23180 * fs/tar.c: ... here (new file). Update all users.
23181
aebfc4b0 231822009-02-07 Robert Millan <rmh@aybabtu.com>
23183
23184 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23185 backward-incompatible features.
23186
23187 Based on patch from Javier Martín, with some adjustments.
23188
50fb7002 231892009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 23190
23191 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23192
0bb5115e 231932009-02-07 Robert Millan <rmh@aybabtu.com>
23194
23195 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23196 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23197 after the RAID stuff.
23198
38a0f8e7 231992009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23200
50fb7002 23201 Fixes problem when running vbetest command as reported by
38a0f8e7 23202 Vladimir Serbinenko <phcoder@gmail.com>.
23203
23204 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23205
3143cc1c 232062009-02-04 Felix Zielcke <fzielcke@z-51.de>
23207
23208 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23209 /dev/md/NpN style mdraid devices.
23210
9cba6fce 232112009-02-03 Felix Zielcke <fzielcke@z-51.de>
23212
23213 * util/unifont2pff.rb: Remove.
23214
e507a2c1 232152009-02-03 Felix Zielcke <fzielcke@z-51.de>
23216
23217 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23218 `#'.
23219
d2c2b4cd 232202009-02-03 Felix Zielcke <fzielcke@z-51.de>
23221
23222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23229
b4315fb0 232302009-02-02 Christian Franke <franke@computer.org>
23231
23232 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23233
de3aa260 232342009-02-01 Felix Zielcke <fzielcke@z-51.de>
23235
7c3ff286 23236 * INSTALL: Note that we now require at least autoconf 2.59 and
23237 that LZO is optional.
de3aa260 23238
825a182b 232392009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23240
23241 Base on patch on bug #24154 created by Tomas Tintera
23242 <trosos@seznam.cz>.
23243
23244 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23245
a69ef770 232462009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23247
7c3ff286 23248 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 23249 <bero@arklinux.org>.
23250
23251 * normal/parser.y (script_init): Add missing semicolon.
23252
6fa42fa6 232532009-01-31 Colin D Bennett <colin@gibibit.com>
23254
7c3ff286 23255 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 23256 (free_menu_entry_classes): Added.
23257 (grub_normal_menu_addentry): Added class property handling.
23258 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23259 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23260
23261 * normal/menu_viewer.c: New file.
23262
23263 * normal/menu.c (run_menu_entry): Renamed to ...
23264 (grub_menu_execute_entry): ... this and made it as global.
23265 (grub_menu_run): Renamed to ...
23266 (show_text_menu): ... this and made it local.
23267 (show_text_menu): Adapt to new function names.
23268 (grub_normal_terminal_menu_viewer): New global variable.
23269
23270 * include/grub/menu.h: New file.
23271
23272 * include/grub/menu_viewer.h: New file.
23273
23274 * include/grub/normal.h: Added include to grub/menu.h.
23275 (grub_menu_entry): Moved to include/grub/menu.h.
23276 (grub_menu_entry_t): Likewise.
23277 (grub_menu): Likewise.
23278 (grub_menu_t): Likewise.
23279 (grub_normal_terminal_menu_viewer): Added.
23280 (grub_menu_execute_entry): Likewise.
23281 (grub_menu_run): Removed.
23282
23283 * DISTLIST: Added include/grub/menu.h.
23284 Added include/grub/menu_viewer.h.
23285 Added normal/menu_viewer.c.
23286
232872009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23288
23289 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23290 arglist for menutitle arguments.
23291
23292 * normal/main.c (grub_normal_menu_addentry): Likewise.
23293
23294 * normal/parser.y (menuentry): Likewise.
23295
23296 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23297
23298 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23299 (grub_script_create_cmdmenu): Likewise.
23300
23301 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23302
23303 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23304 changes.
23305
23306 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23307
23308 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23309
23310 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23311
23312 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23313
23314 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23315
23316 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23317
56192c23 233182009-01-30 Christian Franke <franke@computer.org>
23319
23320 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23321 in option help text.
23322
d72521b3 233232009-01-27 Pavel Roskin <proski@gnu.org>
23324
23325 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23326
994b5e84 233272009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23328
23329 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23330
23331 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23332
23333 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23334 unregister function.
23335
6a7eab2c 233362009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23337
23338 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23339
23340 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23341
23342 * util/grub-mkfont.c (usage): Fix typo.
23343
23344 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23345
1806b56e 233462009-01-26 Daniel Mierswa <impulze@impulze.org>
23347
3fb18f09 23348 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23349
336e1fb9 23350 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23351
1806b56e 23352 * kern/misc.c (grub_strcasecmp): New function.
23353 (grub_strcasecmp): Use grub_size_t instead of int for length.
23354 Fix return value.
23355 * include/grub/misc.h: Update function prototypes.
23356
580b2a0f 233572009-01-26 Robert Millan <rmh@aybabtu.com>
23358
23359 * configure.ac: Fix cross-compilation check.
ef257b36 23360
d31c24f1 233612009-01-22 Christian Franke <franke@computer.org>
23362
23363 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23364 (precision) digit string. Allow `.format2' without `format1' (width).
23365 Limit input chars for `%s' output to `format2' if specified. This is
23366 compatible with standard printf ().
23367
3138b44c 233682009-01-22 Christian Franke <franke@computer.org>
23369
23370 * disk/ata.c (grub_ata_wait_status): Replace by ...
23371 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23372 other status bits may be invalid while BSY is asserted.
23373 (grub_ata_check_ready): New function.
23374 (grub_ata_cmd): Removed.
23375 (grub_ata_wait_drq): New function.
23376 (grub_ata_strncpy): Remove inline.
23377 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23378 and error check now done by grub_ata_wait_drq ().
23379 (grub_ata_pio_write): Likewise.
23380 (grub_atapi_identify): Set DEV before check for !BSY. Use
23381 grub_ata_wait_drq () to wait for data.
23382 (grub_ata_device_initialize): Add status register check to
23383 detect missing SATA slave devices. Add debug messages.
23384 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23385 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23386 transfer loop by grub_ata_pio_write ().
23387 (grub_ata_identify): Set DEV before check for !BSY. Use
23388 grub_ata_wait_drq () to wait for data.
ef257b36 23389 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 23390 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23391 read/write in one loop. Fix invalid command on write. Fix incomplete
23392 command on (size % batch) == 0. Add missing error check after write of
23393 last block. Add debug messages.
23394 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23395
59a64ef6 233962009-01-19 Christian Franke <franke@computer.org>
23397
23398 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23399 (GRUB_ATAPI_IREASON_*): Likewise.
23400 (grub_ata_pio_write): Fix timeout error return.
23401 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23402 (grub_atapi_wait_drq): New function.
23403 (grub_atapi_packet): New parameter `size'.
23404 Use grub_atapi_wait_drq () and direct write instead of
23405 grub_ata_pio_write ().
23406 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23407 reads the number of bytes requested by the device for each DRQ
23408 assertion.
23409 (grub_atapi_write): Remove old implementation, return not
23410 implemented instead.
23411
1cfe20b3 234122009-01-19 Christian Franke <franke@computer.org>
23413
23414 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23415 of 512 to calculate data size.
23416 (grub_scsi_read12): Likewise.
23417 (grub_scsi_write10): Likewise.
23418 (grub_scsi_write12): Likewise.
23419 (grub_scsi_read): Adjust size according to blocksize.
23420 Add checks for invalid blocksize and unaligned transfer.
23421
bee5fe5d 234222009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23423
23424 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23425
ef257b36 23426 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 23427 width glyphs.
23428
3e643f8c 234292009-01-19 Robert Millan <rmh@aybabtu.com>
23430
23431 * config.guess: Update to latest version from config git.
23432 * config.sub: Likewise.
23433
4fa80998 234342009-01-17 Felix Zielcke <fzielcke@z-51.de>
23435
23436 * Makefile.in: Change font compilation to use new grub-mkfont instead
23437 of java version.
23438
23439 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23440 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23441 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23442 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23443 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23444 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23445 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23446 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23447 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23448
7086085b 234492009-01-16 Christian Franke <franke@computer.org>
23450
23451 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23452 (enum grub_ata_timeout_milliseconds): New enum.
23453 (grub_ata_wait_status): Add parameter milliseconds.
23454 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23455 recovery from timed-out commands.
23456 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23457 return grub_errno instead of REG_ERROR.
23458 (grub_ata_pio_write): Add parameter milliseconds.
23459 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23460 Pass milliseconds to grub_ata_wait_status () and
23461 grub_ata_pio_read ().
23462 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23463 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23464 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23465 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23466 It is not suitable for device detection, because DEV bit is ignored,
23467 the command may run too long, and not all devices set the signature
23468 properly.
23469 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23470 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23471 Fix device selection, DEV bit must be set first to address the registers
23472 of the correct device.
23473 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23474 grub_ata_pio_read/write ().
23475 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23476 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23477
4a412913 234782009-01-13 Carles Pina i Estany <carles@pina.cat>
23479
23480 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23481
7795c55e 234822009-01-13 Bean <bean123ch@gmail.com>
d913988c 23483
23484 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23485
7795c55e 234862009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 23487
23488 * Makefile.in: (enable_grub_mkfont): New variable.
23489 (freetype_cflags): Likewise.
23490 (freetype_libs): Likewise.
23491
23492 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23493 (grub_mkfont_SOURCES): New variable.
23494 (grub_mkfont_CFLAGS): Likewise.
23495 (grub_mkfont_LDFLAGS): Likewise.
23496
23497 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23498 library if `--enable-grub-mkfont' is requested.
23499 (enable_grub_mkfont): New variable.
23500 (freetype_cflags): Likewise.
23501 (freetype_libs): Likewise.
23502
23503 * util/grub-mkfont.c: New file.
23504
093af1fe 235052009-01-12 Christian Franke <franke@computer.org>
23506
23507 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23508 mode check. Fix setting of compat_use[].
23509
f36cc108 235102009-01-10 Robert Millan <rmh@aybabtu.com>
23511
23512 Update a few copyright years which we forgot to do in 2008 (only for
23513 files whose changes made in 2008 were copyright-significant)
23514
23515 * Makefile.in: Add 2008 to Copyright line.
23516 * disk/ieee1275/ofdisk.c: Likewise.
23517 * disk/efi/efidisk.c: Likewise.
23518 * kern/dl.c: Likewise.
23519 * kern/sparc64/ieee1275/init.c: Likewise.
23520 * kern/mm.c: Likewise.
23521 * kern/efi/mm.c: Likewise.
23522 * boot/i386/pc/boot.S: Likewise.
23523 * genfslist.sh: Likewise.
23524 * fs/iso9660.c: Likewise.
23525 * fs/hfs.c: Likewise.
23526 * fs/jfs.c: Likewise.
23527 * fs/minix.c: Likewise.
23528 * fs/ufs.c: Likewise.
23529 * gensymlist.sh.in: Likewise.
23530 * genkernsyms.sh.in: Likewise.
23531 * include/grub/misc.h: Likewise.
23532 * include/grub/types.h: Likewise.
23533 * include/grub/symbol.h: Likewise.
23534 * include/grub/elf.h: Likewise.
23535 * include/grub/kernel.h: Likewise.
23536 * include/grub/disk.h: Likewise.
23537 * include/grub/dl.h: Likewise.
23538 * include/grub/i386/linux.h: Likewise.
23539 * include/grub/i386/pc/biosdisk.h: Likewise.
23540 * include/grub/efi/api.h: Likewise.
23541 * include/grub/efi/pe32.h: Likewise.
23542 * include/grub/util/misc.h: Likewise.
23543 * normal/execute.c: Likewise.
23544 * normal/arg.c: Likewise.
23545 * normal/completion.c: Likewise.
23546 * normal/lexer.c: Likewise.
23547 * normal/parser.y: Likewise.
23548 * normal/misc.c: Likewise.
23549 * commands/i386/pc/vbeinfo.c: Likewise.
23550 * commands/hexdump.c: Likewise.
23551 * commands/terminal.c: Likewise.
23552 * commands/ls.c: Likewise.
23553 * commands/help.c: Likewise.
23554 * partmap/pc.c: Likewise.
23555 * loader/efi/chainloader.c: Likewise.
23556 * loader/multiboot_loader.c: Likewise.
23557 * loader/i386/pc/multiboot2.c: Likewise.
23558 * term/efi/console.c: Likewise.
23559 * term/i386/pc/serial.c: Likewise.
23560 * util/lvm.c: Likewise.
23561 * util/console.c: Likewise.
23562 * util/i386/efi/grub-mkimage.c: Likewise.
23563 * util/raid.c: Likewise.
23564
7f02114b 235652009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23566
23567 * commands/videotest.c: Removed include to grub/machine/memory.h.
23568
23569 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23570 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23571 (video_mod_SOURCES): Removed.
23572 (video_mod_CFLAGS): Likewise.
23573 (video_mod_LDFLAGS): Likewise.
23574 (gfxterm_mod_SOURCES): Likewise.
23575 (gfxterm_mod_CFLAGS): Likewise.
23576 (gfxterm_mod_LDFLAGS): Likewise.
23577 (videotest_mod_SOURCES): Likewise.
23578 (videotest_mod_CFLAGS): Likewise.
23579 (videotest_mod_LDFLAGS): Likewise.
23580 (bitmap_mod_SOURCES): Likewise.
23581 (bitmap_mod_CFLAGS): Likewise.
23582 (bitmap_mod_LDFLAGS): Likewise.
23583 (tga_mod_SOURCES): Likewise.
23584 (tga_mod_CFLAGS): Likewise.
23585 (tga_mod_LDFLAGS): Likewise.
23586 (jpeg_mod_SOURCES): Likewise.
23587 (jpeg_mod_CFLAGS): Likewise.
23588 (jpeg_mod_LDFLAGS): Likewise.
23589 (png_mod_SOURCES): Likewise.
23590 (png_mod_CFLAGS): Likewise.
23591 (png_mod_LDFLAGS): Likewise.
23592
23593 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23594 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23595 (video_mod_SOURCES): Added.
23596 (video_mod_CFLAGS): Likewise.
23597 (video_mod_LDFLAGS): Likewise.
23598 (videotest_mod_SOURCES): Likewise.
23599 (videotest_mod_CFLAGS): Likewise.
23600 (videotest_mod_LDFLAGS): Likewise.
23601 (bitmap_mod_SOURCES): Likewise.
23602 (bitmap_mod_CFLAGS): Likewise.
23603 (bitmap_mod_LDFLAGS): Likewise.
23604 (tga_mod_SOURCES): Likewise.
23605 (tga_mod_CFLAGS): Likewise.
23606 (tga_mod_LDFLAGS): Likewise.
23607 (jpeg_mod_SOURCES): Likewise.
23608 (jpeg_mod_CFLAGS): Likewise.
23609 (jpeg_mod_LDFLAGS): Likewise.
23610 (png_mod_SOURCES): Likewise.
23611 (png_mod_CFLAGS): Likewise.
23612 (png_mod_LDFLAGS): Likewise.
23613 (gfxterm_mod_SOURCES): Likewise.
23614 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 23615 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 23616
23617 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23618 grub/machine/console.h.
23619
644fff97 236202009-01-04 Jerone Young <jerone@gmail.com>
23621
23622 Make on screen instructions clearer
23623
23624 Based on patch created by Jidanni <jidanni@jidanni.org>
23625
23626 * normal/menu.c: print clearer instructions on the screen
23627
1e901a75 236282009-01-02 Colin D Bennett <colin@gibibit.com>
23629
23630 New font engine.
34c44600 23631
1e901a75 23632 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23633 build system and fixed gfxterm.c to work with different sized fonts.
23634
23635 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 23636
1e901a75 23637 * configure: Re-generated.
34c44600 23638
1e901a75 23639 * DISTLIST: Removed font/manager.c.
23640 Added font/font.c.
23641 Added font/font_cmd.c.
34c44600 23642
1e901a75 23643 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23644 compilation.
34c44600 23645
1e901a75 23646 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 23647
23648 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 23649
23650 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 23651
1e901a75 23652 * normal/menu.c: Likewise.
34c44600 23653
1e901a75 23654 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23655 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 23656
1e901a75 23657 * include/grub/font.h: Replaced with new file.
34c44600 23658
1e901a75 23659 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23660 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23661 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23662 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23663 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 23664 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 23665 fg_red, fg_green, fg_blue, fg_alpha.
23666 (grub_video_adapter): Removed blit_glyph.
34c44600 23667 (grub_video_blit_glyph): Removed.
23668
1e901a75 23669 * font/manager.c: Removed file.
34c44600 23670
23671 * font/font.c: New file.
23672
1e901a75 23673 * font/font_cmd.c: Likewise.
34c44600 23674
1e901a75 23675 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 23676
1e901a75 23677 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23678 (grub_video_vbe_map_rgba): Likewise.
23679 (grub_video_vbe_unmap_color_int): Likewise.
23680 (grub_video_vbe_blit_glyph): Removed.
23681 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 23682
1e901a75 23683 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23684 (get_pixel): Likewise.
34c44600 23685 (set_pixel): Likewise.
23686
1e901a75 23687 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 23688
1e901a75 23689 * term/gfxterm.c: Adapted to new font engine.
34c44600 23690
1e901a75 23691 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 23692
1e901a75 23693 * term/i386/pc/vga.c: Likewise.
34c44600 23694
1e901a75 23695 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 23696
1e901a75 23697 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 23698
1e901a75 23699 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23700
1e901a75 23701 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23702
1e901a75 23703 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 23704
1e901a75 23705 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 23706
1e901a75 23707 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 23708
1e901a75 23709 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 23710
1e901a75 23711 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23712
23713 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 23714
1e901a75 23715 * util/grub-mkconfig_lib.in: Changed font extension.
23716
278922e8 237172008-12-28 Felix Zielcke <fzielcke@z-51.de>
23718
23719 * util/getroot.c (grub_util_get_grub_dev): Add support for
23720 /dev/md/dNNpNN style partitionable mdraid devices.
23721
3ced05cf 237222008-12-12 Alex Smith <alex@alex-smith.me.uk>
23723
23724 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23725 at a time limit of the PXE TFTP API correctly.
23726 (grub_pxefs_close): Likewise.
23727
7fd0ee30 237282008-11-29 Robert Millan <rmh@aybabtu.com>
23729
34c44600 23730 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 23731 grub_ata_device_initialize() calls.
23732
34c44600 237332008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 23734
23735 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23736 iteration failed.
23737 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23738
89313780 237392008-11-28 Robert Millan <rmh@aybabtu.com>
23740
23741 Fix build on powerpc-ieee1275. Based on patch created by
23742 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23743 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23744 `kern/ieee1275/mmap.c'.
23745 * include/grub/powerpc/ieee1275/memory.h: New file.
23746
15257703 23747 Provide grub-install on coreboot.
23748 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23749 (grub_install_SOURCES): New variable.
23750 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23751 usable on coreboot.
23752
9fc5388a 237532008-11-25 Felix Zielcke <fzielcke@z-51.de>
23754
23755 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23756 to `grub_term_input_t'.
23757 (grub_term_get_current_output): Change return type to
23758 `grub_term_output_t'.
23759
bc3a2f31 237602008-11-22 Robert Millan <rmh@aybabtu.com>
23761
34c44600 23762 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 23763 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23764 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23765 grub_vga_text_cls().
23766
80fc88f2 23767 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 23768 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 23769
cbf36fd3 23770 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23771 to 0x200000 (avoids trouble with some OFW implementations, and matches
23772 with the one in Yaboot).
23773 Reported by Manoel Abranches
23774
73e8e268 237752008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 23776
23777 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23778 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23779
73e8e268 23780 * util/grub-mkconfig_lib.in (grub_warn): New function.
23781 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23782 warnings, to obtain consistent formatting.
23783 * util/grub.d/00_header.in: Likewise.
23784 * util/update-grub_lib.in: Likewise.
23785
e94045a1 23786 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 23787 Move comment text to `#error' stanza.
e94045a1 23788
79d29fd7 23789 Harmonize ieee1275's grub_available_iterate() with the generic
23790 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23791 build problem on i386-ieee1275):
23792 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23793 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23794 parameter `type'. Update all users of this function.
23795 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23796 `kern/ieee1275/mmap.c'.
23797 * kern/ieee1275/init.c
23798 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23799 with ...
23800 (grub_machine_mmap_iterate): ... this.
23801 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23802 return type to `grub_err_t'. Update all implementations of this
23803 function prototype.
23804 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23805 Likewise.
23806
60d6b16e 23807 Add `lsmmap' command (lists firmware-provided memory map):
23808 * commands/lsmmap.c: New file.
23809 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23810 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23811 variables.
23812 * conf/powerpc-ieee1275.rmk: Likewise.
23813 * conf/i386-coreboot.rmk: Likewise.
23814 * conf/i386-ieee1275.rmk: Likewise.
23815
ebaaf49b 238162008-11-19 Robert Millan <rmh@aybabtu.com>
23817
23818 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 23819 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23820 constraints to initrd allocation (based on code from
23821 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23822 for Linux to find it.
ebaaf49b 23823
dfab719f 238242008-11-14 Robert Millan <rmh@aybabtu.com>
23825
23826 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23827 order to cope with duplicate slashes.
23828
10fc3eb9 238292008-11-14 Robert Millan <rmh@aybabtu.com>
23830
23831 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23832 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23833 don't want to mess with lower memory, because it is used in the Linux
23834 loader.
23835
23836 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 23837 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 23838 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23839 is in our heap (probably as a result of it being corrupted during
2f2a3442 23840 decompression). Add #error instance with comment to explain why this
23841 loader isn't currently usable on PC/BIOS.
10fc3eb9 23842
e2e07847 238432008-11-14 Robert Millan <rmh@aybabtu.com>
23844
23845 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 23846 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 23847
fe8e8d69 238482008-11-12 Robert Millan <rmh@aybabtu.com>
23849
23850 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23851
23852 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23853 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23854 from here ...
23855 * include/grub/i386/pc/memory.h: ... to here.
23856
976b07d0 238572008-11-12 Robert Millan <rmh@aybabtu.com>
23858
23859 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23860 split).
23861
23862 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23863 (grub_console_cur_color, grub_console_real_putchar)
23864 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23865 (grub_console_setcolorstate, grub_console_setcolor)
23866 (grub_console_getcolor): Move from here ...
23867 * include/grub/i386/vga_common.h: ... to here (new file).
23868
23869 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23870 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23871 `<grub/i386/io.h>'.
23872 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23873 `<grub/i386/vga_common.h>'.
23874
76679cd3 238752008-11-12 Robert Millan <rmh@aybabtu.com>
23876
23877 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23878 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23879 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23880 variables.
23881 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23882 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23883
23884 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23885 grub_console_init() with call to grub_vga_text_init().
23886 (grub_machine_fini): Replace call to
23887 grub_console_fini() with call to grub_vga_text_fini() and
23888 grub_at_keyboard_fini().
23889
23890 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23891 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23892 (grub_console_setcolorstate, grub_console_setcolor)
23893 (grub_console_getcolor): New function prototypes.
23894
23895 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23896 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23897 (grub_vga_text_setcursor): Static-ize.
23898 (grub_vga_text_term): New structure.
23899 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23900
23901 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23902 (grub_console_cur_color, grub_console_standard_color)
23903 (grub_console_normal_color, grub_console_highlight_color)
23904 (map_char, grub_console_putchar, grub_console_getcharwidth)
23905 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23906 (grub_console_getcolor): Move from here ...
23907 * term/i386/vga_common.c: ... to here (same function names).
23908
95b841d3 239092008-11-12 Robert Millan <rmh@aybabtu.com>
23910
23911 Use newly-added Multiboot support in coreboot.
23912
23913 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23914 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23915
23916 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23917 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23918 (codestart): Store the MBI in `startup_multiboot_info' when we're
23919 being loaded using Multiboot.
23920
23921 * kern/i386/coreboot/init.c (grub_machine_init): Move
23922 grub_at_keyboard_init() call to beginning of function (useful for
23923 debugging). Call grub_machine_mmap_init() before attempting to use
23924 grub_machine_mmap_iterate().
23925 (grub_lower_mem, grub_upper_mem): Move from here ...
23926 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23927 here (new file).
23928
23929 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23930 function prototype.
23931
761ca975 239322008-11-12 Robert Millan <rmh@aybabtu.com>
23933
23934 Fix a regression introduced by the at_keyboard.mod split. Because
23935 some terminals are default on some platforms and non-default on
23936 others, the first terminal being registered determines which is
23937 going to be default.
23938
23939 * kern/term.c (grub_term_register_input): If this is the first
23940 terminal being registered, set it as the current one.
23941 (grub_term_register_output): Likewise.
23942
23943 * term/efi/console.c (grub_console_init): Do not call
23944 grub_term_set_current_output() or grub_term_set_current_input().
23945 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23946 * term/i386/pc/console.c (grub_console_init): Likewise.
23947 (grub_console_fini): Do not call grub_term_set_current_input()
23948 (but leave grub_term_set_current_output() to restore text mode).
23949
6c529df7 239502008-11-10 Robert Millan <rmh@aybabtu.com>
23951
23952 * util/grub.d/00_header.in: Add backward compatibility check for
23953 versions of terminal.mod that don't understand `terminal_input' or
23954 `terminal_output'.
23955
132e4113 239562008-11-09 Robert Millan <rmh@aybabtu.com>
23957
23958 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23959 `terminal_input' / `terminal_output', not `terminal'.
23960
ac293d50 239612008-11-08 Robert Millan <rmh@aybabtu.com>
23962
23963 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 23964 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 23965
0025933a 239662008-11-08 Robert Millan <rmh@aybabtu.com>
23967
23968 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 23969 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 23970 members. Update all users.
23971 * util/console.c (grub_ncurses_term): Split in ...
23972 (grub_ncurses_term_input): ... this, and ...
23973 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 23974 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 23975
37c86336 239762008-11-08 Robert Millan <rmh@aybabtu.com>
23977
23978 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
23979 (PKGDATA): Add $(pkgdata_SRCDIR).
23980 (pkglib_BUILDDIR): New variable.
23981 (pkgdata_SRCDIR): New variable.
23982 (build_env.mk): New target.
23983 (include_DATA): New variable.
23984 (install-local): Install $(include_DATA) files in $(includedir).
23985
b6c15a2d 239862008-11-07 Pavel Roskin <proski@gnu.org>
23987
d99d46f1 23988 * gendistlist.sh: Use C locale for sorting to ensure consistent
23989 output on all systems.
23990
b6c15a2d 23991 * util/grub.d/00_header.in: Remove incorrect space before
23992 "serial".
23993
c32ee8c9 239942008-11-07 Robert Millan <rmh@aybabtu.com>
23995
23996 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
23997 per specification.
23998 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
23999 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24000 (based on find_multi_boot1_header).
24001 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24002 using find_multi_boot2_header(), and abort if neither Multiboot or
24003 Multiboot headers were found.
24004
651c29b7 240052008-11-07 Robert Millan <rmh@aybabtu.com>
24006
24007 Modularize at_keyboard.mod:
24008
24009 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24010 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24011 (at_keyboard_mod_LDFLAGS): New variables.
24012
24013 Actual terminal split:
24014
24015 * include/grub/term.h (struct grub_term): Split in ...
24016 (struct grub_term_input): ... this, and ...
24017 (struct grub_term_output): ... this. Update all users.
24018 (grub_term_set_current): Split in ...
24019 (grub_term_set_current_input): ... this, and ...
24020 (grub_term_set_current_output): ... this.
24021 (grub_term_get_current): Split in ...
24022 (grub_term_get_current_input): ... this, and ...
24023 (grub_term_get_current_output): ... this.
24024 (grub_term_register): Split in ...
24025 (grub_term_register_input): ... this, and ...
24026 (grub_term_register_output): ... this.
24027 (grub_term_unregister): Split in ...
24028 (grub_term_unregister_input): ... this, and ...
24029 (grub_term_unregister_output): ... this.
24030 (grub_term_iterate): Split in ...
24031 (grub_term_iterate_input): ... this, and ...
24032 (grub_term_iterate_output): ... this.
24033
24034 * kern/term.c (grub_term_list): Split in ...
24035 (grub_term_list_input): ... this, and ...
24036 (grub_term_list_output): ... this. Update all users.
24037 (grub_cur_term): Split in ...
24038 (grub_cur_term_input): ... this, and ...
24039 (grub_cur_term_output): ... this. Update all users.
24040 (grub_term_set_current): Split in ...
24041 (grub_term_set_current_input): ... this, and ...
24042 (grub_term_set_current_output): ... this.
24043 (grub_term_get_current): Split in ...
24044 (grub_term_get_current_input): ... this, and ...
24045 (grub_term_get_current_output): ... this.
24046 (grub_term_register): Split in ...
24047 (grub_term_register_input): ... this, and ...
24048 (grub_term_register_output): ... this.
24049 (grub_term_unregister): Split in ...
24050 (grub_term_unregister_input): ... this, and ...
24051 (grub_term_unregister_output): ... this.
24052 (grub_term_iterate): Split in ...
24053 (grub_term_iterate_input): ... this, and ...
24054 (grub_term_iterate_output): ... this.
24055
24056 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24057 a check for input and one for output (and only attempt to get keys
24058 from user when input works).
24059
24060 * util/grub-probe.c (grub_term_get_current): Split in ...
24061 (grub_term_get_current_input): ... this, and ...
24062 (grub_term_get_current_output): ... this.
24063 * util/grub-fstest.c: Likewise.
24064 * util/i386/pc/grub-setup.c: Likewise.
24065 * util/grub-editenv.c: Likewise.
24066
24067 Portability adjustments:
24068
24069 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24070 `term/i386/pc/at_keyboard.c'.
24071 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24072 grub_keyboard_controller_init() (now handled by terminal .init).
24073 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24074 grub_at_keyboard_init().
24075 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24076 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24077 at_keyboard.mod via input terminal interface).
24078 * include/grub/i386/coreboot/console.h: Convert into a stub for
24079 `<grub/i386/pc/console.h>'.
24080
24081 Migrate full terminals to new API:
24082
24083 * term/efi/console.c (grub_console_term): Split into ...
24084 (grub_console_term_input): ... this, and ...
24085 (grub_console_term_output): ... this. Update all users.
24086 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24087 (grub_ofconsole_init): Split into ...
24088 (grub_ofconsole_init_input): ... this, and ...
24089 (grub_ofconsole_init_output): ... this.
24090 (grub_ofconsole_term): Split into ...
24091 (grub_ofconsole_term_input): ... this, and ...
24092 (grub_ofconsole_term_output): ... this. Update all users.
24093 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24094 (grub_serial_term_input): ... this, and ...
24095 (grub_serial_term_output): ... this. Update all users.
24096 * term/i386/pc/console.c (grub_console_term): Split into ...
24097 (grub_console_term_input): ... this, and ...
24098 (grub_console_term_output): ... this. Update all users.
24099 (grub_console_term_input): Only enable it on PC/BIOS platform.
24100 (grub_console_init): Remove grub_keyboard_controller_init() call.
24101
24102 Migrate input terminals to new API:
24103
24104 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24105 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24106 i386-specific anyway).
24107 (grub_console_checkkey): Rename to ...
24108 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24109 users.
24110 (grub_keyboard_controller_orig): New variable.
24111 (grub_console_getkey): Rename to ...
24112 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24113 users.
24114 (grub_keyboard_controller_init): Static-ize. Save original
24115 controller value so that it can be restored ...
24116 (grub_keyboard_controller_fini): ... here (new function).
24117 (grub_at_keyboard_term): New structure.
24118 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24119 functions.
24120
24121 Migrate output terminals to new API:
24122
24123 * term/i386/pc/vga.c (grub_vga_term): Change type to
24124 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24125 members. Update all users.
24126 * term/gfxterm.c (grub_video_term): Change type to
24127 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24128 members. Update all users.
24129 * include/grub/i386/pc/console.h (grub_console_checkkey)
24130 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24131 etc).
24132
24133 Migrate `terminal' command and userland tools to new API:
24134
24135 * commands/terminal.c (grub_cmd_terminal): Split into ...
24136 (grub_cmd_terminal_input): ... this, and ...
24137 (grub_cmd_terminal_output): ... this.
24138 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24139 `terminal_input' and `terminal_output'.
24140 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24141 `terminal_input' / `terminal_output' API.
24142 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24143 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24144 provided ${GRUB_TERMINAL}, convert it).
24145
96e5d876 241462008-11-04 Robert Millan <rmh@aybabtu.com>
24147
24148 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24149 for FreeBSD.
24150 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24151
556f3775 241522008-11-03 Bean <bean123ch@gmail.com>
24153
24154 * kern/elf.c (grub_elf32_load): Revert to previous code.
24155 (grub_elf64_load): Likewise.
24156
24157 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24158
926b9823 241592008-11-01 Robert Millan <rmh@aybabtu.com>
24160
24161 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24162 (TARGET_CPPFLAGS): Likewise.
24163 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24164
1432e958 241652008-11-01 Carles Pina i Estany <carles@pina.cat>
24166
24167 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24168
dba3f844 241692008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 24170
24171 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24172 addition of objects until the code is not going to be able to fail.
24173
dba3f844 241742008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 24175
24176 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24177 (add a missing NULL check, and correct them by moving the pointer
24178 operations after the actual check).
24179
7ab28c21 241802008-10-29 Robert Millan <rmh@aybabtu.com>
24181
24182 * util/i386/pc/grub-install.in: Handle empty string as output from
24183 make_system_path_relative_to_its_root().
24184
1b7748eb 241852008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24186
24187 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24188 circular metadata worst case scenario. If the metadata is circular
24189 then copy the wrap in place.
24190 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24191 project lib/format_text/layout.h
24192 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24193
c9618ab2 241942008-10-03 Felix Zielcke <fzielcke@z-51.de>
24195
7a36edca 24196 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 24197
bf981c62 241982008-10-03 Felix Zielcke <fzielcke@z-51.de>
24199
24200 * util/update-grub_lib.in: Mention filename in warning message.
24201
6d994591 242022008-09-29 Felix Zielcke <fzielcke@z-51.de>
24203
24204 * NEWS: Update for rename of update-grub to grub-mkconfig.
24205
18ade780 242062008-09-29 Felix Zielcke <fzielcke@z-51.de>
24207
24208 * util/update-grub_lib.in: Copy to ...
24209 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 24210 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 24211 * util/update-grub.in: Rename to ...
24212 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24213 option. Add `--output' option to allow users to specify the generated
24214 configuration file. Default to stdout.
24215 (update_grub_dir): Rename to ...
24216 (grub_mkconfig_dir): ... this.
24217 (grub_cfg): Default to an empty string.
24218 * conf/common.rmk (update-grub): Rename to ...
24219 (grub-mkconfig): ... this.
24220 (update-grub_lib): Copy to ...
24221 (grub-mkconfig_lib): ... this.
24222 (update-grub_SCRIPTS): Copy to ...
24223 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24224 (update-grub_DATA): Rename to ...
24225 (grub-mkconfig_DATA): ... this.
24226
556ce6ac 242272008-09-28 Robert Millan <rmh@aybabtu.com>
24228
24229 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24230 to `modified'. Add the real `created' field.
24231 (grub_iso9660_uuid): Use `modified' rather than `created' for
24232 constructing the UUID.
24233
242342008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 24235
24236 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24237 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24238
92274e85 242392008-09-28 Bean <bean123ch@gmail.com>
24240
24241 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24242 Thanks to Christian Franke for finding this bug.
24243
add6f17a 242442008-09-25 Robert Millan <rmh@aybabtu.com>
24245
24246 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24247 instances of grub_util_get_disk_name() (see previous commit).
24248
d2a367b8 242492008-09-25 Robert Millan <rmh@aybabtu.com>
24250
24251 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24252 `util/i386/get_disk_name.c'.
24253 * conf/i386-efi.rmk: Likewise.
24254 * conf/x86_64-efi.rmk: Likewise.
24255 * conf/i386-coreboot.rmk: Likewise.
24256 * conf/i386-ieee1275.rmk: Likewise.
24257 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24258 `util/ieee1275/get_disk_name.c'.
24259 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24260 * util/ieee1275/get_disk_name.c: Remove file.
24261 * util/i386/get_disk_name.c: Remove file.
24262 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24263 "hd%d" for device.map entries, rather than using
24264 grub_util_get_disk_name().
24265
81a06771 242662008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 24267
24268 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24269 warning.
24270 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24271
5a004279 242722008-09-24 Carles Pina i Estany <carles@pina.cat>
24273
24274 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24275 Changed to 0x5100.
24276 (GRUB_TERM_PPAGE): Changed to 0x4900.
24277
397093d3 242782008-09-24 Robert Millan <rmh@aybabtu.com>
24279
24280 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24281 macros (they were i386-pc specific).
24282 * include/grub/sparc64/ieee1275/console.h: Likewise.
24283 * include/grub/efi/console.h: Likewise.
24284
a91b6c7c 242852008-09-22 Bean <bean123ch@gmail.com>
24286
24287 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24288 resident and in attribute list.
24289
24290 * include/grub/ntfs.h (BMP_LEN): Removed.
24291
c40fd116 242922008-09-22 Bean <bean123ch@gmail.com>
24293
81a06771 24294 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 24295 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24296
24297 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24298 error occurs, as grub_disk_open will call grub_disk_close, which will
24299 call p->close (scsi).
24300
81a06771 243012008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 24302
24303 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24304 (AC_PREREQ): Bumped to 2.59.
24305 (AC_TRY_COMPILE): Replace obsolete macro with ...
24306 (AC_COMPILE_IFELSE): ... this.
24307 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24308 (AC_LINK_IFELSE): ... this.
24309
5dc43410 243102008-09-21 Felix Zielcke <fzielcke@z-51.de>
24311
24312 * autogen.sh: Add a call to `gendistlist.sh'.
24313
9035dce4 243142008-09-19 Christian Franke <franke@computer.org>
24315
24316 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24317 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24318 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24319 Export __enable_execute_stack() to modules.
24320 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24321 New function.
24322
7fd75377 243232008-09-09 Felix Zielcke <fzielcke@z-51.de>
24324
040030b3 24325 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24326 Sort the list.
24327
243282008-09-09 Felix Zielcke <fzielcke@z-51.de>
24329
24330 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 24331 #include <grub/util/hostdisk.h>.
24332
89d5ffcf 243332008-09-08 Robert Millan <rmh@aybabtu.com>
24334
24335 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24336 segments when their filesz is zero (grub_file_read() interprets
81a06771 24337 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 24338 Use `lowest_segment' rather than 0 for calculating the current
24339 segment load address.
24340
40da438f 243412008-09-08 Robert Millan <rmh@aybabtu.com>
24342
24343 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24344 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24345 clobbered useful information.
24346
ddbf5556 243472008-09-08 Robert Millan <rmh@aybabtu.com>
24348
24349 * include/grub/util/biosdisk.h: Move to ...
24350 * include/grub/util/hostdisk.h: ... here. Update all users.
24351 * util/biosdisk.c: Move to ...
24352 * util/hostdisk.c: ... here. Update all users.
24353
783d0f48 243542008-09-07 Robert Millan <rmh@aybabtu.com>
24355
24356 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24357 variables.
24358 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24359 and length can be stored directly in the `mbi->mmap_addr' and
24360 `mbi->mmap_length' struct fields.
24361
548e2ea5 243622008-09-07 Robert Millan <rmh@aybabtu.com>
24363
24364 * conf/i386.rmk: New file. Provides declaration for building
24365 `cpuid.mod'.
24366 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24367 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24368 variables.
24369 Include `conf/i386.mk'.
24370 * conf/i386-efi.rmk: Likewise.
24371 * conf/x86_64-efi.rmk: Likewise.
24372 * conf/i386-coreboot.rmk: Likewise.
24373 * conf/i386-ieee1275.rmk: Likewise.
24374
0ea85a37 243752008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24376
24377 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24378 Adds optimization support for BGR based modes.
24379
24380 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24381 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24382 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24383 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24384 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24385 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24386 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24388 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24389 (grub_video_i386_vbeblit_index_index): Likewise.
24390 (grub_video_i386_vbeblit_replace_directN): Added.
24391 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24392 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24393 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24394 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24395 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24396 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 24397 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 24398 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24399 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24400 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24401 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24402 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24403 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24404
24405 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24406 (grub_video_i386_vbefill_R8G8B8): Likewise.
24407 (grub_video_i386_vbefill_index): Likewise.
24408 (grub_video_i386_vbefill_direct32): Added.
24409 (grub_video_i386_vbefill_direct24): Likewise.
24410 (grub_video_i386_vbefill_direct16): Likewise.
24411 (grub_video_i386_vbefill_direct8): Likewise.
24412
81a06771 24413 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 24414 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24415 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24416 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24417 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24418 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 24419
0ea85a37 24420 * video/video.c (grub_video_get_blit_format): Updated to use new
24421 blit formats. Added handling for 16 bit color modes.
81a06771 24422
24423 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 24424 fillers.
24425 (common_blitter): Updated to use new blitters.
24426
24427 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24428 Removed.
24429 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24431 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24432 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24433 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24434 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24436 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24437 (grub_video_i386_vbeblit_index_index): Likewise.
24438 (grub_video_i386_vbeblit_replace_directN): Added.
24439 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24440 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24441 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24442 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24443 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24444 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24445 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24446 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24447 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24448 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24449 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24450 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24451 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 24452
0ea85a37 24453 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24454 (grub_video_i386_vbefill_R8G8B8): Likewise.
24455 (grub_video_i386_vbefill_index): Likewise.
24456 (grub_video_i386_vbefill_direct32): Added.
24457 (grub_video_i386_vbefill_direct24): Likewise.
24458 (grub_video_i386_vbefill_direct16): Likewise.
24459 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 24460
0ea85a37 24461 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24462 types.
81a06771 24463
0ea85a37 24464 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24465 types.
81a06771 24466
0ea85a37 24467 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24468 blitter types.
81a06771 24469
0ea85a37 24470 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24471 types.
24472
e8a83df6 244732008-09-06 Felix Zielcke <fzielcke@z-51.de>
24474
24475 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24476 RAID level 1.
24477
6bcd8ee5 244782008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 24479
6bcd8ee5 24480 * fs/iso9660.c (grub_iso9660_date): New structure.
24481 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24482 (grub_iso9660_uuid): New function.
c375ae58 24483
59261157 244842008-09-05 Bean <bean123ch@gmail.com>
24485
24486 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24487
24488 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24489 insensitive bit for names in Win32 and Win32 & DOS namespace.
24490
24491 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24492
24493 * include/grub/types.h (LONG_MAX): Likewise.
24494
58b6645a 244952008-09-04 Felix Zielcke <fzielcke@z-51.de>
24496
4ee55921 24497 * util/getroot.c: Include <config.h>.
24498 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24499 add support for /dev/md/N devices and handle LVM double dash escaping.
24500
245012008-09-04 Felix Zielcke <fzielcke@z-51.de>
24502
24503 * config.guess: Update to latest version from config git.
24504 * config.sub: Likewise.
58b6645a 24505
9124f65d 245062008-09-03 Robert Millan <rmh@aybabtu.com>
24507
24508 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24509 `disk->total_sectors'.
24510
81a06771 245112008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 24512
24513 * include/grub/normal.h: Fixed incorrect comment for
24514 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24515
81a06771 245162008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 24517
24518 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24519 values with defines.
24520
24521 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24522 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24523 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24524 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24525 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24526 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24527 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24528 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24529 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24530 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24531 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24532 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24533 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24534 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24535 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24536 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24537 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24538 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24539 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24540
93d5cbf8 245412008-08-31 Robert Millan <rmh@aybabtu.com>
24542
24543 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24544 declaration.
24545 (grub_multiboot): Fix a few warnings.
24546
21751d50 245472008-08-31 Robert Millan <rmh@aybabtu.com>
24548
24549 * loader/i386/pc/multiboot.c: Update comment not to say that
24550 boot_device support is unimplemented.
24551
e27a75c5 245522008-08-31 Robert Millan <rmh@aybabtu.com>
24553
24554 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24555 or memory map support are unimplemented.
24556
81a06771 245572008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 24558
24559 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24560
81a06771 245612008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 24562
24563 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24564 total video memory in 'vbeinfo' output; show color format details for
24565 each video mode.
24566
7c5d8d95 245672008-08-30 Pavel Roskin <proski@gnu.org>
24568
24569 * util/genmoddep.c: Remove for real this time.
24570 * DISTLIST: Remove util/genmoddep.c.
24571
4cebd25a 245722008-08-30 Robert Millan <rmh@aybabtu.com>
24573
24574 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24575 as required by Multiboot spec (it was already 4-byte aligned, but
24576 only by chance).
24577
b497a269 245782008-08-29 Pavel Roskin <proski@gnu.org>
24579
e3925185 24580 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24581 * kern/powerpc/ieee1275/startup.S: ... this.
24582 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24583 * DISTLIST: Likewise.
24584
b497a269 24585 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24586 grub/cpu/kernel.h. Add start label for consistency with other
24587 platforms. Add grub_prefix immediately after start. Add jump
24588 to the code after grub_prefix.
24589 * include/grub/powerpc/kernel.h: Provide valid values for
24590 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24591
6e5a42fe 245922008-08-29 Bean <bean123ch@gmail.com>
24593
24594 * configure.ac: Change host_os to cygwin for mingw.
24595 (asprintf): New check for function.
24596
24597 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24598 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24599
24600 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 24601 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 24602 sync, sleep and grub_util_get_disk_size for mingw.
24603
24604 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24605 to get size in mingw.
24606 (open_device): Use flag O_BINARY if it's defined.
24607 (find_root_device): Add dummy code for mingw.
24608
24609 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24610 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24611 (get_scsi_disk_name): Return 0 for mingw.
24612
24613 * util/hostfs.c: #include <grub/util/misc.h>.
24614 (grub_hostfs_open): Use "rb" flag to open file, use
24615 grub_util_get_disk_size to get disk size for mingw.
24616
24617 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24618 (asprintf): New function if HAVE_ASPRINTF is not set.
24619 (sync): New function for mingw.
24620 (sleep): Likewise.
24621 (grub_util_get_disk_size): Likewise.
24622
ab3f2673 246232008-08-28 Pavel Roskin <proski@gnu.org>
24624
24625 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24626 kern/time.c.
24627
1c282483 246282008-08-28 Robert Millan <rmh@aybabtu.com>
24629
24630 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24631
678e849c 246322008-08-28 Robert Millan <rmh@aybabtu.com>
24633
24634 Change find_grub_drive() syntax so it doesn't prevent it from
24635 detecting NULL names as errors.
24636
24637 * util/biosdisk.c (find_grub_drive): Move free slot search code
24638 from here ...
24639 (find_free_slot): ... to here.
24640 (read_device_map): Use find_free_slot() to search for free slots.
24641
965c75ca 246422008-08-27 Marco Gerards <marco@gnu.org>
24643
24644 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24645 (scsi_mod_SOURCES): New variable.
24646 (scsi_mod_CFLAGS): Likewise
24647 (scsi_mod_LDFLAGS): Likewise.
24648
24649 * disk/scsi.c: New file.
24650
24651 * include/grub/scsi.h: Likewise.
24652
24653 * include/grub/scsicmd.h: Likewise.
24654
24655 * disk/ata.c: Include <grub/scsi.h>.
24656 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24657 instead.
24658 (grub_ata_iterate): Skip ATAPI devices.
24659 (grub_ata_open): Only handle ATAPI devices.
24660 (struct grub_atapi_read): Removed.
24661 (grub_atapi_readsector): Likewise.
24662 (grub_ata_read): No longer handle ATAPI devices.
24663 (grub_ata_write): Likewise.
24664 (grub_atapi_iterate): New function.
24665 (grub_atapi_read): Likewise.
24666 (grub_atapi_write): Likewise.
24667 (grub_atapi_open): Likewise.
24668 (grub_atapi_close): Likewise.
24669 (grub_atapi_dev): New variable.
24670 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24671 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24672
24673 * include/grub/disk.h (enum grub_disk_dev_id): Add
24674 `GRUB_DISK_DEVICE_SCSI_ID'.
24675
c07ae501 246762008-08-26 Robert Millan <rmh@aybabtu.com>
24677
24678 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24679 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24680 descriptive.
24681
5ed20adc 246822008-08-23 Bean <bean123ch@gmail.com>
24683
24684 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24685 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24686 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24687 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24688 dm_nv.mod.
24689 (raid5rec_mod_SOURCES): New macro.
24690 (raid5rec_mod_CFLAGS): Likewise.
24691 (raid5rec_mod_LDFLAGS): Likewise.
24692 (raid6rec_mod_SOURCES): Likewise.
24693 (raid6rec_mod_CFLAGS): Likewise.
24694 (raid6rec_mod_LDFLAGS): Likewise.
24695 (mdraid_mod_SOURCES): Likewise.
24696 (mdraid_mod_CFLAGS): Likewise.
24697 (mdraid_mod_LDFLAGS): Likewise.
24698 (dm_nv_mod_SOURCES): Likewise.
24699 (dm_nv_mod_CFLAGS): Likewise.
24700 (dm_nv_mod_LDFLAGS): Likewise.
24701
24702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24703 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24704 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24705
24706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24707 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24708
24709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24710
24711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24712
24713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24714
24715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24716
24717 * disk/raid5_recover.c: New file.
24718
24719 * disk/raid6_recover.c: Likewise.
24720
24721 * disk/mdraid_linux.c: Likewise.
24722
24723 * disk/dmraid_nvidia.c: Likewise.
24724
24725 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24726 ULONG_MAX.
24727
24728 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24729 calculate the size of raid device.
24730 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24731 different layout of raid5.
24732 (grub_raid_scan_device): Remove code specific to mdraid.
24733 (grub_raid_list): New variable.
24734 (free_array): New function.
24735 (grub_raid_register): Likewise.
24736 (grub_raid_unregister): Likewise.
24737 (grub_raid_rescan): Likewise.
24738 (GRUB_MOD_INIT): Don't iterate device here.
24739 (GRUB_MOD_FINI): Use free_array to release resource.
24740
24741 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24742 (grub_raid5_recover_func_t): New function variable type.
24743 (grub_raid6_recover_func_t): Likewise.
24744 (grub_raid5_recover_func): New variable.
24745 (grub_raid6_recover_func): Likewise.
24746 (grub_raid_register): New function.
24747 (grub_raid_unregister): Likewise.
24748 (grub_raid_rescan): Likewise.
24749 (grub_raid_block_xor): Likewise.
24750
24751 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24752 (CMD_CRC): New macro.
24753 (part): Removed.
24754 (read_file): Handle device as well as file.
24755 (cmd_crc): New function.
24756 (fstest): Handle multiple disks.
24757 (options): Remove part, raw and long, add root and diskcount.
24758 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 24759 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 24760 add handling for the new options, support multiple disks.
24761
24762 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24763
29c18915 247642008-08-23 Bean <bean123ch@gmail.com>
24765
24766 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24767
24768 * genfslist.sh: Ignore kernel.mod.
24769
24770 * genpartmaplist.sh: Likewise.
24771
8415f261 247722008-08-23 Robert Millan <rmh@aybabtu.com>
24773
24774 * util/getroot.c (find_root_device): Skip anything that starts with
24775 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24776
d5a7dc5b 247772008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 24778
d5a7dc5b 24779 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24780 * util/grub.d/00_header.in: Allow the administrator to change default
24781 gfxmode via ${GRUB_GFXMODE}.
24782
380cfbb4 247832008-08-21 Felix Zielcke <fzielcke@z-51.de>
24784
24785 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24786
c9baafe7 247872008-08-21 Robert Millan <rmh@aybabtu.com>
24788
24789 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24790 loader.
24791 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24792 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24793
e290bef2 247942008-08-20 Carles Pina i Estany <carles@pina.cat>
24795
24796 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24797 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24798
f9dbfc96 247992008-08-19 Robert Millan <rmh@aybabtu.com>
24800
24801 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24802 (struct grub_virtual_screen): Remove `cursor_color'.
24803 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24804 initialization.
24805 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24806
dd6bd6ab 248072008-08-18 Robert Millan <rmh@aybabtu.com>
24808
24809 Unify (identical) linux_normal.c files.
24810 * loader/i386/efi/linux_normal.c: Move from here ...
24811 * loader/linux_normal.c: ... to here. Update all users.
24812 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24813 * loader/i386/ieee1275/linux_normal.c: Likewise.
24814
7f42f83e 248152008-08-18 Robert Millan <rmh@aybabtu.com>
24816
24817 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24818 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24819 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24820 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24821 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24822 New macros.
24823 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24824 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24825 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24826 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24827 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24828 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24829 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24830 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24831 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24832 portably using grub_getxy().
24833 Replace `-EFI' with `-bzImage' in boot message.
24834
38487ddb 248352008-08-17 Robert Millan <rmh@aybabtu.com>
24836
24837 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24838
deceb3ec 248392008-08-17 Robert Millan <rmh@aybabtu.com>
24840
24841 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24842
24843 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24844 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24845 (grub_machine_mmap_iterate): New function declaration.
24846 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24847 structure.
24848 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24849 macros.
24850
24851 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24852 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24853 Move e820 parsing from here ...
24854 * kern/i386/pc/mmap.c: New file.
24855 (grub_machine_mmap_iterate): ... to here.
24856
24857 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24858 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24859 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24860 (grub_available_iterate): Redeclare to return `void', and redeclare
24861 its hook to use grub_uint64_t as addr and size parameters, and rename
24862 to ...
24863 (grub_machine_mmap_iterate): ... this. Update all users.
24864
24865 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24866 to make it more readable. Rename to ...
24867 (grub_machine_mmap_iterate): ... this.
24868
24869 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24870 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24871 (grub_multiboot): Allocate an extra region after the payload, and fill
24872 it with a Multiboot memory map. Adjust a.out loader to calculate size
24873 with the extra space.
24874 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24875 with the extra space.
24876
f8aa0f43 248772008-08-17 Carles Pina i Estany <carles@pina.cat>
24878
9807deb9 24879 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 24880
605f5bb6 248812008-08-17 Felix Zielcke <fzielcke@z-51.de>
24882
24883 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24884 mdate-sh to the list `find' searches for.
24885 * DISTLIST: Regenerated.
24886
210db6c6 248872008-08-16 Felix Zielcke <fzielcke@z-51.de>
24888
24889 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24890 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 24891 genmoddep.awk, gensymlist.sh.in.
24892 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 24893 * DISTLIST: Regenerated.
48cdbfd4 24894 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 24895
1082b929 248962008-08-16 Robert Millan <rmh@aybabtu.com>
24897
24898 * disk/raid.c (grub_raid_init): Handle/report errors set by
24899 grub_device_iterate().
24900 * disk/lvm.c (grub_lvm_init): Likewise.
24901
42ce5170 249022008-08-15 Bean <bean123ch@gmail.com>
24903
24904 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24905 and datehook.mod.
24906 (datetime_mod_SOURCES): New macro.
24907 (datetime_mod_CFLAGS): Likewise.
24908 (datetime_mod_LDFLAGS): Likewise.
24909 (date_mod_SOURCES): Likewise.
24910 (date_mod_CFLAGS): Likewise.
24911 (date_mod_LDFLAGS): Likewise.
24912 (datehook_mod_SOURCES): Likewise.
24913 (datehook_mod_CFLAGS): Likewise.
24914 (datehook_mod_LDFLAGS): Likewise.
24915
24916 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24917 and datehook.mod.
24918 (datetime_mod_SOURCES): New macro.
24919 (datetime_mod_CFLAGS): Likewise.
24920 (datetime_mod_LDFLAGS): Likewise.
24921 (date_mod_SOURCES): Likewise.
24922 (date_mod_CFLAGS): Likewise.
24923 (date_mod_LDFLAGS): Likewise.
24924 (datehook_mod_SOURCES): Likewise.
24925 (datehook_mod_CFLAGS): Likewise.
24926 (datehook_mod_LDFLAGS): Likewise.
24927
24928 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24929 and datehook.mod.
24930 (datetime_mod_SOURCES): New macro.
24931 (datetime_mod_CFLAGS): Likewise.
24932 (datetime_mod_LDFLAGS): Likewise.
24933 (date_mod_SOURCES): Likewise.
24934 (date_mod_CFLAGS): Likewise.
24935 (date_mod_LDFLAGS): Likewise.
24936 (datehook_mod_SOURCES): Likewise.
24937 (datehook_mod_CFLAGS): Likewise.
24938 (datehook_mod_LDFLAGS): Likewise.
24939
24940 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24941 and datehook.mod.
24942 (datetime_mod_SOURCES): New macro.
24943 (datetime_mod_CFLAGS): Likewise.
24944 (datetime_mod_LDFLAGS): Likewise.
24945 (date_mod_SOURCES): Likewise.
24946 (date_mod_CFLAGS): Likewise.
24947 (date_mod_LDFLAGS): Likewise.
24948 (datehook_mod_SOURCES): Likewise.
24949 (datehook_mod_CFLAGS): Likewise.
24950 (datehook_mod_LDFLAGS): Likewise.
24951
24952 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24953 and datehook.mod.
24954 (datetime_mod_SOURCES): New macro.
24955 (datetime_mod_CFLAGS): Likewise.
24956 (datetime_mod_LDFLAGS): Likewise.
24957 (date_mod_SOURCES): Likewise.
24958 (date_mod_CFLAGS): Likewise.
24959 (date_mod_LDFLAGS): Likewise.
24960 (datehook_mod_SOURCES): Likewise.
24961 (datehook_mod_CFLAGS): Likewise.
24962 (datehook_mod_LDFLAGS): Likewise.
24963
24964 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
24965
24966 * commands/date.c: New file.
24967
24968 * hook/datehook.c: Likewise.
24969
24970 * include/grub/lib/datetime.h: Likewise.
24971
24972 * include/grub/i386/cmos.h: Likewise.
24973
24974 * lib/datetime.c: Likewise.
24975
24976 * lib/i386/datetime.c: Likewise.
24977
24978 * lib/efi/datetime.c: Likewise.
24979
0e9242da 249802008-08-14 Robert Millan <rmh@aybabtu.com>
24981
24982 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
24983 (grub_mkelfimage_SOURCES): New variable.
24984 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
24985
24986 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
24987 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
24988 * conf/powerpc-ieee1275.rmk: Likewise.
24989 * conf/i386-ieee1275.rmk: Likewise.
24990
24991 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
24992 * kern/i386/coreboot/init.c: Likewise.
24993
24994 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
24995 with `<grub/cpu/kernel.h>'.
24996 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
24997 to ...
24998 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
24999 * kern/i386/coreboot/startup.S: Likewise.
25000
25001 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25002 (GRUB_MOD_GAP): Remove.
25003 * include/grub/powerpc/kernel.h: New file.
25004 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25005 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25006 * include/grub/i386/kernel.h: New file.
25007 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25008 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25009 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25010
25011 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25012 `grub-mkelfimage'.
25013 Use --directory when invoking grub_mkimage.
25014
25015 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25016 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25017 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25018 and GRUB_KERNEL_CPU_PREFIX.
25019
b86408f8 250202008-08-14 Felix Zielcke <fzielcke@z-51.de>
25021
d5e619ca 25022 * include/grub/err.h (grub_err_printf): New function prototype.
25023 * util/misc.c (grub_err_printf): New function.
25024 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25025 grub_printf.
25026 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 25027
7161f0e0 250282008-08-13 Robert Millan <rmh@aybabtu.com>
25029
25030 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25031
a1967522 250322008-08-13 Robert Millan <rmh@aybabtu.com>
25033
25034 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25035 boot entry.
25036
371458b5 250372008-08-12 Robert Millan <rmh@aybabtu.com>
25038
25039 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25040 of the relocation code from here ...
25041 (grub_multiboot): ... to here.
25042 (forward_relocator, backward_relocator): Move from here ...
25043 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25044 (grub_multiboot_backward_relocator): ... to here.
25045 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25046 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25047 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25048 (grub_multiboot_forward_relocator_end)
25049 (grub_multiboot_backward_relocator)
25050 (grub_multiboot_backward_relocator_end): New variables.
25051
05f9452b 250522008-08-12 Bean <bean123ch@gmail.com>
25053
25054 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25055
20024ab0 250562008-08-11 Robert Millan <rmh@aybabtu.com>
25057
25058 * kern/i386/linuxbios/startup.S: Move from here ...
25059 * kern/i386/coreboot/startup.S: ... to here.
25060
25061 * kern/i386/linuxbios/init.c: Move from here ...
25062 * kern/i386/coreboot/init.c: ... to here.
25063
25064 * kern/i386/linuxbios/table.c: Move from here ...
25065 * kern/i386/coreboot/mmap.c: ... to here.
25066
25067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25068
e352e9cd 250692008-08-11 Robert Millan <rmh@aybabtu.com>
25070
25071 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25072 errors. Leave it to the upper layer to handle them.
25073
2d05bc6a 250742008-08-09 Christian Franke <franke@computer.org>
25075
25076 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25077 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25078 Install `grub.d/10_windows' only on Cygwin.
25079 * configure.ac: Add subst of `target_os'.
25080 Check `target_os' also before setting TARGET_OBJ2ELF.
25081 Add `--enable-grub-pe2elf'.
25082
042bd419 250832008-08-08 Robert Millan <rmh@aybabtu.com>
25084
25085 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25086 (grub_last_time): Change type to grub_uint64_t.
25087 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25088 (grub_disk_close): Likewise.
25089
25090 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25091 (run_menu): Migrate code from to using grub_get_time_ms().
25092
25093 * util/misc.c (grub_get_time_ms): New function.
25094
7f280db5 250952008-08-08 Marco Gerards <marco@gnu.org>
25096
25097 * disk/ata.c (grub_ata_regget): Change return type to
25098 `grub_uint8_t'.
25099 (grub_ata_regget2): Likewise.
25100 (grub_ata_wait_status): New function.
25101 (grub_ata_wait_busy): Removed function, updated all users to use
25102 `grub_ata_wait_status'.
25103 (grub_ata_wait_drq): Likewise.
25104 (grub_ata_cmd): New function.
25105 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25106 error handling.
25107 (grub_ata_pio_write): Add error handling.
25108 (grub_atapi_identify): Likewise.
25109 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25110 handling.
25111 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25112 handling. Actually use the detected registers. Reorder the
25113 detection logic such that it is easier to read.
25114 (grub_ata_pciinit): Do not assign the same ID to each controller.
25115 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25116 handling.
25117 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25118
25119 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25120
1fbc5e66 251212008-08-08 Marco Gerards <marco@gnu.org>
25122
25123 * NEWS: Update.
25124
819ce6c0 251252008-08-07 Bean <bean123ch@gmail.com>
25126
25127 * include/grub/x86_64/pci.h: New file.
25128
5c41d44d 251292008-08-07 Christian Franke <franke@computer.org>
25130
25131 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25132 (TIMER2_GATE): Likewise.
25133 (grub_pit_wait): Add enable/disable of the timer2 gate
25134 bit of port 0x61. This fixes a possible infinite loop.
25135
5ebc275d 251362008-08-07 Bean <bean123ch@gmail.com>
25137
25138 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25139 kern/i386/tsc.c and kern/i386/pit.c.
25140
25141 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25142 x86_64 platform.
25143
25144 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25145 <grub/i386/tsc.h>.
25146
25147 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25148
e383b3d0 251492008-08-07 Bean <bean123ch@gmail.com>
25150
25151 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25152
25153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25154
25155 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25156 multiple inclusion. Add #include <grub/types.h>.
25157
1cbb58ac 251582008-08-06 Christian Franke <franke@computer.org>
25159
25160 * conf/common.rmk: Build and install `10_windows'.
25161 * util/grub.d/10_windows.in: New script.
25162
337f5a1e 251632008-08-06 Pavel Roskin <proski@gnu.org>
25164
25165 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25166
057bc4ac 251672008-08-06 Robert Millan <rmh@aybabtu.com>
25168
25169 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25170 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25171
2b99f123 251722008-08-06 Bean <bean123ch@gmail.com>
25173
25174 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25175 (grub_pxefs_fs_int): Remove dummy definition.
25176 (grub_pxefs_open): Use data->block_size to store the current block
25177 size setting.
25178 (grub_pxefs_read): Use block size stored in data->block_size. As the
25179 value of grub_pxe_blksize can be changed after the file is opened.
25180
9f0234cb 251812008-08-06 Bean <bean123ch@gmail.com>
25182
25183 * fs/i386/pc/pxe.c (curr_file): new variable.
25184 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25185 require the dummy internal file system anymore.
25186 (grub_pxefs_read): Removed.
25187 (grub_pxefs_close): Likewise.
25188 (grub_pxefs_fs_int): Likewise.
25189 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25190 connection when we switch file.
25191 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25192
a55d42e0 251932008-08-06 Robert Millan <rmh@aybabtu.com>
25194
25195 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25196 `halt.mod'.
25197 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25198 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25199
25200 * kern/i386/halt.c: New file.
25201 * kern/i386/reboot.c: Likewise.
25202 * include/grub/i386/reboot.h: Likewise.
25203 * include/grub/i386/halt.h: Likewise.
25204
25205 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25206 Include `<grub/cpu/halt.h>'.
25207 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25208 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25209
25210 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25211 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25212 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25213 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25214 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25215 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25216 from here ...
25217 * include/grub/i386/at_keyboard.h: ... to here.
25218
24371d26 252192008-08-05 Robert Millan <rmh@aybabtu.com>
25220
25221 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25222 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25223 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25224 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25225 `kern/generic/millisleep.c'.
25226
25227 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25228 instead of grub_get_rtc().
25229 (grub_tsc_init): Initialize `tsc_boot_time'.
25230
25231 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25232 (grub_machine_init): Use grub_tsc_init() rather than
25233 installing an RTC-based handler via grub_install_get_time_ms().
25234
25235 * kern/i386/pit.c: New file.
25236 * include/grub/i386/pit.h: Likewise.
25237
9e7007b3 252382008-08-05 Bean <bean123ch@gmail.com>
25239
25240 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25241
25242 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25243 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25244 (pxe_mod_SOURCES): New macro.
25245 (pxe_mod_CFLAGS): Likewise.
25246 (pxe_mod_LDFLAGS): Likewise.
25247 (pxecmd_mod_SOURCES): Likewise.
25248 (pxecmd_mod_CFLAGS): Likewise.
25249 (pxecmd_mod_LDFLAGS): Likewise.
25250
25251 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25252 (grub_pxe_call): Likewise.
25253
25254 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25255
25256 * commands/i386/pc/pxecmd.c: New file.
25257
9f0234cb 25258 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 25259
25260 * include/grub/i386/pc/pxe.h: Likewise.
25261
6977d49f 252622008-08-05 Bean <bean123ch@gmail.com>
25263
25264 * util/console.c (grub_console_cur_color): New variable.
25265 (grub_console_standard_color): Likewise.
25266 (grub_console_normal_color): Likewise.
25267 (grub_console_highlight_color): Likewise.
25268 (color_map): Likewise.
25269 (use_color): Likewise.
25270 (NUM_COLORS): New macro.
25271 (grub_ncurses_setcolorstate): Handle color properly.
25272 (grub_ncurses_setcolor): Don't change color here, just remember the
25273 settings, color will be set in grub_ncurses_setcolorstate.
25274 (grub_ncurses_getcolor): New function.
25275 (grub_ncurses_init): Initialize color pairs.
25276 (grub_ncurses_term): New member grub_ncurses_getcolor.
25277
9c2ff3ee 252782008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 25279
9c2ff3ee 25280 High resolution timer support. Implemented for x86 CPUs using TSC.
25281 Extracted generic grub_millisleep() so it's linked in only as needed.
25282 This requires a Pentium compatible CPU; if the RDTSC instruction is
25283 not supported, then it falls back on the generic grub_get_time_ms()
25284 implementation that uses the machine's RTC.
25285
25286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25287 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25288 `kern/generic/millisleep.c'.
25289
25290 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25291 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25292
25293 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25294 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25295
25296 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25297
25298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25299 `kern/generic/millisleep.c'.
25300
25301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25302
25303 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25304
25305 * kern/generic/rtc_get_time_ms.c: New file.
25306
25307 * kern/generic/millisleep.c: New file.
337f5a1e 25308
9c2ff3ee 25309 * kern/misc.c: Don't include
25310 <kern/time.h> anymore.
25311 (grub_millisleep_generic): Removed.
25312
25313 * commands/sleep.c (grub_interruptible_millisleep): Uses
25314 grub_get_time_ms() instead of grub_get_rtc().
25315
25316 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25317 function.
25318 (grub_cpu_is_cpuid_supported): New inline function.
25319 (grub_cpu_is_tsc_supported): New inline function.
25320 (grub_tsc_init): New function prototype.
25321 (grub_tsc_get_time_ms): New function prototype.
25322
25323 * kern/i386/tsc.c (grub_get_time_ms): New file.
25324
25325 * include/grub/time.h: Include <grub/types.h.
25326 (grub_millisleep_generic): Removed.
25327 (grub_get_time_ms): New prototype.
25328 (grub_install_get_time_ms): New prototype.
25329 (grub_rtc_get_time_ms): New prototype.
25330
25331 * kern/time.c (grub_get_time_ms): New function.
25332 (grub_install_get_time_ms): New function.
25333
25334 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25335 <grub/time.h> anymore.
25336 (grub_millisleep): Removed.
25337 (grub_machine_init): Call grub_tsc_init.
25338
25339 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25340 get_time_ms() implementation.
25341
25342 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25343 (ieee1275_get_time_ms): New function.
25344 (grub_machine_init): Install get_time_ms() implementation.
25345
25346 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25347 (grub_machine_init): Call grub_tsc_init().
25348 (grub_millisleep): Removed.
bf06a93f 25349
9c2ff3ee 25350 * kern/ieee1275/init.c (grub_millisleep): Removed.
25351 (grub_machine_init): Install ieee1275_get_time_ms()
25352 implementation.
25353 (ieee1275_get_time_ms): New function.
25354 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25355 real work.
25356
9ec92aaf 253572008-08-05 Marco Gerards <marco@gnu.org>
25358
25359 * disk/ata.c: Include <grub/pci.h>.
25360 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25361 (grub_ata_initialize): Rewritten.
25362 (grub_ata_device_initialize): New function.
25363
8d23f507 253642008-08-04 Pavel Roskin <proski@gnu.org>
25365
25366 * kern/main.c: Include grub/mm.h.
25367
5e15ee3d 253682008-08-04 Robert Millan <rmh@aybabtu.com>
25369
25370 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25371 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25372 corruption problem).
25373
a9053f8f 253742008-08-04 Robert Millan <rmh@aybabtu.com>
25375
25376 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25377 warnings introduced in my last commit.
25378
dd19c7d7 253792008-08-03 Robert Millan <rmh@aybabtu.com>
25380
25381 Make PCI available on all i386 architectures.
25382
25383 * include/grub/i386/pc/pci.h: Move from here ...
25384 * include/grub/i386/pci.h: ... to here.
25385
25386 * include/grub/i386/pc/pci.h: Remove.
25387 * include/grub/i386/efi/pci.h: Remove.
25388 * include/grub/x86_64/efi/pci.h: Remove.
25389
25390 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25391 `<grub/cpu/pci.h>'.
25392
25393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25394 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25395 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25396
25397 * conf/i386-ieee1275.rmk: Likewise.
25398
e14a6184 253992008-08-03 Robert Millan <rmh@aybabtu.com>
25400
25401 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25402 (grub_console_setcursor): Make it possible to set cursor off.
25403
52768e37 254042008-08-03 Robert Millan <rmh@aybabtu.com>
25405
25406 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25407 of modules instead of assuming which platform provides what.
25408 * util/update-grub.in: Likewise.
25409
2d52f57f 254102008-08-03 Robert Millan <rmh@aybabtu.com>
25411
25412 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25413 instead of `grub_install_dos_part' to determine whether a drive needs
25414 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 25415 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 25416
2a5cd121 254172008-08-02 Robert Millan <rmh@aybabtu.com>
25418
25419 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25420
93808428 254212008-08-02 Robert Millan <rmh@aybabtu.com>
25422
25423 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25424 of informational grub_dprintf() calls.
25425
3bd0a12a 254262008-08-02 Robert Millan <rmh@aybabtu.com>
25427
25428 * disk/memdisk.c (memdisk_size): Don't initialize.
25429 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25430
25431 * include/grub/i386/pc/kernel.h
25432 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25433 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25434 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25435 (grub_arch_memdisk_size): Remove.
25436
25437 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25438 field (was only used to transfer a constant). Add `type' field to
25439 support multiple module types.
25440 (grub_module_iterate): New function.
25441
25442 * kern/device.c (grub_device_open): Do not hide error messages
25443 when grub_disk_open() fails. Use grub_print_error() instead.
25444
25445 * kern/i386/pc/init.c (grub_arch_modules_addr)
25446 (grub_arch_memdisk_size): Remove functions.
25447 (grub_arch_modules_addr): Return the module address in high memory
25448 (now that it isn't copied anymore).
25449
25450 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25451 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25452 decompression routine (grub_total_module_size already includes that
25453 now). Don't copy modules back to low memory.
25454
25455 * kern/main.c: Include `<grub/mm.h>'.
25456 (grub_load_modules): Split out (and use) ...
25457 (grub_module_iterate): ... this function, which iterates through
25458 module objects and runs a hook.
25459 Comment out grub_mm_init_region() call, as it would cause non-ELF
25460 modules to be overwritten.
25461
25462 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25463 the memdisk image in its own region, make it part of the module list.
25464 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25465 (main): Parse --memdisk|-m option, and pass user-provided path as
25466 parameter to generate_image().
25467 (add_segments): Pass `memdisk_path' down to load_modules().
25468 (load_modules): Embed memdisk image in module section when requested.
25469 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25470 `header.type' instead of `header.offset'.
25471
25472 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25473 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25474 (memdisk_mod_LDFLAGS): New variables.
25475 * conf/i386-coreboot.rmk: Likewise.
25476 * conf/i386-ieee1275.rmk: Likewise.
25477
a927cc73 254782008-08-02 Robert Millan <rmh@aybabtu.com>
25479
25480 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25481 (backward_relocator): New variables. Used to allocate and relocate
25482 the payload, respectively.
25483 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 25484 address, install the appropriate relocator code in each bound of
a927cc73 25485 the payload, and set the entry point such that
25486 grub_multiboot_real_boot() will jump to one of them.
25487
25488 * kern/i386/loader.S (grub_multiboot_payload_size)
25489 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25490 (grub_multiboot_payload_entry_offset): New variables.
25491 (grub_multiboot_real_boot): Set cpu context to what the relocator
25492 expects, and jump to the relocator instead of the payload.
25493
25494 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25495 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25496 (grub_multiboot_payload_entry_offset): Export.
25497
b15d8a0c 254982008-08-01 Bean <bean123ch@gmail.com>
25499
25500 * normal/menu_entry.c (editor_getline): Don't return the original
25501 string as result, as it will be released by lexer once it has done
25502 using it.
25503
cdfb3d22 255042008-08-01 Robert Millan <rmh@aybabtu.com>
25505
25506 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25507 within menuentries, not before them.
25508 util/grub.d/10_hurd.in: Likewise.
25509
9175e93d 255102008-08-01 Bean <bean123ch@gmail.com>
25511
25512 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25513 (bufio_mod_SOURCES): New macro.
25514 (bufio_mod_CFLAGS): Likewise.
25515 (bufio_mod_LDFLAGS): Likewise.
25516
25517 * include/grub/bufio.h: New file.
25518
25519 * io/bufio.c: Likewise.
25520
25521 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25522 (grub_video_reader_png): Use grub_buffile_open to open file.
25523
25524 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25525 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25526
25527 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25528 (grub_video_reader_tga): Use grub_buffile_open to open file.
25529
25530 * font/manager.c: Include <grub/bufio.h>.
25531 (add_font): Use grub_buffile_open to open file.
25532
3d8383e7 255332008-07-31 Robert Millan <rmh@aybabtu.com>
25534
25535 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25536 ELF segments, use a macro for arbitrarily accessing any of them instead
25537 of preparing a pointer that allows access to one at a time.
25538 (grub_multiboot_load_elf64): Likewise.
25539
16e641b6 255402008-07-31 Bean <bean123ch@gmail.com>
25541
25542 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25543 GRUB_KERNEL_MACHINE_DATA_END.
25544
59198b72 255452008-07-30 Robert Millan <rmh@aybabtu.com>
25546
25547 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25548 Increase from 0x50 to 0x60.
25549 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25550 use UUIDs to identify the root drive for them. If that's not
25551 possible, abort.
25552 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25553 check, for cross-disk installs.
25554
ae88bca3 255552008-07-30 Robert Millan <rmh@aybabtu.com>
25556
25557 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25558 is non-empty, use it to set the `prefix' environment variable instead
25559 of the usual approach.
25560 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25561 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25562 environment variable instead of dummy make_install_device().
25563
25564 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25565 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 25566 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 25567
25568 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25569 New variable reference.
25570 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25571 New macro. Defines offset of `grub_prefix' within startup.S (relative
25572 to `start').
25573 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25574 section within startup.S (relative to `start').
25575 * include/grub/i386/coreboot/kernel.h: Likewise.
25576
25577 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25578 Overwrite grub_prefix with its contents, at the beginning of the
25579 first segment.
25580 (main): Understand -p|--prefix.
25581
14f41dd1 255822008-07-30 Robert Millan <rmh@aybabtu.com>
25583
25584 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25585
4ca049a3 255862008-07-30 Robert Millan <rmh@aybabtu.com>
25587
25588 * term/i386/pc/vga_text.c (grub_console_cls): Use
25589 grub_console_gotoxy() to go back to beginning of the screen.
25590 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25591
2921d337 255922008-07-29 Christian Franke <franke@computer.org>
25593
25594 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25595 Add conversion of emulated mount points on Cygwin.
25596
b609876d 255972008-07-29 Christian Franke <franke@computer.org>
25598
25599 * util/update-grub.in: Add a check for admin
25600 group on Cygwin.
25601 Remove old `grub.cfg.new' before creation.
25602 Add `-f' to `mv' to handle the different filesystem
25603 semantics of Windows.
25604
e93e4679 256052008-07-29 Bean <bean123ch@gmail.com>
25606
25607 * normal/main.c (get_line): Fix buffer overflow bug.
25608
41694fd0 256092008-07-28 Robert Millan <rmh@aybabtu.com>
25610
25611 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25612 (struct grub_apple_header): New struct. Describes the layout of
25613 the partmap header.
25614 (apple_partition_map_iterate): Check the header magic as well as the
25615 partition magic (which was already being checked).
25616
cfd0b4e6 256172008-07-28 Pavel Roskin <proski@gnu.org>
25618
25619 * genmk.rb: Add a warning to the beginning of the output that
25620 it's a generated file and should not be edited.
25621
93cce016 256222008-07-28 Robert Millan <rmh@aybabtu.com>
25623
25624 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25625 with the same number are found, just use issue a warning with
25626 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 25627
cd1df915 256282008-07-27 Robert Millan <rmh@aybabtu.com>
25629
25630 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25631 information.
25632
b70a8427 256332008-07-27 Bean <bean123ch@gmail.com>
25634
25635 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25636 (grub_fat_find_dir): Ignore case when comparing filename.
25637
8f5e379f 256382008-07-27 Bean <bean123ch@gmail.com>
25639
25640 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25641 smallino, as it's more descriptive, and i8count can be confused with
25642 the other field count.
25643 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25644 inode type.
25645
a85cd5a0 256462008-07-27 Bean <bean123ch@gmail.com>
25647
25648 * commands/crc.c: New file.
25649
25650 * lib/crc.c: Likewise.
25651
25652 * include/grub/lib/crc.h: Likewise.
25653
25654 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25655
25656 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25657 (hexdump): Move this function to ...
25658
25659 * lib/hexdump.c: ... here.
25660
25661 * include/grub/hexdump.h: Renamed to ...
25662
25663 * include/grub/lib/hexdump.h: ... this.
25664
25665 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25666
25667 * util/grub-editenv.c: Likewise.
25668
25669 * include/envblk.h: Renamed to ...
25670
25671 * include/lib/envblk.h: ... this.
25672
25673 * util/envblk.c: Renamed to ...
25674
25675 * lib/envblk.c: ... this.
25676
25677 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25678 lib/hexdump.c.
25679 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25680 (pkglib_MODULES): Add crc.mod.
25681 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25682 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25683 (crc_mod_SOURCES): New macro.
25684 (crc_mod_CFLAGS): Likewise.
25685 (crc_mod_LDFLAGS): Likewise.
25686
25687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25688
25689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25690
25691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25692
25693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25694
25695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25696
c298def0 256972008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 25698
25699 * commands/help.c: Include <grub/term.h>.
25700 (TERM_WIDTH): Removed. Updated all users.
25701
cc349fb3 257022008-07-27 Pavel Roskin <proski@gnu.org>
25703
25704 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25705 spurious warnings about a comment within a comment.
25706
9051607e 257072008-07-25 Robert Millan <rmh@aybabtu.com>
25708
25709 * util/getroot.c (find_root_device): Skip devices that match
25710 /dev/dm-[0-9]. This lets the real device be found for any type of
25711 abstraction (LVM, EVMS, RAID..).
25712 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25713 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25714 device is found first, find_root_device() will now skip it.
25715
01453bfc 257162008-07-24 Pavel Roskin <proski@gnu.org>
25717
25718 * include/grub/types.h: Use __builtin_bswap32() and
25719 __builtin_bswap64() with gcc 4.3 and newer.
25720
6af9849f 257212008-07-24 Christian Franke <franke@computer.org>
25722
3a0fa256 25723 * util/i386/pc/grub-install.in: If `--debug' is specified,
25724 pass `--verbose' to grub-setup.
25725 Abort script if make_system_path_relative_to_its_root() fails.
25726
7810e747 257272008-07-24 Bean <bean123ch@gmail.com>
25728
25729 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25730 variable `target_platform' should be `platform'.
25731
42290e17 257322008-07-24 Bean <bean123ch@gmail.com>
25733
51cc5193 25734 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 25735 (grub_png_init_fixed_block): New function.
25736 (grub_png_decode_image_data): Handle fixed huffman code compression.
25737
2a8a80e4 257382008-07-24 Bean <bean123ch@gmail.com>
25739
25740 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25741 (grub_pe2elf_SOURCES): New macro.
25742 (CLEANFILES): Add grub-pe2elf.
25743
25744 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25745 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25746 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25747 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25748 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25749 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25750 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25751 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25752 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25753 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25754 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25755 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25756 (GRUB_PE32_DT_FUNCTION): Likewise.
25757 (GRUB_PE32_REL_I386_DIR32): Likewise.
25758 (GRUB_PE32_REL_I386_REL32): Likewise.
25759 (grub_pe32_symbol): New structure.
25760 (grub_pe32_reloc): Likewise.
25761
25762 * util/grub-pe2elf.c: New file.
25763
25764 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25765 start symbol in non pc platform.
25766
25767 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25768
25769 The following patches are from Christian Franke.
25770
25771 * include/grub/dl.h: Remove .previous, gas supports this only
25772 for ELF format.
25773
25774 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25775 Remove .type, gas supports this only for ELF format.
25776
25777 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25778 nullbytes in symbol table. This fixes an infinite loop if table is
25779 zero filled.
25780
25781 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25782 TARGET_IMG_LDFLAGS and EXEEXT.
25783
25784 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25785 TARGET_IMG_LDFLAGS_AC.
25786 (grub_CHECK_STACK_ARG_PROBE): New function.
25787
25788 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25789
25790 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25791
25792 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25793 to set TARGET_IMG_LD* accordingly.
25794 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25795 Add call to grub_CHECK_STACK_ARG_PROBE.
25796 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25797
25798 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25799
25800 * genmk.rb: Add EXEEXT to CLEANFILES.
25801
12ccdb75 258022008-07-23 Robert Millan <rmh@aybabtu.com>
25803
25804 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25805 define the codes for arrows and lines used for the menu).
25806 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25807 as well.
25808
25809 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25810 fonts, because the latter are too slow.
25811
18eeaf04 258122008-07-21 Bean <bean123ch@gmail.com>
25813
25814 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25815 a20. Run keyboard test last, as it will cause macbook to halt.
25816
b095e2ad 258172008-07-18 Pavel Roskin <proski@gnu.org>
25818
25819 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25820 load foreign architecture modules correctly anyway. Keep
25821 support for loading host architecture modules, whether we
25822 compile them or not.
25823
737feb35 258242008-07-17 Pavel Roskin <proski@gnu.org>
25825
3f4ce737 25826 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25827 change target_cpu. The compiler default can mismatch target_cpu
25828 in any case.
25829
4ad2d049 25830 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25831 * kern/efi/efi.c: Likewise.
25832
f6130a12 25833 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25834 target compiler is functional.
25835 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25836 are set up.
25837
58393a2d 25838 * configure.ac: Default to efi platform for x86_64-apple. Allow
25839 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25840 adjustments from the rest, only do them if target is not
25841 explicitly given. Merge other adjustments with the final sanity
25842 check. Remove an extraneous check for supported CPU. Be
25843 specific which CPU and which platform is not supported.
25844
737feb35 25845 * configure.ac: Default to pc platform for x86_64.
25846
546f966a 258472008-07-17 Robert Millan <rmh@aybabtu.com>
25848
25849 Partial LinuxBIOS -> Coreboot rename.
25850
25851 * conf/i386-linuxbios.rmk: Renamed to ...
25852 * conf/i386-coreboot.rmk: ... this.
25853 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25854 * configure.ac: Accept "coreboot" as input platform (but maintain
25855 compatibility with "linuxbios").
25856 * include/grub/i386/linuxbios: Renamed to ...
25857 * include/grub/i386/coreboot: ... this.
25858
20011694 258592008-07-17 Bean <bean123ch@gmail.com>
25860
25861 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 25862 (appleldr_mod_SOURCE): New variable.
20011694 25863 (appleldr_mod_CFLAGS): Likewise.
25864 (appleldr_mod_LDFLAGS): Likewise.
25865 (pci_mod_SOURCES): Likewise.
25866 (pci_mod_CFLAGS): Likewise.
25867 (pci_mod_LDFLAGS): Likewise.
25868 (lspci_mod_SOURCES): Likewise.
25869 (lspci_mod_CFLAGS): Likewise.
25870 (lspci_mod_LDFLAGS): Likewise.
25871
25872 * conf/x86_64-efi.rmk: New file.
25873
25874 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25875 macro.
25876 (grub_efidisk_write): Likewise.
25877
25878 * include/efi/api.h (efi_call_0): New macro.
25879 (efi_call_1): Likewise.
25880 (efi_call_2): Likewise.
25881 (efi_call_3): Likewise.
25882 (efi_call_4): Likewise.
25883 (efi_call_5): Likewise.
25884 (efi_call_6): Likewise.
25885
25886 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25887 grub_rescue_cmd_chainloader.
25888
25889 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25890 (grub_pe32_optional_header): Change some fields based on i386 or
25891 x86_64 platform.
25892 (GRUB_PE32_PE32_MAGIC): Likewise.
25893
25894 * include/grub/efi/uga_draw.h: New file.
25895
25896 * include/grub/elf.h (STN_ABS): New constant.
25897 (R_X86_64_NONE): Relocation constant for x86_64.
25898 (R_X86_64_64): Likewise.
25899 (R_X86_64_PC32): Likewise.
25900 (R_X86_64_GOT32): Likewise.
25901 (R_X86_64_PLT32): Likewise.
25902 (R_X86_64_COPY): Likewise.
25903 (R_X86_64_GLOB_DAT): Likewise.
25904 (R_X86_64_JUMP_SLOT): Likewise.
25905 (R_X86_64_RELATIVE): Likewise.
25906 (R_X86_64_GOTPCREL): Likewise.
25907 (R_X86_64_32): Likewise.
25908 (R_X86_64_32S): Likewise.
25909 (R_X86_64_16): Likewise.
25910 (R_X86_64_PC16): Likewise.
25911 (R_X86_64_8): Likewise.
25912 (R_X86_64_PC8): Likewise.
25913
25914 * include/grub/i386/efi/pci.h: New file.
25915
25916 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25917 Change it value based on platform.
25918 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25919 (GRUB_E820_RAM): Likewise.
25920 (GRUB_E820_RESERVED): Likewise.
25921 (GRUB_E820_ACPI): Likewise.
25922 (GRUB_E820_NVS): Likewise.
25923 (GRUB_E820_EXEC_CODE): Likewise.
25924 (GRUB_E820_MAX_ENTRY): Likewise.
25925 (grub_e820_mmap): New structure.
25926 (linux_kernel_header): Change the efi field according to different
25927 kernel version, also field from linux_kernel_header.
25928
25929 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25930
25931 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25932 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25933 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25934 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25935 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25936 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25937 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25938 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25939 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25940 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25941
25942 * include/grub/x86_64/efi/kernel.h: New file.
25943
25944 * include/grub/x86_64/efi/loader.h: Likewise.
25945
25946 * include/grub/x86_64/efi/machine.h: Likewise.
25947
25948 * include/grub/x86_64/efi/pci.h: Likewise.
25949
25950 * include/grub/x86_64/efi/time.h: Likewise.
25951
25952 * include/grub/x86_64/linux.h: Likewise.
25953
25954 * include/grub/x86_64/setjmp.h: Likewise.
25955
25956 * include/grub/x86_64/time.h: Likewise.
25957
25958 * include/grub/x86_64/types.h: Likewise.
25959
25960 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
25961 GRUB_TARGET_SIZEOF_VOID_P.
25962
25963 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
25964 (grub_efi_locate_handle): Likewise.
25965 (grub_efi_open_protocol): Likewise.
25966 (grub_efi_set_text_mode): Likewise.
25967 (grub_efi_stall): Likewise.
25968 (grub_exit): Likewise.
25969 (grub_reboot): Likewise.
25970 (grub_halt): Likewise.
25971 (grub_efi_exit_boot_services): Likewise.
25972 (grub_get_rtc): Likewise.
25973
25974 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
25975 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
25976 (grub_efi_allocate_pages): Wrap efi calls.
25977 (grub_efi_free_pages): Wrap efi calls.
25978 (grub_efi_get_memory_map): Wrap efi calls.
25979
25980 * kern/x86_64/dl.c: New file.
25981
25982 * kern/x86_64/efi/callwrap.S: Likewise.
25983
25984 * kern/x86_64/efi/startup.S: Likewise.
25985
25986 * loader/efi/appleloader.c: Likewise.
25987
25988 * loader/efi/chainloader.c (cmdline): New variable.
25989 (grub_chainloader_unload): Wrap efi calls.
25990 (grub_chainloader_boot): Likewise.
25991 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
25992 command line.
25993
25994 * loader/efi/chainloader_normal.c (chainloader_command):
25995 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
25996 command line.
25997
25998 * loader/i386/efi/linux.c (allocate_pages): Change allocation
25999 method.
26000 (grub_e820_add_region): New function.
26001 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26002 booting.
26003 (grub_find_video_card): New function.
26004 (grub_linux_setup_video): New function.
26005 (grub_rescue_cmd_linux): Probe for video information.
26006
26007 * normal/x86_64/setjmp.S: New file.
26008
26009 * term/efi/console.c (map_char): New function.
26010 (grub_console_putchar): Map unicode char.
26011 (grub_console_checkkey): Wrap efi calls.
26012 (grub_console_getkey): Likewise.
26013 (grub_console_getwh): Likewise.
26014 (grub_console_gotoxy): Likewise.
26015 (grub_console_cls): Likewise.
26016 (grub_console_setcolorstate): Likewise.
26017 (grub_console_setcursor): Likewise.
26018
26019 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26020
59652a20 260212008-07-16 Pavel Roskin <proski@gnu.org>
26022
ef294055 26023 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26024 format strings.
26025
59652a20 26026 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26027 pointer, not an integer. This fixes a warning and prevents
26028 precision loss on 64-bit systems.
26029 (relocate_addresses): Remove unneeded cast.
26030
afc3b5d7 260312008-07-15 Pavel Roskin <proski@gnu.org>
26032
506b2b3e 26033 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26034
62ead89c 26035 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26036
c4cd51d7 26037 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26038 Fix comparison between signed and unsigned.
26039
0d3d8f28 26040 * include/grub/i386/ieee1275/console.h: Declare
26041 grub_console_init() and grub_console_fini().
26042
8804b286 26043 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26044 It's empty and unused.
26045
ee01cf35 26046 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26047 beginning to avoid warnings with some compilers.
26048
afc3b5d7 26049 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26050 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26051
e4e8eaa5 260522008-07-14 Pavel Roskin <proski@gnu.org>
26053
407aceb4 26054 * kern/env.c (grub_register_variable_hook): Don't copy empty
26055 string, it leaks memory. Pass "" to grub_env_set(), it should
26056 handle constant strings.
26057
e4e8eaa5 26058 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26059 * commands/cmp.c (grub_cmd_cmp): Likewise.
26060 * kern/dl.c (grub_dl_flush_cache): Likewise.
26061 (grub_dl_load_core): Likewise.
26062 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26063 (grub_elf64_load_phdrs): Likewise.
26064
d4e2dad3 260652008-07-13 Pavel Roskin <proski@gnu.org>
26066
26067 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26068 between signed and unsigned.
26069 (LzmaEnc_Finish): Fix warning about an unused parameter.
26070
aa24b516 260712008-07-13 Bean <bean123ch@gmail.com>
26072
26073 * Makefile.in (enable_lzo): New rule.
26074
26075 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26076
26077 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26078
26079 * boot/i386/pc/lnxboot.S: #include <config.h>.
26080
26081 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 26082 its value according to the compression algorithm used, lzo or lzma.
aa24b516 26083
26084 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26085 compression algorithm according to configure macro.
26086
26087 * kern/i386/pc/startup.S (codestart): Likewise.
26088
26089 * kern/i386/pc/lzma_decode.S: New file.
26090
26091 * include/grub/lib/LzFind.h: Likewise.
26092
26093 * include/grub/lib/LzHash.h: Likewise.
26094
26095 * include/grub/lib/LzmaDec.h: Likewise.
26096
26097 * include/grub/lib/LzmaEnc.h: Likewise.
26098
26099 * include/grub/lib/LzmaTypes.h: Likewise.
26100
26101 * lib/LzFind.c: Likewise.
26102
26103 * lib/LzmaDec.c: Likewise.
26104
26105 * lib/LzmaEnc.c: Likewise.
26106
4ae821ac 261072008-07-13 Bean <bean123ch@gmail.com>
26108
26109 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26110 (grub_ext4_extent_header): New structure.
26111 (grub_ext4_extent): Likewise.
26112 (grub_ext4_extent_idx): Likewise.
26113 (grub_ext4_find_leaf): New function.
26114 (grub_ext2_read_block): Handle extents.
26115
9a745147 261162008-07-12 Robert Millan <rmh@aybabtu.com>
26117
26118 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26119
d49a4cf6 261202008-07-11 Robert Millan <rmh@aybabtu.com>
26121
26122 * util/grub.d/40_custom.in: New file. Example on how to add custom
26123 entries to /etc/grub.d.
26124 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26125 40_custom (implicitly, by merging all the grub.d rules).
26126
947414b4 261272008-07-11 Pavel Roskin <proski@gnu.org>
26128
0059cf6f 26129 * commands/read.c (grub_getline): Fix invalid memory access.
26130 Don't add newline to the variable value.
26131
947414b4 26132 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26133 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26134 (serial_hw_get_port): Check validity of the port number.
26135 (grub_cmd_serial): Check return value of serial_hw_get_port().
26136
62a02d00 261372008-07-07 Pavel Roskin <proski@gnu.org>
26138
26139 * boot/i386/pc/diskboot.S (notification_string): Replace
26140 "Loading kernel" with just "loading". This is shorter, less
26141 confusing and saves a few bytes for possible future changes.
26142
3e5581b0 261432008-07-05 Pavel Roskin <proski@gnu.org>
26144
ea387a48 26145 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26146 size for ATAPI devices, they are undefined. Output sector
26147 number in decimal form.
26148
3e5581b0 26149 * disk/ata.c: Use named constants for status bits.
26150
fdecb8fd 261512008-07-04 Pavel Roskin <proski@gnu.org>
26152
bcd35b90 26153 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26154 grub_addr_t before casting it to the void pointer to fix a
26155 warning. Non-addressable regions are discarded earlier.
26156 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26157 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26158 (check_signature): Don't shadow table_header.
26159 (grub_linuxbios_table_iterate): Cast numeric constants to
26160 grub_linuxbios_table_header_t.
26161 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26162 grub_stop().
26163
af58ab3d 26164 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26165 prevent warnings.
26166
1759aa57 26167 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26168 pointer, which can cause warnings. Support 64-bit addresses.
26169
fdecb8fd 26170 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26171 of sizeof(long). This fixes PowerPC image generation on x86_64.
26172
8516d2a8 261732008-07-04 Robert Millan <rmh@aybabtu.com>
26174
26175 This fixes a performance issue when pc & gpt partmap iterators
26176 didn't abort iteration even after our hook found what it was
fe987087 26177 looking for (often causing expensive probes of non-existent drives).
8516d2a8 26178
26179 Some callers relied on previous buggy behaviour, since they would
34c44600 26180 raise an error when their own hooks caused early abortion of its
8516d2a8 26181 iteration.
26182
26183 * kern/device.c (grub_device_open): Improve error message.
26184 * disk/lvm.c (grub_lvm_open): Likewise.
26185 * disk/raid.c (grub_raid_open): Likewise.
26186
26187 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26188 when hook requests it, independently of grub_errno.
26189 (pc_partition_map_probe): Do not fail when find_func() caused
26190 early abortion of pc_partition_map_iterate().
26191
26192 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26193 when hook requests it, independently of grub_errno.
26194 (gpt_partition_map_probe): Do not fail when find_func() caused
26195 early abortion of gpt_partition_map_iterate().
26196
26197 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26198 when hook requests it, independently of grub_errno. Do not fail when
26199 part_map_iterate_hook() caused early abortion of p->iterate().
26200
26201 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26202 when grub_partition_iterate() returned with non-zero.
26203
277d0de9 262042008-07-03 Pavel Roskin <proski@gnu.org>
26205
26206 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26207 like we do in grub_ata_pio_read().
26208 (grub_ata_readwrite): Always write individual sectors. Fix the
26209 sector count for the remainder.
26210 (grub_ata_write): Enable writing to ATA devices. Correctly
26211 report error for ATAPI devices.
26212
d4c9b428 262132008-07-02 Pavel Roskin <proski@gnu.org>
26214
e43fc690 26215 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26216 warning.
26217
f707af42 26218 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26219 for every read sector, we already increment it for the whole
26220 batch. This fixes reading more than 256 sectors at once.
26221
11e16b15 26222 * util/grub-editenv.c (cmd_info): Cast argument to long
26223 explicitly. ptrdiff_t reduces to int on i386.
26224
cbabfdd4 26225 * util/grub-editenv.c (main): Be specific which parameter is
26226 missing.
26227
b8fbce0a 26228 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26229 (memdisk): Make memdisk_orig_addr a pointer.
26230
c9c8e606 26231 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26232 for file offsets, use grub_off_t instead. Fix printf format
26233 warnings.
26234
ca62e598 26235 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26236 there. Real unexpected warnings should not drown in the noise
26237 about known problems.
26238
ce8d1766 26239 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26240 grub_disk_addr_t for memory addresses.
26241
00c7a56a 26242 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26243 explicitly to fix a warning.
26244
08d3ef09 26245 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26246
cb71ba20 26247 * Makefile.in (MODULE_LDFLAGS): New variable.
26248 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26249 the linker accepts --build-id=none.
26250 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26251 MODULE_LDFLAGS.
26252 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26253
d4c9b428 26254 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26255 those in Linux XFS code. Provide a way to access 64-bit parent
26256 inode.
26257 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26258 the end of struct grub_xfs_dir_header.
26259
d4156eee 262602008-07-02 Bean <bean123ch@gmail.com>
26261
26262 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26263 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26264 and GRUB_IEEE1275_FLAG_NO_ANSI.
26265
26266 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26267 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26268 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26269
26270 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26271 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26272
26273 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26274 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26275
26276 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26277 esc sequence on non ANSI terminal.
26278 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26279
26280 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26281 beginning of file.
26282
2270f77b 262832008-07-02 Bean <bean123ch@gmail.com>
26284
26285 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26286 (grub_editenv_SOURCES): New variable.
26287 (pkglib_MODULES): Add loadenv.mod.
26288 (loadenv_mod_SOURCES): New variable.
26289 (loadenv_mod_CFLAGS): Likewise.
26290 (loadenv_mod_LDFLAGS): Likewise.
26291
26292 * include/grub/envblk.h: New file.
26293
26294 * util/envblk.c: New file.
26295
26296 * util/grub-editenv.c: New file.
26297
26298 * commands/loadenv.c: New file.
26299
0e9e51ec 263002008-07-01 Pavel Roskin <proski@gnu.org>
26301
d89b7634 26302 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26303 not unsigned char. This fixes warnings and is consistent with
26304 other tags.
26305
bf1835b1 26306 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26307
8222a04b 26308 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26309
6a42d99d 26310 * term/tparm.c (analyze): Always set *popcount.
26311
10b159d1 26312 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26313 cast to fix a warning.
26314
b8789f6c 26315 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26316 cast to suppress a warning.
26317
29d7e38a 26318 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26319 grub_fshelp_read_file() expects.
26320
f341f669 26321 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26322 write uuid as a 32-bit value in CPU byte order, so declare and
26323 use it as such.
26324
0e9e51ec 26325 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26326 long if the format specifier expects it.
26327 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26328 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26329 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26330 long to fix a warning.
26331 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26332 grub_dprintf() arguments to fix warnings.
26333
3aefa857 263342008-06-30 Pavel Roskin <proski@gnu.org>
26335
56c7668b 26336 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26337 install_bsd_part immediately before core.img is embedded or
26338 modified on disk. This fixes core.img verification if core.img
26339 cannot be embedded.
26340
3aefa857 26341 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26342 core_path to calculate the blocklist.
26343 Patch from Javier Martín <lordhabbit@gmail.com>
26344
5444088d 263452008-06-29 Robert Millan <rmh@aybabtu.com>
26346
26347 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26348 block to disk block.
26349 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26350 Patch from Niels Böhm <bitbucket@arcor.de>
26351
674835c8 263522008-06-29 Robert Millan <rmh@aybabtu.com>
26353
26354 * util/update-grub_lib.in (font_path): Search for fonts in
26355 /boot/grub first, which is more likely to be readable (we aren't
26356 deciding where fonts live, just looking for them).
26357
f527dbc8 263582008-06-26 Pavel Roskin <proski@gnu.org>
26359
6c2d8df6 26360 * util/biosdisk.c (read_device_map): Don't leave dead map
26361 entries for devices failing stat() check.
26362
f527dbc8 26363 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26364 core_path_dev for the core.img path on the target device.
26365
aebe3d13 263662008-06-26 Robert Millan <rmh@aybabtu.com>
26367
26368 * disk/fs_uuid.c: New file.
26369 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26370 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26371 (fs_uuid_mod_LDFLAGS): New variables.
26372 * include/grub/disk.h (grub_disk_dev_id): Add
26373 `GRUB_DISK_DEVICE_UUID_ID'.
26374 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26375 implement iterate().
26376
37aaf354 263772008-06-26 Robert Millan <rmh@aybabtu.com>
26378
26379 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26380 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26381 Linux image includes no initrd.
26382
25ff262a 263832008-06-21 Javier Martín <lordhabbit@gmail.com>
26384
26385 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26386 call to resolve the core image location that effectively appended the
26387 name twice.
26388
76a2bd44 263892008-06-21 Robert Millan <rmh@aybabtu.com>
26390
26391 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26392 call from here ...
26393
26394 * util/grub.d/10_hurd.in: ... to here ...
26395 * util/grub.d/10_linux.in: ... and here.
26396
650e1c79 263972008-06-19 Robert Millan <rmh@aybabtu.com>
26398
fe987087 26399 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 26400 after it has been set by grub_machine_set_prefix().
26401
6ce63911 264022008-06-19 Robert Millan <rmh@aybabtu.com>
26403
26404 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26405 search result when not saving to variable, not the other way around.
26406 When saving to variable, abort iteration as soon as a match is found.
26407
73940cec 264082008-06-19 Robert Millan <rmh@aybabtu.com>
26409
26410 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26411 check for partition that provides /boot/grub. Its logic is flawed,
26412 as it prevents prepare_grub_to_access_device() from being called
26413 multiple times.
26414
3c62a39d 264152008-06-19 Robert Millan <rmh@aybabtu.com>
26416
26417 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26418 "insmod" command directly when abstraction modules are needed,
fe987087 26419 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 26420 since it had already been processed).
26421
47395a42 264222008-06-19 Pavel Roskin <proski@gnu.org>
26423
26424 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26425 changed. This is needed in case GRUB_LIBDIR changes.
26426 * conf/i386-ieee1275.rmk: Likewise.
26427 * conf/i386-linuxbios.rmk: Likewise.
26428 * conf/i386-pc.rmk: Likewise.
26429 * conf/powerpc-ieee1275.rmk: Likewise.
26430
a145ac2d 264312008-06-18 Pavel Roskin <proski@gnu.org>
26432
26433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26434 kernel_elf_symlist.c to symlist.c for consistency with other
26435 architectures. Update all users.
26436 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26437
7847c51e 264382008-06-18 Robert Millan <rmh@aybabtu.com>
26439
26440 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26441 it in prefix.
26442
26443 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26444 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26445 a RAID device, run setup() for all members independently on whether
26446 LVM abstraction is being used.
26447 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26448 If grub-mkimage has set `*install_dos_part == -2', don't override this
26449 value.
26450 Perform *install_dos_part adjustments independently on whether
26451 we're embedding or not.
26452 Clarify error message when image is too big for embedding.
26453 Remove duplicate *install_dos_part stanza.
26454
b23e5644 264552008-06-17 Robert Millan <rmh@aybabtu.com>
26456
26457 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26458 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26459 variables.
26460 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26461 values in grub_ofconsole_normal_color and
26462 grub_ofconsole_highlight_color (they're not directly related to
26463 background and foreground).
26464 (grub_ofconsole_setcolorstate): Extract background and foreground
26465 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26466
0aac2f79 264672008-06-17 Robert Millan <rmh@aybabtu.com>
26468
26469 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26470 /boot/grub for the check in last commit, not /boot (they could be
26471 different partitions).
26472
3cca7ef3 264732008-06-16 Robert Millan <rmh@aybabtu.com>
26474
26475 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26476 asked to setup access for the same partition that provides /boot,
26477 don't bother using UUIDs since our root already has the value we
26478 want.
26479
347396d8 264802008-06-16 Robert Millan <rmh@aybabtu.com>
26481
26482 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26483 I2O devices.
26484 Patch from Sven Mueller <sven@debian.org>.
26485
991477f8 264862008-06-16 Robert Millan <rmh@aybabtu.com>
26487
26488 * util/update-grub.in: Check for $EUID instead of $UID.
26489 Reported by Vincent Zweije.
26490
d31a32a1 264912008-06-16 Bean <bean123ch@gmail.com>
26492
fe987087 26493 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 26494 (grub_ext2_read_block): Likewise.
26495 (grub_ext2_read_inode): Likewise.
26496 (grub_ext2_mount): Likewise.
26497 (grub_ext2_close): Likewise.
26498 (grub_ext3_get_journal): Removed.
26499
fe987087 26500 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 26501 (grub_reiserfs_read_symlink): Likewise.
26502 (grub_reiserfs_mount): Likewise.
26503 (grub_reiserfs_open): Likewise.
26504 (grub_reiserfs_read): Likewise.
26505 (grub_reiserfs_close): Likewise.
26506 (grub_reiserfs_get_journal): Removed.
26507
26508 * fs/fshelp.c (grub_fshelp_read): Removed.
26509 (grub_fshelp_map_block): Likewise.
26510
26511 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26512 (grub_fshelp_journal): Likewise.
26513 (grub_fshelp_read): Likewise.
26514 (grub_fshelp_map_block): Likewise.
26515
3540a760 265162008-06-16 Pavel Roskin <proski@gnu.org>
26517
26518 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26519 floating point anymore.
26520 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26521
95614c84 265222008-06-15 Pavel Roskin <proski@gnu.org>
26523
26524 * commands/ls.c (grub_ls_list_files): Use integer calculations
26525 for human readable format, avoid floating point use.
26526 * kern/misc.c (grub_ftoa): Remove.
26527 (grub_vsprintf): Remove floating point support.
26528
50465dd6 265292008-06-15 Robert Millan <rmh@aybabtu.com>
26530
fe6b695a 26531 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 26532 devices.
26533 Reported by Max Vozeler.
26534
a9207284 265352008-06-15 Robert Millan <rmh@aybabtu.com>
26536
26537 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26538 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26539 skipped later.
26540 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26541 the beginning of the prefix.
26542
26543 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26544 It is assumed that if we have a memdisk, grub-mkimage has set
26545 grub_prefix to include the "(memdisk)" drive in it.
26546
a7cbd45a 265472008-06-15 Robert Millan <rmh@aybabtu.com>
26548
26549 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26550 Initialize keyboard controller after registering the terminal, so that
26551 grub_printf() can be called from grub_keyboard_controller_init().
26552
21cf716a 265532008-06-15 Robert Millan <rmh@aybabtu.com>
26554
26555 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26556 extent-btree which is written as big endian on disk.
26557 Reported by Alain Greppin <al@chilibi.org>.
26558
23a64d8e 265592008-06-14 Robert Millan <rmh@aybabtu.com>
26560
26561 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26562 * util/i386/pc/grub-install.in (modules): Likewise.
26563
d687651c 265642008-06-13 Pavel Roskin <proski@gnu.org>
26565
26566 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26567
dfe9ddd4 265682008-06-13 Bean <bean123ch@gmail.com>
26569
26570 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26571
26572 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26573
26574 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26575 to indicate sparse block.
26576
16ae7781 265772008-06-12 Pavel Roskin <proski@gnu.org>
26578
e6d1a308 26579 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26580 number, grub_fshelp_read() does it for us.
26581
16ae7781 26582 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26583 linear disk read with journal translation.
26584 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26585 * include/grub/fshelp.h: Declare grub_fshelp_read().
26586
40fd3a2b 265872008-06-09 Pavel Roskin <proski@gnu.org>
26588
26589 * fs/minix.c (grub_minix_mount): Handle error reading
26590 superblock.
26591
f5679726 265922008-06-08 Robert Millan <rmh@aybabtu.com>
26593
26594 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26595 don't append the RAID prefix afterwards.
26596 Reported by Clint Adams.
26597
ce525529 265982008-06-08 Robert Millan <rmh@aybabtu.com>
26599
26600 Based on description from Pavel:
26601 * kern/disk.c (grub_disk_check_range): Rename to ...
26602 (grub_disk_adjust_range): ... this. Add a comment explaining the
26603 tasks performed by this function.
26604
ad4936a0 266052008-06-08 Robert Millan <rmh@aybabtu.com>
26606
26607 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26608 `num_serial' (for consistency with other variables).
26609 (struct grub_ntfs_data): Add `uuid' member.
26610 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26611 (grub_ntfs_uuid): New function.
26612 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26613
dc20b0f9 266142008-06-07 Pavel Roskin <proski@gnu.org>
26615
26616 * util/biosdisk.c (open_device): Revert last change to the
26617 function, it broke installation. The sector needs to be
26618 different dependent on which device is opened.
26619
c5e3cfba 266202008-06-06 Robert Millan <rmh@aybabtu.com>
26621
26622 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26623 rest of GRUB, and breakage doesn't happen if its value were modified.
26624
26625 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26626 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26627 a constant (same value).
26628 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26629 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26630
26a1f8c4 266312008-06-06 Robert Millan <rmh@aybabtu.com>
26632
26633 * util/biosdisk.c (open_device): Do not modify sector offset when
26634 accessing a partition. kern/disk.c already handles this for us.
26635
25d6b327 266362008-06-06 Robert Millan <rmh@aybabtu.com>
26637
26638 * util/grub-emu.c (grub_machine_init): Move code in this function from
26639 here ...
26640 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26641 segfault in case grub_printf() is called).
26642
26643 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26644 grub_probe. Update all users not to explicitly add it again.
26645 (grub_device): New variable; contains corresponding device for grubdir.
26646 (fs_module, partmap_module, devabstraction_module): Pass
26647 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26648 every time.
26649
9ece62fb 266502008-06-05 Robert Millan <rmh@aybabtu.com>
26651
26652 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26653 is found, print it (same layout as with labels).
26654
1ad36d37 266552008-06-04 Robert Millan <rmh@aybabtu.com>
26656
26657 * util/biosdisk.c (get_drive): Rename to ...
26658 (find_grub_drive): ... this. Update all users.
26659
26660 (get_os_disk): Rename to ...
26661 (convert_system_partition_to_system_disk): ... this. Update all users.
26662
26663 (find_drive): Rename to ...
26664 (find_system_device): ... this. Update all users.
26665
e6a30859 266662008-06-04 Robert Millan <rmh@aybabtu.com>
26667
26668 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26669 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26670 (make_device_map): Likewise.
26671
00c108a4 266722008-06-01 Robert Millan <rmh@aybabtu.com>
26673
26674 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26675 before dereferencing it.
26676
26677 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26678 union with fat12/fat16-specific ones. Add some new fields, including
26679 `num_serial' for both versions.
26680 (struct grub_fat_data): Add `uuid' member.
26681 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26682 names. Initialize `data->uuid' using `num_serial'.
26683 (grub_fat_uuid): New function.
26684 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26685
26686 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26687 (grub_reiserfs_uuid): New function.
26688 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26689 member.
26690
26691 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26692 (grub_xfs_uuid): New function.
26693 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26694
1385c5bb 266952008-06-01 Robert Millan <rmh@aybabtu.com>
26696
26697 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26698 code that is backward compatible with pre-uuid search command.
26699
c682dfd7 267002008-05-31 Robert Millan <rmh@aybabtu.com>
26701
26702 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26703 floppies after everything else, to ensure floppy drive isn't accessed
26704 unnecessarily (patch from Bean).
26705
b7db5d47 267062008-05-31 Robert Millan <rmh@aybabtu.com>
26707
26708 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26709 not print device names when we were asked to set a variable.
26710
6e037aa9 267112008-05-31 Robert Millan <rmh@aybabtu.com>
26712
26713 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26714 using "cursor-on" and "cursor-off" commands (understood at least by
26715 the Open Firmware flavour on OLPC).
26716
41305bc8 267172008-05-31 Michael Gorven <michael@gorven.za.net>
26718
26719 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26720 on and off sequences.
26721
69ba137e 267222008-05-31 Robert Millan <rmh@aybabtu.com>
26723
26724 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26725 * util/update-grub.in: Likewise.
26726
520ae21b 267272008-05-30 Pavel Roskin <proski@gnu.org>
26728
26729 * util/biosdisk.c (linux_find_partition): Simplify logic and
26730 make the code more universal. Keep special processing for
26731 devfs, but use a simple rule for all other devices. If the
26732 device ends with a number, append 'p' and the partition number.
26733 Otherwise, append only the partition number.
26734
5786569b 267352008-05-30 Robert Millan <rmh@aybabtu.com>
26736
26737 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26738 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26739 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26740 the `root' parameter to Linux.
26741
51500452 267422008-05-30 Robert Millan <rmh@aybabtu.com>
26743
26744 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26745 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26746 --fs_uuid with --fs-uuid.
26747 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26748 all filesystems support them).
26749
811d3878 267502008-05-30 Robert Millan <rmh@aybabtu.com>
26751
26752 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 26753 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 26754
cab63c95 267552008-05-30 Robert Millan <rmh@aybabtu.com>
26756
26757 * util/grub.d/00_header.in: Remove obsolete comment referencing
26758 convert_system_path_to_grub_path().
26759 * util/update-grub.in: Likewise.
26760 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26761 (convert_system_path_to_grub_path): Add a warning message explaining
26762 that this function is deprecated. Rely on is_path_readable_by_grub()
26763 for the readability checks.
26764 (font_path): Use is_path_readable_by_grub() for the readability
26765 check rather than convert_system_path_to_grub_path().
26766
972e2f7a 267672008-05-30 Robert Millan <rmh@aybabtu.com>
26768
26769 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26770 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26771 converting it first.
26772 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26773 grub.cfg for access to font file, and afterwards call it again to set
26774 the root device.
26775
62191274 267762008-05-30 Robert Millan <rmh@aybabtu.com>
26777
26778 * commands/search.c (options): Add --fs_uuid option.
26779 (search_fs_uuid): New function.
26780 (grub_cmd_search): Fix --set argument passing.
26781 Use search_fs_uuid() when requested via --fs_uuid.
26782 (grub_search_init): Update help message.
26783 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26784 and redeclare it as an array of 16-bit words.
26785 (grub_ext2_uuid): New function.
26786 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26787 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26788 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26789 (GRUB_DEVICE_BOOT_UUID): New variables.
26790 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26791 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26792 whenever possible.
26793 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26794 just assume `root' variable has the right value.
26795 * util/grub.d/10_linux.in: Likewise.
26796 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26797 via PRINT_FS_UUID.
26798 (main): Recognise `-t fs_uuid' argument.
26799
01b73ec8 268002008-05-30 Robert Millan <rmh@aybabtu.com>
26801
26802 * util/biosdisk.c (map): Redefine structure to hold information
26803 about GRUB drive name.
fe6b695a 26804 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 26805 drive names.
26806 (call_hook): Remove.
26807 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26808 member. Assume drive has partitions.
26809 (grub_util_biosdisk_open): Access device names via `.device' struct
26810 member.
26811 (open_device): Likewise.
26812 (find_drive): Likewise.
26813 (read_device_map): Adjust map[] usage to match the new struct
26814 definition. Don't check for duplicates (still possible, but not cheap
26815 anymore).
26816 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26817 (make_device_name): Remove assumption of BIOS-like drive names.
26818
22f16596 268192008-05-30 Pavel Roskin <proski@gnu.org>
26820
26821 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26822 compiling execute.c doesn't need grub_script.tab.h anymore.
26823 (normal/command.c_DEPENDENCIES): Likewise.
26824 (normal/function.c_DEPENDENCIES): Likewise.
26825 * conf/i386-ieee1275.rmk: Likewise.
26826 * conf/i386-linuxbios.rmk: Likewise.
26827 * conf/i386-pc.rmk: Likewise.
26828 * conf/powerpc-ieee1275.rmk: Likewise.
26829 * conf/sparc64-ieee1275.rmk: Likewise.
26830
528ad8f2 268312008-05-29 Pavel Roskin <proski@gnu.org>
26832
d1dff95d 26833 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26834 when scanning metadata for volume group name.
26835
528ad8f2 26836 * include/grub/script.h: Don't include grub_script.tab.h. It's
26837 a generated file, which may only be included from the files with
26838 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26839 use union YYSTYPE, as the later allows forward declaration.
26840 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26841
47248e08 268422008-05-29 Robert Millan <rmh@aybabtu.com>
26843
26844 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26845 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26846 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26847 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26848 scan codes.
26849
ee632529 268502008-05-29 Robert Millan <rmh@aybabtu.com>
26851
26852 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26853 control key combinations.
26854
eee96e08 268552008-05-29 Robert Millan <rmh@aybabtu.com>
26856
26857 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26858 * util/ieee1275/grub-install.in: ... to here.
26859 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26860 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26861 (grub_install_SOURCES): Likewise.
26862
da9a6a94 268632008-05-29 Robert Millan <rmh@aybabtu.com>
26864
26865 * fs/affs.c: Update copyright year.
26866 * fs/ext2.c: Likewise.
26867 * fs/fshelp.c: Likewise.
26868 * fs/hfsplus.c: Likewise.
26869 * fs/ntfs.c: Likewise.
26870 * fs/xfs.c: Likewise.
26871 * include/grub/fshelp.h: Likewise.
26872 * util/grub-mkdevicemap.c: Likewise.
26873
12e65f3a 268742008-05-28 Robert Millan <rmh@aybabtu.com>
26875
26876 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26877 might need to be fatfs to support some firmware implementations
26878 (e.g. OFW or EFI).
26879
23023641 268802008-05-28 Robert Millan <rmh@aybabtu.com>
26881
26882 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26883 devices.
26884 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26885 (make_device_map): Likewise.
26886
887d2619 268872008-05-20 Bean <bean123ch@gmail.com>
26888
26889 * fs/fshelp.c (grub_fshelp_map_block): New function.
26890 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26891 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26892
26893 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26894 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26895 (grub_fshelp_journal): New structure.
26896 (grub_fshelp_map_block): New function prototype.
26897 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26898 (grub_fshelp_map_block): Likewise.
26899
26900 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26901 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26902 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26903 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26904 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26905 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26906 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26907 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26908 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26909 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26910 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26911 (grub_ext2_sblock): New members for journal support.
26912 (grub_ext3_journal_header): New structure.
26913 (grub_ext3_journal_revoke_header): Likewise.
26914 (grub_ext3_journal_block_tag): Likewise.
26915 (grub_ext3_journal_sblock): Likewise.
26916 (grub_fshelp_node): New members logfile and journal.
26917 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26918 grub_fshelp_map_block to get real block number.
26919 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26920 number.
26921 (grub_ext2_read_inode): Likewise.
26922 (grub_ext3_get_journal): New function.
26923 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26924 (grub_ext2_close): Release memory used by journal.
26925
26926 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26927 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26928 (grub_reiserfs_transaction_header): Renamed to
26929 grub_reiserfs_description_block, replace field data with real_blocks.
26930 (grub_reiserfs_commit_block): New structure.
26931 (grub_reiserfs_data): New member journal.
26932 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26933 number.
26934 (grub_reiserfs_read_symlink): Likewise.
26935 (grub_reiserfs_iterate_dir): Likewise.
26936 (grub_reiserfs_open): Likewise.
26937 (grub_reiserfs_read): Likewise.
26938 (grub_reiserfs_get_journal): New function.
26939 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26940 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26941 using grub_reiserfs_get_journal.
26942 (grub_reiserfs_close): Release memory used by journal.
26943
26944 * fs/affs.c (grub_affs_read_block): Change block type to
26945 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26946
26947 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26948
26949 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26950
26951 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26952
26953 * fs/udf.c (grub_udf_read_block): Change block type to
26954 grub_disk_addr_t. Use type cast to avoid warning.
26955
26956 * fs/xfs.c (grub_xfs_read_block): Likewise.
26957
b7c6bed5 269582008-05-16 Christian Franke <franke@computer.org>
26959
26960 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
26961 to ensure that break with ESC will always work.
26962 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
26963 Remove ESC from keyboard queue.
26964
eedf167f 269652008-05-16 Christian Franke <franke@computer.org>
26966
26967 * util/biosdisk.c: [__CYGWIN__] Add includes.
26968 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
26969 (get_os_disk): Move variable declarations to OS specific
26970 parts to avoid warning.
26971 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
26972 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
26973 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
26974 Cygwin.
26975 * util/getroot.c: [__CYGWIN__] Add includes.
26976 (strip_extra_slashes): Fix "/" case.
26977 [__CYGWIN__] (get_win32_path): New function.
26978 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
26979 [__CYGWIN__] (find_root_device): Disable.
26980 [__CYGWIN__] (get_bootsec_serial): New function.
26981 [__CYGWIN__] (find_cygwin_root_device): Likewise.
26982 [__linux__] (grub_guess_root_device): Add early returns to simplify
26983 structure.
26984 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
26985 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
26986 check for Linux only.
26987
a079699e 269882008-05-15 Bean <bean123ch@gmail.com>
26989
26990 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
26991 keyboard hang problem in apple's intel mac.
26992
1cf4059a 269932008-05-09 Robert Millan <rmh@aybabtu.com>
26994
26995 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
26996 devices.
26997 * util/grub-mkdevicemap.c (get_virtio_disk_name)
26998 (make_device_map): Likewise.
26999 Reported by Aurelien Jarno <aurel32@debian.org>
27000
ed759390 270012008-05-07 Ian Campbell <ijc@hellion.org.uk>
27002
27003 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27004 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27005 (make_device_map): Output entries for xvd type disks.
27006
b56c4eaa 270072008-05-07 Robert Millan <rmh@aybabtu.com>
27008
27009 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27010 devices.
27011 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27012 (make_device_map): Likewise.
27013 Reported by Roland Dreier <rdreier@cisco.com>
27014
7f8866ed 270152008-05-07 Robert Millan <rmh@aybabtu.com>
27016
27017 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27018 grub_strstr() call. Correct a few mistakes in failure path handling.
27019
b0346e0f 270202008-05-06 Robert Millan <rmh@aybabtu.com>
27021
27022 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27023 Do not print a trailing slash (therefore, the root directory is an
27024 empty string).
27025 (convert_system_path_to_grub_path): Do not remove trailing slash
27026 from make_system_path_relative_to_its_root() output.
27027
27028 * util/i386/pc/grub-install.in: Add trailing slash to output from
27029 make_system_path_relative_to_its_root().
27030
6cf12cbd 270312008-05-06 Robert Millan <rmh@aybabtu.com>
27032
27033 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27034 ensures that output lines aren't intermangled with those sent to
27035 stderr (via grub_util_info()).
27036 * util/grub-probe.c (grub_refresh): Likewise.
27037 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27038
0fbb3117 270392008-05-05 Christian Franke <franke@computer.org>
27040
27041 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27042 Add Cygwin device names.
27043 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27044 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27045 (check_device): Return error instead of success on empty name.
27046 (make_device_map): Move label inside linux specific code to
27047 prevent compiler warning.
27048
8124cdb7 270492008-04-30 Robert Millan <rmh@aybabtu.com>
27050
27051 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27052 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27053 first boot option.
27054 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27055
094c01d0 270562008-04-29 Robert Millan <rmh@aybabtu.com>
27057
27058 * docs/grub.cfg: New file (example GRUB configuration).
27059
f4b1fc02 270602008-04-26 Robert Millan <rmh@aybabtu.com>
27061
329ce2a5 27062 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27063 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27064 and `disk/ieee1275/nand.c'.
f4b1fc02 27065
25f16ec1 270662008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 27067
25f16ec1 27068 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27069 i386-linuxbios.
27070
27071 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27072 change the buffer size to 4096 for cdrom device.
27073
27074 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27075 and nand.mod.
27076 (_linux_mod_SOURCES): New variable.
27077 (_linux_mod_CFLAGS): Likewise.
27078 (_linux_mod_LDFLAGS): Likewise.
27079 (linux_mod_SOURCES): Likewise.
27080 (linux_mod_CFLAGS): Likewise.
27081 (linux_mod_LDFLAGS): Likewise.
27082 (nand_mod_SOURCES): Likewise.
27083 (nand_mod_CFLAGS): Likewise.
27084 (nand_mod_LDFLAGS): Likewise.
27085
27086 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27087 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27088 type property. (nand device in olpc don't have this property)
27089
27090 * include/grub/disk.h (grub_disk_dev_id): New macro
27091 GRUB_DISK_DEVICE_NAND_ID.
27092
27093 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27094 function prototype.
27095 (grub_rescue_cmd_initrd): Likewise.
27096
27097 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27098 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27099 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 27100
25f16ec1 27101 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27102 GRUB_MACHINE_IEEE1275 is defined.
27103
27104 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27105 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27106
27107 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27108 on nested function heap_init.
27109 (grub_upper_mem): New variable for i386-ieee1275.
27110 (grub_get_extended_memory): New function for i386-ieee1275.
27111 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27112
27113 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27114 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27115 property.
f19dbdb7 27116
25f16ec1 27117 * loader/i386/ieee1275/linux.c: New file.
27118
27119 * loader/i386/ieee1275/linux_normal.c: New file.
27120
27121 * disk/ieee1275/nand.c: New file.
27122
e89d61e9 271232008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27124
27125 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27126 value.
27127 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27128
602566f6 271292008-04-18 Robert Millan <rmh@aybabtu.com>
27130
27131 Restructures early code path on ieee1275 to unify grub_main() as
27132 the first C function that is executed in every platform.
27133
27134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27135 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27136 cmain().
27137 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27138 * kern/ieee1275/cmain.c (cmain): Rename to ...
27139 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27140 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27141 at the beginning.
27142
57490c2b 271432008-04-18 Robert Millan <rmh@aybabtu.com>
27144
27145 * util/update-grub.in: Fix syntax error when setting
27146 `GRUB_PRELOAD_MODULES'.
27147 Reported by Stephane Chazelas <stephane@artesyncp.com>
27148
1977517d 271492008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27150
27151 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27152 section into account, newer toolchains generate unique build ids
27153 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 27154 we want build ids to be preserved
1977517d 27155 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27156 far from other sections don't cause the raw binary images grow
27157 size
27158
bfb1f1a2 271592008-04-15 Robert Millan <rmh@aybabtu.com>
27160
27161 * disk/lvm.c: Update copyright year.
27162 * kern/misc.c: Likewise.
27163
01979850 271642008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27165
27166 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 27167 there is no memory left for physical volume name.
01979850 27168
0a1150e2 271692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27170
27171 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27172 volume name mapping to support bigger than 9 character names properly.
27173
82ead3fe 271742008-04-13 Robert Millan <rmh@aybabtu.com>
27175
27176 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27177 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27178
e54a72f5 271792008-04-13 Christian Franke <franke@computer.org>
27180
27181 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27182 to create a floppy emulation boot CD when non emulation mode
27183 does not work.
27184 Enable Joliet CD filesystem extension.
27185
9fe86034 271862008-04-13 Robert Millan <rmh@aybabtu.com>
27187
27188 * kern/misc.c (grub_strncat): Fix off-by-one error.
27189 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27190
27191 * kern/env.c (grub_env_context_close): Clear current context, not
27192 previous one.
27193 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27194
27195 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27196
7ceeee39 271972008-04-13 Robert Millan <rmh@aybabtu.com>
27198
27199 Improve robustness when handling LVM.
27200
27201 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 27202 (and leave `*p' unmodified).
7ceeee39 27203 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27204 through it.
27205 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27206 iterating through it.
27207 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27208 through it.
fe6b695a 27209 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 27210 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27211 Don't assume `vg->pvs != NULL' when iterating through it.
27212
58cd3d85 272132008-04-13 Robert Millan <rmh@aybabtu.com>
27214
27215 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27216 * genmk.rb (partmap): New variable.
27217 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27218 (#{partmap}): New target rule.
27219 * genpartmaplist.sh: New file.
27220 * Makefile.in (pkglib_DATA): Add partmap.lst.
27221 (partmap.lst): New target rule.
27222 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27223 modules (including all partition maps), instead of preloading them.
27224
78b51059 272252007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27226
27227 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27228 `linux-boot-prober' (if installed) to detect other operating
27229 systems which are installed on the computer and add them to
27230 the boot menu.
27231 * conf/common.rmk: Build and install 30_os-prober.
27232
a91627b4 272332008-04-12 Robert Millan <rmh@aybabtu.com>
27234
27235 * kern/powerpc/ieee1275/init.c: Move from here ...
27236 * kern/ieee1275/init.c: ... to here. Update all users.
27237
27238 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27239 * kern/ieee1275/cmain.c: ... to here. Update all users.
27240
27241 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27242 * kern/ieee1275/openfw.c: ... to here. Update all users.
27243
27244 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27245 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27246
322562ea 272472008-04-10 Pavel Roskin <proski@gnu.org>
27248
27249 * configure.ac: Always use "_cv_" in cache variables for
27250 compatibility with Autoconf 2.62.
27251
a02a73c5 272522008-04-07 Robert Millan <rmh@aybabtu.com>
27253
27254 Revert grub/machine/init.h addition by Pavel (since it breaks on
27255 i386-ieee1275 and others):
27256 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27257 * util/powerpc/ieee1275/misc.c: Likewise.
27258
25c024b1 272592008-04-07 Robert Millan <rmh@aybabtu.com>
27260
27261 * util/grub-probe.c (probe): Improve error message.
27262
3cbd2f98 272632008-04-07 Robert Millan <rmh@aybabtu.com>
27264
27265 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27266 (this prevents the presence of a bogus entry from ruining the whole
27267 thing).
27268
87a297bf 272692008-04-06 Pavel Roskin <proski@gnu.org>
27270
36747a62 27271 * util/biosdisk.c: Include grub/util/biosdisk.h.
27272 * util/grub-fstest.c (execute_command): Make static.
27273 * util/grub-mkdevicemap.c (check_device): Likewise.
27274 * util/i386/pc/misc.c: Include grub/machine/init.h.
27275 * util/powerpc/ieee1275/misc.c: Likewise.
27276 * util/lvm.c: Include grub/util/lvm.h.
27277 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27278 grub/cache.h.
27279 * util/raid.c: Include grub/util/raid.h.
27280 (grub_util_getdiskname): Make static.
27281
87a297bf 27282 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27283 grub_hostfs_fini(), as they are called from grub_init_all() and
27284 grub_fini_all() respectively. This fixes an infinite loop in
27285 grub-fstest due to double registration of hostfs.
27286 Reported by Christian Franke <Christian.Franke@t-online.de>
27287
f6ce7629 272882008-04-05 Pavel Roskin <proski@gnu.org>
27289
27290 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27291 all 8 functions. Otherwise, probe function 0 only.
27292
070e49e4 272932008-04-04 Pavel Roskin <proski@gnu.org>
27294
8b088a4c 27295 * commands/lspci.c (grub_lspci_iter): Print the bus number
27296 correctly.
27297
4f657021 27298 * commands/lspci.c (grub_pci_classes): Fix typos.
27299 (grub_lspci_iter): Don't print func twice. Print vendor ID
27300 before device ID, as it's normally done.
27301
070e49e4 27302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27303 Fix signedness warnings.
27304 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27305 Likewise.
27306 * util/ieee1275/get_disk_name.c: Include config.h so that
27307 _GNU_SOURCE is defined and getline() is declared. Mark an
27308 unused argument as such. Fix a signedness warning.
27309
ba7328dc 273102008-04-02 Pavel Roskin <proski@gnu.org>
27311
26887f22 27312 * genkernsyms.sh.in: Use more robust assignments for CC and
27313 srcdir. Quote srcdir.
27314 * gensymlist.sh.in: Likewise. Assert at the compile time that
27315 the symbol table is not empty.
27316
ba7328dc 27317 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27318 * fs/cpio.c (grub_cpio_read): Likewise.
27319
0f582c6b 273202008-04-01 Pavel Roskin <proski@gnu.org>
27321
4b6e1995 27322 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27323 * disk/host.c (grub_host_open): Likewise.
27324 * disk/loopback.c (grub_loopback_open): Likewise.
27325 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27326 disk->id as in disk/host.c, not a multi-character constant.
27327
828a2768 27328 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27329 later is obsolete, potentially dangerous and sets a bad example.
27330 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27331 * util/misc.c (grub_util_get_image_size): Likewise.
27332
2bb4fb47 27333 * disk/loopback.c (options): Improve help for "--partitions".
27334
0f582c6b 27335 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27336 options to align them with the short options, e.g. "echo -e".
27337
a33224e0 273382008-03-31 Bean <bean123ch@gmail.com>
27339
27340 * video/reader/png.c (grub_png_data): New member is_16bit and
27341 image_data.
27342 (grub_png_decode_image_header): Detect 16 bit png image.
27343 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27344 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27345 (grub_video_reader_png): Release memory occupied by image_data.
27346
27347 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27348 4096 bytes.
27349 (grub_nfs_mount): Skip the test for sector per cluster.
27350
27351 * include/grub/ntfs.h (MAX_SPC): Removed.
27352
86cb4f54 273532008-03-31 Bean <bean123ch@gmail.com>
27354
27355 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27356 (grub_probe_SOURCES): Add fs/afs.c.
27357 (grub_fstest_SOURCES): Likewise.
27358 (afs_mod_SOURCES): New variable.
27359 (afs_mod_CFLAGS): Likewise.
27360 (afs_mod_LDFLAGS): Likewise.
27361
27362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27363 (grub_emu_SOURCES): Likewise.
27364
27365 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27366
27367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27368
27369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27370
27371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27372
27373 * fs/afs.c: New file.
27374
17c74c21 273752008-03-30 Pavel Roskin <proski@gnu.org>
27376
4cb68e89 27377 * disk/host.c: Include grub/misc.h to fix a warning.
27378 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27379 warnings about implicit declarations.
27380
8790bb04 27381 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27382 variable.
27383 * include/grub/i386/loader.h: Change declaration of
27384 grub_linux_boot() to match what grub_loader_set() expects.
27385 * util/getroot.c (grub_guess_root_device): Return const char* to
27386 fix a warning.
27387 * util/grub-probe.c (probe): Fix a warning about uninitialized
27388 abstraction_name variable.
27389 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27390 second argument as unused to fix a warning.
27391
9a3f3296 27392 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27393 missing grub_error() call.
27394
0ecef90d 27395 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27396 2.60 and newer uses it to define datadir.
27397
0bf6d401 27398 * commands/sleep.c: Fix warning about implicit declaration.
27399 * disk/memdisk.c: Likewise.
27400 * loader/aout.c: Likewise.
27401 * loader/i386/bsd_normal.c: Likewise.
27402 * util/grub-probe.c: Likewise.
27403
7cdacf97 27404 * commands/i386/cpuid.c (has_longmode): Make static.
27405 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27406 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27407
17c74c21 27408 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27409 GDT. This is more robust, as %ds can change.
27410 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27411 calling real_to_prot().
27412 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27413
80a3e68b 274142008-03-28 Pavel Roskin <proski@gnu.org>
27415
27416 * kern/i386/pc/startup.S: Assert that uncompressed functions
27417 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27418 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27419 code, as they push parts of the code (error handlers) beyond
27420 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27421 code as correctness and size.
27422
77bcd272 274232008-03-28 Pavel Roskin <proski@gnu.org>
27424
27425 * kern/i386/pc/startup.S
27426 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27427 data block address to the real mode, keep offset minimal. This
27428 works around a bug in AWARD BIOS on old Athlon systems, which
27429 makes CD detection hang.
27430
c5dfd43b 274312008-03-26 Pavel Roskin <proski@gnu.org>
27432
27433 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27434 const.
27435 * include/grub/normal.h: Add grub_parse_color_name_pair()
27436 declaration.
27437
bf962df2 274382008-03-24 Bean <bean123ch@gmail.com>
27439
27440 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27441 (cd_count): Removed.
27442 (cd_drive): New variable.
27443 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27444 (grub_biosdisk_call_hook): Likewise.
27445 (grub_biosdisk_iterate): Change cdrom detection method.
27446 (grub_biosdisk_open): Replace cd_start with cd_drive.
27447 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27448 detect cdrom device.
27449
27450 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27451 Removed.
27452 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27453 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27454 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27455 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27456 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27457 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27458 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27459 (grub_biosdisk_cdrp): New structure.
27460 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27461
27462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27463
27464 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27465 device.
27466
27467 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27468 New function.
27469
68e7fc7a 274702008-03-20 Robert Millan <rmh@aybabtu.com>
27471
27472 Remove 2 TiB limit in ata.mod.
27473 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27474 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27475 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27476 grub_uint64_t instead of grub_uint32_t.
27477
38ad2cf5 274782008-03-05 Bean <bean123ch@gmail.com>
27479
27480 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27481 (grub_multiboot): Set boot device.
27482
27483 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27484
2b89344e 274852008-03-02 Bean <bean123ch@gmail.com>
27486
27487 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27488 symlink_buffer.
27489
87a95d1f 274902008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27491
27492 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27493 texinfo.tex.
27494
27495 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27496 modified.
27497
27498 * docs/fdl.texi: New file.
f19dbdb7 27499
87a95d1f 27500 * docs/mdate-sh: New file. Copied from gnulib.
27501 * docs/texinfo.tex: Likewise.
27502
27503 * config.guess: Updated from gnulib.
27504 * install-sh: Likewise.
27505
7dc15d8e 275062008-02-28 Robert Millan <rmh@aybabtu.com>
27507
27508 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27509 (aout_mod_SOURCES): New variable.
27510 (aout_mod_CFLAGS): Likewise.
27511 (aout_mod_LDFLAGS): Likewise.
27512
27513 * conf/i386-ieee1275.rmk: Likewise.
27514
b00ab696 275152008-02-28 Robert Millan <rmh@aybabtu.com>
27516
27517 * util/update-grub.in: Reorganise terminal validity check. Accept
27518 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27519 Based on suggestion by Franklin PIAT.
27520
79ca2d78 275212008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27522
27523 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27524 function.
27525 * util/getroot.c (grub_util_check_block_device): New function that
27526 returns the given argument if it is a block device and returns NULL else.
27527 * util/grub-probe.c (argument_is_device): New variable.
27528 (probe): Promote device_name from a variable to an argument. Receive
27529 device_name from grub_util_check_block_device() if path is NULL and from
27530 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 27531 (options): Introduce new parameter '-d, --device'.
79ca2d78 27532 (main): Add description of the new parameter to the help screen.
27533 Rename path variable to argument. Set argument_is_device if the '-d'
27534 option is given. Pass argument to probe() depending on
27535 argument_is_device.
27536
0d16e571 275372008-02-24 Bean <bean123ch@gmail.com>
27538
27539 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27540 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27541 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27542 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27543 (GRUB_ISO9660_VOLDESC_END): Likewise.
27544 (grub_iso9660_primary_voldesc): New member escape.
27545 (grub_iso9660_data): New member joliet.
27546 (grub_iso9660_convert_string): New function.
27547 (grub_iso9660_mount): Detect joliet extension.
27548 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27549 (grub_iso9660_iso9660_label): Likewise.
27550
27551 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27552 (grub_setup_SOURCES): Add fs/udf.c.
27553 (grub_fstest_SOURCES): Likewise.
27554 (udf_mod_SOURCES): New variable.
27555 (udf_mod_CFLAGS): Likewise.
27556 (udf_mod_LDFLAGS): Likewise.
27557
27558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27559 (grub_emu_SOURCES): Likewise.
27560
27561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27562
27563 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27564
27565 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27566
27567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27568
27569 * fs/udf.c: New file.
27570
8a594a17 275712008-02-24 Robert Millan <rmh@aybabtu.com>
27572
27573 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27574 (normal/lexer.c_DEPENDENCIES): New variables.
27575 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27576 (normal/lexer.c_DEPENDENCIES): Likewise.
27577 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27578 (normal/lexer.c_DEPENDENCIES): Likewise.
27579 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27580 (normal/lexer.c_DEPENDENCIES): Likewise.
27581 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27582 (normal/lexer.c_DEPENDENCIES): Likewise.
27583 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27584 (normal/lexer.c_DEPENDENCIES): Likewise.
27585
2dc33c03 275862008-02-23 Robert Millan <rmh@aybabtu.com>
27587
27588 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27589 since they were intended to be in hex. This didn't break previously
27590 because of a bug in gpt_partition_map_iterate() (see below).
27591
27592 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27593 when checking the validity of GPT header.
27594 Remove `partno', since it always provides the same information as `i'.
27595
f6f4cfb0 275962008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27597
27598 * include/grub/efi/time.h: Fix a wrong comment.
27599
79ff665f 276002008-02-19 Pavel Roskin <proski@gnu.org>
27601
27602 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27603 message.
27604
d38e24c2 276052008-02-19 Bean <bean123ch@gmail.com>
27606
27607 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27608 (aout_mod_SOURCES): New variable.
27609 (aout_mod_CFLAGS): Likewise.
27610 (aout_mod_LDFLAGS): Likewise.
27611 (_bsd_mod_SOURCES): New variable.
27612 (_bsd_mod_CFLAGS): Likewise.
27613 (_bsd_mod_LDFLAGS): Likewise.
27614 (bsd_mod_SOURCES): New variable.
27615 (bsd_mod_CFLAGS): Likewise.
27616 (bsd_mod_LDFLAGS): Likewise.
27617
27618 * include/grub/aout.h: New file.
27619
27620 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27621
27622 * include/grub/i386/bsd.h: New file.
27623
27624 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27625 to make it public.
27626
27627 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27628 function is called, so that it's possible to change it inside the hook.
27629 (grub_elf64_load): Likewise.
27630 (grub_elf_file): Don't close the file if elf header is not found.
27631 (grub_elf_close): Close the file if grub_elf_file fails (The new
27632 grub_elf_file won't close it).
27633 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27634 (grub_elf64_size): Likewise.
27635
27636 * kern/i386/loader.S (grub_unix_real_boot): New function.
27637
27638 * loader/aout.c: New file.
27639
27640 * loader/i386/bsd.c: New file.
27641
27642 * loader/i386/bsd_normal.c: New file.
27643
27644 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27645
27646 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 27647 can test other formats.
d38e24c2 27648
b93bdb0f 276492008-02-19 Robert Millan <rmh@aybabtu.com>
27650
27651 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27652 (grub_gpt_partition_type_empty): Redefine with macro from
27653 `<grub/gpt_partition.h>'.
27654 (gpt_partition_map_iterate): Adjust partition type comparison.
27655
27656 Export `entry' as partmap-specific `part.data' struct.
27657 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27658
27659 * include/grub/gpt_partition.h (grub_gpt_header)
27660 (grub_gpt_partentry): ... to here (new file).
27661
27662 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27663
27664 (grub_gpt_partition_type_bios_boot): New const variable, defined
27665 with macro from `<grub/gpt_partition.h>'.
27666
27667 (setup): Replace `first_start' with `embed_region', which keeps
27668 track of the embed region (and is partmap-agnostic).
27669
27670 Replace find_first_partition_start() with find_usable_region(),
27671 which finds a usable region for embedding using partmap-specific
27672 knowledge (supports PC/MSDOS and GPT).
27673
27674 Fix all assumptions that the embed region start at sector 1, using
27675 `embed_region.start' from now on. Similarly, use `embed_region.end'
27676 rather than `first_start' to calculate available size.
27677
27678 In grub_util_info() message, replace "into after the MBR" with an
27679 indication of the specific sector our embed region starts at.
27680
66cb40f6 276812008-02-19 Robert Millan <rmh@aybabtu.com>
27682
27683 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27684 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27685 `commands/reboot.c'.
27686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27687 (halt_mod_SOURCES): Likewise.
27688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27689 (halt_mod_SOURCES): Likewise.
27690
b7202015 276912008-02-17 Christian Franke <franke@computer.org>
27692
27693 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27694
32b0fc49 276952008-02-17 Robert Millan <rmh@aybabtu.com>
27696
27697 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27698 set `first_start' to 0 for non-PC/MSDOS partition maps.
27699
aca63502 277002008-02-16 Robert Millan <rmh@aybabtu.com>
27701
27702 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27703 do not assume partition map is PC/MSDOS before performing checks that
27704 are specific to that layout.
27705
0de8be86 277062008-02-13 Robert Millan <rmh@aybabtu.com>
27707
27708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27709 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27710 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27711
c3db8364 277122008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27713
27714 * configure.ac: Only a cosmetic change on the handling of
27715 -fno-stack-protector.
27716
f714229e 277172008-02-12 Alexandre Boeglin <alex@boeglin.org>
27718
c3db8364 27719 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27720 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27721 reboot.c.
f714229e 27722 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27723 (halt_mod_SOURCES): New variable.
27724 (halt_mod_CFLAGS): Likewise.
27725 (halt_mod_LDFLAGS): Likewise.
27726 (reboot_mod_SOURCES): Likewise.
27727 (reboot_mod_CFLAGS): Likewise.
27728 (reboot_mod_LDFLAGS): Likewise.
27729
c3db8364 27730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27731 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27732 reboot.c.
f714229e 27733 (halt_mod_SOURCES): Likewise.
27734 (reboot_mod_SOURCES): Likewise.
27735
c3db8364 27736 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27737 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 27738 (reboot_mod_SOURCES): Likewise.
27739
27740 * commands/i386/pc/reboot.c: merge this file ...
27741
27742 * commands/ieee1275/reboot.c: ... and this file ...
27743
27744 * commands/reboot.c: ... to this file.
c3db8364 27745 Add some precompiler directive to include the correct header for
27746 each machine.
f714229e 27747
27748 * commands/ieee1275/halt.c: move this file ...
27749
27750 * commands/halt.c: ... to here.
c3db8364 27751 Add some precompiler directive to include the correct header for
27752 each machine.
f714229e 27753
27754 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27755 (grub_halt): Likewise.
27756
27757 * kern/efi/efi.c (grub_reboot): New function.
27758 (grub_halt): Likewise.
27759
c74493e0 277602008-02-12 Robert Millan <rmh@aybabtu.com>
27761
27762 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27763 /dev (like it is done for /dev/mapper). This doesn't provide support
27764 for EVMS, but at least it is now easy to identify the problem when it
27765 arises.
27766
d0db4b04 277672008-02-11 Robert Millan <rmh@aybabtu.com>
27768
27769 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27770 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27771 comparing it with -1, not 0.
27772
bf748642 277732008-02-10 Robert Millan <rmh@aybabtu.com>
27774
27775 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27776 `disk/lvm.c'.
27777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27779
27780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27781 `disk/lvm.c' to the end of the list.
27782 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27784
b5db202a 277852008-02-10 Robert Millan <rmh@aybabtu.com>
27786
27787 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27788 grub_print_error() instead. This will let user know why we're entering
27789 rescue mode.
27790 Based on suggestions from Sam Morris.
27791
83abee31 277922008-02-10 Alexandre Boeglin <alex@boeglin.org>
27793
27794 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27795 on remaining N args, instead of "--" arg N times.
27796
78d5a08b 277972008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27798
27799 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27800 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27801 pattern for unknown glyphs.
27802
68807e5f 278032008-02-09 Robert Millan <rmh@aybabtu.com>
27804
27805 * configure.ac: Probe for `help2man'.
27806 * Makefile.in (builddir): New variable.
27807 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27808 or otherwise add a few flags/options to it.
27809 (install-local): For every executable utility or script that is
27810 installed, invoke $(HELP2MAN) to install a manpage based on --help
27811 output.
27812
27813 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27814 that it doesn't prevent --help from working in build tree.
27815
27816 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27817 with `bug-grub@gnu.org'.
27818 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27819 * util/update-grub.in (usage): New function.
27820 Implement proper argument check, with support for --help and --version
27821 (as well as existing -y).
27822
278232008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 27824
27825 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27826 avoid overwriting previous output.
27827 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27828
c1962162 278292008-02-09 Robert Millan <rmh@aybabtu.com>
27830
27831 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27832 drawing the menu.
27833
3dac2e3f 278342008-02-09 Robert Millan <rmh@aybabtu.com>
27835
27836 * commands/sleep.c: New file.
27837 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27838 (sleep_mod_SOURCES): New variable.
27839 (sleep_mod_CFLAGS): Likewise.
27840 (sleep_mod_LDFLAGS): Likewise.
27841
7a634e08 278422008-02-09 Robert Millan <rmh@aybabtu.com>
27843
27844 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27845 situations in which we can deduce the RAID size and the superblock
27846 doesn't match it.
27847
b92f0c18 278482008-02-09 Robert Millan <rmh@aybabtu.com>
27849
27850 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27851 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27852 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27853
27854 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27855 and return a grub_diskmemberlist_t composed of physical array members.
27856 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27857
27858 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27859 prototype.
27860 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27861 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27862 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27863
27864 * util/grub-probe.c (probe): Move partmap probing code from here ...
27865 (probe_partmap): ... to here.
27866 (probe): Use probe_partmap() once for the disk we're probing, and
27867 additionally, when such disk contains a memberlist() struct member,
27868 once for each disk that is contained in the structure returned by
27869 memberlist().
27870
91a4bf68 278712008-02-09 Robert Millan <rmh@aybabtu.com>
27872
27873 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27874 environment variable to 'all' in order to obtain debug output from
27875 non-util/ code.
27876 * util/i386/pc/grub-setup.c (main): Likewise.
27877
a96f9caa 278782008-02-08 Robert Millan <rmh@aybabtu.com>
27879
27880 * disk/raid.c (grub_raid_scan_device): Check for
27881 `array->device[sb.this_disk.number]' rather than for
27882 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 27883 guaranteed to be accessible.
a96f9caa 27884
b37a9222 278852008-02-08 Robert Millan <rmh@aybabtu.com>
27886
27887 * disk/raid.c: Update copyright.
27888 * fs/cpio.c: Likewise.
27889 * include/grub/raid.h: Likewise.
27890 * loader/i386/pc/multiboot.c: Likewise.
27891 * util/hostfs.c: Likewise.
27892
5626aee1 278932008-02-08 Robert Millan <rmh@aybabtu.com>
27894
27895 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27896 to a grub_disk_t array.
27897 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27898 `device[x]'.
27899 (grub_raid_scan_device): Replace `device[x].name' accesses with
27900 `device[x]->name'. Simplify initialization of `array->device[x]'.
27901
554f0187 279022008-02-08 Robert Millan <rmh@aybabtu.com>
27903
27904 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27905 grub_dprintf() calls.
27906 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27907 error message.
27908
1ec8425d 279092008-02-07 Christian Franke <franke@computer.org>
27910
27911 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27912 instead of fseek and ftell to support large files.
27913 (grub_hostfs_read): Likewise.
27914
f2156fda 279152008-02-07 Robert Millan <rmh@aybabtu.com>
27916
27917 Patch from Jeroen Dekkers.
27918 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 27919 failure, since successfully reading all array members might not be
f2156fda 27920 required.
27921
9216e0e7 279222008-02-06 Robert Millan <rmh@aybabtu.com>
27923
27924 * util/grub-probe.c (probe): Simplify partmap probing (with the
27925 assumption that the first word up to the underscore equals to
27926 the module name).
27927
b0dfd29a 279282008-02-06 Christian Franke <franke@computer.org>
27929
27930 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27931 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27932 last block of a cpio or tar stream.
27933 Check for "TRAILER!!!" instead of any empty data
27934 block to detect last block of a cpio stream.
27935 (grub_cpio_dir): Fix constness of variable np.
27936 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27937 cpio or tar trailer is detected. This fixes a crash
27938 on open of a non existing file.
27939
c32865bf 279402008-02-05 Bean <bean123ch@gmail.com>
27941
27942 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27943 address of entry.
27944 (grub_multiboot_load_elf64): Likewise.
27945 (grub_multiboot): Initialize mbi structure.
27946
27947 * util/grub-fstest.c: Don't include unused header file script.h.
27948
fe6b695a 27949 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 27950 of file.
27951 (grub_fstest_SOURCES): Likewise.
27952
409480b7 279532008-02-05 Robert Millan <rmh@aybabtu.com>
27954
27955 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27956 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27957 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27958 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27959
27960 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
27961 (translation_table): Replace hardcoded values with macros
27962 provided by `<grub/term.h>'.
27963
27964 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
27965 (keyboard_map): Correct/add a few values, with macros provided
27966 by `<grub/term.h>'.
27967 (keyboard_map_shift): Zero values that don't differ from their
27968 `keyboard_map' equivalents.
27969 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
27970 Discard the second scan code that is always sent by Caps lock.
27971 Only use `keyboard_map_shift' when it provides a non-zero value,
27972 otherwise fallback to `keyboard_map'.
27973
99fadbaa 279742008-02-04 Bean <bean123ch@gmail.com>
27975
27976 * Makefile.in (enable_grub_fstest): New variable.
27977
27978 * conf/common.rmk (grub_fstest_init.lst): New rule.
27979 (grub_fstest_init.h): Likewise.
27980 (grub_fstest_init.c): Likewise.
27981 (util/grub-fstest.c_DEPENDENCIES): New variable.
27982 (grub_fstest_SOURCES): Likewise.
27983
27984 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
27985
27986 * util/grub-fstest.c: New file.
27987
bf567c50 279882008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27989
27990 Make grub-setup handle a separate root device.
f19dbdb7 27991
bf567c50 27992 * util/i386/pc/grub-setup.c (setup): Always open the root device,
27993 so that the root device can be compared with the destination
27994 device.
27995 When embedding the core image, if the root and destination devices
27996 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
27997 0xFF.
27998 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 27999
9be6b98b 280002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28001
28002 Add support for having a grub directory in a different drive. This
28003 is still only the data handling part.
f19dbdb7 28004
9be6b98b 28005 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28006 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28007 (grub_root_drive): New variable.
28008
28009 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28010 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28011 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28012 as it was.
28013
28014 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28015
28016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28017 macro.
28018 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28019
28020 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28021 is bogus, because PXE booting does not specify any drive
28022 correctly.
28023
28024 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28025 am not sure if this is really correct.
28026
28027 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28028 is always identical to the boot drive when booting from a CD.
28029
28030 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28031 longer.
28032 (root_drive): New variable.
28033 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28034 (setup_sectors): Push %dx right after popping it, because %dh will
28035 be modified later.
28036 (copy_buffer): Restore %dx.
28037
e0ca0677 280382008-02-03 Robert Millan <rmh@aybabtu.com>
28039
28040 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28041 use `cdboot.img' for cdrom images.
28042
3b3f6629 280432008-02-03 Robert Millan <rmh@aybabtu.com>
28044
28045 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28046 only setup gfxterm when `font' command has succeeded.
28047
d42b3672 280482008-02-03 Robert Millan <rmh@aybabtu.com>
28049
28050 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28051 (grub_rescue_cmd_multiboot_loader)
28052 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28053
fa370ea6 280542008-02-03 Pavel Roskin <proski@gnu.org>
28055
e0c5dacb 28056 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 28057 %edx and %esi from stack only after grub_gate_a20() is called.
28058 grub_gate_a20() clobbers %edx.
28059
f2a76e1d 280602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28061
28062 * configure.ac (AC_INIT): Bumped to 1.96.
28063
28064 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28065 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28066 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28067 video/readers/png.c.
28068
90fd32d1 280692008-02-03 Bean <bean123ch@gmail.com>
9be665dd 28070
28071 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28072 (cdboot_img_SOURCES): New variable.
28073 (cdboot_img_ASFLAGS): New variable.
28074 (cdboot_img_LDFLAGS): New variable.
28075
28076 * boot/i386/pc/cdboot.S: New file.
28077
28078 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28079 (cd_count): Likewise.
28080 (grub_biosdisk_get_drive): Add support for cd device.
28081 (grub_biosdisk_call_hook): Likewise.
28082 (grub_biosdisk_iterate): Likewise.
28083 (grub_biosdisk_open): Likewise.
28084 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28085 (grub_biosdisk_rw): Support reading from cd device.
28086 (GRUB_MOD_INIT): Iterate cd devices.
28087
28088 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28089 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28090 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28091
28092 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28093
4020aa53 280942008-02-02 Robert Millan <rmh@aybabtu.com>
28095
28096 * commands/read.c: New file.
28097 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28098 (read_mod_SOURCES): New variable.
28099 (read_mod_CFLAGS): Likewise.
28100 (read_mod_LDFLAGS): Likewise.
28101
e03a1132 281022008-02-02 Robert Millan <rmh@aybabtu.com>
28103
28104 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28105 determining whether menu has to be displayed.
28106
58c69220 281072008-02-02 Marco Gerards <marco@gnu.org>
28108
28109 * bus/pci.c: New file.
28110
28111 * include/grub/pci.h: Likewise.
28112
28113 * include/grub/i386/pc/pci.h: Likewise.
28114
28115 * commands/lspci.c: Likewise.
28116
28117 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28118 `lspci.mod'.
28119 (pci_mod_SOURCES): New variable.
28120 (pci_mod_CFLAGS): Likewise.
28121 (pci_mod_LDFLAGS): Likewise.
28122 (lspci_mod_SOURCES): Likewise.
28123 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 28124 (lspci_mod_LDFLAGS): Likewise.
58c69220 28125
c004e1b4 281262008-02-02 Bean <bean123ch@gmail.com>
28127
28128 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28129 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28130
28131 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28132 (grub_xfs_btree_node): New structure.
28133 (grub_xfs_btree_root): New structure.
28134 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28135 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28136 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28137 (GRUB_XFS_EXTENT_SIZE): Likewise.
28138 (grub_xfs_read_block): Support btree format type.
28139 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28140 Use directory block as basic unit.
28141
28142 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28143
28144 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28145 __attribute__ ((__regparm__ (1))).
28146
f95562bf 281472008-02-01 Robert Millan <rmh@aybabtu.com>
28148
28149 Correct a mistake in previous commit.
28150
28151 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28152 top.
28153 (normal/command.c_DEPENDENCIES): New variable.
28154
7d31f41f 281552008-02-01 Robert Millan <rmh@aybabtu.com>
28156
28157 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28158 top.
28159 (normal/command.c_DEPENDENCIES): New variable.
28160 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28161 * conf/i386-ieee1275.rmk: Likewise.
28162 * conf/i386-linuxbios.rmk: Likewise.
28163 * conf/i386-pc.rmk: Likewise.
28164 * conf/sparc64-ieee1275.rmk: Likewise.
28165 * conf/powerpc-ieee1275.rmk: Likewise.
28166 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28167
28168 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28169
60b6be74 281702008-02-01 Robert Millan <rmh@aybabtu.com>
28171
28172 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28173 call at beginning of function.
28174
078522ab 281752008-01-31 Pavel Roskin <proski@gnu.org>
28176
28177 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 28178 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28179 (grub_mkrescue_SOURCES): Likewise.
078522ab 28180 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28181
ccaa8a5f 281822008-01-30 Robert Millan <rmh@aybabtu.com>
28183
28184 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28185 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28186 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28187 (grub_probe_SOURCES): ... to here.
28188
28189 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28190 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28191 * conf/i386-ieee1275.rmk: Likewise.
28192 * conf/i386-linuxbios.rmk: Likewise.
28193 * conf/powerpc-ieee1275.rmk: Likewise.
28194
ae5a9cd7 281952008-01-30 Tristan Gingold <gingold@free.fr>
28196
28197 * kern/rescue.c: Silently accept empty lines.
28198
70bc2ef2 281992008-01-29 Bean <bean123ch@gmail.com>
28200
28201 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28202 (real_code_2): Code cleanup and change comment style.
28203 (move_memory): Avoid using 32-bit address mode.
28204
6a4d50ea 282052008-01-29 Bean <bean123ch@gmail.com>
28206
28207 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28208 (png_mod_SOURCES): New variable.
28209 (png_mod_CFLAGS): Likewise.
28210 (png_mod_LDFLAGS): Likewise.
28211
28212 * video/readers/png.c: New file.
28213
11cc30ac 282142008-01-28 Robert Millan <rmh@aybabtu.com>
28215
28216 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28217 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28218 `ifndef GRUB_MOD_GAP' hack.
28219 * util/elf/grub-mkimage.c (add_segments): Likewise.
28220
3abc589f 282212008-01-27 Robert Millan <rmh@aybabtu.com>
28222
28223 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28224 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 28225 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 28226
e1907778 282272008-01-27 Robert Millan <rmh@aybabtu.com>
28228
28229 Get grub-emu to build again (including parallel builds).
28230
28231 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28232 Split into ...
28233 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28234 (normal/execute.c_DEPENDENCIES): ... this, ...
28235 (grub-emu_DEPENDENCIES): ... and this.
28236
28237 * conf/i386-efi.rmk: Likewise.
28238 * conf/i386-linuxbios.rmk: Likewise.
28239 * conf/i386-ieee1275.rmk: Likewise.
28240 * conf/powerpc-ieee1275.rmk: Likewise.
28241 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28242
2216b101 282432008-01-27 Robert Millan <rmh@aybabtu.com>
28244
28245 * NEWS: Add a few items.
28246
f75172d9 282472008-01-27 Robert Millan <rmh@aybabtu.com>
28248
28249 Fix parallel builds with grub-emu. Based on earlier commit for
28250 grub-probe and grub-setup.
28251
28252 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28253 (util/grub-emu.c_DEPENDENCIES): ... this.
28254 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28255 (util/grub-emu.c_DEPENDENCIES): ... this.
28256 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28257 (util/grub-emu.c_DEPENDENCIES): ... this.
28258 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28259 (util/grub-emu.c_DEPENDENCIES): ... this.
28260 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28261 (util/grub-emu.c_DEPENDENCIES): ... this.
28262
3f51de77 282632008-01-27 Pavel Roskin <proski@gnu.org>
28264
28265 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28266 to create a gap between _end and the modules added to the image
28267 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28268 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28269 * util/elf/grub-mkimage.c (add_segments): Likewise.
28270
2033f53e 282712008-01-26 Pavel Roskin <proski@gnu.org>
28272
28273 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28274 just return an error.
28275
22da1f6f 282762008-01-26 Bean <bean123ch@gmail.com>
28277
28278 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28279 (grub_reiserfs_get_item): Save offset of the next item.
28280 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28281
2a9525e6 282822008-01-25 Robert Millan <rmh@aybabtu.com>
28283
28284 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28285 make all filesystem sources appear together (possibly fixing omissions
28286 while at it).
28287 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28291
28292 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28293 add `kern/file.c'.
28294 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28295 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28296 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28297 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28298
28299 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28300 (probe): Add a sanity check to make sure of our ability to read
28301 requested files when probing for filesystem type.
28302
28303 * genmk.rb: Update copyright year (2007).
28304
28305 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28306 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28307 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28308 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28309 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28310 : Remove function prototypes.
28311
b95f71b5 283122008-01-25 Robert Millan <rmh@aybabtu.com>
28313
28314 Revert my previous commits (based on wrong assumption of how grub_errno
28315 works).
28316
fe6b695a 28317 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 28318 * kern/file.c (grub_file_open): Likewise.
28319
d08bbb49 283202008-01-24 Pavel Roskin <proski@gnu.org>
28321
28322 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28323 that hang if GRUB tries to setup colors.
28324 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28325 colors for firmwares that don't support it.
28326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28327 Recognize Open Hack'Ware, set flags to work around its
28328 limitations.
28329
605e36ed 283302008-01-24 Robert Millan <rmh@aybabtu.com>
28331
28332 * kern/file.c (grub_file_open): Do not account previous failures of
28333 unrelated functions when grub_errno is checked for.
28334 Reported by Oleg Strikov.
28335
bac332a1 283362008-01-24 Bean <bean123ch@gmail.com>
28337
28338 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28339 (grub_ufs_sblock): New member volume name.
28340 (grub_ufs_find_file): Fix string copy bug.
28341 (grub_ufs_label): Implement this function properly.
28342
28343 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28344 (grub_hfs_iterate_records): Use the correct file number for extents
28345 and catalog file. Fix problem in next index calculation.
28346 (grub_hfs_find_node): Replace recursive function call with loop.
28347 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28348
15c80c09 283492008-01-23 Robert Millan <rmh@aybabtu.com>
28350
28351 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28352 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28353 (grub_multiboot2_real_boot): New function prototype.
28354
28355 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28356 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28357
28358 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28359 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28360
305338fd 283612008-01-23 Robert Millan <rmh@aybabtu.com>
28362
28363 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28364 #ifdef'ed out grub_printf().
28365
3ea52685 283662008-01-23 Robert Millan <rmh@aybabtu.com>
28367
28368 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28369 grub_dprintf calls, since they make "debug=all" mode unusable.
28370 (grub_console_checkkey): Likewise.
28371
5882ae4b 283722008-01-23 Robert Millan <rmh@aybabtu.com>
28373
28374 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28375 `term/i386/pc/at_keyboard.c'.
28376 (pkglib_MODULES): Add `serial.mod'.
28377 (serial_mod_SOURCES): New variable.
28378 (serial_mod_CFLAGS): Likewise.
28379 (serial_mod_LDFLAGS): Likewise.
28380
28381 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28382 `<grub/powerpc/ieee1275/console.h>'.
28383 (grub_keyboard_controller_init): New function prototype.
28384 (grub_console_checkkey): Likewise.
28385 (grub_console_getkey): Likewise.
28386
28387 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28388 keyboard on i386.
28389
28390 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28391 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28392
06ab5303 283932008-01-23 Robert Millan <rmh@aybabtu.com>
28394
28395 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28396 present, "(memdisk)/boot/grub" becomes the default prefix.
28397
28398 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28399 a memdisk tarball with all the modules. Add --overlay=DIR option that
28400 allows users to overlay additional files into the image.
28401
dbb475a4 284022008-01-23 Robert Millan <rmh@aybabtu.com>
28403
28404 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28405 and `machine/memory.h'.
28406 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28407 (_multiboot_mod_SOURCES): New variable.
28408 (_multiboot_mod_CFLAGS): Likewise.
28409 (_multiboot_mod_LDFLAGS): Likewise.
28410 (multiboot_mod_SOURCES): Likewise.
28411 (multiboot_mod_CFLAGS): Likewise.
28412 (multiboot_mod_LDFLAGS): Likewise.
28413
28414 * include/grub/i386/ieee1275/loader.h: New file.
28415
28416 * include/grub/i386/ieee1275/machine.h: Likewise.
28417
28418 * include/grub/i386/ieee1275/memory.h: Likewise.
28419
28420 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28421 variable declaration.
28422 (grub_os_area_size): Likewise.
28423
28424 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28425 (grub_lower_mem, grub_upper_mem): New variables.
28426 (grub_stop_floppy): New function (just to make
28427 grub_multiboot2_real_boot() happy).
28428
28429 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28430 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28431 (grub_stop): New function.
28432 Include `"../realmode.S"' and `"../loader.S"'.
28433
28434 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28435 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28436
28437 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28438 rely on grub_multiboot2_real_boot() for final boot.
28439
25638629 284402008-01-22 Robert Millan <rmh@aybabtu.com>
28441
28442 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28443 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28444 device that doesn't look like an SD card.
28445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28446 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28447 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28448 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28449 found.
28450
9dad816d 284512008-01-22 Robert Millan <rmh@aybabtu.com>
28452
28453 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28454 avoid claiming over our own code.
28455
34842f2d 284562008-01-22 Bean <bean123ch@gmail.com>
28457
28458 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28459 (jpeg_mod_SOURCES): New variable.
28460 (jpeg_mod_CFLAGS): Likewise.
28461 (jpeg_mod_LDFLAGS): Likewise.
28462
28463 * video/readers/jpeg.c : New file.
28464
44023a28 284652008-01-22 Bean <bean123ch@gmail.com>
28466
28467 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28468 there are no more items.
28469
bc2d8ac6 284702008-01-21 Robert Millan <rmh@aybabtu.com>
28471
28472 * kern/mm.c (grub_mm_init_region): Improve debug message.
28473
261bd4bc 284742008-01-21 Robert Millan <rmh@aybabtu.com>
28475
28476 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28477 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28478 address.
28479 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28480 a C macro.
28481 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28482 Indicates start of upper memory.
28483 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28484 (generate_image): Abort when image size is big enough to corrupt
28485 upper memory.
28486
28487 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28488 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28489 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28490 instead of hardcoding 0xA0000.
28491 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28492 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28493 instead of hardcoding 0xA0000.
28494
f970b55e 284952008-01-21 Robert Millan <rmh@aybabtu.com>
28496
28497 * disk/memdisk.c (memdisk_size): New variable.
28498 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28499 `memdisk_size'.
28500 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28501 image to dynamic memory.
28502 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28503 `memdisk_size'. Free memdisk block.
28504
1a8b0526 285052008-01-21 Robert Millan <rmh@aybabtu.com>
28506
28507 Fix detection of very small filesystems (like tar).
28508
28509 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28510 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28511 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28512 a problem with this disk).
28513
6e9b4aab 285142008-01-21 Robert Millan <rmh@aybabtu.com>
28515
28516 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28517 on grub_biosdisk_rw_standard() error.
28518
0d8837b2 285192008-01-21 Robert Millan <rmh@aybabtu.com>
28520
28521 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28522 recent changes.
28523 * kern/elf.c: Likewise.
28524 * kern/ieee1275/ieee1275.c: Likewise.
28525 * kern/powerpc/ieee1275/openfw.c: Likewise.
28526 * term/ieee1275/ofconsole.c: Likewise.
28527
ffd36e34 285282008-01-21 Robert Millan <rmh@aybabtu.com>
28529
28530 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28531
3f0093d0 28532 * include/grub/kernel.h (grub_arch_memdisk_addr)
28533 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 28534
3f0093d0 28535 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28536 (grub_arch_memdisk_size): ... to here.
ffd36e34 28537
6c391b21 285382008-01-21 Robert Millan <rmh@aybabtu.com>
28539
28540 Mostly based on bugfix from Bean.
28541
28542 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28543 attribute with hook() parameter.
28544 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28545 declaration.
28546 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28547 attribute with hook() parameter.
28548 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28549 declaration.
28550
55a581dc 285512008-01-21 Robert Millan <rmh@aybabtu.com>
28552
28553 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28554 (pkglib_MODULES): Add `memdisk.mod'.
28555 (memdisk_mod_SOURCES): New variable.
28556 (memdisk_mod_CFLAGS): Likewise.
28557 (memdisk_mod_LDFLAGS): Likewise.
28558
28559 * disk/memdisk.c: New file.
28560
28561 * include/grub/disk.h (grub_disk_dev_id): Add
28562 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28563
28564 * include/grub/i386/pc/kernel.h
28565 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28566 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28567 (grub_kernel_image_size): New variable declaration.
28568 (grub_total_module_size): Likewise.
28569 (grub_memdisk_image_size): Likewise.
28570
28571 * include/grub/i386/pc/memory.h
28572 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28573
28574 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28575 (grub_arch_memdisk_addr): New variable declaration.
28576 (grub_arch_memdisk_size): Likewise.
28577
28578 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28579 (grub_arch_memdisk_size): Likewise.
28580
28581 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28582 (codestart): Replace hardcoded `0x100000' with
28583 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28584
28585 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28586 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28587 not NULL, append the contents of the file it refers to, at the end of
28588 the compressed kernel image. Initialize `grub_memdisk_image_size'
28589 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28590 (options): Add "memdisk"|'m' option.
28591 (main): Parse --memdisk|-m option, and pass user-provided path as
28592 parameter to generate_image().
28593
3d7f54c9 285942008-01-20 Robert Millan <rmh@aybabtu.com>
28595
28596 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28597 grub_dprintf() calls from here ...
28598 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28599
0bf74728 286002008-01-20 Robert Millan <rmh@aybabtu.com>
28601
28602 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28603
28604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28605 declaration.
28606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28607 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28608 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 28609 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 28610 property).
28611 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28612 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28613
33bf70a7 286142008-01-19 Robert Millan <rmh@aybabtu.com>
28615
fe6b695a 28616 Get rid of confusing function (superseded by
33bf70a7 28617 `grub_ieee1275_get_integer_property')
28618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28619 prototype.
28620 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28621 function.
28622 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28623 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 28624 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 28625
e2da7d26 286262008-01-19 Robert Millan <rmh@aybabtu.com>
28627
28628 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28629 command after "shut-down", since implementations differ on which
28630 the command for halt is.
28631
59f1fd8d 286322008-01-19 Robert Millan <rmh@aybabtu.com>
28633
28634 * include/grub/i386/linuxbios/console.h: Add header protection.
28635 (grub_keyboard_controller_init): New function prototype.
28636 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28637 (KEYBOARD_COMMAND_READ): Likewise.
28638 (KEYBOARD_COMMAND_WRITE): Likewise.
28639 (KEYBOARD_SCANCODE_SET1): Likewise.
28640 (grub_keyboard_controller_write): New function.
28641 (grub_keyboard_controller_read): Likewise.
28642 (grub_keyboard_controller_init): Likewise.
28643
28644 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28645 (grub_console_init): On coreboot/LinuxBIOS, call
28646 grub_keyboard_controller_init().
28647
5f5a7c15 286482008-01-19 Robert Millan <rmh@aybabtu.com>
28649
28650 PowerPC changes provided by Pavel Roskin.
28651
28652 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28653 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28654 don't rely on cmain() doing it.
28655 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28656 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28657
1210e168 286582008-01-16 Robert Millan <rmh@aybabtu.com>
28659
28660 * include/grub/i386/linuxbios/memory.h
28661 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28662 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28663 receive `table_header' as argument. Instead, probe for it in the
28664 known memory ranges where it can be present.
28665 (grub_available_iterate): Do not pass a fixed `table_header' address
28666 to grub_linuxbios_table_iterate().
28667
3d04eab8 286682008-01-15 Robert Millan <rmh@aybabtu.com>
28669
28670 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28671 * conf/i386-ieee1275.rmk: New file.
28672 * include/grub/i386/ieee1275/console.h: Likewise.
28673 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28674 * include/grub/i386/ieee1275/kernel.h: Likewise.
28675 * include/grub/i386/ieee1275/time.h: Likewise.
28676 * kern/i386/ieee1275/init.c: Likewise.
28677 * kern/i386/ieee1275/startup.S: Likewise.
28678
d1bc1b73 286792008-01-15 Robert Millan <rmh@aybabtu.com>
28680
28681 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28682 when pointers are 32-bit (but still do set it to one when they are
28683 64-bit).
28684
66a65807 286852008-01-15 Robert Millan <rmh@aybabtu.com>
28686
28687 * include/grub/ieee1275/ieee1275.h
28688 (grub_ieee1275_get_integer_property): New function prototype.
28689
28690 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28691 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 28692 grub_ieee1275_get_property() to handle endianness.
66a65807 28693
28694 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28695 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 28696 where appropriate.
66a65807 28697 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28698 (grub_map): Likewise.
28699 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28700
a83ccafd 287012008-01-15 Bean <bean123ch@gmail.com>
28702
28703 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28704 (grub_script_execute_cmdline): Reset grub_errno.
28705
28706 * normal/main.c (read_config_file): Reset grub_errno.
28707
28708 * normal/parse.y (script_init): New.
28709 (script): Move function and menuentry here.
28710 (delimiter): New.
28711 (command): Add delimiter at the end of command.
28712 (commands): Adjust to match the new command.
28713 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 28714 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 28715 (if): Use the new commands.
28716
28717 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28718
df6ecfc6 287192008-01-15 Robert Millan <rmh@aybabtu.com>
28720
28721 * normal/menu.c (run_menu): Move timeout message from here ...
28722 (print_timeout): ... to here.
28723 (run_menu): Use print_timeout() once during initial draw to print
28724 the whole message, and again in every clock tick to update only
28725 the number of seconds.
28726
87ae25eb 287272008-01-15 Robert Millan <rmh@aybabtu.com>
28728
28729 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28730 actual size of `available' from grub_ieee1275_get_property(), and
28731 restrict parsing to that bound.
28732
47bf09a4 287332008-01-15 Christian Franke <franke@computer.org>
28734
28735 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28736 (argp_program_version): Remove variable.
28737 (argp_program_bug_address): Likewise.
28738 (options): Convert from struct argp_option to struct option.
28739 (struct arguments): Remove.
28740 (parse_opt): Remove.
28741 (usage): New function.
28742 (main): Replace struct args members by simple variables.
28743 Replace argp_parse() by getopt_long().
28744 Add switch to evaluate options.
28745 Add missing "(...)" around root_dev in prefix string.
28746
c86f1469 287472008-01-14 Robert Millan <rmh@aybabtu.com>
28748
28749 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28750 for grub_ieee1275_exit(), in order to improve portability.
28751
e622c559 287522008-01-14 Robert Millan <rmh@aybabtu.com>
28753
28754 * util/grub.d/10_linux.in (prefix): Define.
28755 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28756
44cb1ec8 287572008-01-13 Pavel Roskin <proski@gnu.org>
28758
28759 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28760 grub_errno if no errors have been detected.
28761
1eb8c802 287622008-01-12 Robert Millan <rmh@aybabtu.com>
28763
28764 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28765 (grub_util_get_dev_abstraction): New function prototype.
28766
28767 * util/getroot.c: Include `<grub/util/getroot.h>'
28768 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28769 (grub_util_get_dev_abstraction): ... here (new function).
28770
28771 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28772 `PRINT_ABSTRACTION'.
28773 (probe): Probe for abstraction type when requested.
28774 (main): Understand `--target=abstraction'.
28775
28776 * util/i386/efi/grub-install.in: Add abstraction module to core
28777 image when it is found to be necessary.
28778 * util/i386/pc/grub-install.in: Likewise.
28779 * util/powerpc/ieee1275/grub-install.in: Likewise.
28780
28781 * util/update-grub_lib.in (font_path): Return system path without
28782 converting to GRUB path.
28783 * util/update-grub.in: Convert system path returned by font_path()
28784 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28785 abstraction module is needed for loading fonts (if any). Export
28786 that as `GRUB_PRELOAD_MODULES'.
28787 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28788 insmod commands).
28789
52bd3de9 287902008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28791
28792 Remove some unused code from reiserfs.
f19dbdb7 28793
52bd3de9 28794 * fs/reiserfs.c (struct grub_reiserfs_key)
28795 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28796 (struct grub_reiserfs_node_body): Removed.
28797 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28798 Likewise.
28799 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28800 Likewise.
28801 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28802 Likewise.
28803 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28804 Likewise.
28805 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28806 Likewise.
28807 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28808 Likewise.
28809 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28810 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28811 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28812
2f80039d 288132008-01-10 Robert Millan <rmh@aybabtu.com>
28814
28815 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28816 Determines if a file is garbage left by packaging systems, etc.
28817 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28818 for processing /etc/grub.d scripts.
28819 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28820 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28821 as a condition for processing Linux images.
28822
87888032 288232008-01-10 Pavel Roskin <proski@gnu.org>
28824
28825 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28826 to compile reiserfs.c on PowerPC.
28827
7e54fced 288282008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 28829
28830 * kern/device.c (grub_device_iterate): Do not abort device iteration
28831 when one of the devices cannot be opened.
28832 * kern/disk.c (grub_disk_open): Do not account previous failures of
28833 unrelated functions when grub_errno is checked for.
28834
5aa541e6 288352008-01-08 Robert Millan <rmh@aybabtu.com>
28836
28837 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28838 `! grub_linux_is_bzimage', change order of address comparison to make
28839 it more intuitive, and improve "too big zImage" error message.
28840
7076340d 288412008-01-08 Robert Millan <rmh@aybabtu.com>
28842
28843 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28844 `$(update-grub_DATA)'.
28845 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28846 targets.
28847
9ca70333 288482008-01-07 Robert Millan <rmh@aybabtu.com>
28849
28850 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28851 which instruction is modified by grub-setup during installation
28852 (since it wasn't obvious by only looking at this file).
28853
38ccf575 288542008-01-07 Robert Millan <rmh@aybabtu.com>
28855
28856 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28857 listing actual TODO items.
28858
f5db4291 288592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28860
868967cf 28861 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28862 correctly.
28863 (grub_reiserfs_get_key_offset): Likewise.
28864 (grub_reiserfs_set_key_offset): Likewise.
28865 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 28866 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 28867
28868 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28869 better to remove the bitfield version completely.
f19dbdb7 28870
868967cf 288712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28872
f5db4291 28873 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28874 allocated from the heap, due to the fshelp implementation.
28875 (grub_reiserfs_dir): Free NODE, due to the same reason.
28876
492e6d9d 288772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28878
28879 Mostly from Vincent Pelletier:
f19dbdb7 28880
492e6d9d 28881 * fs/reiserfs.c: New file.
f19dbdb7 28882
492e6d9d 28883 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28884 (reiserfs_mod_SOURCES): New variable.
28885 (reiserfs_mod_CFLAGS): Likewise.
28886 (reiserfs_mod_LDFLAGS): Likewise.
28887
28888 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28889 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28890 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28891 normal/color.c.
28892
9ce3e7c1 288932008-01-06 Robert Millan <rmh@aybabtu.com>
28894
28895 * normal/color.c: Remove `<grub/env.h>'.
28896
f3b58148 288972008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28898
28899 * include/grub/normal.h: Include <grub/env.h>.
28900
7ac3bcfa 289012008-01-05 Robert Millan <rmh@aybabtu.com>
28902
28903 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28904 usage example with `(hd0,1)'.
fb358190 28905 Reported by Samuel Thibault.
7ac3bcfa 28906
c8ee99d7 289072008-01-05 Robert Millan <rmh@aybabtu.com>
28908
28909 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28910 (grub_linux_boot_zimage): Rename to ...
28911 (grub_linux_boot): ... this.
28912 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28913 (grub_linux_boot_zimage): Conditionalize zImage copy.
28914
28915 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28916 (grub_linux_boot_bzimage): Remove prototype.
28917 (grub_linux_boot_zimage): Rename to ...
28918 (grub_linux_boot): ... this.
28919
28920 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28921 (grub_linux_boot): Remove function.
28922
0ece25b1 289232008-01-05 Robert Millan <rmh@aybabtu.com>
28924
28925 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28926 (grub_env_write_color_highlight): Likewise.
28927 (grub_wait_after_message): Likewise.
28928
28929 * normal/color.c: New file.
28930
28931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28932 (normal_mod_DEPENDENCIES): Likewise.
28933
28934 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28935 (normal_mod_DEPENDENCIES): Likewise.
28936
28937 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28938 (normal_mod_DEPENDENCIES): Likewise.
28939
28940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28941 (normal_mod_DEPENDENCIES): Likewise.
28942
28943 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28944 for waiting after a message is printed.
28945 * normal/main.c (read_config_file): Likewise.
28946 (grub_normal_init): Register grub_env_write_color_normal() and
28947 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28948 `color_highlight' variables as global.
28949
28950 * normal/menu.c (grub_wait_after_message): New function.
28951 (grub_color_menu_normal): New variable. Replaces ...
28952 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28953 (grub_color_menu_highlight): New variable. Replaces ...
28954 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28955 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28956 `GRUB_TERM_COLOR_STANDARD'.
28957 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28958 `normal_code' and `highlight_code' to `old_color_normal' and
28959 `old_color_highlight', respectively.
28960 (grub_menu_init_page): Update colors when drawing the menu, based on
28961 `menu_color_normal' and `menu_color_highlight' variables.
28962 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
28963 a message is printed.
28964
182dd4e5 289652008-01-05 Robert Millan <rmh@aybabtu.com>
28966
28967 * kern/env.c (grub_env_context_open): Propagate hooks for global
28968 variables to new context.
28969
28970 * kern/main.c (grub_set_root_dev): Export `root' variable.
28971
ddf8f6ad 289722008-01-05 Robert Millan <rmh@aybabtu.com>
28973
28974 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 28975 discs unconditionally, since udev and others have options to provide
ddf8f6ad 28976 them.
28977
d8b43d9b 289782008-01-05 Robert Millan <rmh@aybabtu.com>
28979
28980 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
28981
2bff2de3 289822008-01-04 Christian Franke <franke@computer.org>
28983
28984 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
28985 of eisa_mmap.
28986
97eab917 289872008-01-03 Pavel Roskin <proski@gnu.org>
28988
28989 * kern/i386/linuxbios/init.c: Put "void" to all function
28990 declarations with no arguments.
28991 * kern/powerpc/ieee1275/init.c: Likewise.
28992 * term/i386/pc/at_keyboard.c: Likewise.
28993 * term/i386/pc/vga_text.c: Likewise.
28994 * util/grub-mkdevicemap.c: Likewise.
28995
b9416d00 289962008-01-02 Robert Millan <rmh@aybabtu.com>
28997
28998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
28999 message when loaded image is out of bounds.
29000 (grub_multiboot_load_elf64): Likewise.
29001
92695df9 290022008-01-02 Pavel Roskin <proski@gnu.org>
29003
29004 * util/grub.d/10_linux.in: Try version without ".old" when
29005 looking for initrd. It's better to use initrd from the newer
29006 kernel of the same version than no initrd at all.
29007
d98d9cad 290082008-01-01 Robert Millan <rmh@aybabtu.com>
29009
29010 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29011
dbfdce36 290122008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29013
f19dbdb7 29014 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 29015 grub_video_get_active_render_target.
29016 (grub_video_adapter): Added unmap_color and get_active_render_target.
29017
f19dbdb7 29018 * video/video.c: Added grub_video_unmap_color and
dbfdce36 29019 grub_video_get_active_render_target.
29020 (grub_video_get_info): Changed method to accept NULL pointer as an
29021 argument to allow detection of active video adapter.
29022
29023 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29024 grub_video_vbe_unmap_color_int.
29025 Added grub_video_vbe_unmap_color and
29026 grub_video_vbe_get_active_render_target.
29027 (grub_video_vbe_adapter): Added unmap_color and
29028 get_active_render_target.
29029
f19dbdb7 29030 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 29031 with grub_video_vbe_unmap_color_int.
29032
29033 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29034 (DEFAULT_NORMAL_COLOR): Likewise.
29035 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29036 (DEFAULT_FG_COLOR): Removed.
29037 (DEFAULT_BG_COLOR): Likewise.
29038 (DEFAULT_CURSOR_COLOR): Changed value.
29039 (grub_virtual_screen): Added standard_color_setting,
29040 normal_color_setting, highlight_color_setting and term_color.
29041 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29042 (bitmap_width): Added.
29043 (bitmap_height): Likewise.
29044 (bitmap): Likewise.
29045 (set_term_color): Likewise.
29046 (grub_virtual_screen_setup): Changed to use new terminal coloring
29047 settings.
29048 (grub_gfxterm_init): Added init for bitmap.
29049 (grub_gfxterm_fini): Added destroy for bitmap.
29050 (redraw_screen_rect): Updated to use background bitmap and new
29051 terminal coloring.
29052 (scroll_up): Added optimization for case when there is no bitmap.
29053 (grub_gfxterm_cls): Fixed to use correct background color.
29054 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29055 coloring.
29056 (grub_virtual_screen_setcolor): Likewise.
29057 (grub_virtual_screen_getcolor): Added.
29058 (grub_gfxterm_background_image_cmd): Likewise.
29059 (grub_video_term): Added setcolor and getcolor.
29060 (MOD_INIT): Added registration of background_image command.
29061 (MOD_TERM): Added unregistration for background_image command.
29062
c3c20931 290632007-12-30 Pavel Roskin <proski@gnu.org>
29064
29065 * loader/multiboot_loader.c: Fix multiboot command
29066 unregistration. Fix all typos in the word "multiboot".
29067
df266716 290682007-12-29 Pavel Roskin <proski@gnu.org>
94239199 29069
29070 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29071 support for initrd names used in Fedora.
29072
fc6e896c 290732007-12-26 Bean <bean123ch@gmail.com>
29074
29075 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29076 (cpio_mod_SOURCES): New variable.
29077 (cpio_mod_CFLAGS): Likewise.
29078 (cpio_mod_LDFLAGS): Likewise.
29079
29080 * fs/cpio.c: New file.
29081
29082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29083
29084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29085
29086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29087
29088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29089
533110ad 290902007-12-25 Robert Millan <rmh@aybabtu.com>
29091
29092 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29093 (grub_getcolor): New function.
29094
29095 * kern/term.c (grub_getcolor): New function.
29096 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29097 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29098 (print_entry): Set normal and highlight colors to
29099 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29100 respectively, before printing and restore them to old
29101 values afterwards.
29102 (grub_menu_init_page): Likewise. Fill an additional colored space
29103 that would otherwise be left blank.
29104
29105 * term/efi/console.c (grub_console_getcolor): New function.
29106 (struct grub_console_term.getcolor): New variable.
29107 * term/i386/pc/console.c (grub_console_getcolor): New function.
29108 (struct grub_console_term.getcolor): New variable.
29109 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29110 (struct grub_console_term.getcolor): New variable.
29111
29112 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29113 (struct grub_console_term.setcolor): Remove variable.
29114 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29115 (struct grub_console_term.setcolor): Remove variable.
29116 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29117 (struct grub_console_term.setcolor): Remove variable.
29118 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29119 (struct grub_console_term.setcolor): Remove variable.
29120
4931827f 291212007-12-25 Robert Millan <rmh@aybabtu.com>
29122
29123 * configure.ac: Search for possible unifont.hex locations, and
29124 define UNIFONT_HEX if found.
29125
29126 * Makefile.in (UNIFONT_HEX): Define variable.
29127 (DATA): Rename to ...
29128 (PKGLIB): ... this. Update all users.
29129 (PKGDATA): New variable.
29130 (pkgdata_IMAGES): Rename to ...
29131 (pkglib_IMAGES): ... this. Update all users.
29132 (pkgdata_MODULES): Rename to ...
29133 (pkglib_MODULES): ... this. Update all users.
29134 (pkgdata_PROGRAMS): Rename to ...
29135 (pkglib_PROGRAMS): ... this. Update all users.
29136 (pkgdata_DATA): Rename to ...
29137 (pkglib_DATA): ... this. Update all users.
29138 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29139 (unicode.pff, ascii.pff): New rules.
29140 (all-local): Add `$(PKGDATA)' dependency.
29141 (install-local): Process `$(PKGDATA)'.
29142
29143 * util/update-grub_lib.in (font_path): Search for *.pff files in
29144 a few more locations, including `${pkgdata}'.
29145
57e57e31 291462007-12-23 Robert Millan <rmh@aybabtu.com>
29147
29148 Patch from Bean <bean123ch@gmail.com>:
29149 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29150 `size'.
29151
4bc72aa9 291522007-12-21 Bean <bean123ch@gmail.com>
29153
29154 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29155 (ntfscomp_mod_SOURCES): New variable.
29156 (ntfscomp_mod_CFLAGS): Likewise.
29157 (ntfscomp_mod_LDFLAGS): Likewise.
29158
29159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29160 (grub_probe_SOURCES): Likewise.
29161 (grub_emu_SOURCES): Likewise.
29162
29163 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29164 (grub_emu_SOURCES): Likewise.
29165
29166 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29167 (grub_emu_SOURCES): Likewise.
29168
29169 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29170 (grub_emu_SOURCES): Likewise.
29171
29172 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29173 (read_run_list): Renamed to grub_ntfs_read_run_list.
29174 (decomp_nextvcn): Moved to ntfscomp.c.
29175 (decomp_getch): Likewise.
29176 (decomp_get16): Likewise.
29177 (decomp_block): Likewise.
29178 (read_block): Likewise.
29179 (read_data): Partially moved to ntfscomp.c.
29180 (fixup): Change unsigned to grub_uint16_t.
29181 (read_mft): Change unsigned long to grub_uint32_t.
29182 (read_attr): Likewise.
29183 (read_data): Likewise.
29184 (read_run_data): Likewise.
29185 (read_run_list): Likewise.
29186 (read_mft): Likewise.
29187
29188 * fs/ntfscomp.c: New file.
29189
29190 * include/grub/ntfs.h: New file.
29191
af680a87 291922007-12-16 Robert Millan <rmh@aybabtu.com>
29193
29194 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29195 IDE disk check, since Linux is known to support 20 IDE disks.
29196 Reported by Colin Watson.
29197
84be7599 291982007-12-15 Bean <bean123ch@gmail.com>
29199
29200 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29201 (lnxboot_img_SOURCES): New variable.
29202 (lnxboot_img_ASFLAGS): Likewise.
29203 (lnxboot_img_LDFLAGS): Likewise.
29204
29205 * boot/i386/pc/lnxboot.S: New file.
29206
6af9db01 292072007-11-24 Pavel Roskin <proski@gnu.org>
29208
29209 * configure.ac: Test if '--build-id=none' is supported by the
29210 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29211 objcopy to generate incorrect binary files (binutils
29212 2.17.50.0.18-1 as shipped by Fedora 8).
29213 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29214 linking, so that build ID doesn't break the test.
29215
7361cfe6 292162007-11-24 Pavel Roskin <proski@gnu.org>
29217
29218 * include/grub/i386/time.h: use "void" in the argument list
29219 of grub_cpu_idle().
29220 * include/grub/powerpc/time.h: Likewise.
29221 * include/grub/sparc64/time.h: Likewise.
29222
1593e10c 292232007-11-18 Christian Franke <franke@computer.org>
29224
29225 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29226 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29227 This fixes the problem that function keys did not work in grub-emu.
29228
3b8db1a8 292292007-11-18 Christian Franke <franke@computer.org>
29230
29231 * disk/host.c (grub_host_open): Remove attribute unused from
29232 name parameter. Add check for "host". This fixes the problem
29233 that grub-emu does not find partitions.
29234
2e29408d 292352007-11-18 Christian Franke <franke@computer.org>
29236
29237 * util/hostfs.c (is_dir): New function.
29238 (grub_hostfs_dir): Handle missing dirent.d_type case.
29239 (grub_hostfs_read): Add missing fseek().
29240 (grub_hostfs_label): Clear label pointer. This fixes a crash
29241 of grub-emu on "ls (host)".
29242
398cd047 292432007-11-18 Christian Franke <franke@computer.org>
29244
29245 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29246 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29247 to 64 bit boundary by default.
29248
c405c391 292492007-11-18 Bean <bean123ch@gmail.com>
29250
29251 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29252 (hexdump_mod_SOURCES): New variable.
29253 (hexdump_mod_CFLAGS): Likewise.
29254 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 29255
c405c391 29256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29257
29258 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29259
29260 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29261
29262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29263
29264 * include/grub/hexdump.h: New file.
29265
29266 * commands/hexdump.c: New file.
29267
5cced7fd 292682007-11-10 Robert Millan <rmh@aybabtu.com>
29269
29270 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29271 in grub_outb() calls.
29272 (beep_on): Likewise.
29273
8b714eb0 292742007-11-10 Christian Franke <franke@computer.org>
29275
29276 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29277 (grub_menu_run): Likewise.
29278
ce0f1839 292792007-11-10 Robert Millan <rmh@aybabtu.com>
29280
29281 * include/grub/i386/efi/machine.h: New file.
29282 * include/grub/i386/linuxbios/machine.h: Likewise.
29283 * include/grub/i386/pc/machine.h: Likewise.
29284 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29285 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29286
29287 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29288 (serial_hw_io_addr): New variable.
29289 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29290 instead of `(unsigned short *) 0x400'.
29291
270c237d 292922007-11-10 Bean <bean123ch@gmail.com>
29293
29294 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29295
a87783bf 292962007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29297
29298 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29299 (vga_mod_SOURCES): Added.
29300 (vga_mod_CFLAGS): Likewise.
29301 (vga_mod_LDFLAGS): Likewise.
29302
29303 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29304 grub_outb() calls.
29305 (set_map_mask): Likewise.
29306 (set_read_map): Likewise.
29307 (set_read_address): Likewise.
29308 (vga_font): Removed variable.
29309 (get_vga_glyph): Removed function.
29310 (invalidate_char): Likewise.
29311 (write_char): Changed to use grub_font_get_glyph() for font
29312 information.
29313 (grub_vga_putchar): Likewise.
29314 (grub_vga_getcharwidth): Likewise.
29315
6433b448 293162007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29317
29318 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29319 flags.
29320 (pxeboot_img_LDFLAGS): Likewise.
29321 (diskboot_img_LDFLAGS): Likewise.
29322 (kernel_img_LDFLAGS): Likewise.
29323
49178511 293242007-11-06 Robert Millan <rmh@aybabtu.com>
29325
29326 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29327 in grub_outb() calls.
29328 (serial_hw_init): Likewise.
29329
53b052de 293302007-11-05 Robert Millan <rmh@aybabtu.com>
29331
29332 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29333 spaces. Skip non-regular files.
29334
5ab33bba 293352007-11-05 Robert Millan <rmh@aybabtu.com>
29336
29337 * kern/disk.c (grub_disk_firmware_fini)
29338 (grub_disk_firmware_is_tainted): New variables.
29339
29340 * include/grub/disk.h (grub_disk_firmware_fini)
29341 (grub_disk_firmware_is_tainted): Likewise.
29342
29343 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29344 (grub_disk_biosdisk_fini): ... to here.
29345 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29346 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29347 is set. Register grub_disk_biosdisk_fini() in
29348 `grub_disk_firmware_fini'.
29349
29350 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29351 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29352 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29353 to finish existing firmware disk interface.
29354
29355 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29356 (ata_mod_SOURCES): New variable.
29357 (ata_mod_CFLAGS): Likewise.
29358 (ata_mod_LDFLAGS): Likewise.
29359
0149ab7c 293602007-11-05 Robert Millan <rmh@aybabtu.com>
29361
29362 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29363 (grub_ata_wait): Reimplement using grub_millisleep().
29364
29365 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29366 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29367
be7ac41e 293682007-11-03 Marco Gerards <marco@gnu.org>
29369
29370 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29371 (CRTC_ADDR_PORT): New macro.
29372 (CRTC_DATA_PORT): Likewise.
29373 (CRTC_CURSOR): Likewise.
29374 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29375 (CRTC_CURSOR_ADDR_LOW): Likewise.
29376 (update_cursor): New function.
29377 (grub_console_real_putchar): Call `update_cursor'.
29378 (grub_console_gotoxy): Likewise.
29379 (grub_console_cls): Set the default color when clearing the
29380 screen.
29381 (grub_console_setcursor): Implemented.
29382
bb06ab2e 293832007-11-03 Marco Gerards <marco@gnu.org>
29384
29385 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29386 become activate.
29387 (grub_ata_pio_write): Likewise.
29388
29389 (grub_atapi_identify): Wait after issuing an ATA command.
29390 (grub_atapi_packet): Likewise.
29391 (grub_ata_identify): Likewise.
29392 (grub_ata_readwrite): Likewise.
29393
cf8f780b 293942007-11-03 Marco Gerards <marco@gnu.org>
29395
29396 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29397 (grub_ata_pio_write): Likewise.
29398 (grub_ata_readwrite): Use `grub_error', instead of
29399 returning `grub_errno'.
29400
ed649e54 294012007-11-03 Marco Gerards <marco@gnu.org>
29402
29403 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29404 grub_ata_pio_write once for every single sector, instead of for
29405 multiple sectors.
29406
ca25d8f0 294072007-10-31 Robert Millan <rmh@aybabtu.com>
29408
29409 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29410
29411 * conf/i386-linuxbios.rmk: New file.
29412
29413 * kern/i386/pc/hardware.c: Likewise.
29414 * term/i386/pc/at_keyboard.c: Likewise.
29415 * term/i386/pc/vga_text.c: Likewise.
29416
29417 * include/grub/i386/linuxbios/boot.h: Likewise.
29418 * include/grub/i386/linuxbios/console.h: Likewise.
29419 * include/grub/i386/linuxbios/init.h: Likewise.
29420 * include/grub/i386/linuxbios/kernel.h: Likewise.
29421 * include/grub/i386/linuxbios/loader.h: Likewise.
29422 * include/grub/i386/linuxbios/memory.h: Likewise.
29423 * include/grub/i386/linuxbios/serial.h: Likewise.
29424 * include/grub/i386/linuxbios/time.h: Likewise.
29425
29426 * kern/i386/linuxbios/init.c: Likewise.
29427 * kern/i386/linuxbios/startup.S: Likewise.
29428 * kern/i386/linuxbios/table.c: Likewise.
29429
e911ecc1 294302007-10-31 Marco Gerards <marco@gnu.org>
29431
29432 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29433 (ata_mod_SOURCES): New variable.
29434 (ata_mod_CFLAGS): Likewise.
29435 (ata_mod_LDFLAGS): Likewise.
29436
29437 * disk/ata.c: New file.
29438
29439 * include/grub/disk.h (grub_disk_dev_id): Add
29440 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 29441
7f66d0e0 294422007-10-31 Robert Millan <rmh@aybabtu.com>
29443
29444 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29445 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29446
29447 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29448 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29449
29450 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29451 `<grub/types.h>'.
29452
29453 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29454
5cd7dd46 294552007-10-27 Robert Millan <rmh@aybabtu.com>
29456
3236ca65 29457 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 29458
2ebfc90f 294592007-10-22 Robert Millan <rmh@aybabtu.com>
29460
29461 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29462 `"../realmode.S"'.
29463 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29464
73fcb0f3 294652007-10-22 Robert Millan <rmh@aybabtu.com>
29466
29467 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29468 (pkgdata_MODULES): Add `biosdisk.mod'.
29469 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29470 variables.
29471
29472 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29473 (grub_biosdisk_init): Replace with ...
29474 (GRUB_MOD_INIT(biosdisk)): ... this.
29475 (grub_biosdisk_fini): Replace with ...
29476 (GRUB_MOD_FINI(biosdisk)): ... this.
29477
29478 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29479 (grub_machine_init): Remove call to grub_biosdisk_init().
29480 (grub_machine_fini): Remove call to grub_machine_fini().
29481
29482 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29483
3381d274 294842007-10-22 Robert Millan <rmh@aybabtu.com>
29485
29486 * include/grub/time.h: New file.
29487 * include/grub/i386/time.h: Likewise.
29488 * include/grub/powerpc/time.h: Likewise.
29489 * include/grub/sparc64/time.h: Likewise.
29490
29491 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29492 instances to ...
29493 (KERNEL_MACHINE_TIME_HEADER): ... this.
29494 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29495 instances to ...
29496 (KERNEL_MACHINE_TIME_HEADER): ... this.
29497 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29498 instances to ...
29499 (KERNEL_MACHINE_TIME_HEADER): ... this.
29500
29501 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29502 (grub_millisleep): New function.
29503 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29504 (grub_millisleep): New function.
29505 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29506 Remove `grub/machine/time.h' include.
29507 (grub_millisleep): New function.
29508 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29509 Remove `grub/machine/time.h' include.
29510 (grub_millisleep): New function.
29511
29512 * include/grub/misc.h (grub_div_roundup): New function.
29513
29514 * kern/misc.c: Include `<grub/time.h>'.
29515 (grub_millisleep_generic): New function.
29516
29517 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29518 Add `time.h'.
29519 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29520 Add `time.h'.
29521 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29522 `machine/time.h'. Add `time.h'.
29523 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29524
a39a0312 295252007-10-21 Robert Millan <rmh@aybabtu.com>
29526
29527 * include/grub/misc.h (grub_max): New function.
29528
2aad70e2 295292007-10-21 Robert Millan <rmh@aybabtu.com>
29530
29531 * util/misc.c (grub_util_info): Call fflush() before returning.
29532
54b71c4b 295332007-10-20 Robert Millan <rmh@aybabtu.com>
29534
29535 * genmk.rb (Image): Copy `extra_flags' from here ...
29536 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29537
29538 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29539 to `argc' and `args' arguments.
29540
a979f513 295412007-10-17 Robert Millan <rmh@aybabtu.com>
29542
29543 * kern/i386/loader.S: New file.
29544
29545 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29546 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29547 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29548 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29549 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29550 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29551 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29552 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29553 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29554 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29555 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29556 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29557 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29558 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29559
29560 * kern/i386/realmode.S: New file.
29561
29562 * kern/i386/pc/startup.S (protstack): Moved from here ...
29563 * kern/i386/realmode.S (protstack)... to here.
29564 * kern/i386/pc/startup.S (gdt): Moved from here ...
29565 * kern/i386/realmode.S (gdt)... to here.
29566 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29567 * kern/i386/realmode.S (prot_to_real)... to here.
29568
29569 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29570 `kern/i386/realmode.S'.
29571
825fc8fd 295722007-10-17 Robert Millan <rmh@aybabtu.com>
29573
29574 * include/grub/i386/loader.h: New file.
29575
29576 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29577 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29578 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29579 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29580 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29581 * include/grub/i386/loader.h (grub_linux_prot_size)
29582 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29583 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29584 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29585 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29586
29587 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29588
e179b2f4 295892007-10-15 Robert Millan <rmh@aybabtu.com>
29590
29591 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29592 filesystem when dev->disk is unset.
29593 Do probe for filesystem even when dev->disk->has_partitions is set.
29594 In case a filesystem is found, always report it.
29595 In case it isn't, if dev->disk->has_partitions is set, report that
29596 a partition table was found instead of reporting that no filesystem
29597 could be identified.
29598
5db82af6 295992007-10-12 Robert Millan <rmh@aybabtu.com>
29600
29601 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29602 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29603
68f6ac74 29604 * include/grub/types.h (grub_host_to_target16): New macro.
29605 (grub_host_to_target32): Likewise.
29606 (grub_host_to_target64): Likewise.
29607 (grub_target_to_host16): Likewise.
29608 (grub_target_to_host32): Likewise.
29609 (grub_target_to_host64): Likewise.
5db82af6 29610
29611 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29612 Renamed from to ...
29613 (GRUB_MOD_ALIGN): ...this. Update all users.
29614
68f6ac74 29615 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29616 grub_host_to_target32.
29617 Replace grub_be_to_cpu32 with grub_target_to_host32.
29618 (load_modules): Likewise.
29619 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29620 Replace grub_be_to_cpu32 with grub_target_to_host32.
29621 Replace grub_cpu_to_be16 with grub_host_to_target16.
29622 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 29623
3cf497cc 296242007-10-12 Robert Millan <rmh@aybabtu.com>
29625
29626 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29627 * util/elf/grub-mkimage.c: ... here.
29628
29629 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29630 `util/powerpc/ieee1275/grub-mkimage.c'.
29631
c8cc3692 296322007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 29633
c8cc3692 29634 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29635 and make it easier to figure out.
29636 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29637 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29638 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29639 leave us with less than HEAP_MIN_SIZE total heap.
29640 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 29641
5c58b791 296422007-10-03 Robert Millan <rmh@aybabtu.com>
29643
29644 * include/grub/i386/io.h: New file.
29645 * commands/i386/pc/play.c (inb): Removed.
29646 (outb): Removed.
29647 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29648 with grub_outb().
afcd2ef8 29649 * term/i386/pc/serial.c (inb): Removed.
29650 (outb): Removed.
29651 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29652 with grub_outb().
29653 * term/i386/pc/vga.c (inb): Removed.
29654 (outb): Removed.
29655 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29656 with grub_outb().
5c58b791 29657
1a477ed6 296582007-10-02 Robert Millan <rmh@aybabtu.com>
29659
29660 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29662 Reported by Marcin Kurek.
29663
6b5d80fa 296642007-09-07 Robert Millan <rmh@aybabtu.com>
29665
29666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29667 SmartFirmware version updates (as released by Sven Luther), and avoid
29668 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29669 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29670 known broken.
29671
5618afbf 296722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29673
29674 From Hitoshi Ozeki:
29675 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29676 when merging two regions.
29677
6139dcd9 296782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29679
508e39ee 29680 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29681 * normal/completion.c (grub_normal_do_completion): Likewise.
29682 Reported by Hitoshi Ozeki.
29683
296842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29685
6139dcd9 29686 Do not use devices at boot in chainloading.
f19dbdb7 29687
6139dcd9 29688 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29689 (boot_part_addr): Likewise.
29690 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29691 with BOOT_DRIVE and BOOT_PART_ADDR.
29692 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29693 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29694
38da6516 296952007-08-29 Robert Millan <rmh@aybabtu.com>
29696
29697 Patch from Simon Peter <dn.tlp@gmx.net>:
29698 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29699 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29700 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29701 util/i386/pc/grub-setup.c_DEPENDENCIES.
29702 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29703 util/grub-probe.c_DEPENDENCIES.
29704 * conf/powerpc-ieee1275.rmk: Likewise.
29705
29d0928c 297062007-08-28 Robert Millan <rmh@aybabtu.com>
29707
29708 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29709 to tell grub-mkdevicemap how to name devices.
29710 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29711 feature).
29712
29713 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29714 util/i386/get_disk_name.c.
29715 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29716 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29717 util/ieee1275/get_disk_name.c.
29718
29719 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29720
29721 * DISTLIST: Add util/i386/get_disk_name.c and
29722 util/ieee1275/get_disk_name.c.
29723
29724 * util/grub-mkdevicemap.c: Replace device naming logic with
29725 grub_util_get_disk_name() calls.
29726
5a0d3cca 297272007-08-20 Robert Millan <rmh@aybabtu.com>
29728
29729 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29730 (so that it works for both plural and singular quantities).
29731
8b72db2f 297322007-08-05 Robert Millan <rmh@aybabtu.com>
29733
29734 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29735 so that [xz] isn't taken into account when determining order.
29736
352466bf 297372007-08-02 Marco Gerards <marco@gnu.org>
29738
29739 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29740 `include/multiboot2.h', `include/grub/elfload.h',
29741 `include/multiboot.h', `include/grub/multiboot.h',
29742 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29743 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29744 `kern/elf.c', `loader/multiboot_loader.c',
29745 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29746 `loader/i386/pc/multiboot2.c',
29747 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29748 `util/i386/pc/grub-mkrescue.in'. Remove
29749 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29750 `include/grub/i386/pc/util/biosdisk.h' and
29751 `include/grub/powerpc/ieee1275/multiboot.h'.
29752
8f096014 297532007-08-02 Bean <bean123ch@gmail.com>
29754
29755 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29756 (ntfs_mod_SOURCES): New variable.
29757 (ntfs_mod_CFLAGS): Likewise.
29758 (ntfs_mod_LDFLAGS): Likewise.
29759
29760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29761 (grub_probe_SOURCES): Likewise.
29762 (grub_emu_SOURCES): Likewise.
29763
29764 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29765 (grub_emu_SOURCES): Likewise.
29766
29767 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29768 (grub_emu_SOURCES): Likewise.
f19dbdb7 29769
8f096014 29770 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29771
29772 * fs/ntfs.c: New file.
29773
9959f7db 297742007-08-02 Bean <bean123ch@gmail.com>
29775
29776 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29777
29778 * file.h (grub_file): Likewise.
29779
29780 * fshelp.h (grub_fshelp_read_file): Likewise.
29781
29782 * util/i386/pc/grub-setup.c (setup): Likewise.
29783 (save_first_sector): Likewise.
29784 (save_blocklists): Likewise.
f19dbdb7 29785
9959f7db 29786 * fs/affs.c (grub_affs_read_file): Likewise.
29787
29788 * fs/ext2.c (grub_ext2_read_file): Likewise.
29789
29790 * fs/fat.c (grub_fat_read_data): Likewise.
29791
29792 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29793
29794 * fs/hfs.c (grub_hfs_read_file): Likewise.
29795
29796 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29797
29798 * fs/jfs.c (grub_jfs_read_file): Likewise.
29799
29800 * fs/minix.c (grub_minix_read_file): Likewise.
29801
29802 * fs/sfs.c (grub_sfs_read_file): Likewise.
29803
29804 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 29805
9959f7db 29806 * fs/xfs.c (grub_xfs_read_file): Likewise.
29807
29808 * command/blocklist.c (read_blocklist): Likewise.
29809 (print_blocklist): Likewise.
29810
0a203f83 298112007-08-02 Marco Gerards <marco@gnu.org>
29812
29813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29814 `util/hostfs.c'.
29815
29816 * disk/host.c: New file.
29817
29818 * util/hostfs.c: Likewise.
29819
29820 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29821 return `GRUB_ERR_BAD_FS'.
29822 * fs/sfs.c (grub_sfs_mount): Likewise.
29823 * fs/xfs.c (grub_xfs_mount): Likewise.
29824
29825 * include/grub/disk.h (enum grub_disk_dev_id): Add
29826 `GRUB_DISK_DEVICE_HOST_ID'.
29827
29828 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29829
e5dfe777 298302007-07-24 Jerone Young <jerone@gmail.com>
29831
f19dbdb7 29832 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 29833 modules for compilation.
29834 * conf/powerpc-ieee1275.rmk: Likewise.
29835
29836 * include/multiboot.h: Move multiboot definitions to one file. Rename
29837 many definitions to not get grub specific.
29838 * include/multiboot2.h: Create header with multiboot 2 definitions.
29839 * include/grub/multiboot.h: Header for grub specific function
29840 prototypes and definitions.
29841 * include/grub/multiboot2.h: Likewise.
29842 * include/grub/multiboot_loader.h: Likewise.
29843 * include/grub/i386/pc/multiboot.h: Removed.
29844 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29845
29846 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29847 and 2 to allow for one multiboot and module commands.
29848 * loader/multiboot2.c: Add multiboot2 functionality.
29849 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29850 and definition names.
29851 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29852 2 functions.
29853 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29854 ieee1275 specific multiboot2 code.
29855
29856 * kern/i386/pc/startup.S: Change headers and definition names for
29857 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29858
daf0f0ba 298592007-07-22 Robert Millan <rmh@aybabtu.com>
29860
29861 * geninitheader.sh: Process file specified in first parameter rather
29862 than hardcoding grub_modules_init.lst.
fe6b695a 29863 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 29864 than hardcoding grub_modules_init.h.
29865
29866 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29867 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29868 grub_probe_init.[ch] and grub_setup_init.[ch].
29869
29870 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29871 grub_modules_init.h with grub_emu_init.h.
29872 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29873 grub_probe_init.[ch] files.
29874 * conf/i386-efi.rmk: Likewise.
29875 * conf/i386-pc.rmk: Likewise.
29876 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29877 grub_setup_init.[ch] files.
29878
29879 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29880 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29881 to initialize modules rather than a list of hardcoded functions.
29882 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29883 grub_init_all() to initialize modules rather than a list of hardcoded
29884 functions.
29885
54cdc1cc 298862007-07-22 Robert Millan <rmh@aybabtu.com>
29887
29888 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29889 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29890
ad0686cc 298912007-07-22 Robert Millan <rmh@aybabtu.com>
29892
29893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29894 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29895 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29896 flag when running on SmartFirmware.
29897 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29898 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29899 was set.
29900
29901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29902 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29903 rather than decreasing it.
29904
29905 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29906 there's not enough space to do it, fail in the same way as when it
29907 can't be done because there are no partitions.
29908
29909 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29910 when nvsetenv failed.
29911
969c02ec 299122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29913
29914 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29915 because this rule is automatically generated.
29916 (grub-mkrescue): Removed for the same reason as above.
29917
5a79f472 299182007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29919
29920 Migrate to GNU General Public License Version 3.
f19dbdb7 29921
5a79f472 29922 * COPYING: Replaced with the plain text version of GPLv3.
29923
29924 * config.guess: Updated from gnulib.
29925 * config.sub: Likewise.
29926
29927 * geninit.sh: Output a GPLv3 copyright notice.
29928 * geninitheader.sh: Likewise.
29929 * genmodsrc.sh: Likewise.
29930 * gensymlist.sh.in: Likewise.
29931
29932 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29933 * boot/i386/pc/diskboot.S: Likewise.
29934 * boot/i386/pc/pxeboot.S: Likewise.
29935 * commands/blocklist.c: Likewise.
29936 * commands/boot.c: Likewise.
29937 * commands/cat.c: Likewise.
29938 * commands/cmp.c: Likewise.
29939 * commands/configfile.c: Likewise.
29940 * commands/echo.c: Likewise.
29941 * commands/help.c: Likewise.
29942 * commands/ls.c: Likewise.
29943 * commands/search.c: Likewise.
29944 * commands/terminal.c: Likewise.
29945 * commands/test.c: Likewise.
29946 * commands/videotest.c: Likewise.
29947 * commands/i386/cpuid.c: Likewise.
29948 * commands/i386/pc/halt.c: Likewise.
29949 * commands/i386/pc/play.c: Likewise.
29950 * commands/i386/pc/reboot.c: Likewise.
29951 * commands/i386/pc/vbeinfo.c: Likewise.
29952 * commands/i386/pc/vbetest.c: Likewise.
29953 * commands/ieee1275/halt.c: Likewise.
29954 * commands/ieee1275/reboot.c: Likewise.
29955 * commands/ieee1275/suspend.c: Likewise.
29956 * disk/loopback.c: Likewise.
29957 * disk/lvm.c: Likewise.
29958 * disk/raid.c: Likewise.
29959 * disk/efi/efidisk.c: Likewise.
29960 * disk/i386/pc/biosdisk.c: Likewise.
29961 * disk/ieee1275/ofdisk.c: Likewise.
29962 * font/manager.c: Likewise.
29963 * fs/affs.c: Likewise.
29964 * fs/ext2.c: Likewise.
29965 * fs/fat.c: Likewise.
29966 * fs/fshelp.c: Likewise.
29967 * fs/hfs.c: Likewise.
29968 * fs/hfsplus.c: Likewise.
29969 * fs/iso9660.c: Likewise.
29970 * fs/jfs.c: Likewise.
29971 * fs/minix.c: Likewise.
29972 * fs/sfs.c: Likewise.
29973 * fs/ufs.c: Likewise.
29974 * fs/xfs.c: Likewise.
29975 * hello/hello.c: Likewise.
29976 * include/grub/acorn_filecore.h: Likewise.
29977 * include/grub/arg.h: Likewise.
29978 * include/grub/bitmap.h: Likewise.
29979 * include/grub/boot.h: Likewise.
29980 * include/grub/cache.h: Likewise.
29981 * include/grub/device.h: Likewise.
29982 * include/grub/disk.h: Likewise.
29983 * include/grub/dl.h: Likewise.
29984 * include/grub/elfload.h: Likewise.
29985 * include/grub/env.h: Likewise.
29986 * include/grub/err.h: Likewise.
29987 * include/grub/file.h: Likewise.
29988 * include/grub/font.h: Likewise.
29989 * include/grub/fs.h: Likewise.
29990 * include/grub/fshelp.h: Likewise.
29991 * include/grub/gzio.h: Likewise.
29992 * include/grub/hfs.h: Likewise.
29993 * include/grub/kernel.h: Likewise.
29994 * include/grub/loader.h: Likewise.
29995 * include/grub/lvm.h: Likewise.
29996 * include/grub/misc.h: Likewise.
29997 * include/grub/mm.h: Likewise.
29998 * include/grub/net.h: Likewise.
29999 * include/grub/normal.h: Likewise.
30000 * include/grub/parser.h: Likewise.
30001 * include/grub/partition.h: Likewise.
30002 * include/grub/pc_partition.h: Likewise.
30003 * include/grub/raid.h: Likewise.
30004 * include/grub/rescue.h: Likewise.
30005 * include/grub/script.h: Likewise.
30006 * include/grub/setjmp.h: Likewise.
30007 * include/grub/symbol.h: Likewise.
30008 * include/grub/term.h: Likewise.
30009 * include/grub/terminfo.h: Likewise.
30010 * include/grub/tparm.h: Likewise.
30011 * include/grub/types.h: Likewise.
30012 * include/grub/video.h: Likewise.
30013 * include/grub/efi/api.h: Likewise.
30014 * include/grub/efi/chainloader.h: Likewise.
30015 * include/grub/efi/console.h: Likewise.
30016 * include/grub/efi/console_control.h: Likewise.
30017 * include/grub/efi/disk.h: Likewise.
30018 * include/grub/efi/efi.h: Likewise.
30019 * include/grub/efi/pe32.h: Likewise.
30020 * include/grub/efi/time.h: Likewise.
30021 * include/grub/i386/linux.h: Likewise.
30022 * include/grub/i386/setjmp.h: Likewise.
30023 * include/grub/i386/types.h: Likewise.
30024 * include/grub/i386/efi/kernel.h: Likewise.
30025 * include/grub/i386/efi/loader.h: Likewise.
30026 * include/grub/i386/efi/time.h: Likewise.
30027 * include/grub/i386/pc/biosdisk.h: Likewise.
30028 * include/grub/i386/pc/boot.h: Likewise.
30029 * include/grub/i386/pc/chainloader.h: Likewise.
30030 * include/grub/i386/pc/console.h: Likewise.
30031 * include/grub/i386/pc/init.h: Likewise.
30032 * include/grub/i386/pc/kernel.h: Likewise.
30033 * include/grub/i386/pc/loader.h: Likewise.
30034 * include/grub/i386/pc/memory.h: Likewise.
30035 * include/grub/i386/pc/multiboot.h: Likewise.
30036 * include/grub/i386/pc/serial.h: Likewise.
30037 * include/grub/i386/pc/time.h: Likewise.
30038 * include/grub/i386/pc/vbe.h: Likewise.
30039 * include/grub/i386/pc/vbeblit.h: Likewise.
30040 * include/grub/i386/pc/vbefill.h: Likewise.
30041 * include/grub/i386/pc/vbeutil.h: Likewise.
30042 * include/grub/i386/pc/vga.h: Likewise.
30043 * include/grub/ieee1275/ieee1275.h: Likewise.
30044 * include/grub/ieee1275/ofdisk.h: Likewise.
30045 * include/grub/powerpc/libgcc.h: Likewise.
30046 * include/grub/powerpc/setjmp.h: Likewise.
30047 * include/grub/powerpc/types.h: Likewise.
30048 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30049 * include/grub/powerpc/ieee1275/console.h: Likewise.
30050 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30051 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30052 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30053 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30054 * include/grub/powerpc/ieee1275/time.h: Likewise.
30055 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30056 * include/grub/sparc64/libgcc.h: Likewise.
30057 * include/grub/sparc64/setjmp.h: Likewise.
30058 * include/grub/sparc64/types.h: Likewise.
30059 * include/grub/sparc64/ieee1275/console.h: Likewise.
30060 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30061 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30062 * include/grub/sparc64/ieee1275/time.h: Likewise.
30063 * include/grub/util/biosdisk.h: Likewise.
30064 * include/grub/util/getroot.h: Likewise.
30065 * include/grub/util/lvm.h: Likewise.
30066 * include/grub/util/misc.h: Likewise.
30067 * include/grub/util/raid.h: Likewise.
30068 * include/grub/util/resolve.h: Likewise.
30069 * io/gzio.c: Likewise.
30070 * kern/device.c: Likewise.
30071 * kern/disk.c: Likewise.
30072 * kern/dl.c: Likewise.
30073 * kern/elf.c: Likewise.
30074 * kern/env.c: Likewise.
30075 * kern/err.c: Likewise.
30076 * kern/file.c: Likewise.
30077 * kern/fs.c: Likewise.
30078 * kern/loader.c: Likewise.
30079 * kern/main.c: Likewise.
30080 * kern/misc.c: Likewise.
30081 * kern/mm.c: Likewise.
30082 * kern/parser.c: Likewise.
30083 * kern/partition.c: Likewise.
30084 * kern/rescue.c: Likewise.
30085 * kern/term.c: Likewise.
30086 * kern/efi/efi.c: Likewise.
30087 * kern/efi/init.c: Likewise.
30088 * kern/efi/mm.c: Likewise.
30089 * kern/i386/dl.c: Likewise.
30090 * kern/i386/efi/init.c: Likewise.
30091 * kern/i386/efi/startup.S: Likewise.
30092 * kern/i386/pc/init.c: Likewise.
30093 * kern/i386/pc/lzo1x.S: Likewise.
30094 * kern/i386/pc/startup.S: Likewise.
30095 * kern/ieee1275/ieee1275.c: Likewise.
30096 * kern/powerpc/cache.S: Likewise.
30097 * kern/powerpc/dl.c: Likewise.
30098 * kern/powerpc/ieee1275/cmain.c: Likewise.
30099 * kern/powerpc/ieee1275/crt0.S: Likewise.
30100 * kern/powerpc/ieee1275/init.c: Likewise.
30101 * kern/powerpc/ieee1275/openfw.c: Likewise.
30102 * kern/sparc64/cache.S: Likewise.
30103 * kern/sparc64/dl.c: Likewise.
30104 * kern/sparc64/ieee1275/init.c: Likewise.
30105 * kern/sparc64/ieee1275/openfw.c: Likewise.
30106 * loader/efi/chainloader.c: Likewise.
30107 * loader/efi/chainloader_normal.c: Likewise.
30108 * loader/i386/efi/linux.c: Likewise.
30109 * loader/i386/efi/linux_normal.c: Likewise.
30110 * loader/i386/pc/chainloader.c: Likewise.
30111 * loader/i386/pc/chainloader_normal.c: Likewise.
30112 * loader/i386/pc/linux.c: Likewise.
30113 * loader/i386/pc/linux_normal.c: Likewise.
30114 * loader/i386/pc/multiboot.c: Likewise.
30115 * loader/i386/pc/multiboot_normal.c: Likewise.
30116 * loader/powerpc/ieee1275/linux.c: Likewise.
30117 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30118 * normal/arg.c: Likewise.
30119 * normal/cmdline.c: Likewise.
30120 * normal/command.c: Likewise.
30121 * normal/completion.c: Likewise.
30122 * normal/execute.c: Likewise.
30123 * normal/function.c: Likewise.
30124 * normal/lexer.c: Likewise.
30125 * normal/main.c: Likewise.
30126 * normal/menu.c: Likewise.
30127 * normal/menu_entry.c: Likewise.
30128 * normal/misc.c: Likewise.
30129 * normal/parser.y: Likewise.
30130 * normal/script.c: Likewise.
30131 * normal/i386/setjmp.S: Likewise.
30132 * normal/powerpc/setjmp.S: Likewise.
30133 * normal/sparc64/setjmp.S: Likewise.
30134 * partmap/acorn.c: Likewise.
30135 * partmap/amiga.c: Likewise.
30136 * partmap/apple.c: Likewise.
30137 * partmap/gpt.c: Likewise.
30138 * partmap/pc.c: Likewise.
30139 * partmap/sun.c: Likewise.
30140 * term/gfxterm.c: Likewise.
30141 * term/terminfo.c: Likewise.
30142 * term/efi/console.c: Likewise.
30143 * term/i386/pc/console.c: Likewise.
30144 * term/i386/pc/serial.c: Likewise.
30145 * term/i386/pc/vesafb.c: Likewise.
30146 * term/i386/pc/vga.c: Likewise.
30147 * term/ieee1275/ofconsole.c: Likewise.
30148 * util/biosdisk.c: Likewise.
30149 * util/console.c: Likewise.
30150 * util/genmoddep.c: Likewise.
30151 * util/getroot.c: Likewise.
30152 * util/grub-emu.c: Likewise.
30153 * util/grub-mkdevicemap.c: Likewise.
30154 * util/grub-probe.c: Likewise.
30155 * util/lvm.c: Likewise.
30156 * util/misc.c: Likewise.
30157 * util/raid.c: Likewise.
30158 * util/resolve.c: Likewise.
30159 * util/update-grub.in: Likewise.
30160 * util/update-grub_lib.in: Likewise.
30161 * util/grub.d/00_header.in: Likewise.
30162 * util/grub.d/10_hurd.in: Likewise.
30163 * util/grub.d/10_linux.in: Likewise.
30164 * util/i386/efi/grub-install.in: Likewise.
30165 * util/i386/efi/grub-mkimage.c: Likewise.
30166 * util/i386/pc/grub-install.in: Likewise.
30167 * util/i386/pc/grub-mkimage.c: Likewise.
30168 * util/i386/pc/grub-mkrescue.in: Likewise.
30169 * util/i386/pc/grub-setup.c: Likewise.
30170 * util/i386/pc/misc.c: Likewise.
30171 * util/powerpc/ieee1275/grub-install.in: Likewise.
30172 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30173 * util/powerpc/ieee1275/misc.c: Likewise.
30174 * video/bitmap.c: Likewise.
30175 * video/video.c: Likewise.
30176 * video/i386/pc/vbe.c: Likewise.
30177 * video/i386/pc/vbeblit.c: Likewise.
30178 * video/i386/pc/vbefill.c: Likewise.
30179 * video/i386/pc/vbeutil.c: Likewise.
30180 * video/readers/tga.c: Likewise.
30181
3572d015 301822007-07-02 Robert Millan <rmh@aybabtu.com>
30183
30184 * conf/i386-efi.rmk: Replace obsolete reference to
30185 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30186 with util/getroot.c.
30187 * conf/powerpc-ieee1275.rmk: Likewise.
30188 * conf/sparc64-ieee1275.rmk: Likewise.
30189
30190 * util/grub-emu.c (main): Fix unchecked pointer handling.
30191
2c2a681b 301922007-07-02 Robert Millan <rmh@aybabtu.com>
30193
30194 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30195 invocation to fail, in order to support partition-less media.
30196
30197 * util/i386/pc/grub-install.in: Likewise.
30198
30199 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30200 which fs or partmap modules are needed (akin to its sister scripts).
30201
30202 Also use grub-probe to get rid of unportable /proc/mounts check.
30203
30204 Print the same informational message that the other scripts do, before
fe6b695a 30205 exiting.
2c2a681b 30206
6193defe 302072007-06-23 Robert Millan <rmh@aybabtu.com>
30208
fe6b695a 30209 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 30210 a font file can be found and, if so, echo the GRUB path to it.
30211
30212 * util/update-grub.in: Handle multiple terminals depending on user
30213 input, platform availability and font file presence. Propagate
30214 variables of our findings to /etc/grub.d/ children.
30215
30216 * util/grub.d/00_header.in: Handle multiple terminals, based on
30217 environment setup by update-grub.
30218
eface1dc 302192007-06-23 Robert Millan <rmh@aybabtu.com>
30220
ba50d28f 30221 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 30222
bf697e28 302232007-06-21 Robert Millan <rmh@aybabtu.com>
30224
30225 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30226 indicate end of data section in kernel image.
30227 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30228 GRUB_KERNEL_MACHINE_DATA_END.
30229
30230 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30231 space for it.
30232 * kern/i386/efi/startup.S: Likewise.
30233
30234 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30235 during image generation. Implement --prefix option to override this
30236 patch.
30237 * util/i386/efi/grub-mkimage.c: Likewise.
30238
30239 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30240 code to make path relative to its root into a separate function.
30241
30242 * util/i386/pc/grub-install.in: Use newly provided
30243 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30244 pass the result to grub-install --prefix.
30245
baa574b4 302462007-06-13 Robert Millan <rmh@aybabtu.com>
30247
30248 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30249 DEFAULT_DEVICE_MAP.
30250 * util/grub-emu.c: Use above definitions from misc.h instead of
30251 defining them.
30252 * util/grub-mkdevicemap.c: Likewise.
30253 * util/i386/pc/grub-setup.c: Likewise.
30254 * util/grub-probe.c: Likewise.
30255 (probe): Abort with grub_util_error() when either
30256 grub_guess_root_device or grub_util_get_grub_dev fails.
30257
0215dcbf 302582007-06-12 Robert Millan <rmh@aybabtu.com>
30259
30260 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30261 "pager" assignment.
30262 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30263 "pcdata".
30264 * util/grub-probe.c (probe): Likewise for "drive_name".
30265
8af2ab7b 302662007-06-11 Robert Millan <rmh@aybabtu.com>
30267
30268 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30269 not just the cdrom one.
30270
59d31694 302712007-06-11 Robert Millan <rmh@aybabtu.com>
30272
30273 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30274 Add --pkglibdir=DIR option to override pkglibdir.
30275 Mention --image-type=TYPE in help output.
30276 Fix --grub-mkimage (it was a no-op).
fe6b695a 30277 Abort gracefully when no parameter is given.
59d31694 30278
7ee367e4 302792007-06-11 Robert Millan <rmh@aybabtu.com>
30280
30281 * util/i386/pc/grub-mkrescue.in: New file.
30282 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30283 * Makefile.in: Handle bin_SCRIPTS.
30284
29b0ed46 302852007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30286
30287 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30288 list of video modes.
30289
c0f90770 302902007-06-06 Robert Millan <rmh@aybabtu.com>
30291
30292 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30293 file doesn't exist, or if it is in a filesystem grub can't read.
30294
30295 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30296 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30297 header comment to fit in 80 columns when the variables are resolved.
30298
30299 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30300 could be identified by update-grub. Remove redundant check for
fe6b695a 30301 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 30302 handles that).
30303
fb36dc26 303042007-06-04 Robert Millan <rmh@aybabtu.com>
30305
30306 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30307
30308 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30309
30310 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30311
0c68c93e 303122007-06-04 Robert Millan <rmh@aybabtu.com>
30313
30314 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30315
30316 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30317 grub_apple_partition_map_fini.
30318
30319 * util/biosdisk.c
30320 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30321 to access >2 TiB disks).
30322
30323 Print disk->total_sectors with %llu instead of %lu, since this
30324 variable is always 64-bit (prevents wrong disk size from being displayed
30325 on either >2 TiB disk or big-endian CPU).
30326
30327 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30328 into a generic case that supports all (sane) partition maps.
30329
30330 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30331 breaks big-endian.
30332
30333 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30334 and grub_apple_partition_map_fini() after that.
30335
0f23eb74 303362007-06-01 Robert Millan <rmh@aybabtu.com>
30337
30338 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30339
30340 * util/grub.d/00_header.in: Only enable gfxterm when
30341 convert_system_path_to_grub_path() succeeds.
30342
42c71976 303432007-05-20 Robert Millan <rmh@aybabtu.com>
30344
30345 * util/update-grub_lib.in: New file.
30346 * DISTLIST: Add update-grub_lib.in.
30347 * conf/common.rmk: Generate update-grub_lib and install it in
30348 $(lib_DATA).
30349 * Makefile.in: Add install routine for $(lib_DATA).
30350
30351 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30352 function provided by update-grub_lib to support arbitrary paths of
30353 unifont.pff.
30354 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30355 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30356
5beb2291 303572007-05-19 Robert Millan <rmh@aybabtu.com>
30358
30359 * commands/i386/cpuid.c: New module.
30360 * DISTLIST: Add it.
30361 * conf/i386-efi.rmk: Enable cpuid.mod.
30362 * conf/i386-pc.rmk: Likewise.
30363
7262eca1 303642007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30365
30366 * kern/disk.c (grub_disk_read): Check return value of
30367 grub_realloc().
30368
260ba823 303692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30370
30371 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30372 arrays.
30373 * disk/raid.c (grub_raid_open): Likewise.
30374
1ecb6cf2 303752007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30376
30377 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30378 stack instead of on the heap.
30379
30380 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30381 before doing a read on it.
30382
30383 * configure.ac: Only use -fno-stack-protector for the target
30384 environment.
f19dbdb7 30385
21c8cbb1 303862007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30387
30388 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30389 __attribute_ ((unused)) to mode_type argument.
30390
30391 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 30392
21c8cbb1 30393 * kern/misc.c (memcmp): Fix prototype.
30394
30395 * include/grub/partition.h [GRUB_UTIL]
30396 (grub_gpt_partition_map_init): Add prototype.
30397 (grub_gpt_partition_map_fini): Likewise.
30398
30399 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30400 at the right place.
30401
30402 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30403 (grub_fat_read_data): Likewise.
30404 (grub_fat_find_dir): Likewise.
30405
30406 * font/manager.c (find_glyph): Make table a const.
30407 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 30408
849d55d3 304092007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30410
30411 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30412 code, first search for device in /dev/mapper, then in /dev.
30413 (grub_util_get_grub_dev): New function.
30414 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30415 prototype.
30416 * util/grub-probe.c (probe): Remove check for RAID, call
30417 grub_util_get_grub_dev() instead of
30418 grub_util_biosdisk_get_grub_dev().
30419 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30420 grub_util_biosdisk_get_grub_dev().
30421 * util/i386/pc/grub-setup.c (main): Likewise.
30422
8fff7c2f 304232007-05-16 Robert Millan <rmh@aybabtu.com>
30424
30425 * DISTLIST: Update for the latest changes.
30426 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30427 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30428 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30429 grub/util/biosdisk.h.
30430 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30431 grub/util/biosdisk.h.
30432
48e12b52 304332007-05-16 Robert Millan <rmh@aybabtu.com>
30434
30435 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30436
46b9d128 304372007-05-16 Robert Millan <rmh@aybabtu.com>
30438
30439 * util/i386/efi/grub-install.in: New.
30440 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30441 newly added grub-install.
30442 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30443 include.
30444 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30445 grub/util/biosdisk.h.
30446 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30447 grub/util/biosdisk.h.
30448
2d1a40a9 304492007-05-16 Robert Millan <rmh@aybabtu.com>
30450
30451 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30452 * include/grub/util/biosdisk.h: ... here.
30453 * util/i386/pc/biosdisk.c: Moved to ...
30454 * util/biosdisk.c: ... here.
30455 * util/i386/pc/getroot.c: Moved to ...
30456 * util/getroot.c: ... here.
30457 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30458 * util/grub-mkdevicemap.c: ... here.
30459 * util/i386/pc/grub-probe.c: Moved to ...
30460 * util/grub-probe.c: ... here.
30461
9e26e3bc 304622007-05-15 Robert Millan <rmh@aybabtu.com>
30463
30464 * util/update-grub.in: Remove duplicated line in grub.cfg header
30465 message.
30466
57f96397 304672007-05-13 Robert Millan <rmh@aybabtu.com>
30468
30469 * util/update-grub.in: Fix a few assumptions about the devices holding
30470 /, /boot and /boot/grub being the same.
30471 * util/grub.d/00_header.in: Likewise.
30472 * util/grub.d/10_hurd.in: Likewise.
30473 * util/grub.d/10_linux.in: Likewise.
30474
30475 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30476 patterns. Use that to define the `.old' suffix as older than `'.
30477
30478 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30479
30480 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30481 the grub.cfg header message.
30482
2e610d62 304832007-05-11 Robert Millan <rmh@aybabtu.com>
30484
30485 * util/update-grub.in: Create device.map if it doesn't already exist,
30486 before attempting to run grub-probe.
30487 Check for grub-probe and grub-mkdevicemap with the same code
30488 grub-install is using.
30489 Remove test mode.
30490
3f6a10ef 304912007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30492
30493 * Makefile.in: Add the datarootdir autoconf variable.
30494
02e7b75e 304952007-05-09 Robert Millan <rmh@aybabtu.com>
30496
30497 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 30498 fail gracefully if dev->disk->partition == NULL.
02e7b75e 30499
75f396cc 305002007-05-07 Robert Millan <rmh@aybabtu.com>
30501
30502 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30503 determine partition map module.
30504 * util/i386/pc/grub-install.in: Use this feature to decide which
30505 partition module to load, instead of hardcoding pc and gpt.
30506
da65cb36 305072007-05-07 Robert Millan <rmh@aybabtu.com>
30508
30509 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30510 source directory differs from build directory.
30511
b57d6a91 305122007-05-05 Robert Millan <rmh@aybabtu.com>
30513
30514 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30515 initialisation.
30516
509d00f1 305172007-05-05 Robert Millan <rmh@aybabtu.com>
30518
30519 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30520
c48f23ef 305212007-05-05 Robert Millan <rmh@aybabtu.com>
30522
30523 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30524 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30525
20b97658 305262007-05-05 Robert Millan <rmh@aybabtu.com>
30527
30528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30529 (grub_probe_SOURCES): Likewise.
30530 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30531 GPT and initialize dos_part and bsd_part accordingly.
30532 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30533 install_bsd_part.
30534 (main): Activate gpt module for use during partition identification,
30535 and deactivate it afterwards.
30536 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30537 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30538 partition identification, and deactivate it afterwards.
30539
99123174 305402007-05-05 Robert Millan <rmh@aybabtu.com>
30541
30542 * term/i386/pc/console.c (grub_console_fini): Call
30543 grub_term_set_current() before grub_term_unregister().
30544
ebd97f6e 305452007-05-04 Robert Millan <rmh@aybabtu.com>
30546
30547 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30548 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30549 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30550 and update-grub_DATA.
30551 * conf/common.rmk: Build and install update-grub components.
30552 * conf/common.mk: Regenerate.
30553 * util/update-grub.in: New. Core of update-grub.
30554 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30555 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30556 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30557 * util/grub.d/README: New. Document grub.d directory layout.
30558
b06a264d 305592007-05-01 Robert Millan <rmh@aybabtu.com>
30560
30561 * util/grub-emu.c: Move initialization functions
30562 grub_util_biosdisk_init() and grub_init_all() before
30563 grub_util_biosdisk_get_grub_dev(), which relies on them.
30564
41f0050e 305652007-04-19 Robert Millan <rmh@aybabtu.com>
30566
30567 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30568 it is used later.
30569
04582bb3 305702007-04-18 Jerone Young <jerone@gmail.com>
30571
f19dbdb7 30572 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 30573 stanza.
30574
08db4632 305752007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 30576
08db4632 30577 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30578 continue on and look for device node with real device name.
30579
801b76be 305802007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 30581
fe6b695a 30582 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 30583 ability.
30584 * Makefile.in: Add autoconf package transformation code.
30585 * util/i386/pc/grub-install.in: Likewise.
30586 * util/powerpc/ieee1275/grub-install.in: Likewise.
30587
6795c4e1 305882007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30589
30590 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30591 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30592 (EXT2_REVISION): Likewise.
30593 (EXT2_INODE_SIZE): Likewise.
30594 (struct grub_ext2_block_group): Added a missing member
30595 "used_dirs".
30596 (grub_ext2_read_inode): Divide by the inode size in a superblock
30597 instead of 128 to obtain INODES_PER_BLOCK.
30598 Use the macro EXT2_INODE_SIZE instead of directly using
30599 SBLOCK->INODE_SIZE.
30600
d70af616 306012007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30602
30603 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30604 superblock instead of the structure size to compute an
30605 offset. This fixes the problem that GRUB could not read a
30606 filesystem when inode size is different from 128-byte.
30607
3b801603 306082007-03-05 Marco Gerards <marco@gnu.org>
30609
30610 * normal/main.c (read_config_file): When "menu" is not set, create
30611 an initial context.
30612
4785bfe4 306132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30614
30615 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30616 (HEAP_LIMIT): New macro.
30617 (grub_claim_heap): Claim memory up to `heaplimit'.
30618
a0cbb023 306192007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30620
30621 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30622 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30623 (_start): Likewise.
30624 (grub_arch_modules_addr): Return address after `_end'.
30625 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30626 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30627 (add_segments): Calculate `_end' from phdr size and location.
30628 (ALIGN_UP): Moved to ...
30629 * include/grub/misc.h: here.
30630 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30631 New macro.
30632 (GRUB_IEEE1275_MODULE_BASE): Removed.
30633
fd7d8eba 306342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30635
30636 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30637 loop boundary.
30638
9b09e6fc 306392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30640
30641 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30642 All users updated.
30643 (grub_elf64_load_hook_t): Likewise.
30644 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30645 debug output.
30646
3ce27299 306472007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30648
30649 * kern/mm.c: Update copyright.
30650 (grub_mm_debug): Correct syntax error.
30651 (grub_mm_dump_free): New function.
30652 (grub_debug_free): Call `grub_free'.
30653 * include/grub/mm.h: Update copyright.
30654 (grub_mm_dump_free): Add declaration.
30655
077d5fee 306562007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30657
30658 * include/grub/ieee1275/ieee1275.h: Update copyright.
30659 * kern/powerpc/ieee1275/init.c: Likewise.
30660 * kern/powerpc/ieee1275/openfw.c: Likewise.
30661
30662 * loader/powerpc/ieee1275/linux.c: Likewise.
30663 * include/grub/elfload.h: Likewise.
30664 * kern/elf.c: Likewise.
30665 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30666 callers.
30667 (grub_elf64_load): Likewise.
30668 (grub_elf32_load_segment): Move to a nested function.
30669 (grub_elf64_load_segment): Likewise.
30670
dc946850 306712007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30672
30673 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30674 prototype.
30675 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30676 (grub_heap_len): Likewise.
30677 (HEAP_SIZE): New macro.
30678 (grub_claim_heap): New function.
30679 (grub_machine_init): Don't claim heap directly. Call
30680 `grub_claim_heap'.
30681 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30682 (grub_available_iterate): New function.
30683
baa2a121 306842007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30685
30686 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30687 * configure.ac: Use it for testing the HOST and TARGET compilers.
30688
4fe9862e 306892006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30690
30691 * Makefile.in (enable_grub_emu): New variable.
30692 * configure.ac (--enable-grub-emu): New option.
30693 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30694 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30695 * conf/i386-pc.rmk: Likewise.
30696 * conf/powerpc-ieee1275.rmk: Likewise.
30697 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30698
a8aa5762 306992006-12-12 Marco Gerards <marco@gnu.org>
30700
30701 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30702
30703 * kern/env.c (grub_env_unset): Don't free the member `value' when
30704 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30705 pointer.
30706
30707 * normal/main.c (current_menu): Removed.
30708 (free_menu): Unset the `menu' environment variable.
30709 (grub_normal_menu_addentry): Make use of the environment variable
30710 `menu', instead of using the global `current_menu'. Allocate
30711 memory for the sourcecode of this entry.
30712 (read_config_file): New argument `nested', changed all callers.
30713 Only in the case of a new context, initialize a new menu. Set the
30714 `menu' environment variable.
30715 (grub_normal_execute): Don't set and unset the environment
30716 variable `menu' here anymore. Only free the menu when leaving the
30717 context.
30718
30719 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30720 leak.
30721
957b3a3e 307222006-12-11 Marco Gerards <marco@gnu.org>
30723
30724 * normal/menu_entry.c (run): Fix off by one bug so the last line
30725 is executed. Move the loader check to outside the loop.
30726
ef875714 307272006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30728
30729 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30730
4e739985 307312006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30732
30733 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30734 the number of sectors. Reported by Andrey Shuvikov
30735 <mr_hyro@yahoo.com>.
f19dbdb7 30736
790707f2 307372006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30738
30739 * kern/disk.c (grub_disk_read): When there is a read error, always
30740 try to read only the necessary data.
f19dbdb7 30741
790707f2 30742 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30743 disk/raid.c.
30744 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30745 prototype.
30746 [GRUB_UTIL] (grub_raid_fini): Likewise.
30747 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 30748 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 30749 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30750 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30751 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30752 and grub_raid_fini().
f19dbdb7 30753
03e58196 307542006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30755
30756 * include/grub/types.h (__unused): Rename to UNUSED.
30757 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30758 (grub_elf64_size): Likewise.
f19dbdb7 30759
ae4f23bf 307602006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30761
30762 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30763 grub_error_push and grub_error_pop in the error-handling path.
30764 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30765 length.
30766
2166cc83 307672006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30768
30769 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30770 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30772 (kernel_elf_SOURCES): Likewise.
30773 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30774 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30775 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30776 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30777 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30778 (elf_mod_SOURCES): New variable.
30779 (elf_mod_CFLAGS): Likewise.
30780 (elf_mod_LDFLAGS): Likewise.
30781 * include/grub/types.h (__unused): New macro.
30782 * include/grub/elfload.h: New file.
30783 * kern/elf.c: Likewise.
30784 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30785 (ELF32_LOADMASK): New macro.
30786 (ELF64_LOADMASK): Likewise.
30787 (vmlinux): Removed.
30788 (grub_linux_load32): New function.
30789 (grub_linux_load64): Likewise.
30790 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30791 Use grub_elf_t instead of grub_file_t.
30792
a09d5aa5 307932006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30794
30795 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30796 `catch_result' to struct set_color_args.
30797
d976fc51 307982006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30799
30800 * normal/menu.c: Include grub/script.h.
30801 * normal/menu_entry.c: Likewise.
30802 * include/grub/normal.h: Do not include grub/script.h.
30803
67507549 308042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30805
30806 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30807
69203a99 308082006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30809
30810 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30811 disk.
30812 (grub_disk_close): Print debug messages when closing a disk.
30813 (grub_disk_read): Print debug messages when disk read fails.
30814 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30815 filesystem type.
30816 * kern/partition.c: Include misc.h.
30817 (grub_partition_iterate): Print debug messages when detecting
30818 partition type.
30819
e2b8278c 308202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30821
30822 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30823 is negative.
30824 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30825
97b2f2ff 308262006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30827
30828 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30829 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30830
6555d655 308312006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30832
30833 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30834 instead of sizeof(lv). Patch by Michael Guntsche.
30835
4d42b77f 308362006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30837
30838 * disk/lvm.c: Rename VGS to VG_LIST.
30839 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30840 (grub_lvm_open): Likewise.
30841 Thanks to Michael Guntsche for finding this bug.
30842
5d74d927 308432006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30844
30845 * configure.ac (AC_INIT): Bumped to 1.95.
30846
a1bb27e4 308472006-10-14 Robert Millan <rmh@aybabtu.com>
30848
30849 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30850 with "/dev/.static/dev/md".
30851
e0994b8b 308522006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30853
30854 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30855 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30856 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30857 DRIVE_NAME are always freed.
30858
30859 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30860 DOS_PART, as a DOS partition is counted from one instead of zero
30861 now. Reported by Robert Millan.
30862
ddd5cee9 308632006-10-14 Robert Millan <rmh@aybabtu.com>
30864
30865 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30866 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30867 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30868 string returned by grub_guess_root_device.
30869 * util/i386/pc/grub-setup.c: Likewise.
30870 * util/i386/pc/grub-probefs.c: Likewise.
30871
30872 * util/i386/pc/grub-probefs.c: Rename to ...
30873 * util/i386/pc/grub-probe.c: ... this.
30874 * DISTLIST: Remove grub-probefs, add grub-probe.
30875 * conf/i386-efi.rmk: Likewise.
30876 * conf/i386-pc.rmk: Likewise.
30877 * util/i386/pc/grub-install.in: Likewise.
30878
30879 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30880 choose which information we want to print.
30881
2b002173 308822006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30883
30884 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30885 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30886 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30887 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30888 video/readers/tga.c and video/i386/pc/vbeutil.c.
30889
308902006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30891
30892 Added support for RAID and LVM.
f19dbdb7 30893
2b002173 30894 * disk/lvm.c: New file.
30895 * disk/raid.c: Likewise.
30896 * include/grub/lvm.h: Likewise.
f19dbdb7 30897 * include/grub/raid.h: Likewise.
2b002173 30898 * include/grub/util/lvm.h: Likewise.
30899 * include/grub/util/raid.h: Likewise.
30900 * util/lvm.c: Likewise.
30901 * util/raid.c: Likewise.
30902
30903 * include/grub/disk.h (grub_disk_dev_id): Add
30904 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30905 (grub_disk_get_size): New prototype.
30906 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30907 returns a partition.
30908 (grub_disk_get_size): New function.
f19dbdb7 30909
2b002173 30910 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30911 verbatim if grub_install_dos_part is -2.
30912
30913 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30914 and LVM devices.
30915
30916 * util/i386/pc/grub-setup.c (setup): New argument
30917 MUST_EMBED. Force embedding of GRUB when the argument is
30918 true. Close FILE before returning.
30919 (main): Add support for RAID and LVM.
f19dbdb7 30920
2b002173 30921 * conf/common.rmk: Add RAID and LVM modules.
30922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30923 util/lvm.c.
30924 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30925
30926 * kern/misc.c (grub_strstr): New function.
30927 * include/grub/misc.h (grub_strstr): New prototype.
30928
050548d0 309292006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30930
30931 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30932
da849d2d 309332006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30934
30935 * kern/misc.c (grub_strtoull): Guess the base only if not
30936 specified.
30937
97b2f2ff 309382006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 30939
30940 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30941 PowerMac support.
30942
97b2f2ff 309432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 30944
30945 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30946
30947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30948 Remove `flags' argument. All callers changed.
30949 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30950 (IEEE1275_IHANDLE_INVALID): New variable.
30951 (IEEE1275_CELL_INVALID): New variable.
30952 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30953 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30954 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30955 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30956 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30957 codes from Open Firmware. All callers updated.
30958 (grub_ieee1275_next_property): Directly return Open Firmware return
30959 code.
30960 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30961 Standardize error checking from `grub_ieee1275_get_property'.
30962 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
30963 `devalias' to `aliases'. Correct comments. Consolidate error paths.
30964
97b2f2ff 309652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 30966
30967 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
30968 `instance_to_package_args' to `instance_to_path_args'.
30969
30970 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
30971 `grub_ieee1275_chosen'.
30972
30973 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
30974 `grub_ieee1275_interpret'.
30975
97b2f2ff 309762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 30977
30978 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
30979
97b2f2ff 309802006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 30981
30982 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
30983 (__cmpdi): Likewise.
30984
30985 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
30986 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
30987 `grub_ssize_t'.
30988
02bb8acc 30989 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 30990
30991 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
30992 to type `grub_ssize_t'.
30993 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
30994
7f9a8531 309952006-09-22 Marco Gerards <marco@gnu.org>
30996
30997 * normal/script.c (grub_script_create_cmdmenu): Skip leading
30998 newlines.
30999
b5ef1102 310002006-09-22 Marco Gerards <marco@gnu.org>
31001
31002 * commands/echo.c: New file.
31003
31004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31005
31006 * conf/common.rmk (echo_mod_SOURCES): New variable.
31007 (echo_mod_CFLAGS): Likewise.
31008 (echo_mod_LDFLAGS): Likewise.
31009
2cff3677 310102006-09-22 Marco Gerards <marco@gnu.org>
31011
31012 * normal/main.c (get_line): Malloc memory instead of using
31013 preallocated memory. Removed the arguments `cmdline' and
31014 `max_len'. Updated all callers.
31015
6ba4688b 310162006-09-22 Marco Gerards <marco@gnu.org>
31017
31018 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31019 (normal_mod_DEPENDENCIES): Likewise.
31020
31021 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31022 (normal_mod_DEPENDENCIES): Likewise.
31023
31024 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31025
e02ac02c 310262006-09-22 Johan Rydberg <jrydberg@gnu.org>
31027
31028 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31029 programs.
31030 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31031 (normal_mod_DEPENDENCIES): Likewise.
31032 * conf/i386-pc.mk: Regenerate.
31033 * conf/i386-efi.mk: Likewise
31034 * conf/common.mk: Likewise.
31035 * conf/powerpc-ieee1275.mk: Likewise.
31036 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31037
8d252e44 310382006-09-22 Robert Millan <rmh@aybabtu.com>
31039
31040 Sync with i386 version.
31041 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31042 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31043
209bf7ac 310442006-09-21 Robert Millan <rmh@aybabtu.com>
31045
31046 Import from GRUB Legacy (lib/device.c):
31047 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31048 (init_device_map) [__linux__]: Add support for I2O devices.
31049
6b146090 310502006-09-14 Marco Gerards <marco@gnu.org>
31051
31052 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31053 `-melf_i386'.
31054
e38600a8 310552006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 31056
31057 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31058 /boot/grub/*.lst.
78fa1790 31059
2952da5d 31060 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 31061
2952da5d 31062 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31063 before adding it to device.map.
31064
01b82a64 310652006-08-15 Johan Rydberg <jrydberg@gnu.org>
31066
fe6b695a 31067 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 31068 compiles a file; using the -MD option.
31069 * conf/common.mk: Regenerate.
31070 * conf/i386-pc.mk: Likewise.
31071 * conf/i386-efi.mk: Likewise.
31072 * conf/powerpc-ieee1275.mk: Likewise.
31073 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31074
1064790d 310752006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31076
31077 Move the prototypes of grub_setjmp and grub_longjmp to
31078 cpu/setjmp.h, so that each architecture may specify different
31079 attributes.
f19dbdb7 31080
1064790d 31081 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31082 (grub_longjmp): Likewise.
31083 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31084 (grub_longjmp): Likewise.
31085 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31086 (grub_longjmp): Likewise.
31087
31088 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31089 [!GRUB_UTIL] (grub_longjmp): Removed.
31090
29dda3ed 310912006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31092
31093 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31094 "color!" method does not return any value.
31095
ad2a06ed 310962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31097
31098 * include/grub/bitmap.h: New file.
31099
31100 * include/grub/i386/pc/vbeutil.h: Likewise.
31101
31102 * video/bitmap.c: Likewise.
31103
31104 * video/readers/tga.c: Likewise.
31105
31106 * video/i386/pc/vbeutil.c: Likewise.
31107
31108 * commands/videotest.c: Code cleanup and updated to reflect to new
31109 video API.
31110
31111 * term/gfxterm.c: Likewise.
31112
31113 * video/video.c: Likewise.
31114
31115 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31116 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31117 (bitmap_mod_SOURCES): New entry.
31118 (bitmap_mod_CFLAGS): Likewise.
31119 (bitmap_mod_LDFLAGS): Likewise.
31120 (tga_mod_SOURCES): Likewise.
31121 (tga_mod_CFLAGS): Likewise.
31122 (tga_mod_LDFLAGS): Likewise.
31123
31124 * include/grub/video.h (grub_video_blit_operators): New enum type.
31125 (grub_video_render_target): Changed as forward declaration and moved
31126 actual definition to be video driver specific.
31127 (grub_video_adapter.blit_bitmap): Added blitting operator.
31128 (grub_video_adapter.blit_render_target): Likewise.
31129 (grub_video_blit_bitmap): Likewise.
31130 (grub_video_blit_render_target): Likewise.
31131
31132 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31133 driver specific render target definition.
31134 (grub_video_vbe_map_rgba): Added driver internal helper.
31135 (grub_video_vbe_unmap_color): Updated to use
31136 grub_video_i386_vbeblit_info.
31137 (grub_video_vbe_get_video_ptr): Likewise.
31138
31139 * include/grub/i386/pc/vbeblit.h
31140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31141 grub_video_i386_vbeblit_info.
31142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31143 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31144 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31145 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31146 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31147 (grub_video_i386_vbeblit_index_index): Likewise.
31148 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31149 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31150 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31151 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31152 operator.
31153 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31154 operator.
31155
31156 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31157 include/grub/i386/pc/vbeblit.h.
31158
31159 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31160 Updated to use grub_video_i386_vbeblit_info.
31161 (grub_video_i386_vbefill_R8G8B8): Likewise.
31162 (grub_video_i386_vbefill_index): Likewise.
31163 (grub_video_i386_vbefill): Added generic filler.
31164
31165 * video/i386/pc/vbefill.c: Updated to reflect changes on
31166 include/grub/i386/pc/vbefill.h.
31167
31168 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31169 grub_video_i386_vbeblit_info.
31170 (grub_video_vbe_unmap_color): Likewise.
31171 (grub_video_vbe_blit_glyph): Likewise.
31172 (grub_video_vbe_scroll): Likewise.
31173 (grub_video_vbe_draw_pixel): Removed function.
31174 (grub_video_vbe_get_pixel): Likewise.
31175 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31176 updated code to use it.
31177 (common_blitter): Added common blitter for render target and bitmap.
31178 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31179 (grub_video_vbe_blit_render_target): Likewise.
31180
bc8c036d 311812006-07-30 Johan Rydberg <jrydberg@gnu.org>
31182
31183 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31184 is in text mode if there is no console control protocol instance
31185 available.
31186
684a8eff 311872006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31188
31189 * include/grub/video.h: Code cleanup.
31190
31191 * include/grub/i386/pc/vbe.h: Likewise.
31192
31193 * video/i386/pc/vbe.c: Likewise.
31194
31195 * video/i386/pc/vbeblit.c: Likewise.
31196
31197 * video/i386/pc/vbefill.c: Likewise.
31198
31199 * video/video.c: Likewise. Also added more comments.
31200
5915059b 312012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31202
31203 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31204 (struct grub_biosdisk_dap): Likewise.
31205
31206 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31207 linkage settings for all functions.
31208
90ce5d56 312092006-07-12 Marco Gerards <marco@gnu.org>
31210
31211 * configure.ac (--enable-mm-debug): Fix typo.
31212
31213 * genkernsyms.sh.in: Use proper quoting for `CC'.
31214
43e7f879 312152006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31216
31217 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31218 (normal_mod_ASFLAGS): Remove "-m32".
31219
4889bdec 312202006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31221
31222 * util/misc.c: Include config.h.
31223 [!HAVE_MEMALIGN]: Do not include malloc.h.
31224 (grub_memalign): Use posix_memalign, if present. Then, use
31225 memalign, if present. Otherwise, emit an error.
31226
31227 * util/grub-emu.c: Do not include malloc.h.
31228
31229 * include/grub/util/misc.h: Include unistd.h. This is required for
31230 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31231 D. Eades III <hde@foobar-qux.org>.
31232
31233 * configure.ac (AC_GNU_SOURCE): Added.
31234 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31235 type.
31236
fd39d4da 312372006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31238
31239 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31240 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31241
b786f3b5 312422006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31243
31244 * include/grub/types.h (grub_host_addr_t): Rename to
31245 grub_target_addr_t.
31246 (grub_host_off_t): Rename to grub_target_off_t.
31247 (grub_host_size_t): Rename to grub_target_size_t.
31248 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31249 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31250
31251 * include/grub/kernel.h (struct grub_module_header): Change type
31252 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31253 (grub_module_info): Likewise.
f19dbdb7 31254
051988bb 312552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31256
31257 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31258 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31259 Velazquez <jesus.velazquez@gmail.com>.
31260
deae281b 312612006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31262
31263 Count partitions from 1 instead of 0 in the string representation
31264 of partitions. Still use 0-based internally.
f19dbdb7 31265
deae281b 31266 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31267 (sun_partition_map_iterate): Use grub_partition_t instead of
31268 struct grub_partition *. Cast DESC->START_CYLINDER to
31269 grub_uint64_t after converting the endian.
31270 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31271 (sun_partition_map_get_name): Add 1 to P->INDEX.
31272
31273 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31274 PCDATA->DOS_PART.
31275 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31276
31277 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31278 zero instead of one.
31279 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31280 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31281
31282 * partmap/apple.c (apple_partition_map_iterate): Change the type
31283 of POS to unsigned.
31284 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31285 (apple_partition_map_get_name): Add 1 into P->INDEX.
31286
31287 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31288 of POS to unsigned.
31289 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31290 calculate the offset of a partition.
31291 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31292 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31293
31294 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31295 SECTOR to grub_disk_addr_t.
31296 (acorn_partition_map_iterate): Likewise.
31297 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31298 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31299 top.
31300 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31301
31302 * kern/i386/pc/init.c (make_install_device): Add 1 into
31303 GRUB_INSTALL_DOS_PART.
31304
31305 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31306 conditional.
31307
524a1e6a 313082006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31309
31310 Clean up the code to support 64-bit addressing in disks and
31311 files. This change is not enough for filesystems yet.
f19dbdb7 31312
524a1e6a 31313 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31314 type of "start" to grub_uint64_t.
31315 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31316 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31317 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31318 convert addresses.
31319
31320 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31321 to grub_disk_addr_t.
31322
31323 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31324 string.
31325
31326 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31327
31328 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31329 to char *.
31330
31331 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31332
31333 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31334
31335 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31336
31337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31338 to grub_off_t, to detect an error from grub_file_seek.
31339 (grub_multiboot_load_elf32): Likewise.
31340
31341 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31342 maximum unsigned long value when an overflow is detected.
31343 (grub_strtoull): New function.
31344 (grub_divmod64): Likewise.
31345 (grub_lltoa): use grub_divmod64.
31346
31347 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31348 grub_disk_addr_t.
31349 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31350 the pointer to next character. Use grub_strtoull instead of
31351 grub_strtoul.
31352 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31353 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31354 respectively.
31355
fe6b695a 31356 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 31357 return value is signed.
31358 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31359 test if OFFSET is less than zero, as OFFSET is unsigned now.
31360
31361 * kern/disk.c (struct grub_disk_cache): Change the type of
31362 "sector" to grub_disk_addr_t.
31363 (grub_disk_cache_get_index): Change the type of SECTOR to
31364 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31365 unsigned after shifting.
31366 (grub_disk_cache_invalidate): Change the type of SECTOR to
31367 grub_disk_addr_t.
31368 (grub_disk_cache_unlock): Likewise.
31369 (grub_disk_cache_store): Likewise.
31370 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31371 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31372 grub_disk_addr_t and grub_uint64_t, respectively.
31373 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31374 body, as the value of OFFSET is tweaked by
31375 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31376 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31377 respectively.
31378 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31379 body, as the value of OFFSET is tweaked by
31380 grub_disk_check_range. Change the types of LEN and N to
31381 grub_size_t.
31382
31383 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31384 and "saved_offset" to grub_off_t.
31385 (test_header): Cast BUF to char *.
31386 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31387 to char *.
31388 (grub_gzio_read): Change the types of OFFSET and SIZE to
31389 grub_off_t and grub_size_t, respectively.
31390
31391 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31392 Removed.
31393 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31394 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31395 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31396 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31397 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31398
31399 * include/grub/types.h (grub_off_t): Unconditionally set to
31400 grub_uint64_t.
31401 (grub_disk_addr_t): Changed to grub_uint64_t.
31402
31403 * include/grub/partition.h (struct grub_partition): Change the
31404 types of "start", "len" and "offset" to grub_disk_addr_t,
31405 grub_uint64_t and grub_disk_addr_t, respectively.
31406 (grub_partition_get_start): Return grub_disk_addr_t.
31407 (grub_partition_get_len): Return grub_uint64_t.
31408
31409 * include/grub/misc.h (grub_strtoull): New prototype.
31410 (grub_divmod64): Likewise.
31411
31412 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31413 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31414 grub_off_t, respectively.
31415 All callers and references changed.
31416
31417 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31418 grub_size_t in "read".
31419 All callers and references changed.
31420
31421 * include/grub/file.h (struct grub_file): Change the types of
31422 "offset" and "size" to grub_off_t and grub_off_t,
31423 respectively. Change the type of SECTOR to grub_disk_addr_t in
31424 "read_hook".
31425 (grub_file_read): Change the type of LEN to grub_size_t.
31426 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31427 grub_off_t.
31428 (grub_file_size): Return grub_off_t.
31429 (grub_file_tell): Likewise.
31430 All callers and references changed.
31431
31432 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31433 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31434 "write".
31435 (struct grub_disk): Change the type of "total_sectors" to
31436 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 31437 "read_hook".
524a1e6a 31438 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31439 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31440 (grub_disk_write): Likewise.
31441 All callers and references changed.
31442
31443 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31444 char * for grub_strncmp to silence gcc.
31445 (grub_iso9660_mount): Likewise.
31446 (grub_iso9660_mount): Likewise.
31447 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31448 return statement.
31449 (grub_iso9660_iterate_dir): Likewise.
31450 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31451
31452 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31453 LEN to grub_disk_addr_t and grub_size_t, respectively.
31454
31455 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31456
31457 * fs/jfs.c (grub_jfs_read_file): Likewise.
31458
31459 * fs/minix.c (grub_jfs_read_file): Likewise.
31460
31461 * fs/sfs.c (grub_jfs_read_file): Likewise.
31462
31463 * fs/ufs.c (grub_jfs_read_file): Likewise.
31464
31465 * fs/xfs.c (grub_jfs_read_file): Likewise.
31466
31467 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31468 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31469 respectively.
31470
31471 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31472 BLKNR to -1 instead of returning GRUB_ERRNO.
31473 (grub_ext2_read_file): Change the types of SECTOR and
31474 LEN to grub_disk_addr_t and grub_size_t, respectively.
31475
31476 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31477 LEN to grub_disk_addr_t and grub_size_t, respectively.
31478
31479 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31480 grub_file_read.
31481
31482 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31483 string. Do not cast SECTOR explicitly.
31484
31485 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31486 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31487 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31488 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31489 over 2TB and LBA mode is not supported, raise an error.
31490 (get_safe_sectors): New function.
31491 (grub_biosdisk_read): Use get_safe_sectors.
31492 (grub_biosdisk_write): Likewise.
31493
31494 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31495 (grub_efidisk_write): Likewise.
31496
31497 * disk/loopback.c (delete_loopback): Cosmetic changes.
31498 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31499 correctly.
31500 (grub_loopback_open): Likewise.
31501 (grub_loopback_read): Likewise. Also, change the type of POS to
31502 grub_off_t, and fix the usage of grub_memset.
31503
31504 * commands/i386/pc/play.c: Include grub/machine/time.h.
31505
31506 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31507 print FILE->SIZE.
31508
31509 * commands/configfile.c: Include grub/env.h.
31510
31511 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31512 GRUB_ERRNO directly instead. Change the type of POS to
31513 grub_off_t. Follow the coding standard.
31514
31515 * commands/blocklist.c: Include grub/partition.h.
31516 (grub_cmd_blocklist): Return an error if the underlying device is
31517 not a disk. Take the starting sector of a partition into account,
31518 if a partition is used.
31519
31520 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31521 a length field.
31522 (lba_mode): Support 64-bit addresses.
31523 (chs_mode): Likewise.
31524 (copy_buffer): Adapted to the new offsets of a length field and a
31525 segment field.
31526 (blocklist_default_start): Allocate 64-bit space.
31527
31528 * boot/i386/pc/boot.S (force_lba): Removed.
31529 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 31530 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 31531 space.
31532 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31533 is useless.
31534 (lba_mode): Refactored to support a 64-bit address. More size
31535 optimization.
31536 (setup_sectors): Likewise.
31537
53af98ad 315382006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31539
31540 * DISTLIST: Added include/grub/i386/linux.h. Removed
31541 include/grub/i386/pc/linux.h
31542
31543 * configure.ac (AC_INIT): Bumped to 1.94.
31544
31545 * config.guess: Updated from gnulib.
31546 * config.sub: Likewise.
31547 * install-sh: Likewise.
31548 * mkinstalldirs: Likewise.
31549
b4c1940a 315502006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31551
31552 * conf/common.rmk (grub_modules_init.lst): Depended on
31553 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31554 MODSRCFILES.
31555
31556 * genmk.rb (PModule::rule): Reverted the previous change.
31557
cfca1cfd 315582006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31559
31560 * conf/common.rmk (grub_modules_init.lst): Depends on
31561 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31562 that the target does not exist before producing.
31563 (grub_modules_init.h): Remove the target before generating.
31564 (grub_emu_init.c): Likewise.
31565
31566 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31567
aa6d7826 315682006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31569
31570 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31571 for the target-specific tests. Make sure that we also have the
31572 up-to-date target variables for those tests.
31573
26c607b9 315742006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31575
31576 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31577 (PModule::rule): Likewise.
31578
0162321a 315792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31580
31581 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31582 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31583 target-specific flags should be prefixed.
31584 (PModule::rule): Likewise.
31585
6c826348 315862006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31587
31588 * configure.ac (CMP): Check if cmp is available explicitly.
31589
b977bf01 315902006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31591
31592 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31593 (target_cpu): New variable.
31594 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 31595
b977bf01 31596 * util/i386/pc/grub-install.in (host_cpu): Removed.
31597 (target_cpu): New variable.
31598 (pkglibdir): Use target_cpu instead of host_cpu.
31599
31600 * util/genmoddep.c: Removed.
f19dbdb7 31601
b977bf01 31602 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31603 instead of GRUB_HOST_SIZEOF_VOID_P.
31604 * kern/dl.c: Likewise.
31605
31606 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31607 ...
31608 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31609 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31610 (GRUB_TARGET_SIZEOF_LONG): ... this.
31611 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31612 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31613 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31614 to ...
31615 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31616 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31617 (GRUB_TARGET_SIZEOF_LONG): ... this.
31618 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31619 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31620 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31621 to ...
31622 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31623 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31624 (GRUB_TARGET_SIZEOF_LONG): ... this.
31625 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31626 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31627
31628 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31629 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31630 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31631 instead of GRUB_HOST_SIZEOF_LONG.
31632 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31633 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31634 GRUB_CPU_WORDS_BIGENDIAN.
31635 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31636 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31637 grub_host_ssize_t.
31638
31639 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31640 (genmoddep_SOURCES): Likewise.
31641 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31642 (genmoddep_SOURCES): Likewise.
31643 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31644 (genmoddep_SOURCES): Likewise.
31645 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31646 Likewise.
31647 (genmoddep_SOURCES): Likewise.
31648
31649 * genmoddep.awk: New file.
31650
31651 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31652 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31653 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31654 (PModule::rule): Likewise.
31655 (Program::rule): Likewise.
31656 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31657 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31658 respectively.
31659
31660 * configure.ac: Rewritten intensively to use host and target
31661 instead of build and host, respectively.
31662
31663 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31664 (host_cpu): Removed.
31665 (target_cpu): New variable.
31666 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31667 (BUILD_CC): Removed.
31668 (BUILD_CFLAGS): Likewise.
31669 (BUILD_CPPFLAGS): Likewise.
31670 (TARGET_CC): New variable.
31671 (TARGET_CFLAGS): Likewise.
31672 (TARGET_CPPFLAGS): Likewise.
31673 (TARGET_LDFLAGS): Likewise.
31674 (AWK): Likewise.
31675 (include): Use target_cpu instead of host_cpu.
31676 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 31677
b977bf01 31678 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31679
f09771a1 316802006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31681
31682 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31683 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31684 field 'false' to 'exec_on_false'.
31685 (grub_script_create_cmdif): Renamed argument names to reflect above
31686 changes.
31687
31688 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31689
31690 * normal/script.c (grub_script_create_cmdif): Likewise.
31691
118f4fb3 316922006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31693
31694 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31695 top.
31696 (grub_hfsplus_btree_recptr): Likewise.
31697 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31698 FILEBLOCK both to pass a block number and store next block
31699 number.
31700 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31701 overflow file correctly. Specify errors appropriately, because
31702 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31703 grub_hfsplus_btree_recptr to get the pointer to a found key.
31704 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31705 is found.
31706
31707 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31708 linux.mod.
31709 (_linux_mod_SOURCES): New variable.
31710 (_linux_mod_CFLAGS): Likewise.
31711 (_linux_mod_LDFLAGS): Likewise.
31712 (linux_mod_SOURCES): Likewise.
31713 (linux_mod_CFLAGS): Likewise.
31714 (linux_mod_LDFLAGS): Likewise.
31715
31716 * DISTLIST: Added loader/i386/efi/linux.c,
31717 loader/i386/efi/linux_normal.c and
31718 include/grub/i386/efi/loader.h.
31719
31720 * loader/i386/efi/linux.c: New file.
31721 * loader/i386/efi/linux_normal.c: Likewise.
31722 * include/grub/i386/efi/loader.h: Likewise.
31723
89a7d726 317242006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31725
31726 * commands/blocklist.c: New file.
31727
31728 * DISTLIST: Added commands/blocklist.c.
31729
31730 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 31731 color for the background, and a darker color for the foreground.
89a7d726 31732 (grub_console_checkkey): Return READ_KEY.
31733 (grub_console_cls): Set the background to
31734 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31735
31736 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31737
31738 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31739 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31740
31741 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31742 prototype.
31743
31744 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31745 BG. The spec is wrong again.
31746
31747 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31748 prototype.
31749 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31750
31751 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31752 commands/blocklist.c.
31753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 31754
89a7d726 31755 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31756 (blocklist_mod_SOURCES): New variable.
31757 (blocklist_mod_CFLAGS): Likewise.
31758 (blocklist_mod_LDFLAGS): Likewise.
31759
75c8f258 317602006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31761
31762 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31763 duplication.
31764 (lba_mode): Use %eax more intensively to reduce the code size.
31765
da2eb181 317662006-05-20 Marco Gerards <marco@gnu.org>
31767
31768 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31769
31770 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31771 for `menuentry'.
31772 (script): Accept leading newlines.
31773 (newlines): New rule to describe 0 or more newlines.
31774 (commands): Accept `command' with trailing newline. Fixed the
31775 order in which arguments were passed to `grub_script_add_cmd'.
31776 Accept commands separated by newlines.
31777 (function): Changed to accept newlines.
31778 (menuentry) Rewritten.
31779
31780 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31781 front of the list, instead of to the end.
31782
577b4050 317832006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31784
31785 * util/i386/pc/grub-install.in (bindir): New variable.
31786 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31787 Shaver <lbgwjl@gmail.com>.
31788
0d6e1189 317892006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31790
31791 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31792 grub/machine/linux.h
31793 * loader/i386/pc/linux.c: Likewise.
31794
31795 * include/grub/i386/pc/linux.h: Moved to ...
31796 * include/grub/i386/linux.h: ... here.
31797
31798 * include/grub/i386/linux.h (struct linux_kernel_params): New
31799 struct.
f19dbdb7 31800
31b86e9f 318012006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31802
31803 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31804 checking.
31805 (grub_video_vbe_blit_glyph): Likewise.
31806 (grub_video_vbe_blit_bitmap): Likewise.
31807 (grub_video_vbe_blit_render_target): Likewise.
31808
83b984de 318092006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31810
31811 * configure.ac (--with-platform): Properly quote the square
31812 brackets.
31813
5f0413bd 318142006-05-08 Marco Gerards <marco@gnu.org>
31815
31816 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31817 this...
31818 (kernel_elf_HEADERS): ...to this. Updated all users.
31819 (grubof_symlist.c): Renamed from this...
31820 (kernel_elf_symlist.c): ...to this. Updated all users.
31821 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31822 (grubof_SOURCES): Renamed from this...
31823 (kernel_elf_SOURCES): ...to this.
31824 (grubof_HEADERS): Renamed from this...
31825 (kernel_elf_HEADERS): ...to this.
31826 (grubof_CFLAGS): Renamed from this...
31827 (kernel_elf_CFLAGS): ...to this.
31828 (grubof_ASFLAGS): Renamed from this...
31829 (kernel_elf_ASFLAGS): ...to this.
31830 (grubof_LDFLAGS): Renamed from this...
31831 (kernel_elf_LDFLAGS): ...to this.
31832
31833 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31834 this...
31835 (kernel_elf_HEADERS): ...to this. Updated all users.
31836 (grubof_symlist.c): Renamed from this...
31837 (kernel_elf_symlist.c): ...to this. Updated all users.
31838 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31839 (grubof_SOURCES): Renamed from this...
31840 (kernel_elf_SOURCES): ...to this.
31841 (grubof_HEADERS): Renamed from this...
31842 (kernel_elf_HEADERS): ...to this.
31843 (grubof_CFLAGS): Renamed from this...
31844 (kernel_elf_CFLAGS): ...to this.
31845 (grubof_ASFLAGS): Renamed from this...
31846 (kernel_elf_ASFLAGS): ...to this.
31847 (grubof_LDFLAGS): Renamed from this...
31848 (kernel_elf_LDFLAGS): ...to this.
31849
31850 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31851 `kernel.elf' instead of `grubof'.
31852
05568c2e 318532006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31854
31855 Add --with-platform to configure. Use pkglibdir instead of
31856 pkgdatadir. This is reported by Roger Leigh.
31857
31858 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31859 (host_vendor): Likewise.
31860 (host_os): Likewise.
31861 (pkgdatadir): Likewise.
31862 (platform): New variable.
31863 (pkglibdir): Likewise.
31864 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 31865
05568c2e 31866 * util/i386/pc/grub-install.in (datadir): Removed.
31867 (host_vendor): Likewise.
31868 (host_os): Likewise.
31869 (pkgdatadir): Likewise.
31870 (platform): New variable.
31871 (pkglibdir): Likewise.
31872 Use PKGLIBDIR instead of PKGDATADIR.
31873
31874 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31875 instead of GRUB_DATADIR.
31876 (main): Likewise.
31877 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31878 (main): Likewise.
31879 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31880 (main): Likewise.
31881
31882 * configure.ac (--with-platform): New option.
31883 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31884
31885 * Makefile.in: Include a makefile based on PLATFORM instead of
31886 HOST_VENDOR.
31887 (pkgdatadir): Not appended by the machine type.
31888 (pkglibdir): Appended by the machine type.
31889 (host_vendor): Removed.
31890 (platform): New variable.
31891 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31892 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31893 (uninstall): Likewise.
31894
4e93851c 318952006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31896
31897 Use the environment context in the menu. Remove the commands
31898 "default" and "timeout", and use variables instead.
f19dbdb7 31899
4e93851c 31900 * normal/menu.c: Include grub/env.h.
31901 (print_entry): Cast TITLE to silence gcc.
31902 (get_timeout): New function.
31903 (set_timeout): Likewise.
31904 (get_entry_number): Likewise.
31905 (run_menu): Use a default entry, a fallback entry and a timeout
31906 in the environment variables "default", "fallback" and
31907 "timeout". Also, tweak the default entry if it is not within the
31908 current menu entries.
31909 (grub_menu_run): Use a fallback entry in the environment variable
31910 "fallback".
31911
31912 * normal/main.c (read_config_file): Do not initialize
31913 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31914 NEWMENU->TIMEOUT.
31915 (grub_normal_execute): Use a data slot to store the menu.
31916
31917 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31918 fallback_entry and timeout.
31919 (struct grub_menu_list): Removed.
31920 (grub_menu_list_t): Likewise.
31921 (struct grub_context): Likewise.
31922 (grub_context_t): Likewise.
31923 (grub_context_get): Likewise.
31924 (grub_context_get_current_menu): Likewise.
31925 (grub_context_push_menu): Likewise.
31926 (grub_context_pop_menu): Likewise.
31927 (grub_default_init): Likewise.
31928 (grub_default_fini): Likewise.
31929 (grub_timeout_init): Likewise.
31930 (grub_timeout_fini): Likewise.
31931
31932 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31933 and timeout.mod.
31934 (normal_mod_SOURCES): Removed normal/context.c.
31935
31936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31937 commands/default.c, commands/timeout.c and normal/context.c.
31938 (normal_mod_SOURCES): Removed normal/context.c.
31939
31940 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31941 commands/timeout.c and normal/context.c.
31942 (normal_mod_SOURCES): Removed normal/context.c.
31943
31944 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31945 commands/default.c, commands/timeout.c and normal/context.c.
31946 (normal_mod_SOURCES): Removed normal/context.c.
31947
31948 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31949 timeout.mod.
31950 (default_mod_SOURCES): Removed.
31951 (default_mod_CFLAGS): Likewise.
31952 (default_mod_LDFLAGS): Likewise.
31953 (timeout_mod_SOURCES): Removed.
31954 (timeout_mod_CFLAGS): Likewise.
31955 (timeout_mod_LDFLAGS): Likewise.
31956
31957 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31958 normal/context.c.
31959
31960 * commands/default.c: Removed.
31961 * commands/timeout.c: Likewise.
31962 * normal/context.c: Likewise.
31963
1eb9cc1d 319642006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
31965
31966 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
31967
385bd9c1 319682006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
31969
31970 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
31971 "next" to "prev" for readability.
31972 (struct grub_env_sorted_var): New struct.
31973 (grub_env_context): Renamed to ...
31974 (initial_context): ... this.
31975 (grub_env_var_context): Renamed to ...
31976 (current_context): ... this.
31977 (grub_env_find): Look only at CURRENT_CONTEXT.
31978 (grub_env_context_open): Rewritten to copy exported variables from
31979 previous context.
31980 (grub_env_context_close): Rewritten according to the new
31981 scheme. Also, add an assertion to prevent the initial context from
31982 removed.
31983 (grub_env_insert): Removed the code for the sorted list.
31984 (grub_env_remove): Likewise.
31985 (grub_env_export): Simply mark the variable with
31986 GRUB_ENV_VAR_GLOBAL.
31987 (grub_env_set): A cosmetic change for naming consistency.
31988 (grub_env_get): Likewise.
31989 (grub_env_unset): Likewise.
31990 (grub_env_iterate): Rewritten to sort variables within this
31991 function.
31992 (grub_register_variable_hook): Fixed for naming consistency. Call
31993 grub_env_find again, only if NAME is not found at the first time.
31994 (mangle_data_slot_name): New function.
31995 (grub_env_set_data_slot): Likewise.
31996 (grub_env_get_data_slot): Likewise.
31997 (grub_env_unset_data_slot): Likewise.
31998
31999 * include/grub/env.h (grub_env_var_type): New enum.
32000 (GRUB_ENV_VAR_LOCAL): New constant.
32001 (GRUB_ENV_VAR_GLOBAL): Likewise.
32002 (GRUB_ENV_VAR_DATA): Likewise.
32003 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32004 "type".
32005 (grub_env_set): Replace VAR with NAME for consistency.
32006 (grub_register_variable_hook): Likewise.
32007 (grub_env_export): Specify the name of the argument.
32008 (grub_env_set_data_slot): New prototype.
32009 (grub_env_get_data_slot): Likewise.
32010 (grub_env_unset_data_slot): Likewise.
32011
7f362539 320122006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32013
32014 Extend the loader so that GRUB can accept a loader which comes
32015 back to GRUB when a loaded image exits. Also, this change adds
32016 support for a chainloader on EFI.
f19dbdb7 32017
7f362539 32018 * term/efi/console.c: Include grub/misc.h.
32019 (grub_console_checkkey): Display a scan code on the top for
32020 debugging. This will be removed once the EFI port gets stable.
32021 Correct the scan code mapping.
32022
32023 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32024 allocate memory from larger regions, in order to reduce the number
32025 of allocated regions. Otherwise, the MacOSX loader panics.
32026 (filter_memory_map): Avoid less than 1MB for compatibility with
32027 other loaders.
32028 (add_memory_regions): Allocate from the tail of a region, if
32029 possible, to avoid allocating a region near to 1MB, for the MacOSX
32030 loader.
32031
32032 * kern/efi/init.c (grub_efi_set_prefix): Specify
32033 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32034
32035 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32036 argument IMAGE_HANDLE and specify it to get a loaded image.
32037 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32038 grub_efi_get_loaded_image.
fe6b695a 32039 (grub_efi_get_filename): Divide the length by the size of
7f362539 32040 grub_efi_char16_t.
32041 (grub_efi_get_device_path): New function.
32042 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32043 the length by the size of grub_efi_char16_t for a file path device
32044 path node.
32045
32046 * kern/loader.c (grub_loader_noreturn): New variable.
32047 (grub_loader_set): Accept a new argument NORETURN. Set
32048 GRUB_LOADER_NORETURN to NORETURN.
32049 All callers changed.
32050 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32051 grub_machine_fini.
32052
32053 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32054 prototype.
32055 (grub_efi_get_loaded_image): Take an argument to specify an image
32056 handle.
32057
32058 * include/grub/loader.h (grub_loader_set): Added one more argument
32059 NORETURN.
32060
32061 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32062 instead of grub_efi_open_protocol.
32063 (grub_efidisk_get_device_name): Likewise.
32064 (grub_efidisk_close): Print a newline.
32065 (grub_efidisk_get_device_handle): Fixed to use
32066 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32067 GRUB_EFI_DEVICE_PATH_TYPE.
32068
32069 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32070 * kern/efi/efi.c (device_path_guid): ... here.
32071
32072 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32073 chain.mod.
32074 (kernel_mod_HEADERS): Added efi/disk.h.
32075 (_chain_mod_SOURCES): New variable.
32076 (_chain_mod_CFLAGS): Likewise.
32077 (_chain_mod_LDFLAGS): Likewise.
32078 (chain_mod_SOURCES): Likewise.
32079 (chain_mod_CFLAGS): Likewise.
32080 (chain_mod_LDFLAGS): Likewise.
32081
32082 * DISTLIST: Added include/grub/efi/chainloader.h,
32083 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32084
32085 * include/grub/efi/chainloader.h: New file.
32086 * loader/efi/chainloader.c: Likewise.
32087 * loader/efi/chainloader_normal.c: Likewise.
32088
c0111d6e 320892006-04-30 Marco Gerards <marco@gnu.org>
32090
32091 * commands/configfile.c (grub_cmd_source): New function.
32092 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32093 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32094
df5341da 320952006-04-30 Marco Gerards <marco@gnu.org>
32096
32097 * normal/execute.c (grub_script_execute_cmd): Change the return
32098 type to `grub_err_t'. Correctly return the error.
32099 (grub_script_execute_cmdline): In case a command line is not a
32100 command or a function, try to interpret it as an assignment.
32101
f85934bd 321022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32103
32104 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32105 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32106 skip a node whose name is obviously invalid as UTF-16,
32107 i.e. contains a NUL character. Stop the iteration when the last
32108 directory entry is found. Instead of using the return value of
32109 grub_hfsplus_btree_iterate_node, store the value in RET and use
32110 it, because the iterator can be stopped by the last directory
32111 entry.
32112
8f8a2cf8 321132006-04-30 Marco Gerards <marco@gnu.org>
32114
32115 * include/grub/env.h (grub_env_export): New prototype. Reported
32116 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32117
a27e84ce 321182006-04-30 Marco Gerards <marco@gnu.org>
32119
32120 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32121 size of the extents in a catalog file record.
32122
eaef0553 321232006-04-29 Marco Gerards <marco@gnu.org>
32124
32125 * commands/configfile.c (grub_cmd_configfile): Execute the
32126 configfile within its own context.
32127
32128 * include/grub/env.h (grub_env_context_open): New prototype.
32129 (grub_env_context_close): Likewise.
32130
32131 * kern/env.c (grub_env): Removed.
32132 (grub_env_sorted): Likewise.
32133 (grub_env_context): New variable.
32134 (grub_env_var_context): Likewise.
32135 (grub_env_find): Search both the active context and the global
32136 context.
32137 (grub_env_context_open): New function.
32138 (grub_env_context_close): Likewise.
32139 (grub_env_insert): Likewise.
32140 (grub_env_remove): Likewise.
32141 (grub_env_export): Likewise.
32142 (grub_env_set): Changed to use helper functions to avoid code
32143 duplication.
32144 (grub_env_iterate): Rewritten so both the current context and the
32145 global context are being used.
32146
32147 * normal/command.c (export_command): New function.
32148 (grub_command_init): Register the `export' function.
32149
7b455f4d 321502006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32151
32152 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32153 explicitly to suppress gcc's warnings.
32154 * fs/fat.c (grub_fat_find_dir): Likewise.
32155 (grub_fat_label): Likewise.
32156 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32157 (grub_xfs_mount): Likewise.
32158 (grub_xfs_label): Likewise.
32159 * fs/affs.c (grub_affs_mount): Likewise.
32160 (grub_affs_label): Likewise.
32161 (grub_affs_iterate_dir): Likewise.
32162 * fs/sfs.c (grub_sfs_mount): Likewise.
32163 (grub_sfs_iterate_dir): Likewise.
32164 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32165 * fs/hfs.c (grub_hfs_mount): Likewise.
32166 (grub_hfs_cmp_catkeys): Likewise.
32167 (grub_hfs_find_dir): Likewise.
32168 (grub_hfs_dir): Likewise.
32169 (grub_hfs_label): Likewise.
32170 * fs/jfs.c (grub_jfs_mount): Likewise.
32171 (grub_jfs_opendir): Likewise.
32172 (grub_jfs_getent): Likewise.
32173 (grub_jfs_lookup_symlink): Likewise.
32174 (grub_jfs_label): Likewise.
32175 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32176 (grub_hfsplus_iterate_dir): Likewise.
32177 (grub_hfsplus_btree_iterate_node): Made static.
32178
32179 * util/grub-emu.c (prefix): New variable.
32180 (grub_machine_set_prefix): New function.
32181 (main): Do not set the environment variable "prefix" here. Only
32182 set PREFIX, which is used later by grub_machine_set_prefix.
32183
32184 * include/grub/video.h: Do not include grub/symbol.h.
32185 (grub_video_register): Not exported. This symbol is not defined in
32186 the kernel.
32187 (grub_video_unregister): Likewise.
32188 (grub_video_iterate): Likewise.
32189 (grub_video_setup): Likewise.
32190 (grub_video_restore): Likewise.
32191 (grub_video_get_info): Likewise.
32192 (grub_video_get_blit_format): Likewise.
32193 (grub_video_set_palette): Likewise.
32194 (grub_video_get_palette): Likewise.
32195 (grub_video_set_viewport): Likewise.
32196 (grub_video_get_viewport): Likewise.
32197 (grub_video_map_color): Likewise.
32198 (grub_video_map_rgb): Likewise.
32199 (grub_video_map_rgba): Likewise.
32200 (grub_video_fill_rect): Likewise.
32201 (grub_video_blit_glyph): Likewise.
32202 (grub_video_blit_bitmap): Likewise.
32203 (grub_video_blit_render_target): Likewise.
32204 (grub_video_scroll): Likewise.
32205 (grub_video_swap_buffers): Likewise.
32206 (grub_video_create_render_target): Likewise.
32207 (grub_video_delete_render_target): Likewise.
32208 (grub_video_set_active_render_target): Likewise.
32209
32210 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32211 Undefined.
32212 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32213
32214 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32215 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32216 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32217 instead of $(srcdir)/genkernsyms.sh.
32218
32219 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32220 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32221 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32222 instead of $(srcdir)/genkernsyms.sh.
32223
32224 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32225 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32226 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32227 instead of $(srcdir)/genkernsyms.sh.
32228
32229 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32230 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32232 instead of $(srcdir)/genkernsyms.sh.
32233
32234 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32235 genkernsyms.sh.
32236
32237 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32238 genkernsyms.sh.
32239 (gensymlist.sh): New target.
32240 (genkernsyms.sh): Likewise.
32241
32242 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32243 genkernsyms.sh.in and gensymlist.sh.in.
32244
32245 * genkernsyms.sh: Removed.
32246 * gensymlist.sh: Likewise.
f19dbdb7 32247
7b455f4d 32248 * genkernsyms.sh.in: New file.
32249 * gensymlist.sh.in: Likewise.
32250
1885bb27 322512006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32252
32253 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32254 clobber "prefix", since we may have already set it manually.
32255
71538dff 322562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32257
32258 * kern/misc.c (abort): New alias for grub_abort.
32259
2965c7cc 322602006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32261
32262 A new machine-specific function "grub_machine_set_prefix" is
32263 defined. This is called after loading modules, so that a prefix
32264 initialization can use modules. Also, this change adds an
32265 intensive debugging feature for the memory manager via the
32266 configure option "--enable-mm-debug".
f19dbdb7 32267
2965c7cc 32268 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32269 PART.LEN.
32270
32271 * kern/sparc64/ieee1275/init.c (abort): Removed.
32272 (grub_stop): Likewise.
32273 (grub_exit): New function.
32274 (grub_set_prefix): Renamed to ...
32275 (grub_machine_set_prefix): ... this.
32276 (grub_machine_init): Do not call grub_set_prefix.
32277
32278 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32279 (grub_machine_set_prefix): ... this.
32280 (grub_machine_init): Do not call grub_set_prefix.
32281
32282 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32283 (grub_machine_init): Do not set the prefix here.
32284
32285 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32286
32287 * kern/efi/init.c: Include grub/mm.h.
32288 (grub_efi_set_prefix): New function.
32289
32290 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32291 (grub_efi_get_filename): New function.
32292 (grub_print_device_path): Renamed to ...
32293 (grub_efi_print_device_path): ... this.
32294
32295 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32296 [MM_DEBUG] (grub_realloc): Likewise.
32297 [MM_DEBUG] (grub_free): Likewise.
32298 [MM_DEBUG] (grub_memalign): Likewise.
32299 [MM_DEBUG] (grub_mm_debug): New variable.
32300 [MM_DEBUG] (grub_debug_malloc): New function.
32301 [MM_DEBUG] (grub_debug_free): New function.
32302 [MM_DEBUG] (grub_debug_realloc): New function.
32303 [MM_DEBUG] (grub_debug_memalign): New function.
32304
32305 * kern/misc.c (grub_abort): Print a newline to distinguish
32306 the message.
32307
32308 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32309 grub_set_root_dev after loading modules. This is necessary when
32310 setting a prefix depends on modules.
32311
32312 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32313 (grub_efi_print_device_path): ... this.
32314 (grub_efi_get_filename): New prototype.
32315 (grub_efi_set_prefix): Likewise.
32316
32317 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32318 and grub/disk.h.
32319 (grub_efidisk_get_device_handle): New prototype.
32320 (grub_efidisk_get_device_name): Likewise.
32321
32322 * include/grub/mm.h: Include config.h.
32323 (MM_DEBUG): Removed.
32324 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32325 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32326 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32327 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32328 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32329 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32330 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32332 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32333
32334 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32335
32336 * disk/efi/efidisk.c: Include grub/partition.h.
32337 (iterate_child_devices): New function.
32338 (add_device): First, compare only last device path nodes, so that
32339 devices are sorted by the types.
32340 (grub_efidisk_get_device_handle): New function.
32341 (grub_efidisk_get_device_name): Likewise.
32342
32343 * configure.ac (--enable-mm-debug): New option to enable the
32344 memory manager debugging feature. This makes the binary much
32345 bigger, so is disabled by default.
32346
9cacaa17 323472006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32348
32349 Use grub_abort instead of grub_stop, and grub_exit must be
32350 define in each architecture now. Also, this change adds support
32351 for EFI disks.
f19dbdb7 32352
9cacaa17 32353 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32354 (grub_getkey): New function.
32355 (grub_term_get_current): Likewise.
32356
32357 * util/i386/pc/grub-setup.c: Include grub/term.h.
32358 (grub_getkey): New function.
32359 (grub_term_get_current): Likewise.
32360
32361 * util/misc.c (grub_stop): Renamed to ...
32362 (grub_exit): ... this.
32363
32364 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32365 (grub_exit): ... this.
32366 (grub_machine_init): Use grub_abort instead of abort.
32367 (grub_stop): Removed.
32368
32369 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32370 abort.
32371
32372 * kern/i386/pc/startup.S (grub_exit): New function.
32373 (cold_reboot): New label.
32374
32375 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32376 (grub_efi_init): Call grub_efidisk_init.
32377 (grub_efi_fini): Call grub_efidisk_fini.
32378
32379 * kern/efi/efi.c: Include grub/mm.h.
32380 (grub_efi_console_control_guid): Renamed to ...
32381 (console_control_guid): ... this.
32382 (grub_efi_loaded_image_guid): Renamed to ...
32383 (loaded_image_guid): ... this.
32384 (grub_efi_locate_handle): New function.
32385 (grub_efi_open_protocol): Likewise.
32386 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32387 GRUB_EFI_CONSOLE_CONTROL_GUID.
32388 (grub_efi_exit): Removed.
32389 (grub_stop): Likewise.
32390 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32391 (grub_exit): New function.
32392 (grub_print_device_path): Likewise.
32393
32394 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32395 (grub_enter_rescue_mode): Register "exit".
32396
32397 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32398 (grub_abort): New function.
32399
32400 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32401
32402 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32403
32404 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32405
32406 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32407 (grub_print_device_path): New prototype.
32408 (grub_efi_locate_handle): Likewise.
32409 (grub_efi_open_protocol): Likewise.
32410
32411 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32412 * disk/efi/efidisk.c: Likewise.
32413
32414 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32415
32416 * include/grub/efi/console_control.h
32417 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32418
32419 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32420 last 8 bytes as an array.
32421 (GRUB_EFI_DISK_IO_GUID): New macro.
32422 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32423 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32424 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32425 grub_uint8_t.
32426 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32427 (struct grub_efi_device_path): Rename the member "sub_type" to
32428 "subtype".
32429 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32430 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32431 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32432 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32433 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32434 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32435 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32436 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32437 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32438 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32439 (struct grub_efi_pci_device_path): New structure.
32440 (grub_efi_pci_device_path_t): New type.
32441 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32442 (struct grub_efi_pccard_device_path): New structure.
32443 (grub_efi_pccard_device_path_t): New type.
32444 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32445 (struct grub_efi_memory_mapped_device_path): New structure.
32446 (grub_efi_memory_mapped_device_path_t): New type.
32447 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32448 (struct grub_efi_vendor_device_path): New structure.
32449 (grub_efi_vendor_device_path_t): New type.
32450 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32451 (struct grub_efi_controller_device_path): New structure.
32452 (grub_efi_controller_device_path_t): New type.
32453 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32454 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32455 (struct grub_efi_acpi_device_path): New structure.
32456 (grub_efi_acpi_device_path_t): New type.
32457 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32458 (struct grub_efi_expanded_acpi_device_path): New structure.
32459 (grub_efi_expanded_acpi_device_path_t): New type.
32460 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32461 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32462 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32463 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32464 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32465 (struct grub_efi_atapi_device_path): New structure.
32466 (grub_efi_atapi_device_path_t): New type.
32467 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32468 (struct grub_efi_fibre_channel_device_path): New structure.
32469 (grub_efi_fibre_channel_device_path_t): New type.
32470 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32471 (struct grub_efi_1394_device_path): New structure.
32472 (grub_efi_1394_device_path_t): New type.
32473 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32474 (struct grub_efi_usb_device_path): New structure.
32475 (grub_efi_usb_device_path_t): New type.
32476 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32477 (struct grub_efi_usb_class_device_path): New structure.
32478 (grub_efi_usb_class_device_path_t): New type.
32479 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32480 (struct grub_efi_i2o_device_path): New structure.
32481 (grub_efi_i2o_device_path_t): New type.
32482 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32483 (struct grub_efi_mac_address_device_path): New structure.
32484 (grub_efi_mac_address_device_path_t): New type.
32485 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32486 (struct grub_efi_ipv4_device_path): New structure.
32487 (grub_efi_ipv4_device_path_t): New type.
32488 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32489 (struct grub_efi_ipv6_device_path): New structure.
32490 (grub_efi_ipv6_device_path_t): New type.
32491 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32492 (struct grub_efi_infiniband_device_path): New structure.
32493 (grub_efi_infiniband_device_path_t): New type.
32494 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32495 (struct grub_efi_uart_device_path): New structure.
32496 (grub_efi_uart_device_path_t): New type.
32497 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32498 (struct grub_efi_vendor_messaging_device_path): New structure.
32499 (grub_efi_vendor_messaging_device_path_t): New type.
32500 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32501 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32502 (struct grub_efi_hard_drive_device_path): New structure.
32503 (grub_efi_hard_drive_device_path_t): New type.
32504 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32505 (struct grub_efi_cdrom_device_path): New structure.
32506 (grub_efi_cdrom_device_path_t): New type.
32507 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32508 (struct grub_efi_vendor_media_device_path): New structure.
32509 (grub_efi_vendor_media_device_path_t): New type.
32510 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32511 (struct grub_efi_file_path_device_path): New structure.
32512 (grub_efi_file_path_device_path_t): New type.
32513 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32514 (struct grub_efi_protocol_device_path): New structure.
32515 (grub_efi_protocol_device_path_t): New type.
32516 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32517 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32518 (struct grub_efi_bios_device_path): New structure.
32519 (grub_efi_bios_device_path_t): New type.
32520 (struct grub_efi_disk_io): New structure.
32521 (grub_efi_disk_io_t): New type.
32522 (struct grub_efi_block_io_media): New structure.
32523 (grub_efi_block_io_media_t): New type.
32524 (struct grub_efi_block_io): New structure.
32525 (grub_efi_block_io_t): New type.
32526
32527 * include/grub/misc.h (grub_stop): Removed.
32528 (grub_exit): New prototype.
32529 (grub_abort): Likewise.
32530
32531 * include/grub/disk.h (enum grub_disk_dev_id): Added
32532 GRUB_DISK_DEVICE_EFIDISK_ID.
32533
32534 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32535 disk/efi/efidisk.c.
32536 (kernel_syms.lst): Remove the target if an error occurs.
32537
49986a9f 325382006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32539
32540 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32541 as it was simply too buggy.
32542
970d3b8a 325432006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32544
32545 * kern/misc.c (grub_lltoa): New function.
32546 (grub_vsprintf): Added support for the long long suffix,
32547 i.e. "ll".
32548
ff04ec24 325492006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32550
32551 * Makefile.in (LDFLAGS): Add variable.
32552 (LD): Remove variable.
32553 * configure.ac: Add -m32 to LDFLAGS.
32554 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32555 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32556 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32557 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32558 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32559 variables.
32560 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32561 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32562 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32563
37e5e1a4 325642006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32565
32566 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32567 length for unknown glyph.
32568
c352d8dd 325692006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32570
2eab1c0d 32571 Add support for pre-loaded modules into the EFI port.
f19dbdb7 32572
2eab1c0d 32573 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32574 completely. Accept one more argument DIR. The caller has changed.
32575
32576 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32577
32578 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32579 (grub_efi_loaded_image_guid): New variable.
32580 (grub_efi_get_loaded_image): New function.
32581 (grub_arch_modules_addr): Likewise.
32582
32583 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32584 prototype.
32585
32586 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32587 (struct grub_efi_loaded_image): New structure.
32588 (grub_efi_loaded_image_t): New type.
32589
325902006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32591
c352d8dd 32592 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32593 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32594 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32595
6d01d6b4 325962006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32597
32598 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32599
976a4ea0 326002006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32601
32602 * DISTLIST: Added include/grub/efi/console.h,
32603 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32604 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32605
32606 * include/grub/efi/console.h: New file.
32607 * include/grub/efi/time.h: Likewise.
32608 * include/grub/i386/efi/kernel.h: Likewise.
32609 * kern/efi/init.c: Likewise.
32610 * kern/efi/mm.c: Likewise.
32611 * term/efi/console.c: Likewise.
f19dbdb7 32612
976a4ea0 32613 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32614 (grub_stop): Removed.
32615 (grub_get_rtc): Likewise.
32616 (grub_machine_init): Simply call grub_efi_init.
32617 (grub_machine_fini): Call grub_efi_fini.
32618
32619 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32620 (grub_efi_output_string): Removed.
32621 (grub_efi_stall): New function.
32622 (grub_stop): Likewise.
32623 (grub_get_rtc): Likewise.
32624
32625 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32626 (grub_efi_stall): New prototype.
32627 (grub_efi_allocate_pages): Likewise.
32628 (grub_efi_free_pages): Likewise.
32629 (grub_efi_get_memory_map): Likewise.
32630 (grub_efi_mm_init): Likewise.
32631 (grub_efi_mm_fini): Likewise.
32632 (grub_efi_init): Likewise.
32633 (grub_efi_fini): Likewise.
32634
32635 * include/grub/i386/efi/time.h: Do not include
32636 grub/symbol.h. Include grub/efi/time.h.
32637 (GRUB_TICKS_PER_SECOND): Removed.
32638 (grub_get_rtc): Likewise.
32639
32640 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32641 Added padding. The EFI spec is buggy.
32642 (GRUB_EFI_BLACK): New macro.
32643 (GRUB_EFI_BLUE): Likewise.
32644 (GRUB_EFI_GREEN): Likewise.
32645 (GRUB_EFI_CYAN): Likewise.
32646 (GRUB_EFI_RED): Likewise.
32647 (GRUB_EFI_MAGENTA): Likewise.
32648 (GRUB_EFI_BROWN): Likewise.
32649 (GRUB_EFI_LIGHTGRAY): Likewise.
32650 (GRUB_EFI_BRIGHT): Likewise.
32651 (GRUB_EFI_DARKGRAY): Likewise.
32652 (GRUB_EFI_LIGHTBLUE): Likewise.
32653 (GRUB_EFI_LIGHTGREEN): Likewise.
32654 (GRUB_EFI_LIGHTCYAN): Likewise.
32655 (GRUB_EFI_LIGHTRED): Likewise.
32656 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32657 (GRUB_EFI_YELLOW): Likewise.
32658 (GRUB_EFI_WHITE): Likewise.
32659 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32660 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32661 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32662 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32663 (GRUB_EFI_BACKGROUND_RED): Likewise.
32664 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32665 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32666 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32667 (GRUB_EFI_TEXT_ATTR): Likewise.
32668
32669 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32670 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32671 (kernel_mod_HEADERS): Added efi/time.h.
32672
83709125 326732006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32674
32675 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32676 include/grub/efi/api.h, include/grub/efi/console_control.h,
32677 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32678 include/grub/i386/efi/time.h, kern/efi/efi.c,
32679 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32680 and util/i386/efi/grub-mkimage.c.
32681
32682 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32683
32684 * genmk.rb (PModule#rule): Do not export symbols if
32685 #{prefix}_EXPORTS is set to "no".
32686
32687 * conf/i386-efi.mk: New file.
32688 * conf/i386-efi.rmk: Likewise.
32689 * include/grub/efi/api.h: Likewise.
32690 * include/grub/efi/console_control.h: Likewise.
32691 * include/grub/efi/efi.h: Likewise.
32692 * include/grub/efi/pe32.h: Likewise.
32693 * include/grub/i386/efi/time.h: Likewise.
32694 * kern/efi/efi.c: Likewise.
32695 * kern/i386/efi/init.c: Likewise.
32696 * kern/i386/efi/startup.S: Likewise.
32697 * util/i386/efi/grub-mkimage.c: Likewise.
32698
326992006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 32700
32701 * include/grub/script.h: Include <grub/parser.h> and
32702 "grub_script.tab.h".
32703 (struct grub_lexer_param): New struct.
32704 (struct grub_parser_param): Likewise.
32705 (grub_script_create_arglist): Pass the state in an argument.
32706 (grub_script_add_arglist): Likewise.
32707 (grub_script_create_cmdline): Likewise.
32708 (grub_script_create_cmdblock): Likewise.
32709 (grub_script_create_cmdif): Likewise.
32710 (grub_script_create_cmdmenu): Likewise.
32711 (grub_script_add_cmd): Likewise.
32712 (grub_script_arg_add): Likewise.
32713 (grub_script_lexer_ref): Likewise.
32714 (grub_script_lexer_deref): Likewise.
32715 (grub_script_lexer_record_start): Likewise.
32716 (grub_script_lexer_record_stop): Likewise.
32717 (grub_script_mem_record): Likewise.
32718 (grub_script_mem_record_stop): Likewise.
32719 (grub_script_malloc): Likewise.
32720 (grub_script_yylex): Likewise.
32721 (grub_script_yyparse): Likewise.
32722 (grub_script_yyerror): Likewise.
32723 (grub_script_yylex): Likewise.
32724 (grub_script_lexer_init): Return the state.
32725
32726 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32727 (grub_script_lexer_done): Likewise.
32728 (grub_script_lexer_getline): Likewise.
32729 (grub_script_lexer_refs): Likewise.
32730 (script): Likewise.
32731 (newscript): Likewise.
32732 (record): Likewise.
32733 (recording): Likewise.
32734 (recordpos): Likewise.
32735 (recordlen): Likewise.
32736 (grub_script_lexer_init): Return the state instead of setting
32737 global variables.
32738 (grub_script_lexer_ref): Use the newly added argument for state
32739 instead of globals.
32740 (grub_script_lexer_deref): Likewise.
32741 (grub_script_lexer_record_start): Likewise.
32742 (grub_script_lexer_record_stop): Likewise.
32743 (recordchar): Likewise.
32744 (nextchar): Likewise.
32745 (grub_script_yylex2): Likewise.
32746 (grub_script_yylex): Likewise.
32747 (grub_script_yyerror): Likewise.
32748
32749 * normal/parser.y (func_mem): Removed variable.
32750 (menu_entry): Likewise.
32751 (err): Likewise.
32752 (%lex-param): New parser option.
32753 (%parse-param): Likewise.
32754 (script): Always return the AST.
32755 (argument): Pass the state around.
32756 (arguments): Likewise.
32757 (grubcmd): Likewise.
32758 (commands): Likewise.
32759 (function): Likewise.
32760 (menuentry): Likewise.
32761 (if_statement): Likewise.
32762 (if): Likewise.
32763
32764 * normal/script.c (grub_script_memused): Removed variable.
32765 (grub_script_parsed): Likewise.
32766 (grub_script_malloc): Added a state argument. Use that instead of
32767 global variables.
32768 (grub_script_mem_record): Likewise.
32769 (grub_script_mem_record_stop): Likewise.
32770 (grub_script_arg_add): Likewise.
32771 (grub_script_add_arglist): Likewise.
32772 (grub_script_create_cmdline): Likewise.
32773 (grub_script_create_cmdif): Likewise.
32774 (grub_script_create_cmdmenu): Likewise.
32775 (grub_script_add_cmd): Likewise.
32776 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 32777
e2a8c904 327782006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 32779
32780 * normal/command.c (grub_command_init): Remove the title command.
32781
32782 * normal/lexer.c (grub_script_yylex): Renamed from this...
32783 (grub_script_yylex2): ... to this.
32784 (grub_script_yylex): New function. Temporary
32785 introduced to filter some tokens.
32786 (grub_script_yyerror): Print a newline.
32787
32788 * normal/main.c (read_config_file): Output information about the
32789 lines that contain errors. Wait for a key after all lines have
32790 been processed. Don't return an empty menu.
32791
32792 * normal/parser.y (func_mem): Don't initialize.
32793 (menu_entry): Likewise.
32794 (err): New variable.
32795 (script): Don't return anything when an error was encountered.
32796 (ws, returns): Removed rules.
32797 (argument): Disabled concatenated variable support.
32798 (arguments): Remove explicit separators.
32799 (grubcmd): Likewise.
32800 (function): Likewise.
32801 (menuentry): Likewise.
32802 (if): Likewise.
32803 (commands): Likewise. Add error handling.
32804
32805 * normal/script.c (grub_script_create_cmdline): If
32806 `grub_script_parsed' is 0, assume the parser encountered an error.
32807
c9a86192 328082006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32809
32810 * configure.ac: Add support for EFI. Fix the typo
32811 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32812
70f3b243 328132006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32814
32815 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32816 foreign multibyte characters should be shown correctly.
32817
65f201ad 328182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32819
32820 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32821 calculation.
32822 (read_config_file): Made it to close file before returning.
32823
b4b93674 328242006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32825
32826 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32827 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32828 video/i386/pc/vbefill.c.
32829
32830 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32831 video/i386/pc/vbefill.c.
32832
32833 * include/grub/video.h (grub_video_blit_format): New enum.
32834 (grub_video_mode_info): Added new member blit_format.
32835 (grub_video_get_blit_format): New function prototype.
32836
32837 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32838 function prototype.
32839 (grub_video_vbe_map_rgb): Likewise.
32840 (grub_video_vbe_unmap_color): Likewise.
32841
32842 * include/grub/i386/pc/vbeblit.h: New file.
32843
32844 * include/grub/i386/pc/vbefill.h: New file.
32845
32846 * video/video.c (grub_video_get_blit_format): New function.
32847 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32848 (grub_video_vbe_map_rgb): Likewise.
32849 (grub_video_vbe_unmap_color): Likewise.
32850
32851 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32852 optimized fills.
32853 (grub_video_vbe_blit_render_target): Changed to use more optimized
32854 blits.
32855 (grub_video_vbe_setup): Added detection for optimized settings.
32856 (grub_video_vbe_create_render_target): Likewise.
32857
32858 * video/i386/pc/vbeblit.c: New file.
32859
32860 * video/i386/pc/vbefill.c: New file.
32861
c2379b9c 328622006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32863
32864 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32865 here...
32866
32867 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32868 parsing to support both hex and dec ranges. If filename was missing
32869 show usage information.
32870
bd0d7896 328712006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32872
32873 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32874 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32875
32876 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32877 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32878 (video_mod_SOURCES): Added.
32879 (video_mod_CFLAGS): Likewise.
32880 (video_mod_LDFLAGS): Likewise.
32881 (gfxterm_mod_SOURCES): Likewise.
32882 (gfxterm_mod_CFLAGS): Likewise.
32883 (gfxterm_mod_LDFLAGS): Likewise.
32884 (videotest_mod_SOURCES): Likewise.
32885 (videotest_mod_CFLAGS): Likewise.
32886 (videotest_mod_LDFLAGS): Likewise.
32887 (vesafb_mod_SOURCES): Removed.
32888 (vesafb_mod_CFLAGS): Likewise.
32889 (vesafb_mod_LDFLAGS): Likewise.
32890 (vga_mod_SOURCES): Likewise.
32891 (vga_mod_CFLAGS): Likewise.
32892 (vga_mod_LDFLAGS): Likewise.
32893
32894 * commands/videotest.c: New file.
32895
32896 * font/manager.c (fill_with_default_glyph): Modified to use
32897 grub_font_glyph.
32898 (grub_font_get_glyph): Likewise.
32899 (fontmanager): Renamed from this...
32900 (font_manager): ... to this.
32901
32902 * include/grub/font.h (grub_font_glyph): Added new structure.
32903 (grub_font_get_glyph): Modified to use grub_font_glyph.
32904
32905 * include/grub/misc.h (grub_abs): Added as inline function.
32906
32907 * include/grub/video.h: New file.
32908
32909 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32910 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32911 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32912 (grub_vbe_get_controller_info): Renamed from this...
32913 (grub_vbe_bios_get_controller_info): ... to this.
32914 (grub_vbe_get_mode_info): Renamed from this...
32915 (grub_vbe_bios_get_mode_info): ... to this.
32916 (grub_vbe_set_mode): Renamed from this...
32917 (grub_vbe_bios_set_mode): ... to this.
32918 (grub_vbe_get_mode): Renamed from this...
32919 (grub_vbe_bios_get_mode): ... to this.
32920 (grub_vbe_set_memory_window): Renamed from this...
32921 (grub_vbe_bios_set_memory_window): ... to this.
32922 (grub_vbe_get_memory_window): Renamed from this...
32923 (grub_vbe_bios_get_memory_window): ... to this.
32924 (grub_vbe_set_scanline_length): Renamed from this...
32925 (grub_vbe_set_scanline_length): ... to this.
32926 (grub_vbe_get_scanline_length): Renamed from this...
32927 (grub_vbe_bios_get_scanline_length): ... to this.
32928 (grub_vbe_set_display_start): Renamed from this...
32929 (grub_vbe_bios_set_display_start): ... to this.
32930 (grub_vbe_get_display_start): Renamed from this...
32931 (grub_vbe_bios_get_display_start): ... to this.
32932 (grub_vbe_set_palette_data): Renamed from this...
32933 (grub_vbe_bios_set_palette_data): ... to this.
32934 (grub_vbe_set_pixel_rgb): Removed.
32935 (grub_vbe_set_pixel_index): Likewise.
32936
32937 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32938 from this...
32939 (grub_vbe_bios_get_controller_info): ... to this.
32940 (grub_vbe_get_mode_info): Renamed from this...
32941 (grub_vbe_bios_get_mode_info): ... to this.
32942 (grub_vbe_set_mode): Renamed from this...
32943 (grub_vbe_bios_set_mode): ... to this.
32944 (grub_vbe_get_mode): Renamed from this...
32945 (grub_vbe_bios_get_mode): ... to this.
32946 (grub_vbe_set_memory_window): Renamed from this...
32947 (grub_vbe_bios_set_memory_window): ... to this.
32948 (grub_vbe_get_memory_window): Renamed from this...
32949 (grub_vbe_bios_get_memory_window): ... to this.
32950 (grub_vbe_set_scanline_length): Renamed from this...
32951 (grub_vbe_set_scanline_length): ... to this.
32952 (grub_vbe_get_scanline_length): Renamed from this...
32953 (grub_vbe_bios_get_scanline_length): ... to this.
32954 (grub_vbe_set_display_start): Renamed from this...
32955 (grub_vbe_bios_set_display_start): ... to this.
32956 (grub_vbe_get_display_start): Renamed from this...
32957 (grub_vbe_bios_get_display_start): ... to this.
32958 (grub_vbe_set_palette_data): Renamed from this...
32959 (grub_vbe_bios_set_palette_data): ... to this.
32960 (grub_vbe_bios_get_controller_info): Fixed problem with registers
32961 getting corrupted after calling it. Added more pushes and pops.
32962 (grub_vbe_bios_set_mode): Likewise.
32963 (grub_vbe_bios_get_mode): Likewise.
32964 (grub_vbe_bios_get_memory_window): Likewise.
32965 (grub_vbe_bios_set_scanline_length): Likewise.
32966 (grub_vbe_bios_get_scanline_length): Likewise.
32967 (grub_vbe_bios_get_display_start): Likewise.
32968 (grub_vbe_bios_set_palette_data): Likewise.
32969
32970 * normal/cmdline.c (cl_set_pos): Refresh the screen.
32971 (cl_insert): Likewise.
32972 (cl_delete): Likewise.
32973
32974 * term/gfxterm.c: New file.
32975
32976 * term/i386/pc/vesafb.c: Removed file.
32977
32978 * video/video.c: New file.
32979
32980 * video/i386/pc/vbe.c (real2pm): Added new function.
32981 (grub_video_vbe_draw_pixel): Likewise.
32982 (grub_video_vbe_get_video_ptr): Likewise.
32983 (grub_video_vbe_get_pixel): Likewise
32984 (grub_video_vbe_init): Likewise.
32985 (grub_video_vbe_fini): Likewise.
32986 (grub_video_vbe_setup): Likewise.
32987 (grub_video_vbe_get_info): Likewise.
32988 (grub_video_vbe_set_palette): Likewise.
32989 (grub_video_vbe_get_palette): Likewise.
32990 (grub_video_vbe_set_viewport): Likewise.
32991 (grub_video_vbe_get_viewport): Likewise.
32992 (grub_video_vbe_map_color): Likewise.
32993 (grub_video_vbe_map_rgb): Likewise.
32994 (grub_video_vbe_map_rgba): Likewise.
32995 (grub_video_vbe_unmap_color): Likewise.
32996 (grub_video_vbe_fill_rect): Likewise.
32997 (grub_video_vbe_blit_glyph): Likewise.
32998 (grub_video_vbe_blit_bitmap): Likewise.
32999 (grub_video_vbe_blit_render_target): Likewise.
33000 (grub_video_vbe_scroll): Likewise.
33001 (grub_video_vbe_swap_buffers): Likewise.
33002 (grub_video_vbe_create_render_target): Likewise.
33003 (grub_video_vbe_delete_render_target): Likewise.
33004 (grub_video_vbe_set_active_render_target): Likewise.
33005 (grub_vbe_set_pixel_rgb): Remove function.
33006 (grub_vbe_set_pixel_index): Likewise.
33007 (index_color_mode): Remove static variable.
33008 (active_mode): Likewise.
33009 (framebuffer): Likewise.
33010 (bytes_per_scan_line): Likewise.
33011 (grub_video_vbe_adapter): Added new static variable.
33012 (framebuffer): Likewise.
33013 (render_target): Likewise.
33014 (initial_mode): Likewise.
33015 (mode_in_use): Likewise.
33016 (mode_list): Likewise.
33017
5f97350b 330182006-03-10 Marco Gerards <marco@gnu.org>
33019
33020 * configure.ac (AC_INIT): Bumped to 1.93.
33021
33022 * DISTLIST: Added `include/grub/hfs.h'.
33023
a3c5c6f8 330242006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33025
33026 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33027 18H, which might help the BIOS falling back to next boot media.
33028
6de53d26 330292006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33030
33031 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33032 Poe Chen <poe.poechen@gmail.com>.
33033
77c4a393 330342006-01-17 Marco Gerards <marco@gnu.org>
33035
33036 * include/grub/normal.h: Include <grub/script.h>.
33037 (grub_command_list): Removed struct.
33038 (grub_command_list_t): Removed type.
33039 (grub_menu_entry): Remove members `num' and `command_list'. Add
33040 members `commands' and `sourcecode'.
33041 * include/grub/script.h: Add inclusion guards.
33042 (grub_script_cmd_menuentry): New struct.
33043 (grub_script_execute_menuentry): New prototype.
33044 (grub_script_lexer_record_start): Likewise.
33045 (grub_script_lexer_record_stop): Likewise.
33046 * normal/execute.c (grub_script_execute_menuentry): New function.
33047 * normal/lexer.c (record, recording, recordpos, recordlen): New
33048 variables.
33049 (grub_script_lexer_record_start): New function.
33050 (grub_script_lexer_record_stop): Likewise.
33051 (recordchar): Likewise.
33052 (nextchar): Likewise.
33053 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33054 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33055 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33056 (current_menu): New variable.
33057 (free_menu): Mainly rewritten.
33058 (grub_normal_menu_addentry): New function.
33059 (read_config_file): Rewritten.
33060 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 33061 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 33062 the menu entry.
33063 (run): Mainly rewritten.
33064 * normal/parser.y (menu_entry): New variable.
33065 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33066 (menuentry): New rule.
33067 (command): Add `menuentry'.
33068 (if_statement): Allow additional returns before `fi'.
33069 * normal/script.c (grub_script_create_cmdmenu): New function.
33070
144f1f98 330712006-01-03 Marco Gerards <marco@gnu.org>
33072
33073 * INSTALL: GNU Bison is required.
33074 * configure.ac: Rewritten the test to detect Bison.
33075 * Makefile.in (YACC): New variable. Reported by Xun Sun
33076 <xun.sun.cn@gmail.com>.
33077
af4b2d89 330782006-01-03 Marco Gerards <marco@gnu.org>
33079
33080 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33081 the HFS+ filesystem to filesystem blocks.
33082 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33083 GCC warning is silenced.
33084
15643b71 330852006-01-03 Marco Gerards <marco@gnu.org>
33086
33087 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33088 read from disk from big endian to host byte order.
33089
00905879 330902006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33091
33092 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33093 documentation.
33094 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33095 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33096 embedded HFS+ filesystem.
33097 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33098 (grub_hfs_sblock): Move from here...
33099 * include/grub/hfs.h: To here... New file.
33100 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33101 documentation.
33102 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33103 New macros.
33104 (grub_hfsplus_volheader): Change type of member `magic' to
33105 `grub_uint16_t'.
33106 (grub_hfsplus_data): Add new member `embedded_offset'.
33107 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33108 returned block.
33109 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33110 Calculate the offset.
33111
8899bc3e 331122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33113
33114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33115 Removed.
33116 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33117
ae8c0277 331182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33119
33120 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33121 ENV->NAME is NULL after allocating ENV->VALUE.
33122
07084456 331232005-12-25 Marco Gerards <marco@gnu.org>
33124
33125 * kern/env.c (grub_env_set): Rewritten the error handling code.
33126
4750f5f1 331272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33128
33129 * geninit.sh: Made more robust, and more portable.
33130
50214199 331312005-12-25 Marco Gerards <marco@gnu.org>
33132
33133 Add support for Apple HFS+ filesystems.
f19dbdb7 33134
50214199 33135 * fs/hfsplus.c: New file.
33136
33137 * DISTLIST: Added `fs/hfsplus.c'.
33138
33139 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33140 (hfsplus_mod_SOURCES): New variable.
33141 (hfsplus_mod_CFLAGS): Likewise.
33142 (hfsplus_mod_LDFLAGS): Likewise.
33143 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33144 (grub_setup_SOURCES): Likewise.
33145 (grub_mkdevicemap_SOURCES): Likewise.
33146 (grub_emu_SOURCES): Likewise.
33147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33148
33149 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33150
33151 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33152
befaed6c 331532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33154
33155 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33156 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33157 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33158 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33159 normal/lexer.c, normal/parser.y, normal/script.c, and
33160 partmap/gpt.c.
33161 Removed kern/sparc64/cache.c.
33162
33163 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33164 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33165 grub_emu_init.c.
33166
33167 * configure.ac (AC_INIT): Bumped to 1.92.
33168
6a124103 331692005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33170
33171 * kern/err.c (grub_error_push): Added new function to support error
33172 stacks.
33173 (grub_error_pop): Likewise.
33174 (grub_error_stack_items): New local variable to support error stacks.
33175 (grub_error_stack_pos): Likewise.
33176 (grub_error_stack_assert): Likewise.
33177 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33178 stack depth.
33179 (grub_print_error): Added support to print errors from error stack.
33180
33181 * include/grub/err.h (grub_error_push): Added function prototype.
33182 (grub_error_pop): Likewise.
33183
be973c1b 331842005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33185
33186 * configure.ac: Accept `powerpc64' as host_cpu.
33187 (amd64): Rename to `biarch32'.
33188
33189 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33190 non-cacheline-aligned addresses.
33191
33192 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33193 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33194 if `size' is non-zero.
33195
b04216ab 331962005-12-03 Marco Gerards <mgerards@xs4all.nl>
33197
33198 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33199 and `cd' to make sure the filename is not prefixed with a
33200 directory name.
33201 (pkgdata_MODULES): Add `gpt.mod'.
33202 (gpt_mod_SOURCES): New variable.
33203 (gpt_mod_CFLAGS): Likewise.
33204 (gpt_mod_LDFLAGS): Likewise.
33205
33206 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33207
33208 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33209 New macro.
33210
33211 * partmap/gpt.c: New file.
33212
33213 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33214 GPT partition map is detected.
33215
41730ed9 332162005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33217
33218 * commands/i386/pc/play.c: New file.
33219 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33220 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33221 macros.
f19dbdb7 33222
95dc3643 332232005-11-27 Marco Gerards <mgerards@xs4all.nl>
33224
33225 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33226 ((unused))' to silence gcc warning.
33227
1569ec51 332282005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33229
33230 * configure.ac: Correct `AC_PROG_YACC' test.
33231
9abde152 332322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33233
33234 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33235 check before installing files.
33236
44b83271 332372005-11-22 Mike Small <smallm@panix.com>
33238
33239 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33240 number regex so multidigit numbers are recognized correctly.
33241
332422005-11-22 Mike Small <smallm@panix.com>
33243
33244 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33245 debugging message before attempting to claim memory.
33246 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33247 multiple addresses in case of failure.
33248
9c12956b 332492005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33250
33251 * term/tparm.c (get_space): Remove empty `if' statement.
33252
33253 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33254
33255 * kern/parser.c (check_varstate): Rename `state' to 's'.
33256
aeaf81d9 332572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33258
33259 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33260 variable definitions to the beginning of each function. Sort stack
33261 variables by size.
33262 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33263 `buf' argument to `char *'.
33264
79bbb63f 332652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33266
33267 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33268 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33269 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 33270 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33271 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33272 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33273 configfile.mod, search.mod, gzio.mod and test.mod.
33274 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33275 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33276 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33277 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33278 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33279 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33280 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33281 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33282 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33283 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33284 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33285 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33286 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33287 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33288 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33289 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33290 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33291 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33292 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33293 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33294 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33295 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33296 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33297
33298 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33299 `grep --include'.
33300 (pkgdata_MODULES): Add test.mod.
33301
233b1628 333022005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33303
33304 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33305 appending to variables with "+=".
33306 (PModule): Use full pathname to generate *.lst filenames.
33307
33308 * Makefile.in: Fixed list rules moved from genmk.rb.
33309 (.DELETE_ON_ERROR): New special target.
33310 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33311
33312 * conf/i386-pc.rmk: Include conf/common.mk.
33313 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33314 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 33315 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33316 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33317 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33318 configfile.mod, search.mod, gzio.mod and test.mod.
33319 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33320 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33321 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33322 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33323 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33324 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33325 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33326 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33327 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33328 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33329 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33330 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33331 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33332 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33333 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33334 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33335 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33336 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33337 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33338 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33339 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33340 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33341 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33342 here...
33343 * conf/common.rmk: ... to here. New file.
33344
33345 * conf/common.mk: New file.
33346
16f820c8 333472005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33348
33349 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33350 (grub_script.tab.c): ... here.
33351
33352 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33353 (grub_script.tab.c): ... here.
33354
33355 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33356 (grub_script.tab.c): ... here.
33357
33358 * normal/command.c (grub_command_find): Fixed a memory leak of
33359 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33360
63ba1554 333612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33362
33363 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33364 "@" which marks the start of a comment on ARM.
33365 (VARIABLE): Likewise.
33366
7f67dc13 333672005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33368
79bbb63f 33369 Add support for Linux/ADFS partition tables.
7f67dc13 33370
33371 * partmap/acorn.c: New file.
33372
33373 * include/grub/acorn_filecore.h: Likewise.
33374
33375 * DISTLIST: Added `partmap/acorn.c' and
33376 `include/grub/acorn_filecore.h'.
f19dbdb7 33377
7f67dc13 33378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33379 `partmap/acorn.c'.
33380 (pkgdata_MODULES): Add `acorn.mod'.
33381 (acorn_mod_SOURCES): New variable.
33382 (acorn_mod_CFLAGS): Likewise.
33383
33384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33385 `partmap/acorn.c'.
33386 (pkgdata_MODULES): Add `acorn.mod'.
33387 (acorn_mod_SOURCES): New variable.
33388 (acorn_mod_CFLAGS): Likewise.
33389
33390 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33391 (pkgdata_MODULES): Add `acorn.mod'.
33392 (acorn_mod_SOURCES): New variable.
33393 (acorn_mod_CFLAGS): Likewise.
33394 (acorn_mod_LDFLAGS): Likewise.
33395
33396 * include/types.h (grub_disk_addr_t): New typedef.
33397
6d099807 333982005-11-13 Marco Gerards <mgerards@xs4all.nl>
33399
33400 * geninit.sh: New file.
33401
33402 * geninitheader.sh: Likewise.
33403
33404 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33405 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33406 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33407 * commands/configfile.c (grub_configfile_init)
33408 (grub_configfile_fini): Likewise.
33409 * commands/default.c (grub_default_init, grub_default_fini):
33410 Likewise.
33411 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33412 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33413 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33414 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33415 Likewise.
33416 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33417 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33418 Likewise.
33419 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 33420 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 33421 Likewise.
33422 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33423 Likewise.
fe6b695a 33424 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 33425 Likewise.
33426 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33427 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33428 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33429 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33430 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33431 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33432 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33433 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33434 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33435 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33436 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33437 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33438 * partmap/amiga.c (grub_amiga_partition_map_init)
33439 (grub_amiga_partition_map_fini): Likewise.
33440 * partmap/apple.c (grub_apple_partition_map_init)
33441 (grub_apple_partition_map_fini): Likewise.
33442 * partmap/pc.c (grub_pc_partition_map_init)
33443 (grub_pc_partition_map_fini): Likewise.
33444 * partmap/sun.c (grub_sun_partition_map_init,
33445 grub_sun_partition_map_fini): Likewise.
33446 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33447 Likewise.
33448
33449 * util/grub-emu.c: Include <grub_modules_init.h>.
33450 (main): Don't initialize and de-initialize any modules directly,
33451 use `grub_init_all' and `grub_fini_all' instead.
33452
33453 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33454 `grub_vesafb_mod_init'.
33455 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33456 all users.
33457 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33458 `grub_vga_mod_init'. Updated all users.
33459 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 33460
6d099807 33461 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33462 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33463 rules.
33464
33465 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33466 Generate a function to initialize the module in utilities.
33467 Updated all callers.
33468 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33469 initialize the module in utilities. Updated all callers.
33470
9046bcf0 334712005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33472
33473 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33474 escape sequence and a literal ^L to clear the screen.
33475
33476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33477 when returning from Open Firmware.
33478
d13ea639 334792005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33480
33481 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33482 (grub_ofconsole_height): Likewise.
33483 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33484 manually insert a '\n'.
33485 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33486 `grub_ofconsole_height'. Return early if these are already set.
33487
a8fcf206 334882005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33489
33490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33491 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33492 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33493 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33494 and `normal/script.c'.
33495 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33496 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33497 (test_mod_SOURCES): New variable.
33498 (test_mod_CFLAGS): Likewise.
33499 (test_mod_LDFLAGS): Likewise.
33500 (pkgdata_MODULES): Add `test.mod'.
33501 (grub_script.tab.c): New rule.
33502 (grub_script.tab.h): Likewise.
33503
b6b32745 335042005-11-07 Marco Gerards <mgerards@xs4all.nl>
33505
33506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33507 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33508 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33509 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33511 (test_mod_SOURCES): New variable.
33512 (test_mod_CFLAGS): Likewise.
33513 (pkgdata_MODULES): Add `test.mod'.
33514 (grub_script.tab.c): New rule.
33515 (grub_script.tab.h): Likewise.
33516
daac212a 335172005-11-06 Marco Gerards <mgerards@xs4all.nl>
33518
33519 Add initial scripting support.
33520
33521 * commands/test.c: New file.
33522 * include/grub/script.h: Likewise.
33523 * normal/execute.c: Likewise.
33524 * normal/function.c: Likewise.
33525 * normal/lexer.c: Likewise.
33526 * normal/parser.y: Likewise.
33527 * normal/script.c: Likewise.
33528
33529 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 33530
daac212a 33531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33532 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33533 `normal/function.c' 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'.
b6b32745 33536 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33537 variables.
daac212a 33538 (pkgdata_MODULES): Add `test.mod'.
33539 (grub_script.tab.c): New rule.
33540 (grub_script.tab.h): Likewise.
33541
33542 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33543
33544 * include/grub/normal.h (grub_test_init): New prototype.
33545 (grub_test_fini): Likewise.
f19dbdb7 33546
daac212a 33547 * normal/command.c: Include <grub/script.h>.
33548 (grub_command_execute): Rewritten.
f19dbdb7 33549
daac212a 33550 * util/grub-emu.c (main): Call `grub_test_init' and
33551 `grub_test_fini'.
33552
77500b2b 335532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33554
33555 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33556 to 0.
33557 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33558 there are no pending characters.
33559
e45deb9e 335602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33561
33562 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33563 `grub_strndup' to drop device arguments. Replace unnecessary
33564 `grub_strndup' with `grub_strdup'.
33565
4ce32619 335662005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33567
33568 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33569 `debug' environment variable has been set.
33570
335712005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33572
4ce32619 33573 * Makefile.in (install-local): Use $(DATA).
33574 (uninstall): Likewise.
33575 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33576 (sbin_UTILITIES): ... to here.
33577 (sbin_SCRIPTS): New variable.
33578 (grub_install_SOURCES): New variable.
33579 * util/powerpc/ieee1275/grub-install.in: New file.
33580 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33581 variable.
33582 (add_segments): Call `grub_util_get_path'.
33583
25fe6f03 335842005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33585
33586 From Timothy Baldwin:
33587 * commands/ls.c (grub_ls_list_files): Close FILE with
33588 grub_file_close.
33589 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33590
04ccf3ec 335912005-10-24 Marco Gerards <mgerards@xs4all.nl>
33592
33593 * include/grub/parser.h: New file.
33594
33595 * kern/parser.c: Likewise.
33596
33597 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33598 (grub_setup_SOURCES): Likewise.
33599 (grub_probefs_SOURCES): Likewise.
33600 (grub_emu_SOURCES): Likewise.
33601 (kernel_img_HEADERS): Add `parser.h'.
33602
33603 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33604 (grub_emu_SOURCES): Add `kern/parser.c'.
33605 (grubof_SOURCES): Likewise.
33606
33607 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33608 (grubof_SOURCES): Add `kern/parser.c'.
33609
33610 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33611
33612 * kern/misc.c (grub_split_cmdline): Removed function.
33613
33614 * kern/rescue.c: Include <grub/parser.h>.
33615 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33616 of `grub_split_cmdline'.
33617
33618 * normal/command.c: Include <grub/parser.h>.
33619 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33620 of `grub_split_cmdline'.
33621
33622 * normal/completion.c: Include <grub/parser.h>.
33623 (cmdline_state): New variable.
33624 (iterate_dir): End the filename with a quote depending on the
33625 command line state.
33626 (get_state): new function.
33627 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33628 split the arguments and determine the current argument. When the
33629 argument string is not quoted, escape all spaces.
33630
6d8f4b0e 336312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33632
33633 * normal/sparc64/setjmp.S: New file.
33634
15cf03ed 336352005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33636
33637 * include/grub/sparc64/libgcc.h: New file.
33638 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33639 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33640 normal/sparc64/setjmp.c.
33641
03e8661a 336422005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33643
33644 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33645 * kern/sparc64/cache.S: New file.
33646 * kern/sparc64/cache.c: Removed.
33647 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33648 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33649 -mtune=ultrasparc.
33650 (COMMON_LDFLAGS): Add -melf64_sparc.
33651 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33652 (grubof_SOURCES): Use cache.S instead of cache.c.
33653 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33654 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33655 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33656 commented though.
33657 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33658 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33659 (linux_mod_CFLAGS): Commented out.
33660 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33661 out because module isn't built.
33662 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33663 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33664 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33665 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33666 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33667 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33668 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33669 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33670 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33671 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33672 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33673 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33674 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33675 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33676
34eeec8a 336772005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33678
33679 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33680 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33681 longer, because HFS should not be used on PC.
33682
708367a3 336832005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33684
33685 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33686 consistently within the loop.
33687
6fa1251a 336882005-10-15 Marco Gerards <mgerards@xs4all.nl>
33689
33690 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33691 directory can not be read.
33692
4801580b 336932005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33694
33695 * configure.ac (AC_INIT): Increase the version number to 1.91.
33696
33697 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33698 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33699 term/i386/pc/serial.c.
33700
219ad426 337012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33702
33703 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33704 file size must be permitted.
33705
33706 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33707 between %ah and %al.
33708
688e5699 337092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33710
33711 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33712 grub_uint64_t.
33713 Call the hook with a NUL-terminated filename.
33714 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33715 grub_cpu_to_be32.
33716
33717 * kern/term.c (cursor_state): New variable.
33718 (grub_term_set_current): Reset the cursor state on a new
33719 terminal.
33720 (grub_setcursor): Rewritten to use CURSOR_STATE.
33721 (grub_getcursor): New function.
33722
33723 * include/grub/term.h (grub_getcursor): New prototype.
33724
33725 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33726 integers on ARM. Reported by Timothy Baldwin
33727 <T.E.Baldwin99@members.leeds.ac.uk>.
33728
bb34586c 337292005-10-11 Marco Gerards <mgerards@xs4all.nl>
33730
33731 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33732 allocated.
33733 (grub_sfs_dir): Likewise.
33734
9a909877 337352005-10-09 Marco Gerards <mgerards@xs4all.nl>
33736
33737 Add support for the SFS filesystem.
33738
33739 * fs/sfs.c: New file.
33740
33741 * DISTLIST: Added `fs/sfs.c'.
33742
33743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33744 (grub_probefs_SOURCES): Likewise.
33745 (grub_emu_SOURCES): Likewise.
33746 (pkgdata_MODULES): Add `sfs.mod'.
33747 (sfs_mod_SOURCES): New variable.
33748 (sfs_mod_CFLAGS): Likewise.
33749 (sfs_mod_LDFLAGS): Likewise.
33750
33751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33752 (pkgdata_MODULES): Add `sfs.mod'.
33753 (sfs_mod_SOURCES): New variable.
33754 (sfs_mod_CFLAGS): Likewise.
33755
33756 * util/grub-emu.c (main): Call `grub_sfs_init' and
33757 `grub_sfs_fini'.
33758
33759 * include/grub/fs.h (grub_sfs_init): New prototype.
33760 (grub_sfs_fini): Likewise.
33761
57bdbde3 337622005-10-07 Marco Gerards <mgerards@xs4all.nl>
33763
33764 Add support for the AFFS filesystem.
33765
33766 * fs/affs.c: New file.
33767
33768 * DISTLIST: Added `fs/affs.c'.
33769
33770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33771 (grub_probefs_SOURCES): Likewise.
33772 (grub_emu_SOURCES): Likewise.
33773 (pkgdata_MODULES): Add `affs.mod'.
33774 (affs_mod_SOURCES): New variable.
33775 (affs_mod_CFLAGS): Likewise.
33776 (affs_mod_LDFLAGS): Likewise.
33777
33778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33779 (pkgdata_MODULES): Add `affs.mod'.
33780 (affs_mod_SOURCES): New variable.
33781 (affs_mod_CFLAGS): Likewise.
33782
33783 * util/grub-emu.c (main): Call `grub_affs_init' and
33784 `grub_affs_fini'.
33785
33786 * include/grub/fs.h (grub_affs_init): New prototype.
33787 (grub_affs_fini): Likewise.
33788
047b67e0 337892005-10-01 Marco Gerards <mgerards@xs4all.nl>
33790
33791 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33792
59b8208a 337932005-10-01 Marco Gerards <mgerards@xs4all.nl>
33794
33795 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33796 `-m32' to CFLAGS.
33797
33798 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33799 linking.
f19dbdb7 33800
59b8208a 33801 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33802 (COMMON_LDFLAGS): New variable.
33803 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33804 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33805 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33806 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33807 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33808 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33809 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33810 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33811 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33812 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33813 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33814 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33815 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33816 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33817 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33818 variables.
33819 (normal_mod_ASFLAGS): Add `-m32'.
33820
33821 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33822 (grub_host_size_t, grub_host_ssize_t): New types.
33823 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 33824 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 33825 `GRUB_HOST_SIZEOF_VOID_P'.
33826
33827 * include/grub/kernel.h (struct grub_module_header): Type of
33828 member offset changed to `grub_host_off_t'. Type of member size
33829 changed to `grub_host_size_t'.
33830 (struct grub_module_info): Type of member offset changed to
33831 `grub_host_off_t'. Type of member size changed to
33832 `grub_host_size_t'.
33833
b4093103 338342005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33835
33836 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 33837
b4093103 33838 * kern/i386/pc/startup.S (multiboot_header): New label.
33839 (multiboot_entry): Likewise.
33840 (multiboot_trampoline): Likewise.
33841
33842 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33843 Increased to 0x4A0.
33844
33845 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33846 put parentheses after a question mark.
33847 [!GRUB_UTIL] (my_mod): New variable.
33848
33849 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33850
b2499b29 338512005-09-28 Marco Gerards <mgerards@xs4all.nl>
33852
33853 Adds support for the XFS filesystem. Btrees are not supported
33854 yet.
33855
33856 * fs/xfs.c: New file.
33857
33858 * DISTLIST: Added `fs/xfs.c'.
33859
33860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33861 (grub_probefs_SOURCES): Likewise.
33862 (grub_emu_SOURCES): Likewise.
33863 (pkgdata_MODULES): Add `xfs.mod'.
33864 (xfs_mod_SOURCES): New variable.
33865 (xfs_mod_CFLAGS): Likewise.
33866
33867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33868 (pkgdata_MODULES): Add `xfs.mod'.
33869 (xfs_mod_SOURCES): New variable.
33870 (xfs_mod_CFLAGS): Likewise.
33871
33872 * util/grub-emu.c (main): Call `grub_xfs_init' and
33873 `grub_xfs_fini'.
33874
33875 * include/grub/fs.h (grub_xfs_init): New prototype.
33876 (grub_xfs_fini): Likewise.
33877
f19dbdb7 33878
83d37a62 338792005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33880
33881 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33882 color modes, allow greater than 16 colors to be configured as
33883 a default palette.
33884
47d2d65e 338852005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33886
33887 * normal/completion.c (complete_arguments): Add the qualifier
33888 const into OPTIONS.
33889
33890 From Omniflux <omniflux+lists@omniflux.com>:
33891 * include/grub/terminfo.h: New file.
33892 * include/grub/tparm.h: Likewise.
33893 * include/grub/i386/pc/serial.h: Likewise.
33894 * term/terminfo.c: Likewise.
33895 * term/tparm.c: Likewise.
33896 * term/i386/pc/serial.c: Likewise.
33897 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33898 serial.mod.
33899 (terminfo_mod_SOURCES): New variable.
33900 (terminfo_mod_CFLAGS): Likewise.
33901 (serial_mod_SOURCES): Likewise.
33902 (serial_mod_CFLAGS): Likewise.
33903
48b671ff 339042005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33905
33906 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33907 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33908 and kern/powerpc/ieee1275/cmain.c, respectively.
33909
33910 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33911 * kern/powerpc/ieee1275/crt0.S: ... here.
33912
33913 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33914 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 33915
48b671ff 33916 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33917 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33918 instead of boot/powerpc/ieee1275/crt0.S and
33919 boot/powerpc/ieee1275/cmain.c, respectively.
33920
33921 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33922 sectors. It was not used anyway.
33923
09fc77a7 339242005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33925
33926 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33927 `unused parameter' warning.
33928
003789c7 339292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33930
33931 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33932 function.
33933 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33934 getcharwidth.
33935
67f44c86 339362005-08-28 Marco Gerards <metgerards@student.han.nl>
33937
33938 * include/grub/normal.h (enum grub_completion_type): Added
33939 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33940
33941 * normal/cmdline.c (print_completion): Handle
33942 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33943 * normal/menu_entry.c (store_completion): Likewise.
33944
33945 * normal/completion.c (complete_arguments): New function.
33946 (grub_normal_do_completion): Call `complete_arguments' when the
33947 current words start with a dash.
33948
0b5abe02 339492005-08-27 Marco Gerards <metgerards@student.han.nl>
33950
33951 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33952 `gzio.mod' instead of `io.mod').
33953
d9864ee1 339542005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33955
33956 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33957 (DISTDIRS): Added io and video.
33958 Rewrite the search routine to make an output consistently.
33959
33960 * DISTLIST: Added conf/sparc64-ieee1275.mk,
33961 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
33962 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
33963 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
33964 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
33965 util/powerpc/ieee1275/misc.c.
f19dbdb7 33966
d9864ee1 33967 * include/grub/gzio.h: New file.
33968 * io/gzio.c: Likewise.
f19dbdb7 33969
d9864ee1 33970 * kern/file.c (grub_file_close): Call grub_device_close only if
33971 FILE->DEVICE is not NULL.
33972
33973 * include/grub/mm.h [!NULL] (NULL): New macro.
33974
33975 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
33976
33977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
33978 (pkgdata_MODULES): Added gzio.mod.
33979 (gzio_mod_SOURCES): New variable.
33980 (gzio_mod_CFLAGS): Likewise.
33981
33982 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
33983 (pkgdata_MODULES): Added gzio.mod.
33984 (gzio_mod_SOURCES): New variable.
33985 (gzio_mod_CFLAGS): Likewise.
33986
33987 * commands/cat.c: Include grub/gzio.h.
33988 (grub_cmd_cat): Use grub_gzfile_open instead of
33989 grub_file_open.
f19dbdb7 33990
d9864ee1 33991 * commands/cmp.c: Include grub/gzio.h.
33992 (grub_cmd_cmp): Use grub_gzfile_open instead of
33993 grub_file_open.
33994
33995 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
33996 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
33997 grub_file_open.
33998 (grub_rescue_cmd_module): Likewise.
33999
fa46f4b5 340002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34001
34002 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34003 kern/sparc64/ieee1275/init.c because it contains _start.
34004 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34005
e9211b5d 340062005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34007
34008 * configure.ac: Add support for sparc64 host with ieee1275
34009 firmware.
34010 * configure: Generated from configure.ac.
34011 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34012 instead of int.
34013 (grub_ofdisk_read): Likewise.
34014 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34015 pointers as (void *) to remove a warning.
34016 (grub_ofdisk_close): Likewise.
34017 (grub_ofdisk_read): Likewise.
34018 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34019 returns, so make it return void to remove a warning.
34020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34021 Corresponding prototype change.
34022 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34023 values, and cast the pointers as (void *) to remove a warning.
34024 (grub_mm_dump): Likewise.
34025 * conf/sparc64-ieee1275.mk: New file.
34026 * conf/sparc64-ieee1275.rmk: Likewise.
34027 * include/grub/sparc64/setjmp.h: Likewise.
34028 * include/grub/sparc64/types.h: Likewise.
34029 * include/grub/sparc64/ieee1275/console.h: Likewise.
34030 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34031 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34032 * include/grub/sparc64/ieee1275/time.h: Likewise.
34033 * kern/sparc64/cache.c: Likewise.
34034 * kern/sparc64/dl.c: Likewise.
34035 * kern/sparc64/ieee1275/init.c: Likewise.
34036 * kern/sparc64/ieee1275/openfw.c: Likewise.
34037
385c6a92 340382005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34039
34040 * util/console.c (grub_ncurses_putchar): If C is greater than
34041 0x7f, set C to a question mark.
34042 (grub_ncurses_getcharwidth): New function.
34043 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34044 getcharwidth.
34045
34046 * normal/menu.c (print_entry): Made aware of Unicode. First,
34047 convert TITLE to UCS-4, and predict the cursor position by
34048 grub_getcharwidth.
34049
34050 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34051 const to SRC.
34052 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34053
16ccb8b1 340542005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34055
34056 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34057 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34058 grub_strcat.
34059
34060 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34061 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34062 grub_strcpy and grub_strlen. Take it into account that a space
34063 character is inserted as a delimiter.
34064
6a85ce79 340652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34066
34067 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 34068 invalid magic in the error.
6a85ce79 34069
34070 * commands/search.c: New file.
f19dbdb7 34071
6a85ce79 34072 * util/grub-emu.c (main): Call grub_search_init and
34073 grub_search_fini.
34074
34075 * kern/rescue.c (grub_rescue_print_disks): Removed.
34076 (grub_rescue_print_devices): New function.
34077 (grub_rescue_cmd_ls): Use grub_device_iterate with
34078 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34079 grub_rescue_print_disks.
34080
34081 * kern/partition.c (grub_partition_iterate): Return the result of
34082 PARTMAP->ITERATE instead of GRUB_ERRNO.
34083
34084 * kern/device.c: Include grub/partition.h.
34085 (grub_device_iterate): New function.
34086
34087 * include/grub/partition.h (grub_partition_iterate): Return int
34088 instead of grub_err_t.
34089
34090 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34091 prototype.
34092 [GRUB_UTIL] (grub_search_fini): Likewise.
34093
34094 * include/grub/device.h (grub_device_iterate): New prototype.
34095
34096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34097 commands/search.c.
34098 (pkgdata_MODULES): Added search.mod.
34099 (search_mod_SOURCES): New variable.
34100 (search_mod_CFLAGS): Likewise.
34101
34102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34103 (pkgdata_MODULES): Added search.mod.
34104 (search_mod_SOURCES): New variable.
34105 (search_mod_CFLAGS): Likewise.
34106
34107 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34108 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34109 All callers changed.
34110
34111 * DISTLIST: Added commands/search.c.
34112
ef095434 341132005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34114
34115 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34116 conversion.
34117 (grub_getcharwidth): New function.
34118
34119 * kern/misc.c (grub_utf8_to_ucs4): New function.
34120
34121 * include/grub/term.h (struct grub_term): Added a new member
34122 "getcharwidth".
34123 (grub_getcharwidth): New prototype.
34124
34125 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34126
34127 * term/i386/pc/console.c (map_char): New function. Segregated from
34128 grub_console_putchar.
34129 (grub_console_putchar): Use map_char.
34130 (grub_console_getcharwidth): New function.
34131 (grub_console_term): Specified grub_console_getcharwidth as
34132 getcharwidth.
34133
34134 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34135 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34136
34137 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34138 GRUB_ERRNO.
34139 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34140 on grub_strtoul completely.
34141 (write_char): Declare local variables in the beginning of the
34142 function.
34143 (grub_vesafb_getcharwidth): New function.
34144 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34145 getcharwidth.
34146
1f0a95e4 341472005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34148
34149 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34150 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34151 commands/i386/pc/vbetest.c.
34152
34153 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34154 call grub_vbe_get_controller_info again, because the returned
34155 information is volatile.
34156 (grub_vbe_set_video_mode): Mostly rewritten.
34157 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34158 grub_vbe_status_t correctly.
34159 (grub_vbe_get_video_mode_info): Likewise.
34160 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34161 several if statements.
34162
34163 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34164 * commands/i386/pc/vbeinfo.c: ... this.
34165
34166 * commands/i386/pc/vbe_test.c: Renamed to ...
34167 * commands/i386/pc/vbetest.c: ... this.
34168
34169 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34170 ...
34171 (grub_cmd_vbeinfo): ... this. Save video modes before
34172 iterating. Skip a video mode, if it is not available, not enough
34173 information is given or it is monochrome. Show the memory
34174 model. Leave the interpretation of MODEVAR to grub_strtoul
34175 completely.
34176 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34177 (GRUB_MOD_FINI): Likewise.
34178
34179 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34180 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34181 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34182 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34183 grub_strtoul completely.
34184 (real2pm): Removed.
34185 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34186 (GRUB_MOD_FINI): Likewise.
34187
34188 * normal/misc.c: Include grub/mm.h.
34189
34190 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34191 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34192 (vbe_list_modes_mod_SOURCES): Removed.
34193 (vbe_list_modes_mod_CFLAGS): Likewise.
34194 (vbe_test_mod_SOURCES): Likewise.
34195 (vbe_test_mod_CFLAGS): Likewise.
34196 (vbeinfo_mod_SOURCES): New variable.
34197 (vbeinfo_mod_CFLAGS): Likewise.
34198 (vbetest_mod_SOURCES): Likewise.
34199 (vbetest_mod_CFLAGS): Likewise.
34200
992ffbbe 342012005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34202
34203 * normal/misc.c: New file.
34204
34205 * DISTLIST: Added normal/misc.c.
f19dbdb7 34206
992ffbbe 34207 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34208 DISK to HOOK. Call HOOK with DISK.
34209 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34210 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34211 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34212
34213 * normal/menu_entry.c (struct screen): Added a new member
34214 "completion_shown".
34215 (completion_buffer): New global variable.
34216 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34217 (store_completion): New function.
34218 (complete): Likewise.
34219 (clear_completions): Likewise.
34220 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34221 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34222 a tab, call complete.
34223
34224 * normal/completion.c (disk_dev): Removed.
34225 (print_simple_completion): Likewise.
34226 (print_partition_completion): Likewise.
34227 (print_func): New global variable.
34228 (add_completion): Do not take the arguments WHAT or PRINT any
34229 longer. Added a new argument TYPE. Instead of printing directly,
34230 call PRINT_FUNC if not NULL.
34231 All callers changed.
34232 (complete_device): Use a local variable DEV instead of
34233 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34234 (grub_normal_do_completion): Take a new argument HOOK. Do not
34235 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34236 empty string, return NULL instead.
34237 All callers changed.
34238
34239 * normal/cmdline.c (print_completion): New function.
34240
34241 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34242 to HOOK.
34243 All callers changed.
34244
34245 * kern/disk.c (grub_print_partinfo): Removed.
34246
34247 * include/grub/partition.h (struct grub_partition_map): Add a new
34248 argument DISK into HOOK of ITERATE.
34249 (grub_partition_iterate): Add a new argument DISK to HOOK.
34250
34251 * include/grub/normal.h (enum grub_completion_type): New enum.
34252 (grub_completion_type_t): New type.
34253 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34254 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34255 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34256 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34257 (grub_normal_do_completion): Added a new argument HOOK.
34258 (grub_normal_print_device_info): New prototype.
34259
34260 * include/grub/disk.h (grub_print_partinfo): Removed.
34261
34262 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34263 (normal_mod_SOURCES): Likewise.
34264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34265 (normal_mod_SOURCES): Likewise.
34266
34267 * commands/ls.c (grub_ls_list_disks): Use
34268 grub_normal_print_device_info instead of grub_print_partinfo. Free
34269 PNAME.
34270 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34271 duplicating the code.
34272
0bd41162 342732005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34274
34275 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 34276 follow GCS more precisely.
34277 * commands/i386/pc/vbe_test.c: Likewise.
34278 * include/grub/i386/pc/vbe.h: Likewise.
34279 * term/i386/pc/vesafb.c: Likewise.
34280 * video/i386/pc/vbe.c: Likewise.
0bd41162 34281
6323696a 342822005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34283
34284 * DISTLIST: Added term/i386/pc/vesafb.c
34285 DISTLIST: Added video/i386/pc/vbe.c
34286 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34287 DISTLIST: Added commands/i386/pc/vbe_test.c.
34288 * commands/i386/pc/vbe_list_modes.c: New file.
34289 * commands/i386/pc/vbe_test.c: Likewise.
34290 * term/i386/pc/vesafb.c: Likewise.
34291 * video/i386/pc/vbe.c: Likewise.
34292 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34293 (grub_vbe_probe) Added prototype.
34294 (grub_vbe_set_video_mode) Likewise.
34295 (grub_vbe_get_video_mode) Likewise.
34296 (grub_vbe_get_video_mode_info) Likewise.
34297 (grub_vbe_set_pixel_rgb) Likewise.
34298 (grub_vbe_set_pixel_index) Likewise.
34299 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34300 (pkgdata_MODULES): Added vesafb.mod.
34301 (pkgdata_MODULES): Added vbe_list_modes.mod.
34302 (pkgdata_MODULES): Added vbe_test.mod.
34303 (vbe_mod_SOURCES): Added.
34304 (vbe_mod_CFLAGS): Likewise.
34305 (vesafb_mod_SOURCES): Likewise.
34306 (vesafb_mod_CFLAGS): Likewise.
34307 (vbe_list_modes_mod_SOURCES): Likewise.
34308 (vbe_list_modes_mod_CFLAGS): Likewise.
34309 (vbe_test_mod_SOURCES): Likewise.
34310 (vbe_test_mod_CFLAGS): Likewise.
34311
0a74e62f 343122005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34313
0a74e62f 34314 * normal/command.c (grub_command_execute): If INTERACTIVE is
34315 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34316 CMDLINE. Disable the pager if INTERACTIVE is true.
34317 All callers are changed.
34318
34319 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34320 before reading a config file.
34321 * normal/main.c (read_config_file): Even if a command is not
34322 found, register it if it is within an entry.
34323
34324 * util/grub-emu.c: Include sys/types.h and unistd.h.
34325 (options): Added --hold.
34326 (struct arguments): Added a new member "hold".
34327 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34328 missing.
34329 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34330 cleared by a debugger, if it is not zero.
34331
34332 * include/grub/normal.h (grub_command_execute): Add an argument
34333 INTERACTIVE.
34334
e51f85ae 343352005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34336
34337 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34338
e9c6f39b 343392005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34340
34341 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34342 program with another one, because the old one didn't detect a bug
34343 in gcc-3.4. Always use regparm 2, because the new test is still
34344 not enough for gcc-4.0. Someone must investigate a simple test
34345 case which detects a bug in gcc-4.0.
34346
8de3495c 343472005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34348
34349 * DISTLIST: Added normal/completion.c.
34350
34351 * normal/completion.c: New file.
f19dbdb7 34352
8de3495c 34353 * term/i386/pc/console.c (grub_console_getwh): New function.
34354 (grub_console_term): Assign grub_console_getwh to getwh.
34355
34356 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34357 function is defined in normal/completion.c as
34358 grub_normal_do_completion.
34359 (grub_cmdline_get): Use grub_normal_do_completion instead of
34360 grub_tab_complete.
34361
34362 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34363 returns non-zero, otherwise return 0.
34364 (grub_partition_iterate): First, probe the partition map. Then,
34365 call ITERATE only for this partition map.
34366
34367 * kern/misc.c (grub_strncmp): Rewritten.
34368
34369 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34370 returns non-zero. Otherwise return 0.
34371
34372 * include/grub/partition.h (grub_partition_map_iterate): Return
34373 int instead of void.
34374
34375 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34376
34377 * include/grub/misc.h (grub_strncmp): Change the type of N to
34378 grub_size_t.
34379
34380 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34381 of void.
34382
34383 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 34384 unsigned explicitly before comparing it with I.
8de3495c 34385
34386 * kern/main.c (grub_env_write_root): Add the attribute unused into
34387 VAR.
34388
34389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34390 normal/completion.c.
34391 (normal_mod_SOURCES): Likewise.
34392 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34393 (normal_mod_SOURCES): Likewise.
34394
34395 * normal/command.c (grub_iterate_commands): If ITERATE returns
34396 non-zero, return one immediately.
34397
e85e144b 343982005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34399
34400 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34401 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34402 descriptions.
34403 (grub_vbe_get_controller_info): New function.
34404 (grub_vbe_get_mode_info): Likewise.
34405 (grub_vbe_set_mode): Likewise.
34406 (grub_vbe_get_mode): Likewise.
34407 (grub_vbe_set_memory_window): Likewise.
34408 (grub_vbe_get_memory_window): Likewise.
34409 (grub_vbe_set_scanline_length): Likewise.
34410 (grub_vbe_get_scanline_length): Likewise.
34411 (grub_vbe_set_display_start): Likewise.
34412 (grub_vbe_get_display_start): Likewise.
34413 (grub_vbe_set_palette_data): Likewise.
34414 * include/grub/i386/pc/vbe.h: New file.
34415
c46153d2 344162005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34417
34418 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34419 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34420 * DISTLIST: Likewise.
34421 * kern/ieee1275/of.c: Moved to ...
34422 * kern/ieee1275/ieee1275.c: ... here.
34423
0cb90c45 344242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34425
34426 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34427 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34428 Pass 0 as `end' parameter to grub_strtoul().
34429
a19fb360 344302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34431
34432 * include/grub/powerpc/ieee1275/console.h: Do not include
34433 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34434 ifdef.
34435 (grub_console_cur_color): Remove i386-specific prototype.
34436 (grub_console_real_putchar): Likewise.
34437 (grub_console_checkkey): Likewise.
34438 (grub_console_getkey): Likewise.
34439 (grub_console_getxy): Likewise.
34440 (grub_console_gotoxy): Likewise.
34441 (grub_console_cls): Likewise.
34442 (grub_console_setcursor): Likewise.
34443 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34444 Include <grub/machine/console.h>.
34445 * term/ieee1275/ofconsole.c: Likewise.
34446
4ac9bd04 344472005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34448
34449 * Makefile.in (LIBLZO): New variable.
34450
34451 * configure.ac: Check for LZO version 2.
34452
34453 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34454 lzo/lzo1x.h instead of lzo1x.h.
34455
34456 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34457 of -llzo.
34458
34459 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34460 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34461
34462 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34463 copying the data from PARTITION to P.
34464
f4917dfd 344652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34466
34467 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34468 negative, unload the module.
34469
34470 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34471 map is "pc_partition_map" but not "pc".
34472 (usage): Fix the description. The options are --boot-image and
34473 --core-image but not --boot-file or --core-file.
34474 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34475 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34476 DEFAULT_DIRECTORY.
34477
34478 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34479 --core-file. Specify INSTALL_DEVICE as an argument.
34480
34481 * util/console.c: Include config.h.
34482 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34483 [HAVE_NCURSES_H]: Include ncurses.h.
34484 [HAVE_CURSES_H]: Include curses.h.
34485 [!A_NORMAL] (A_NORMAL): Defined as zero.
34486 [!A_STANDOUT] (A_STANDOUT): Likewise.
34487
34488 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34489 -lncurses.
34490 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34491
34492 * configure.ac: Check for curses libraries and headers.
34493
34494 * Makefile.in (LIBCURSES): New variable.
34495
34496 * genmk.rb (Script::rule): Set the executable bits.
34497
34498 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34499 name of the PC partition map is "pc_partition_map" but not "pc".
34500
0e143073 345012005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34502
34503 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34504 (modules): Likewise.
34505 (usage): Added descriptions for --modules and --grub-probefs.
34506 Handle --modules and --grub-probefs. Save the arguments in MODULES
34507 and GRUB_PROBEFS, respectively.
34508 Auto-detect a filesystem module against GRUBDIR. If the result is
34509 empty and modules are not specified explicitly, abort the
34510 installation. Add the result to MODULES.
34511
34512 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34513 disk/powerpc/ieee1275/ofdisk.c,
34514 include/grub/powerpc/ieee1275/init.h and
34515 term/powerpc/ieee1275/ofconsole.c.
34516 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34517 term/ieee1275/ofconsole.c.
34518
34519 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34520
34521 * COPYING: Upgraded to the latest version. Only the address of the
34522 FSF office has changed.
f19dbdb7 34523
efd6e6d5 345242005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34525
34526 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34527 kern/ieee1275.c with kern/ieee1275/of.c.
34528
34529 * kern/ieee1275.c: Moved to ...
34530 * kern/ieee1275/of.c: ... here.
34531
8ceafda2 345322005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34533
34534 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 34535 readability.
8ceafda2 34536
34537 * config.guess: Updated to the latest version from gnulib.
34538 * config.sub: Likewise.
34539 * install.sh: Likewise.
34540 * mkinstalldirs: Likewise.
34541
34542 * include/grub/console.h: Removed. This file is arch-specific. Do
34543 not put this in include/grub.
34544
34545 * include/grub/i386/pc/console.h: Resurrected.
34546
34547 * util/console.c: Include grub/machine/console.h instead of
34548 grub/console.h.
34549 * util/grub-emu.c: Likewise.
34550
267f6cd9 345512005-08-04 Marco Gerards <metgerards@student.han.nl>
34552
34553 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34554 hardcoded value.
f19dbdb7 34555
267f6cd9 34556 From Vincent Pelletier <subdino2004@yahoo.fr>
34557 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34558 Redefined to use grub_getwh.
34559 (grub_term): New member named getwh.
34560 (grub_getwh): New prototype.
34561 * kern/term.c (grub_getwh): New function.
34562 * term/i386/pc/console.c (grub_console_getwh): New function.
34563 (grub_console_term): New member `getwh'.
34564 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34565 (grub_vga_term): New member `getwh'.
0b5abe02 34566 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 34567 grub_ssize_t.
34568 (grub_ofconsole_getw): New function.
34569 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34570 (grub_ofconsole_term): New field named getwh and new initial
34571 value.
34572
3be7266d 345732005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34574
34575 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34576 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34577 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34578 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34579 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34580 of <grub/machine/ieee1275.h>.
34581 * commands/ieee1275/reboot.c: Likewise.
34582 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34583 * kern/ieee1275.c: ... to here. All users updated. Change all
34584 parameter structs to use new type `grub_ieee1275_cell_t'.
34585 * term/powerpc/ieee1275/ofconsole.c: Move ...
34586 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34587 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34588 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34589 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34590 to return int.
34591 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34592 Remove unused prototypes. All users updated.
34593 * include/grub/powerpc/ieee1275/console.h: Removed.
34594 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34595 `grub_ieee1275_cell_t'.
34596 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34597 Cast comparisons with -1 to the correct type.
34598 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34599 type to match `grub_ieee1275_entry_fn'.
34600
8b5f3938 346012005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34602
34603 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34604
34605 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34606 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34607 partmap/sun.c.
34608 (grub_probefs_SOURCES): New variable.
34609
34610 * util/i386/pc/grub-probefs.c: New file.
34611
34612 * util/i386/pc/grub-setup.c (main): Call
34613 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34614 grub_hfs_init and grub_jfs_init to initialize the system. Call
34615 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34616 grub_pc_partition_map_fini to finish the system.
34617
ea409713 346182005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34619
34620 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34621 function.
34622 (grub_multiboot_load_elf32): Likewise.
34623 (grub_multiboot_is_elf64): Likewise.
34624 (grub_multiboot_load_elf64): Likewise.
34625 (grub_multiboot_load_elf): Likewise.
34626 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34627 an ELF32 or ELF64 file.
34628 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34629
34630 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34631 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34632 NULL before calling FS->LABEL.
34633 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34634 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34635 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34636 before calling FS->LABEL.
34637
141a288b 346382005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34639
34640 * util/i386/pc/grub-install.in (datadir): New variable.
34641 (libdir): Removed.
34642 (pkgdatadir): New variable.
34643 (pkglibdir): Removed.
34644
0d5f8a54 346452005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34646
34647 * DISTLIST: Added util/i386/pc/grub-install.in.
34648
34649 * util/i386/pc/grub-install.in: New file.
34650
34651 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34652 (grub_install_SOURCES): Likewise.
34653
34654 * genmk.rb: Added support for scripts.
34655 (Script): New class.
34656 (scripts): New variable.
34657
34658 * Makefile.in (install-local): Install sbin_SCRIPTS by
34659 INSTALL_SCRIPT.
34660 (uninstall): Remove sbin_SCRIPTS.
34661
34662 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34663 device, try to get a GRUB device by
34664 grub_util_biosdisk_get_grub_dev.
34665 Free DEST_DEV.
34666
34667 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34668 description for --device-map.
34669
5f968e1e 346702005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34671
34672 Change the semantics of variable hooks. They now return strings
34673 instead of error values.
f19dbdb7 34674
5f968e1e 34675 * util/i386/pc/grub-setup.c: Include grub/env.h.
34676 (setup): Use grub_device_set_root instead of grub_env_set.
34677
34678 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34679 grub_env_get instead of grub_device_set_root and
34680 grub_device_get_root, respectively.
34681
34682 * kern/main.c (grub_env_write_root): New function.
34683 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34684 grub_env_set instead of grub_device_set_root.
34685
34686 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34687 many variables.
34688 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34689 rather than calling ENV->WRITE_HOOK afterwards.
34690 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34691 passing a pointer of a pointer.
34692 (grub_register_variable_hook): Change the types of "read_hook" and
34693 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34694 respectively.
34695 Allocate the default empty string on the heap, because this string
34696 may be freed later.
34697
34698 * kern/device.c: Include grub/env.h.
34699 (grub_device_set_root): Removed.
34700 (grub_device_get_root): Likewise.
34701 (grub_device_open): Use grub_env_get instead of
34702 grub_device_get_root.
34703
34704 * include/grub/env.h (grub_env_read_hook_t): New type.
34705 (grub_env_write_hook_t): Likewise.
34706 (grub_env_var): Change the types of "read_hook" and "write_hook"
34707 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34708 (grub_register_variable_hook): Likewise.
34709
34710 * include/grub/device.h (grub_device_set_root): Removed.
34711 (grub_device_set_root): Likewise.
34712
34713 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34714 make sure that DIRNAME terminates with '/', so that
34715 grub_fat_find_dir will fail if PATH is not a directory.
34716
34717 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34718 from DIRNAME.
34719 Use the qualifier auto for print_files and print_files_long.
34720 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34721 as a regular file.
34722 Put a newline only if there is no error.
34723 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34724 used.
34725
896f0afd 347262005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34727
34728 * kern/partition.c (grub_partition_probe): Initialize PART to
34729 NULL. Otherwise, when no partition map is registered, this returns
34730 a garbage.
34731
b28b81b2 347322005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34733
34734 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34735 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34736 valid.
34737
5f3607e0 347382005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34739
34740 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34741 information on each device, if it does not have partitions. Print
34742 "Device" instead of "Disk", because this function is not specific
34743 to disk devices.
34744
34745 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34746 static to ensure that it is put on the memory rather than a
34747 register.
34748
502c87e8 347492005-07-17 Yoshinori Okuji <okuji@enbug.org>
34750
34751 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34752 (grub_cat_init): Likewise.
34753 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34754 (options): Likewise.
34755 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34756 (grub_configfile_init): Likewise.
34757 * font/manager.c (GRUB_MOD_INIT): Likewise.
34758 * commands/help.c (GRUB_MOD_INIT): Likewise.
34759 (grub_help_init): Likewise.
34760 * normal/command.c (grub_command_init): Likewise.
34761 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34762 * disk/loopback.c (grub_loop_init): Likewise.
34763 (GRUB_MOD_INIT): Likewise.
34764 * commands/ls.c (grub_ls_init): Likewise.
34765 (GRUB_MOD_INIT): Likewise.
34766 (options): Likewise.
34767 * commands/boot.c (grub_boot_init): Likewise.
34768 (GRUB_MOD_INIT): Likewise.
34769 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34770 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34771 (GRUB_MOD_INIT): Likewise.
34772 * commands/cmp.c (grub_cmp_init): Likewise.
34773 (GRUB_MOD_INIT): Likewise.
34774
34775 * normal/arg.c: Use <> instead of "" to include header files.
34776 (SHORT_ARG_HELP): New macro.
34777 (SHORT_ARG_USAGE): Likewise.
34778 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34779 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34780 descriptions.
34781 (find_short): Check if C is 'h' or 'u' explicitly.
34782 (grub_arg_show_help): Use space characters instead of tabs. Treat
34783 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34784 are shown with --help and --usage only if they are not used for
34785 the command itself.
34786 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34787 'h' and 'u'.
34788
34789 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34790 const into "longarg". Change the type of "shortarg" to int.
34791
f806d18e 347922005-07-17 Yoshinori Okuji <okuji@enbug.org>
34793
34794 * boot/i386/pc/boot.S (boot_drive_check): New label.
34795
34796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34797 macro.
34798
34799 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34800 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34801
e293232b 348022005-07-17 Yoshinori Okuji <okuji@enbug.org>
34803
34804 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34805 When turning off Gate A20, skip the check and return immediately,
34806 because this is not fatal usually.
34807
ebedfd00 348082005-07-17 Yoshinori Okuji <okuji@enbug.org>
34809
34810 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34811 be 0x7C00 instead of 0x8000.
34812
34813 * boot/i386/pc/pxeboot.S: Rewritten.
34814
34815 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34816 EXT_C.
34817 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34818 result.
34819
654fc59f 348202005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34821
34822 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34823 robustness. This routine now supports a BIOS call and System
34824 Control Port A to modify the gate A20.
34825
34826 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34827 Increased to 0x440.
34828
09f9923f 348292005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34830
34831 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34832 device path and resulting ihandle.
34833 (grub_ofdisk_close): dprintf the ihandle being closed.
34834 (grub_ofdisk_read): dprintf function parameters.
34835 * kern/mm.c (grub_mm_init_region): Likewise.
34836 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34837 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34838 size, and boot arguments.
34839 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34840 before loading into memory.
34841 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34842 before loading into memory.
34843
7ef504d8 348442005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34845
34846 * kern/mm.c: Added much documentation.
34847 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34848 8, set to 5 instead of 8.
34849
e0f050c2 348502005-07-10 Yoshinori Okuji <okuji@enbug.org>
34851
34852 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34853
34854 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34855 (grub_mkdevicemap_SOURCES): New variable.
34856
34857 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34858 lib/device.c of GRUB Legacy.
34859
7224189a 348602005-07-10 Yoshinori Okuji <okuji@enbug.org>
34861
34862 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34863 instead of PATH is NULL.
34864
68c864eb 348652005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34866
34867 * commands/cmp.c (BUFFER_SIZE): New macro.
34868 (grub_cmd_cmp): Close the right file at the right time. Compare
34869 only data just read. Don't report files of different size as
34870 identical. Dynamically allocate buffers. Move variable
34871 declarations at the beginning of function.
34872
e6f3e614 348732005-07-09 Yoshinori Okuji <okuji@enbug.org>
34874
34875 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34876 reverse.
34877
f8f1559a 348782004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34879
34880 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34881 when backspace is pressed at beginning of line.
34882
39c9d41d 348832005-07-03 Yoshinori Okuji <okuji@enbug.org>
34884
34885 * DISTLIST: Added genfslist.sh.
34886
34887 * normal/main.c (fs_module_list): New variable.
34888 (autoload_fs_module): New function.
34889 (read_fs_list): Likewise.
34890 (grub_normal_execute): Call read_fs_list.
34891
34892 * kern/fs.c (grub_fs_autoload_hook): New variable.
34893 (grub_fs_probe): Added support for auto-loading.
34894
34895 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34896 (grub_fs_module_list_t): New type.
34897
34898 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34899 (grub_fs_autoload_hook): New prototype.
34900
34901 * genfslist.sh: New file.
f19dbdb7 34902
39c9d41d 34903 * genmk.rb: Added a rule to generate a filesystem list.
34904
121c1d83 349052005-06-30 Marco Gerards <metgerards@student.han.nl>
34906
34907 * configure.ac: Fix the test for cross-compiling.
34908
34909 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34910 define GRUB_UTIL anymore.
34911
34912 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34913 so this function works on other systems than just big endian.
34914 (load_modules): Likewise.
34915 (add_segments): Likewise.
34916
e75d76e1 349172005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34918
34919 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34920 contains `l' modifier, get a long from va_arg().
34921
50b5a0a7 349222005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34923
34924 * kern/mm.c (grub_free): If the next free block which is being
34925 merged is the first free block, set the first block to the block
34926 being freed.
34927 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34928
89371b20 349292005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34930
34931 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34932 `grub_ieee1275_chosen'.
34933
168d6e58 349342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34935
34936 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34937 (grub_ieee1275_chosen): New variable.
34938 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34939 `chosen'.
34940 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34942 Rename first argument to `phandle' for consistency.
34943 (grub_ieee1275_get_property_length): Likewise.
34944 (grub_ieee1275_next_property): Likewise. Change type of first argument
34945 to grub_ieee1275_phandle_t.
34946 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34947 Move export next to declaration.
34948 (grub_ieee1275_chosen): New variable.
34949 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34950 Correct cosmetic typo.
34951 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34952 `grub_ieee1275_chosen'.
34953 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34954 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34955 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34956 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34957 `grub_ieee1275_chosen'.
34958
ca5baa3f 349592005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34960
34961 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
34962 /chosen/bootargs.
34963 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
34964 /chosen/bootargs as "variable=value" pairs.
34965
708b345f 349662005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
34967
34968 * include/grub/misc.h (grub_dprintf): New macro.
34969 (grub_real_dprintf): New prototype.
34970 (grub_strword): Likewise.
34971 (grub_iswordseparator): Likewise.
34972 * kern/misc.c (grub_real_dprintf): New function.
34973 (grub_strword): Likewise.
34974 (grub_iswordseparator): Likewise.
34975
f4c5e67c 349762005-04-30 Hollis Blanchard <hollis@penguinppc.org>
34977
34978 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
34979 (roundup): Remove macro.
34980 (grub_ieee1275_flags): Make static.
34981 (grub_ieee1275_realmode): Remove.
34982 (grub_ieee1275_test_flag): New function.
34983 (grub_ieee1275_set_flag): Likewise.
34984 (find_options): Rename to `grub_ieee1275_find_options'; update
34985 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
34986 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
34987 (cmain): New prototype.
34988 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
34989 `grub_ieee1275_flags' directly.
34990 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
34991 machine/biosdisk.h.
34992 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
34993 Don't include grub/machine/init.h.
34994 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
34995 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34996 Remove prototype.
34997 (grub_ieee1275_realmode): Likewise.
34998 (grub_ieee1275_flag): New enum.
34999 (grub_ieee1275_test_flag): New prototype.
35000 (grub_ieee1275_set_flag): New prototype.
35001 * include/grub/powerpc/ieee1275/init.h: Remove file.
35002 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35003 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35004 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35005 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35006 comment.
35007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35008 `grub_ieee1275_test_flag'.
35009 (grub_ieee1275_encode_devname): Likewise.
35010
ed16607e 350112005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35012
35013 * include/grub/powerpc/ieee1275/ieee1275.h
35014 (grub_ieee1275_encode_devname): New prototype.
35015 (grub_ieee1275_get_filename): Likewise.
35016 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35017 function.
35018 (grub_set_prefix): Likewise.
35019 (grub_machine_init): Call grub_set_prefix.
35020 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35021 (grub_parse_type): New enum.
35022 (grub_ieee1275_get_devargs): New function.
35023 (grub_ieee1275_get_devname): Likewise.
35024 (grub_ieee1275_parse_args): Likewise.
35025 (grub_ieee1275_get_filename): Likewise.
35026 (grub_ieee1275_encode_devname): Likewise.
35027
be369920 350282005-03-30 Marco Gerards <metgerards@student.han.nl>
35029
35030 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35031 `grub_loader_unset'.
35032
a5ce3a4a 350332005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35034
35035 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35036 instead of grub_ieee1275_interpret.
35037 (grub_halt_init): New function.
35038 (grub_halt_fini): Likewise.
35039 (GRUB_MOD_INIT): Correct message grammar.
35040 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35041 instead of grub_ieee1275_interpret.
35042 (grub_reboot_init): New function.
35043 (grub_reboot_fini): Likewise.
35044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35045 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35046 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35047 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35048 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35049 function.
35050 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35051 Add prototype.
35052 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35053 prototype.
35054 (grub_halt): Likewise.
35055 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35056 (cmain): Remove __attribute__((unused)).
35057 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35058 (grub_heap_len): Likewise.
35059 (grub_machine_fini): New function.
35060 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35061 (grub_halt): Likewise.
35062 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35063 function.
35064 * util/powerpc/ieee1275/misc.c: New file.
35065
0058f771 350662005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35067
35068 * DISTLIST: New file.
35069 * gendistlist.sh: Likewise.
f19dbdb7 35070
0058f771 35071 * Makefile.in (COMMON_DISTFILES): Removed.
35072 (BOOT_DISTFILES): Likewise.
35073 (CONF_DISTFILES): Likewise.
35074 (DISK_DISTFILES): Likewise.
35075 (FS_DISTFILES): Likewise.
35076 (INCLUDE_DISTFILES): Likewise.
35077 (KERN_DISTFILES): Likewise.
35078 (LOADER_DISTFILES): Likewise.
35079 (TERM_DISTFILES): Likewise.
35080 (UTIL_DISTFILES): Likewise.
35081 (DISTFILES): Likewise.
35082 (uninstall): Uninstall files in $(pkgdata_DATA).
35083 (DISTLIST): New target.
35084 (distdir): Use the contents of the file DISTLIST to get a list of
35085 distributed files.
35086
46b3b8a5 350872005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35088
35089 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35090 descriptor. This is ported from GRUB Legacy.
35091
35092 * gencmdlist.sh: Added an extra semicolon to make it work with
35093 old sed versions. Reported by Robert Bihlmeyer
35094 <robbe@orcus.priv.at>.
35095
5822ff87 350962005-03-08 Yoshinori Okuji <okuji@enbug.org>
35097
35098 Automatic loading of commands is supported.
f19dbdb7 35099
5822ff87 35100 * normal/main.c (read_command_list): New function.
35101 (grub_normal_execute): Call read_command_list.
35102
35103 * normal/command.c (grub_register_command): Return zero or CMD.
35104 Allocate CMD->NAME from the heap.
35105 Initialize CMD->MODULE_NAME to zero.
35106 Find the same name as well. If the same command is found and it is
35107 a dummy command, overwrite members. If it is not a dummy command,
35108 return zero.
35109 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35110 (grub_command_find): If a dummy command is found, load a module
35111 and retry to find a command only once.
35112
35113 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35114 make sure that each command is loaded.
35115
35116 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35117 macro.
35118 (struct grub_command): Remove const from the member `name'.
35119 Add a new member `module_name'.
35120 (grub_register_command): Return grub_command_t.
35121
35122 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35123 sure that each command is loaded.
35124
35125 * genmk.rb (PModule::rule): Specify a module name without the
35126 suffix ".mod" to gencmdlist.sh.
35127
7b1f4b57 351282005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35129
35130 * gencmdlist.sh: New file.
f19dbdb7 35131
7b1f4b57 35132 * genmk.rb (PModule::rule): Generate a rule for a command list.
35133 Clean command.lst.
35134 Generate command.lst from $(COMMANDFILES).
35135
35136 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35137 (DATA): Added $(pkgdata_DATA).
35138 (install-local): Install files in $(pkgdata_DATA).
35139
062aaf39 351402005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35141
35142 * term/i386/pc/vga.c (debug_command): Removed.
35143 (GRUB_MOD_INIT): Do not register the command "debug".
35144
35145 From Hollis Blanchard:
35146 * commands/configfile.c: New file.
35147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35148 commands/configfile.c.
35149 (pkgdata_MODULES): Added configfile.mod.
35150 (configfile_mod_SOURCES): New variable.
35151 (configfile_mod_CFLAGS): Likewise.
35152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35153 commands/configfile.c.
35154 (pkgdata_MODULES): Added configfile.mod.
35155 (configfile_mod_SOURCES): New variable.
35156 (configfile_mod_CFLAGS): Likewise.
35157 * util/grub-emu.c (main): Call grub_configfile_init and
35158 grub_configfile_fini.
35159 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35160 prototype.
35161 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 35162
cee01aa6 351632005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35164
35165 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35166 address.
35167
35168 * commands/help.c (grub_cmd_help): Do not print newlines after
35169 the last command in print_command_help.
35170
93f3a1d8 351712005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35172
35173 * commands/default.h: New file.
35174 * commands/timeout.h: Likewise.
35175 * normal/context.c: Likewise.
f19dbdb7 35176
93f3a1d8 35177 * util/misc.c: Do not include sys/times.h.
35178 Include sys/time.h and grub/machine/time.h.
35179 (grub_get_rtc): Rewritten with gettimeofday.
35180
35181 * util/grub-emu.c (main): Call grub_default_init and
35182 grub_timeout_init before grub_normal_init, and call
35183 grub_timeout_fini and grub_default_fini after grub_main.
35184
35185 * util/console.c (grub_ncurses_checkkey): Return the read
35186 character or -1.
35187
35188 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35189 timeouts.
35190
35191 * normal/main.c (read_config_file): Push MENU. If this fails,
35192 print an error and wait for a user input.
35193 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35194 If a menu is empty or an error occurs, pop MENU.
35195 (grub_normal_execute): Pop and free MENU after grub_menu_run
35196 returns.
35197
35198 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35199
35200 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35201 include time.h.
35202 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35203 without GRUB_UTIL.
35204 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35205 time.h.
35206 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35207 without GRUB_UTIL.
35208
35209 * include/grub/normal.h (struct grub_menu_list): New struct.
35210 (grub_menu_list_t): New type.
35211 (struct grub_context): New struct.
35212 (grub_context_t): New type.
35213 (grub_register_command): Got rid of EXPORT_FUNC.
35214 (grub_unregister_command): Likewise.
35215 (grub_context_get): New prototype.
35216 (grub_context_get_current_menu): Likewise.
35217 (grub_context_push_menu): Likewise.
35218 (grub_context_pop_menu): Likewise.
35219 [GRUB_UTIL] (grub_default_init): Likewise.
35220 [GRUB_UTIL] (grub_default_fini): Likewise.
35221 [GRUB_UTIL] (grub_timeout_init): Likewise.
35222 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35223
35224 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35225 commands/timeout.c and normal/context.c.
35226 (pkgdata_MODULES): Added default.mod and timeout.mod.
35227 (normal_mod_SOURCES): Added normal/context.c.
35228 (default_mod_SOURCES): New variable.
35229 (default_mod_CFLAGS): Likewise.
35230 (timeout_mod_SOURCES): Likewise.
35231 (timeout_mod_CFLAGS): Likewise.
35232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35233 conf/i386-pc.rmk.
35234 (pkgdata_MODULES): Added default.mod and timeout.mod.
35235 (normal_mod_SOURCES): Added normal/context.c.
35236 (default_mod_SOURCES): New variable.
35237 (default_mod_CFLAGS): Likewise.
35238 (timeout_mod_SOURCES): Likewise.
35239 (timeout_mod_CFLAGS): Likewise.
35240
35241 * Makefile.in (all-local): Added $(MKFILES).
35242
4ed2e1dd 352432005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35244
35245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35246 (grub_emu_SOURCES): Likewise.
35247 (pkgdata_MODULES): Add `sun.mod'.
35248 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35250 `partmap/sun.c'.
35251 (pkgdata_MODULES): Add `sun.mod'.
35252 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35253 * include/grub/partition.h (grub_sun_partition_map_init): New
35254 prototype.
35255 (grub_sun_partition_map_fini): Likewise.
35256 * partmap/sun.c: New file.
35257 * util/grub-emu.c (main): Initialize and de-initialize the sun
35258 partitionmap support.
35259
4d4e372e 352602005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35261
35262 This implements an Emacs-like menu entry editor.
f19dbdb7 35263
4d4e372e 35264 * normal/menu_entry.c: New file.
f19dbdb7 35265
4d4e372e 35266 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35267 characters to ASCII.
35268 (saved_char): New variable.
35269 (grub_ncurses_checkkey): Rewritten completely.
35270 (grub_ncurses_getkey): Likewise.
35271 (grub_ncurses_init): Call raw instead of cbreak.
35272
35273 * normal/menu.c (print_entry): Do not put a space.
35274 (init_page): Renamed to ...
35275 (grub_menu_init_page): ... this. All callers changed.
35276 (edit_menu_entry): Removed.
35277 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35278
35279 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35280
35281 * kern/misc.c (grub_vprintf): Call grub_refresh.
35282
35283 * normal/menu.c (DISP_LEFT): Renamed to ...
35284 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35285 * normal/menu.c (DISP_UP): Renamed to ...
35286 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35287 * normal/menu.c (DISP_RIGHT): Renamed to ...
35288 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35289 * normal/menu.c (DISP_DOWN): Renamed to ...
35290 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35291 * normal/menu.c (DISP_HLINE): Renamed to ...
35292 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35293 * normal/menu.c (DISP_VLINE): Renamed to ...
35294 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35295 * normal/menu.c (DISP_UL): Renamed to ...
35296 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35297 * normal/menu.c (DISP_UR): Renamed to ...
35298 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35299 * normal/menu.c (DISP_LL): Renamed to ...
35300 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35301 * normal/menu.c (DISP_LR): Renamed to ...
35302 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35303 * normal/menu.c (TERM_WIDTH): Renamed to ...
35304 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35305 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35306 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35307 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35308 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35309 * normal/menu.c (TERM_MARGIN): Renamed to ...
35310 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35311 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35312 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35313 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35314 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35315 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35316 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35317 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35318 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35319 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35320 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35321 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35322 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35323 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35324 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35325 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35326 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35327 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35328 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35329 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35330 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35331 All callers changed.
35332
35333 * include/grub/normal.h: New prototype.
35334
35335 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35336 normal/menu_entry.c.
35337 (normal_mod_SOURCES): Likewise.
35338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35339 (normal_mod_SOURCES): Likewise.
35340
e6b92c8a 353412005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35342
35343 * include/grub/normal.h (grub_halt_init): New prototype.
35344 (grub_halt_fini): Likewise.
35345 (grub_reboot_init): Likewise.
35346 (grub_reboot_fini): Likewise.
35347
35348 * util/grub-emu.c: Include signal.h.
35349 (main_env): New global variable.
35350 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35351 catch C-c.
35352 (grub_machine_fini): New function.
35353 (main): Call grub_halt_init and grub_reboot_init before
35354 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35355 Call setjmp with MAIN_ENV to go back afterwards.
35356 Call grub_machine_fini right before return.
35357
35358 * include/grub/util/misc.h: Include setjmp.h.
35359 (main_env): New prototype.
35360
35361 * include/grub/kernel.h (grub_machine_fini): New prototype.
35362 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35363 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35364
35365 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35366 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35367 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 35368
e6b92c8a 35369 * util/i386/pc/misc.c: New file.
f19dbdb7 35370
e6b92c8a 35371 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35372 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35373 commands/i386/pc/reboot.c.
35374
c642636f 353752005-02-14 Guillem Jover <guillem@hadrons.org>
35376
35377 * include/grub/dl.h (grub_dl_check_header): New prototype.
35378 (grub_arch_dl_check_header): Change return type to grub_err_t,
35379 remove size parameter and export function. Update all callers.
35380 * kern/dl.c (grub_dl_check_header): New function.
35381 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35382 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35383 are inside the core.
35384 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35385 independent ELF header checks.
35386 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35387 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35388 `grub_dl_check_header' instead of explicit checks. Check for the
35389 ELF type.
35390 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35391 `grub_dl_check_header' instead of explicit checks. Remove arch
35392 specific ELF header checks.
35393
e6b92c8a 35394 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35395 argument SIZE.
35396
5eabe94b 353972005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35398
35399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35400 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35401
1b14a681 354022005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35403
35404 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 35405 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 35406 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 35407 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 35408 * partmap/amiga.c (amiga_partition_map_iterate): Return
35409 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35410 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35411
aca108aa 354122005-02-01 Guillem Jover <guillem@hadrons.org>
35413
35414 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35415 help info.
35416
c9f9c556 354172005-01-31 Marco Gerards <metgerards@student.han.nl>
35418
35419 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35420 Removed prototype.
35421 (grub_rescue_cmd_linux): New prototype.
35422 (grub_rescue_cmd_initrd): Likewise.
35423 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35424 `bi_rec'.
35425 (grub_linux_release_mem): Release the memory for the initrd.
35426 (grub_load_linux): Renamed from this...
35427 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35428 Changed `entry' not to be static. Loop over memory regions to
35429 find another one when the default fails.
35430 (grub_rescue_cmd_initrd): New function.
35431 (grub_linux_init): Remove function.
35432 (grub_linux_fini): Likewise.
35433 (GRUB_MOD_INIT): Register `initrd'.
35434 (GRUB_MOD_FINI): Unregister `initrd'.
35435 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35436 Function removed.
35437 (grub_linux_normal_fini): Likewise.
35438 (GRUB_MOD_INIT): Register `initrd'.
35439 (GRUB_MOD_FINI): Unregister `initrd'.
35440
990cf3aa 354412005-01-31 Marco Gerards <metgerards@student.han.nl>
35442
35443 * commands/help.c: New file.
35444 * normal/arg.c (show_help): Renamed to...
35445 (grub_arg_show_help): ... this.
35446 * commands/i386/pc/halt.c: New file.
35447 * commands/i386/pc/reboot.c: Likewise.
35448 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35449 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35450 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35451 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35452 variables.
35453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35454 `commands/help.c'.
35455 (pkgdata_MODULES): Add `help.mod'.
35456 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35457 * grub/i386/pc/init.h (grub_reboot): New prototype.
35458 (grub_halt): Likewise.
35459 * include/grub/normal.h (grub_arg_show_help): New prototype.
35460 (grub_help_init): Likewise.
35461 (grub_help_fini): Likewise.
35462 * util/grub-emu.c (main): Initialize and deinitialize the help
35463 command.
35464
35465 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35466
35467 * normal/command.c (grub_command_init): Fixed the description of
35468 the `set' and `unset' commands.
35469
354702005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 35471
35472 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35473 function.
35474 * commands/ieee1275/halt.c: New file.
35475 * commands/ieee1275/reboot.c: Likewise.
35476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35477 `__attribute__ ((unused))'. Some GCS related fixed.
35478 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35479 (grub_suspend_fini): Likewise.
35480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35481 and `halt.mod'.
35482 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35483 (halt_mod_CFLAGS): New variables.
35484 * include/grub/powerpc/ieee1275/ieee1275.h
35485 (grub_ieee1275_interpret): New prototype.
35486
1ab09cc7 354872005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35488
35489 * include/grub/misc.h (memmove): New prototype.
35490 (memcpy): Likewise.
35491
8b8cbdb2 354922005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35493
35494 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35495 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35496
e3741a27 354972005-01-22 Marco Gerards <metgerards@student.han.nl>
35498
35499 * kern/misc.c (grub_strndup): Function rewritten.
35500
776bd780 355012005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35502
35503 * normal/menu.c (TERM_WIDTH): Macro redefined.
35504 (TERM_TOP_BORDER_Y): Likewise.
35505 (draw_border): Replaced while-loop by a for-loop. Make the number
35506 of lines consistent with the number of lines displayed in
35507 print_entries. Added a margin below the rectangle.
35508 (print_entry): Make the entry fit in the rectangle.
35509 (print_entries): Display the scroll arrows next to the right
35510 border.
35511
78026bce 355122005-01-21 Marco Gerards <metgerards@student.han.nl>
35513
35514 * fs/minix.c (grub_minix_find_file): Reserve more space for
35515 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35516 `grub_strncpy' to copy `path' into it.
35517
67bbaf0f 355182005-01-21 Marco Gerards <metgerards@student.han.nl>
35519
35520 Add the loopback device, a device via which files can be accessed
35521 as devices.
f19dbdb7 35522
67bbaf0f 35523 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35524 (pkgdata_MODULES): Add loopback.mod.
35525 (loopback_mod_SOURCES): New variable.
35526 (loopback_mod_CFLAGS): Likewise.
35527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35528 `disk/loopback.c'.
35529 (pkgdata_MODULES): Add loopback.mod.
35530 (loopback_mod_SOURCES): New variable.
35531 (loopback_mod_CFLAGS): Likewise.
35532 * disk/loopback.c: new file.
35533 * include/grub/normal.h (grub_loop_init): New prototype.
35534 (grub_loop_fini): New prototype.
35535 * util/grub-emu.c (main): Initialize and de-initialize loopback
35536 support.
35537 * include/grub/disk.h (grub_disk_dev_id): Add
35538 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35539
6f1c18bd 355402005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35541
35542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35543 function.
35544 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35545 (suspend_mod_SOURCES): New variable.
35546 (suspend_mod_CFLAGS): Likewise.
35547 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35548 New prototype.
35549 * commands/ieee1275/suspend.c: New file.
35550
b38551da 355512005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35552
35553 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 35554 ((unused))' to `__attribute__ ((used))'.
b38551da 35555 (GRUB_MOD_FINI): Likewise.
35556 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35557 * genmk.rb (PModule): Assign space to common symbols when linking
35558 modules.
35559
777aff39 355602005-01-20 Marco Gerards <metgerards@student.han.nl>
35561
35562 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35563 `unsigned' arguments to `grub_size_t'.
35564 (grub_malloc): Likewise.
35565 (grub_realloc): Likewise.
35566 (grub_memalign): Likewise.
35567 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35568 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35569 * util/misc.c (grub_malloc): Likewise.
35570 (grub_realloc): Likewise.
35571 * kern/mm.c (get_header_from_pointer): Change the casts to
35572 `unsigned' into a cast to `grub_size_t'.
35573
35574 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35575 point to `currnode' when `currnode' is changed.
35576
35577 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35578 Schottelius <nico-linux@schottelius.org>.
35579
d0ff18e1 355802005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35581
35582 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35583 (note_path): Remove variable.
35584 (GRUB_IEEE1275_NOTE_NAME): New macro.
35585 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35586 (grub_ieee1275_note_hdr): New structure.
35587 (grub_ieee1275_note_desc): Likewise.
35588 (grub_ieee1275_note): Likewise.
35589 (load_note): Remove `dir' argument. All callers updated. Remove
35590 `note_img' and `path'. Do not load a file from `note_path'.
35591 Initialize a struct grub_ieee1275_note and write that to `out'.
35592 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35593
4ca7004c 355942005-01-05 Marco Gerards <metgerards@student.han.nl>
35595
35596 * util/misc.c (grub_util_read_image): Revert last change. It
35597 called `grub_util_read_at', which seeks from the beginning of the
35598 file.
35599
0b412211 356002005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35601
35602 * TODO: Add note about endianness in grub-mkimage.
35603 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35604 section.
35605 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35606 (grub_mkimage_SOURCES): New target.
35607 * include/grub/kernel.h (grub_start_addr): Remove variable.
35608 (grub_end_addr): Likewise.
35609 (grub_total_module_size): Likewise.
35610 (grub_kernel_image_size): Likewise.
35611 (GRUB_MODULE_MAGIC): New constant.
35612 (grub_module_info): New structure.
35613 (grub_arch_modules_addr): New prototype.
35614 (grub_get_end_addr): Remove prototype.
35615 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35616 * include/grub/powerpc/ieee1275/kernel.h: New file.
35617 * include/grub/util/misc.h (grub_util_get_fp_size): New
35618 prototype.
35619 (grub_util_read_at): Likewise.
35620 (grub_util_write_image_at): Likewise.
35621 * kern/main.c (grub_get_end_addr): Remove function.
35622 (grub_load_modules): Call grub_arch_modules_addr instead of using
35623 grub_end_addr. Look for a grub_module_info struct in memory. Use
35624 the grub_module_info fields instead of calling grub_get_end_addr
35625 as loop conditions. Move grub_add_unused_region code here.
35626 (grub_add_unused_region): Remove function.
35627 * kern/i386/pc/init.c: Include grub/cache.h.
35628 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35629 one call to add_mem_region.
35630 (grub_arch_modules_addr): New function.
35631 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35632 (grub_total_module_size): Likewise.
35633 Include grub/machine/kernel.h.
35634 (grub_arch_modules_addr): New function.
35635 * util/grub-emu.c (grub_end_addr): Remove variable.
35636 (grub_total_module_size): Likewise.
35637 (grub_arch_modules_addr): New function.
35638 * util/misc.c: Include unistd.h.
35639 (grub_util_get_fp_size): New function.
35640 (grub_util_read_at): Likewise.
35641 (grub_util_write_image_at): Likewise.
35642 (grub_util_read_image): Call grub_util_read_at.
35643 (grub_util_write_image): Call grub_util_write_image_at.
35644 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35645 additional memory in kernel_img for a struct grub_module_info.
35646 Fill in that grub_module_info.
35647 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35648
458786f8 356492005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35650
35651 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35652 New function.
35653 * include/grub/powerpc/ieee1275/ieee1275.h
35654 (grub_ieee1275_milliseconds): New prototype.
35655 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35656 Change to 1000.
35657 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35658 grub_ieee1275_milliseconds.
35659
ac507d1b 356602005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35661
35662 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35663 variable.
35664 (find_options): New function.
35665 (cmain): Call find_options.
35666 * include/grub/powerpc/ieee1275/ieee1275.h
35667 (grub_ieee1275_realmode): New extern variable.
35668 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35669 grub_map if grub_ieee1275_realmode is false.
35670
6b8fd1c4 356712004-12-29 Marco Gerards <metgerards@student.han.nl>
35672
35673 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35674 lines are inserted and make it work like readline. Reported by
35675 Vincent Pelletier <subdino2004@yahoo.fr>.
35676
8514a1e0 356772004-12-28 Marco Gerards <metgerards@student.han.nl>
35678
35679 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35680
35681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35682 `kern/powerpc/cache.S'.
35683
924b6140 356842004-12-27 Marco Gerards <metgerards@student.han.nl>
35685
35686 * genmk.rb: Handle the `Program' class in the main loop. Written
35687 by Johan Rydberg <jrydberg@gnu.org>.
35688 (Program): New class.
35689 (programs): New variable.
35690 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35691 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35692 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35693 (help_arch): Function removed.
35694 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35695 `powerpc/libgcc.h' and `loader.h'.
35696 (pkgdata_PROGRAMS): New variable.
35697 (sbin_UTILITIES): Variable removed.
35698 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35699 (grubof_SOURCES): Variable re-defined so it only includes the
35700 core functionality.
35701 (grubof_CFLAGS): Remove `-DGRUBOF'.
35702 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35703 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35704 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35705 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35706 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35707 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35708 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35709 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35710 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35711 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35712 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35713 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35714 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35715 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35716 (pc_mod_CFLAGS): New variables.
35717 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35718 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35719 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35720 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35721 Moved from here...
35722 * include/grub/i386/pc/init.h (grub_os_area_addr)
35723 (rub_os_area_size): ... to here.
35724 * include/grub/powerpc/ieee1275/ieee1275.h
35725 (grub_ieee1275_entry_fn): Export symbol.
35726 * include/grub/powerpc/ieee1275/init.h: New file.
35727 * include/grub/powerpc/libgcc.h: Likewise.
35728 * include/grub/cache.h: Likewise.
35729 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35730 <hollis@penguinppc.org>.
35731 * kern/dl.c: Include <grub/cache.h>.
35732 (grub_dl_flush_cache): New function.
35733 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35734 for this module.
35735 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35736 (grub_console_init): Removed prototypes.
35737 (grub_machine_init): Don't initialize the modules anymore.
35738 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35739 static.
35740 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35741 Macro undef removed.
35742 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35743 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35744 relocation `R_PPC_REL32'. Return an error when the relocation is
35745 unknown.
35746 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35747 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35748 * util/misc.c (grub_arch_sync_caches): Likewise.
35749
e4b47e0c 357502004-12-19 Marco Gerards <metgerards@student.han.nl>
35751
35752 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35753 `symlist.c', add `grubof_symlist.c'.
35754 (symlist.c): Variable removed.
35755 (grubof_HEADERS): Variable added.
35756 (grubof_symlist.c): New target.
35757 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35758 `kernel_img_HEADERS'.
35759 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35760 * kern/powerpc/dl.c: New file.
35761 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35762 Function removed.
35763 (grub_arch_dl_relocate_symbols): Likewise.
35764 (grub_register_exported_symbols): Likewise.
35765
4ceb3636 357662004-12-13 Marco Gerards <metgerards@student.han.nl>
35767
35768 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35769 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35770 to fail instead. Reported by Vincent Pelletier
35771 <subdino2004@yahoo.fr>.
35772
35773 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35774 it is not allocated. Reported by Vincent Pelletier
35775 <subdino2004@yahoo.fr>.
35776
35777 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35778 output so the output looks better.
f19dbdb7 35779
3f1578fe 357802004-12-04 Marco Gerards <metgerards@student.han.nl>
35781
35782 Modulize the partition map support and add support for the amiga
35783 partition map.
f19dbdb7 35784
3f1578fe 35785 * commands/ls.c: Include <grub/partition.h> instead of
35786 <grub/machine/partition.h>.
35787 * kern/disk.c: Likewise.
35788 * kern/rescue.c: Likewise.
35789 * loader/i386/pc/chainloader.c: Likewise.
35790 * normal/cmdline.c: Likewise.
35791 * kern/powerpc/ieee1275/init.c: Likewise.
35792 (grub_machine_init): Call `grub_pc_partition_map_init',
35793 `grub_amiga_partition_map_init' and
35794 `grub_apple_partition_map_init'.
35795 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35796 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35797 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35798 `partition.h' and `pc_partition.h'.
35799 (grub_setup_SOURCES): Remove
35800 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35801 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35802 (grub_emu_SOURCES): Likewise.
35803 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35804 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35805 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35807 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35808 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35809 (grubof_SOURCES): Likewise.
35810 * disk/i386/pc/partition.c: File removed.
35811 * disk/powerpc/ieee1275/partition.c: Likewise.
35812 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35813 * include/grub/i386/pc/partition.h: Likewise.
35814 * kern/partition.c: New file.
35815 * partmap/amiga.c: Likewise.
35816 * partmap/apple.c: Likewise.
35817 * partmap/pc.c: Likewise.
35818 * include/grub/partition.h: Likewise..
35819 * include/grub/pc_partition.h: Likewise.
35820 * util/grub-emu.c: Include <grub/partition.h> instead of
35821 <grub/machine/partition.h>.
35822 (main): Call `grub_pc_partition_map_init',
35823 `grub_amiga_partition_map_init' and
35824 `grub_apple_partition_map_init' and deinitialize afterwards.
35825 * util/i386/pc/biosdisk.c: Include `#include
35826 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35827 `<grub/machine/partition.h>'.
35828 * util/i386/pc/grub-setup.c: Likewise.
35829 * util/i386/pc/biosdisk.c: Likewise.
35830 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35831 partition information in case of a PC partition.
35832 * util/i386/pc/grub-setup.c: Include `#include
35833 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35834 `<grub/machine/partition.h>'.
35835 (setup): Only access the PC specific partition information in case
35836 of a PC partition.
35837
0ef4ced9 358382004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35839
0ef4ced9 35840 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35841 (grub_longjmp): Likewise.
35842 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35843 20.
35844 * normal/powerpc/setjmp.S: New file.
35845 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35846 `normal/powerpc/setjmp.S'.
35847 (grubof_CFLAGS): Add `-DGRUBOF'.
35848 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35849 [GRUB_UTIL && !GRUBOF].
f19dbdb7 35850
19950e29 358512004-11-16 Marco Gerards <metgerards@student.han.nl>
35852
35853 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35854 property named `name'. Correctly handle the error returned by
35855 `grub_ieee1275_finddevice' if a device can not be opened.
35856
a2fea427 358572004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35858
35859 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35860 `actual' for negativity.
35861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35862 kern/fshelp.c.
35863
41ea0ea3 358642004-11-01 Marco Gerards <metgerards@student.han.nl>
35865
35866 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35867 (PAGE_OFFSET): New macro.
35868 (CRTC_ADDR_PORT): Likewise.
35869 (CRTC_DATA_PORT): Likewise.
35870 (START_ADDR_HIGH_REGISTER): Likewise.
35871 (START_ADDR_LOW_REGISTER): Likewise.
35872 (GRAPHICS_ADDR_PORT): Likewise.
35873 (GRAPHICS_DATA_PORT): Likewise.
35874 (READ_MAP_REGISTER): Likewise.
35875 (INPUT_STATUS1_REGISTER): Likewise.
35876 (INPUT_STATUS1_VERTR_BIT): Likewise.
35877 (page): New variable.
35878 (wait_vretrace): New function.
35879 (set_read_map): Likewise.
35880 (set_start_address): Likewise.
35881 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35882 the right page.
35883 (check_vga_mem): Take the page into account.
35884 (write_char): Likewise.
35885 (write_cursor): Likewise.
35886 (scroll_up): Likewise. Copy the page to the page that is not
35887 shown and switch between both pages.
35888 (grub_vga_putchar): Fix off by one error.
35889 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35890 account.
35891
ad0bd20b 358922004-11-01 Marco Gerards <metgerards@student.han.nl>
35893
35894 Add support for iso9660 (including rockridge).
f19dbdb7 35895
ad0bd20b 35896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35897 (iso9660_mod_SOURCES): New variable.
35898 (iso9660_mod_CFLAGS): Likewise.
35899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35900 * include/grub/fs.h (grub_iso9660_init): New prototype.
35901 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35902 * fs/iso9660.c: New file.
35903
35904 * include/grub/misc.h (grub_strncat): New prototype.
35905 * kern/misc.c (grub_strncat): New function.
f19dbdb7 35906
ad0bd20b 35907 * fs/hfs.c (grub_hfs_mount): Translate the error
35908 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35909 * fs/jfs.c (grub_jfs_mount): Likewise.
35910 * fs/ufs.c (grub_ufs_mount): Likewise.
35911
a5477a59 359122004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35913
35914 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35915 which initialized BAT registers.
35916 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35917 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35918 Move from here...
35919 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35920 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35921 ... to here.
35922 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35923 (grub_mapclaim): Likewise.
35924 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35925 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35926 hand.
35927
9304c1f8 359282004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35929
35930 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35931 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35932 -ffreestanding and -msoft-float.
35933
86f4ae25 359342004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35935
35936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35937 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35938 set in grub_ieee1275_flags.
35939
38912228 359402004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35941
35942 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35943 prototype.
35944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35945 grub_console_init first.
35946 Change the memory range used for grub_ieee1275_claim and
35947 grub_mm_init_region.
35948 Print an error message if the claim fails.
35949 Include <grub/misc.h>.
35950
d1923dc8 359512004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35952
35953 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35954 Call grub_children_iterate for device nodes of type `scsi',
35955 `ide', or `ata'.
35956 (grub_ofdisk_open): Remove manual device alias resolution.
35957 Fix memory leak when device cannot be opened.
f19dbdb7 35958 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 35959 (grub_children_iterate): New prototype.
35960 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
35961 New function.
35962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35963 Return -1 if args.size was -1.
35964
4512e4f3 359652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35966
35967 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
35968 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
35969 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
35970 Open Firmware's memory for it; claim memory from _start to _end.
35971 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
35972 (_end): New extern.
35973 (_start): Zero BSS from __bss_start to _end.
35974 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35975 New extern.
35976 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
35977
4d61feb0 359782004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35979
ad0bd20b 35980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
35981 -1 if args.base was -1.
4d61feb0 35982
026fa2f9 359832004-10-08 Hollis Blanchard <hollis@penguinppc.org>
35984
35985 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
35986 escape sequence instead of a literal ^L. Also call
35987 grub_ofconsole_gotoxy.
35988
9f2220ef 359892004-10-03 Hollis Blanchard <hollis@penguinppc.org>
35990
35991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
35992 void * arguments to grub_addr_t. All callers updated. Also make
35993 the `result' argument optional.
35994 (grub_ieee1275_release): change void * arguments to grub_addr_t.
35995 All callers updated.
35996
8a572cd7 359972004-09-22 Hollis Blanchard <hollis@penguinppc.org>
35998
35999 * commands/ls.c (grub_ls_list_files): Use the string following the
36000 initial ')', if present, as the filesystem path.
36001 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36002
36003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36004
18aa81f2 360052004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36006
36007 Make the source code of the menu interface more readable.
f19dbdb7 36008
18aa81f2 36009 * normal/menu.c: Include grub/mm.h.
36010 (TERM_WIDTH): New macro.
36011 (TERM_HEIGHT): Likewise.
36012 (TERM_INFO_HEIGHT): Likewise.
36013 (TERM_MARGIN): Likewise.
36014 (TERM_SCROLL_WIDTH): Likewise.
36015 (TERM_TOP_BORDER_Y): Likewise.
36016 (TERM_LEFT_BORDER_X): Likewise.
36017 (TERM_BORDER_WIDTH): Likewise.
36018 (TERM_MESSAGE_HEIGHT): Likewise.
36019 (TERM_BORDER_HEIGHT): Likewise.
36020 (TERM_NUM_ENTRIES): Likewise.
36021 (TERM_FIRST_ENTRY_Y): Likewise.
36022 (TERM_ENTRY_WIDTH): Likewise.
36023 (TERM_CURSOR_X): Likewise.
36024 (draw_border): Use macros instead of magic numbers.
36025 (print_entry): Likewise.
36026 (print_entries): Likewise.
36027 (run_menu): Likewise. Also, handle the key 'e'.
36028 (run_menu_entry): Ignore empty command lines.
36029 (print_message): Added a new argument EDIT. If EDIT is true,
36030 print a different message.
36031 (init_page): Likewise.
36032 (edit_menu_entry): New function. Not implemented yet.
36033
b47efe30 360342004-09-17 Marco Gerards <metgerards@student.han.nl>
36035
36036 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36037 can be loaded from normal mode.
f19dbdb7 36038
b47efe30 36039 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36040 `multiboot.mod'.
36041 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36042 (multiboot_mod_CFLAGS): New variables.
36043 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 36044 * loader/i386/pc/multiboot_normal.c: Likewise.
36045
b47efe30 36046 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36047 attribute `unused'.
f19dbdb7 36048
b47efe30 36049 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36050 `fdiro' to read the mode information from instead of `diro'.
36051
36052 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36053 looking up a symlink.
36054
36055 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36056 macro.
36057 * normal/command.c (grub_command_execute): Don't parse the
36058 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36059 flags of the command.
36060
36061 * normal/menu.c (grub_menu_run): Fix typo.
36062
da75ac71 360632004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36064
36065 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36066
36067 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36068 `y + 1' instead of `y - 1'.
36069
36070 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 36071
062b24c2 360722004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36073
36074 From Hollis Blanchard <hollis@penguinppc.org>:
36075 * kern/misc.c (memmove): New alias for grub_memmove.
36076 (memcmp): New alias for grub_memcmp.
36077 (memset): New alias for grub_memset.
f19dbdb7 36078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 36079 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 36080 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 36081 (grub_ieee1275_get_property): Likewise.
f19dbdb7 36082
8ddad845 360832004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36084
36085 Added normal mode command `chainloader' as module chain.mod, which
36086 depends on normal.mod and _chain.mod.
f19dbdb7 36087
8ddad845 36088 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36089 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36090 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36091 Deleted prototype.
36092 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36093 but arguments parsing moved to ...
36094 (grub_chainloader_cmd): ... here. New function.
36095 * include/grub/i386/pc/chainloader.h: New file.
36096 * loader/i386/pc/chainloader_normal.c: Likewise.
36097
2c1f4ce3 360982004-09-11 Marco Gerards <metgerards@student.han.nl>
36099
36100 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36101 (grub_mkimage_LDFLAGS): Likewise.
36102 (grub_emu_SOURCES): Likewise.
36103 (kernel_img_HEADERS): Added fshelp.h.
36104 * fs/ext2.c: Include <grub/fshelp.h>.
36105 (FILETYPE_REG): New macro.
36106 (FILETYPE_INO_REG): Likewise.
36107 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36108 Changed all users.
36109 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36110 all users.
36111 (grub_fshelp_node): New struct.
36112 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36113 to a pointer.
36114 (grub_ext2_get_file_block): Removed function.
36115 (grub_ext2_read_block): New function.
36116 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36117 This function was written.
36118 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36119 (grub_ext2_find_file): Removed function.
36120 (grub_ext2_read_symlink): New function.
36121 (grub_ext2_iterate_dir): Likewise.
36122 (grub_ext2_open): Rewritten.
36123 (grub_ext2_dir): Rewritten.
36124 * include/grub/fshelp.h: New file.
36125 * fs/fshelp.c: Likewise.
36126
3c52136a 361272004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36128
36129 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36130 (print_message): Add a missing newline.
36131 (run_menu): Added timeout support.
36132 (run_menu_entry): New local function.
36133 (grub_menu_run): Added support for booting.
36134
36135 * kern/loader.c (grub_loader_is_loaded): New function.
36136
36137 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36138 (grub_get_rtc): Exported.
36139
36140 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36141 (grub_get_rtc): Exported.
36142
36143 * include/grub/normal.h (struct grub_command_list): Remove
36144 constant from the member `command'.
36145
36146 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36147
36148 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36149
36150 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36151
aa033560 361522004-08-28 Marco Gerards <metgerards@student.han.nl>
36153
36154 Add support for the JFS filesystem.
36155
36156 * fs/jfs.c: New file.
36157 * include/grub/fs.h (grub_jfs_init): New prototype.
36158 (grub_jfs_fini): New prototype.
36159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36160 (grub_emu_SOURCES): Likewise.
36161 (pkgdata_MODULES): Add jfs.mod.
36162 (jfs_mod_SOURCES): New variable.
36163 (jfs_mod_CFLAGS): Likewise.
36164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36165 (grubof_SOURCES): Likewise.
36166 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36167
36168 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36169 endian to the host endian.
36170 (grub_fat_utf16_to_utf8): Move function from there...
36171 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 36172 the endianness of the source string anymore.
aa033560 36173 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36174
94bc45af 361752004-08-24 Marco Gerards <metgerards@student.han.nl>
36176
36177 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36178 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36179 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36180 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 36181
94bc45af 36182 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36183 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36184 for `node_found' and `it_dir'.
36185 (grub_hfs_dir): Add prototype for `dir_hook'.
36186
36187 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36188 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36189 and `indir32' to silence a gcc warning.
36190
36191 * include/grub/fs.h (grub_hfs_init): New prototype.
36192 (grub_hfs_fini): Likewise.
f19dbdb7 36193
36194
97543f08 361952004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36196
36197 Each disk device has its own id now. This is useful to make use
36198 of multiple disk devices.
f19dbdb7 36199
97543f08 36200 * include/grub/disk.h (grub_disk_dev_id): New enum.
36201 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36202 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36203
36204 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36205 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36206
36207 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36208 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36209
36210 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36211 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36212
36213 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36214 "id" which is used by the cache manager.
36215
36216 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36217 of just "GRUB".
36218
64372eb4 362192004-08-18 Marco Gerards <metgerards@student.han.nl>
36220
36221 * fs/hfs.c: New file.
36222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36223 (grub_emu_SOURCES): Likewise.
36224 (pkgdata_MODULES): Add hfs.mod.
36225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36226 (grubof_SOURCES): Likewise.
36227 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36228
36229 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36230 * kern/misc.c (grub_strncasecmp): Add function.
36231
cc61b58f 362322004-08-14 Marco Gerards <metgerards@student.han.nl>
36233
36234 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36235 with parentheses.
36236
36237 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36238 (grub_ext2_dir): In case the directory entry type is unknown, read
36239 it from the inode.
36240
0ef123f6 362412004-08-02 Peter Bruin <pjbruin@dds.nl>
36242
36243 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36244 grub_load_linux instead of grub_rescue_cmd_linux as second
36245 argument of grub_rescue_register_command.
36246
36247 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36248
a447c5df 362492004-07-27 Marco Gerards <metgerards@student.han.nl>
36250
36251 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36252 function.
36253 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36255 `loader/powerpc/ieee1275/linux.c',
36256 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36257 * include/grub/powerpc/ieee1275/ieee1275.h
36258 (grub_ieee1275_release): New prototype.
36259 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36260 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36261 normal, boot, linux and linux_normal.
36262 * loader/powerpc/ieee1275/linux.c: New file.
36263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36264
5a9e3546 362652004-07-12 Marco Gerards <metgerards@student.han.nl>
36266
36267 * normal/arg.c (grub_arg_parse): Correct error handling after
36268 reallocating the argumentlist (check if `argl' is not null instead
36269 of checking if `args' is not null).
36270 * kern/mm.c (grub_realloc): Return the same pointer when using the
36271 same region, instead of returning the header address.
36272
e15199cb 362732004-07-11 Marco Gerards <metgerards@student.han.nl>
36274
36275 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36276 one block instead of two when looking for the initial partition.
36277 (grub_partition_probe): Initialize the local variable `p' with 0.
36278 Use base 10 for the grub_strtoul call.
36279 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36280 need for one local variable.
36281 (grub_strtoul): Don't add the new value to `num', instead of that
36282 just assign it.
36283
020616c2 362842004-07-11 Marco Gerards <metgerards@student.han.nl>
36285
36286 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36287 (pxeboot_img_SOURCES): New variable.
36288 (pxeboot_img_ASFLAGS): Likewise.
36289 (pxeboot_img_LDFLAGS): Likewise.
36290 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36291 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36292 <lode_leroy@hotmail.com>.
36293
6c51eb64 362942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36295
36296 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36297 there was no input.
36298
cfb12aff 362992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36300
36301 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36302 the history buffer logic.
36303
6eabba74 363042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36305
36306 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36307 (FILETYPE_INO_SYMLINK): New macros.
36308 (grub_ext2_find_file): Check if the node is a directory using the
36309 inode stat information instead of using the filetype in the
36310 dirent. Exclude the first character of an absolute symlink.
36311 (grub_ext2_dir): Mask out the filetype part of the mode member of
36312 the inode.
36313
66e19ef8 363142004-05-24 Marco Gerards <metgerards@student.han.nl>
36315
36316 Add support for UFS version 1 and 2. Add support for the minix
36317 filesystem version 1 and 2, both the variants with 14 and 30 long
36318 filenames.
f19dbdb7 36319
66e19ef8 36320 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36321 fs/minix.c.
36322 (grub_emu_SOURCES): Likewise.
36323 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36324 (ufs_mod_SOURCES): New variable.
36325 (ufs_mod_CFLAGS): Likewise.
36326 (minix_mod_SOURCES): Likewise.
36327 (minix_mod_CFLAGS): Likewise.
36328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36329 fs/minix.c.
36330 (grubof_SOURCES): Likewise.
36331 * fs/ufs.c: New file.
36332 * fs/minix.c: New file.
36333 * include/grub/fs.h (grub_ufs_init): New prototype.
36334 (grub_ufs_fini): Likewise.
36335 (grub_minix_init): Likewise.
36336 (grub_minix_fini): Likewise.
36337 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36338 minix fs.
36339
cc2e748a 363402004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36341
36342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36343 commands/ls.c, commands/terminal.c, commands/boot.c,
36344 commands/cmp.c and commands/cat.c.
36345 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36346
36347 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36348 "env.h"
36349
4b13b216 363502004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36351
36352 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36353 and grub_, respectively. Because the conversion is trivial and
36354 mechanical, I omit the details here. Please refer to the CVS
36355 if you need more information.
36356
6a142551 363572004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36358
36359 * include/pupa: Renamed to ...
36360 * include/grub: ... this.
36361 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36362 * util/i386/pc/grub-mkimage.c: ... this.
36363 * util/i386/pc/pupa-setup.c: Renamed to ...
36364 * util/i386/pc/grub-setup.c: ... this.
36365 * util/pupa-emu.c: Renamed to ...
36366 * util/grub-emu.c: ... this.
36367
e56cdf21 363682004-03-29 Marco Gerards <metgerards@student.han.nl>
36369
36370 Add support for the newworld apple macintosh (PPC). This has been
36371 tested on the powerbook 2000 only. It only adds support for
36372 generic ieee1275 functions, console and disk support. This should
36373 be easy to port to other architectures with support for Open
36374 Firmware.
f19dbdb7 36375
e56cdf21 36376 * configure.ac: Accept the powerpc as host_cpu. In the case of
36377 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36378 specific tests are only executed while building for the i386.
36379 Inverse test for crosscompile.
36380 * genmk.rb (Utility): Allow assembler files.
36381 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36382 * conf/powerpc-ieee1275.rmk: New file.
36383 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36384 * disk/powerpc/ieee1275/partition.c: Likewise.
36385 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36386 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36387 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36388 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36389 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36390 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36391 * include/pupa/powerpc/ieee1275/loader.h
36392 * include/pupa/powerpc/setjmp.h: Likewise.
36393 * include/pupa/powerpc/types.h: Likewise.
36394 * kern/powerpc/ieee1275/init.c: Likewise.
36395 * kern/powerpc/ieee1275/openfw.c: Likewise.
36396 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36397
36398 These files were written by Johan Rydberg
36399 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 36400
e56cdf21 36401 * boot/powerpc/ieee1275/cmain.c: New file.
36402 * boot/powerpc/ieee1275/crt0.S: Likewise.
36403 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36404 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36405
8c8cc205 364062004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36407
36408 * Makefile.in: Update copyright.
36409 * genmodsrc.sh: Likewise.
36410 * gensymlist.sh: Likewise.
36411 * term/i386/pc/vga.c: Indent correctly.
36412
36413 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36414 bugreporting address.
36415 * util/i386/pc/pupa-setup.c (usage): Likewise,
36416 (main): Call pupa_ext2_init and pupa_ext2_fini.
36417
f19dbdb7 36418 * fs/fat.c (log2): Renamed to ...
8c8cc205 36419 (fat_log2): ... this.
36420 All callers changed.
36421 * kern/misc.c (memcpy): Alias to pupa_memmove.
36422 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36423 lvalue cast.
36424 * util/console.c (pupa_ncurses_fini): Return 0.
36425
36426 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36427 Move fail label here.
36428 [__GNU__]: Don't warn when using stat.
36429 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36430 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36431 long int. Use strtol instead of strtoul.
f19dbdb7 36432
db1771cf 364332004-03-14 Marco Gerards <metgerards@student.han.nl>
36434
36435 * commands/boot.c: New file.
36436 * commands/cat.c: Likewise.
36437 * commands/cmp.c: Likewise.
36438 * commands/ls.c: Likewise.
36439 * commands/terminal.c: Likewise.
36440 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36441 (pupa_register_command): Changed interface to match the new
36442 argument parser.
36443 (pupa_command_execute): Changed (almost rewritten) so it uses
36444 pupa_split_command. Added support for setting variables using the
36445 syntax `foo=bar'.
36446 (rescue_command): Changed to work with the new argument parser.
36447 (terminal_command): Moved from here to commands/terminal.c.
36448 (set_command): New function.
36449 (unset_command): New function.
36450 (insmod_command): New function.
36451 (rmmod_command): New function.
36452 (lsmod_command): New function.
36453 (pupa_command_init): Don't initialize the command terminal
36454 anymore. Initialize the commands set, unset, insmod, rmmod and
36455 lsmod.
36456 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36457 (kernel_img_HEADERS): Add arg.h and env.h.
36458 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36459 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36460 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36461 normal/arg.c.
36462 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36463 terminal.mod.
36464 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36465 (boot_mod_SOURCES): New variable.
36466 (terminal_mod_SOURCES): Likewise.
36467 (ls_mod_SOURCES): Likewise.
36468 (cmp_mod_SOURCES): Likewise.
36469 (cat_mod_SOURCES): Likewise.
36470
36471 * normal/arg.c: New file.
36472 * kern/env.c: Likewise.
36473 * include/pupa/arg.h: Likewise.
36474 * include/pupa/env.h: Likewise.
36475 * font/manager.c (font_command): Changed to match argument parsing
36476 interface changes.
36477 (PUPA_MOD_INIT): Likewise.
36478 * hello/hello.c (pupa_cmd_hello): Likewise.
36479 (PUPA_MOD_INIT): Likewise.
36480 * include/pupa/disk.h: Include <pupa/device.h>.
36481 (pupa_print_partinfo): New prototype.
36482 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36483 (pupa_dl_get_prefix): Likewise.
36484 * include/pupa/misc.h: Include <pupa/err.h>.
36485 (pupa_isgraph): New prototype.
36486 (pupa_isdigit): Likewise.
36487 (pupa_split_cmdline): Likewise.
36488 * include/pupa/normal.h: Include <pupa/arg.h>.
36489 (pupa_command): Changed the prototype of the member `func' to
36490 match the argument parsing interface. Added member `options'.
36491 (pupa_register_command): Updated to match function.
36492 (pupa_arg_parse): New prototype.
36493 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36494 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36495 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36496 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36497 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36498 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36499 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36500 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36501 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36502 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36503 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36504 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36505 * kern/disk.c: Include <pupa/file.h>.
36506 (pupa_print_partinfo): New function.
36507 * kern/dl.c: Include <pupa/env.h>.
36508 (pupa_dl_dir): Variable removed.
36509 (pupa_dl_load): Use the environment variable `prefix' instead of
36510 the variable pupa_dl_dir.
36511 (pupa_dl_set_prefix): Function removed.
36512 (pupa_dl_get_prefix): Likewise.
36513 * kern/i386/pc/init.c: Include <pupa/env.h>.
36514 (pupa_machine_init): Use the environment variable `prefix' instead of
36515 using pupa_dl_set_prefix to set the prefix.
36516 * kern/main.c: Include <pupa/env.h>.
36517 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36518 using pupa_dl_get_prefix to get the prefix.
36519 * kern/misc.c: Include <pupa/env.h>.
36520 (pupa_isdigit): New function.
36521 (pupa_isgraph): Likewise.
36522 (pupa_ftoa): Likewise.
36523 (pupa_vsprintf): Added support for printing values of the type
36524 `double'. Make it possible to format variable output when using
36525 formatting like `%1.2%f'.
36526 (pupa_split_cmdline): New function.
36527 * kern/rescue.c: Include <pupa/env.h>.
36528 (next_word): Removed function.
36529 (pupa_rescue_cmd_prefix): Likewise.
36530 (pupa_rescue_cmd_set): New function.
36531 (pupa_rescue_cmd_unset): New function.
36532 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36533 split the command line instead of splitting it here. Added
36534 support for setting variables using the syntax `foo=bar'. Don't
36535 initialize the prefix command anymore. Initialized the set and
36536 unset commands.
36537 * normal/cmdline.c: Include <pupa/env.h>.
36538 (pupa_tab_complete): Added prototypes for print_simple_completion,
36539 print_partition_completion, add_completion, iterate_commands,
36540 iterate_dev, iterate_part and iterate_dir. Moved code to print
36541 partition information from here to kern/disk.c.
fe6b695a 36542 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 36543 * normal/main.c: Include <pupa/env.h>.
36544 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36545 instead of using pupa_dl_get_prefix to get the prefix.
36546 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36547 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36548 warning.
36549 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36550 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36551 ((unused))' to silence a gcc warning.
36552 (pupa_vga_setcolor): Likewise.
36553 (debug_command): Changed to match argument parsing
36554 interface changes.
36555 * util/pupa-emu.c: Include <pupa/env.h>.
36556 (options): Added 0's for unused fields to silence a gcc warning.
36557 (argp): Likewise.
36558 (main): Use the environment variable `prefix' instead of using
36559 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36560 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36561 and terminal.
36562
36563 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36564 * util/misc.c: Include <malloc.h>.
36565 (pupa_malloc): Rewritten so errors are correctly reported.
36566 (pupa_realloc): Likewise.
36567 (pupa_memalign): Likewise.
36568 (pupa_mm_init_region): Declare unused variables with
36569 `__attribute__ ((unused))' to silence a gcc warning.
36570 * normal/i386/setjmp.S: Remove tab at the end of the file to
36571 silence a gcc warning.
36572 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36573 variables with `__attribute__ ((unused))' to silence a gcc
36574 warning.
36575 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36576 local variable i unsigned to silence a gcc warning.
36577
36578 * kern/term.c: Include <pupa/misc.h>.
36579 (pupa_more_lines): New variable.
36580 (pupa_more): Likewise.
36581 (pupa_putcode): When the pager is active pause at the end of every
36582 screen.
36583 (pupa_set_more): New function.
36584 * include/pupa/term.h (pupa_set_more): New prototype.
36585
36586
3b1139cb 365872004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36588
36589 Now this project is GRUB 2 rather than PUPA. The location of
36590 the CVS repository was moved to GRUB's.
f19dbdb7 36591
3b1139cb 36592 * configure.ac: Use bug-grub as the reporting address.
36593 Use GRUB instead of PUPA.
36594 Change the version number to 1.90.
36595
8367695c 365962004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36597
36598 * genkernsyms.sh: Updated copyright information.
36599 * genmk.rb: Likewise.
36600 * genmodsrc.sh: Likewise.
36601 * gensymlist.sh: Likewise.
36602 * boot/i386/pc/boot.S: Likewise.
36603 * boot/i386/pc/diskboot.S: Likewise.
36604 * disk/i386/pc/biosdisk.c: Likewise.
36605 * disk/i386/pc/partition.c: Likewise.
36606 * font/manager.c: Likewise.
36607 * fs/ext2.c: Likewise.
36608 * fs/fat.c: Likewise.
36609 * include/pupa/boot.h: Likewise.
36610 * include/pupa/device.h: Likewise.
36611 * include/pupa/disk.h: Likewise.
36612 * include/pupa/dl.h: Likewise.
36613 * include/pupa/elf.h: Likewise.
36614 * include/pupa/err.h: Likewise.
36615 * include/pupa/file.h: Likewise.
36616 * include/pupa/font.h: Likewise.
36617 * include/pupa/fs.h: Likewise.
36618 * include/pupa/kernel.h: Likewise.
36619 * include/pupa/loader.h: Likewise.
36620 * include/pupa/misc.h: Likewise.
36621 * include/pupa/mm.h: Likewise.
36622 * include/pupa/net.h: Likewise.
36623 * include/pupa/normal.h: Likewise.
36624 * include/pupa/rescue.h: Likewise.
36625 * include/pupa/setjmp.h: Likewise.
36626 * include/pupa/symbol.h: Likewise.
36627 * include/pupa/term.h: Likewise.
36628 * include/pupa/types.h: Likewise.
36629 * include/pupa/i386/setjmp.h: Likewise.
36630 * include/pupa/i386/types.h: Likewise.
36631 * include/pupa/i386/pc/biosdisk.h: Likewise.
36632 * include/pupa/i386/pc/boot.h: Likewise.
36633 * include/pupa/i386/pc/console.h: Likewise.
36634 * include/pupa/i386/pc/init.h: Likewise.
36635 * include/pupa/i386/pc/kernel.h: Likewise.
36636 * include/pupa/i386/pc/linux.h: Likewise.
36637 * include/pupa/i386/pc/loader.h: Likewise.
36638 * include/pupa/i386/pc/memory.h: Likewise.
36639 * include/pupa/i386/pc/multiboot.h: Likewise.
36640 * include/pupa/i386/pc/partition.h: Likewise.
36641 * include/pupa/i386/pc/time.h: Likewise.
36642 * include/pupa/i386/pc/vga.h: Likewise.
36643 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36644 * include/pupa/util/getroot.h: Likewise.
36645 * include/pupa/util/misc.h: Likewise.
36646 * include/pupa/util/resolve.h: Likewise.
36647 * kern/device.c: Likewise.
36648 * kern/disk.c: Likewise.
36649 * kern/dl.c: Likewise.
36650 * kern/err.c: Likewise.
36651 * kern/file.c: Likewise.
36652 * kern/fs.c: Likewise.
36653 * kern/loader.c: Likewise.
36654 * kern/main.c: Likewise.
36655 * kern/misc.c: Likewise.
36656 * kern/mm.c: Likewise.
36657 * kern/rescue.c: Likewise.
36658 * kern/term.c: Likewise.
36659 * kern/i386/dl.c: Likewise.
36660 * kern/i386/pc/init.c: Likewise.
36661 * kern/i386/pc/lzo1x.S: Likewise.
36662 * kern/i386/pc/startup.S: Likewise.
36663 * loader/i386/pc/chainloader.c: Likewise.
36664 * loader/i386/pc/linux.c: Likewise.
36665 * loader/i386/pc/multiboot.c: Likewise.
36666 * normal/cmdline.c: Likewise.
36667 * normal/command.c: Likewise.
36668 * normal/main.c: Likewise.
36669 * normal/menu.c: Likewise.
36670 * normal/i386/setjmp.S: Likewise.
36671 * term/i386/pc/console.c: Likewise.
36672 * term/i386/pc/vga.c: Likewise.
36673 * util/console.c: Likewise.
36674 * util/genmoddep.c: Likewise.
36675 * util/misc.c: Likewise.
36676 * util/pupa-emu.c: Likewise.
36677 * util/resolve.c: Likewise.
36678 * util/unifont2pff.rb: Likewise.
36679 * util/i386/pc/biosdisk.c: Likewise.
36680 * util/i386/pc/getroot.c: Likewise.
36681 * util/i386/pc/pupa-mkimage.c: Likewise.
36682 * util/i386/pc/pupa-setup.c: Likewise.
36683
e6eced71 366842004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36685
36686 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36687 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36688 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36689 reading and reset it after reading.
36690 (pupa_ext2_close): Return PUPA_ERR_NONE.
36691
36692 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36693 Correct value.
36694 (struct linux_kernel_header): Add kernel_version and
36695 initrd_addr_max.
36696 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36697 pupa_file_read succeeds.
36698 (pupa_rescue_cmd_initrd): Implement.
36699
5aded270 367002003-12-03 Marco Gerards <metgerards@student.han.nl>
36701
36702 * fs/ext2.c (pupa_ext2_label): New function.
36703 (pupa_ext2_fs): Added label.
36704 * fs/fat.c (pupa_fat_label): New function.
36705 (pupa_fat_fs): Added label.
36706 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36707
36708 * kern/misc.c (pupa_strndup): New function.
36709 * include/pupa/misc.h (pupa_strndup): New prototype.
36710
36711 * include/pupa/normal.h: Include <pupa/err.h>.
36712 (pupa_set_history): New prototype.
36713 (pupa_iterate_commands): New prototype.
36714 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36715 <pupa/disk.h>, <pupa/file.h>.
36716 (hist_size): New variable.
36717 (hist_lines): Likewise.
36718 (hist_end): Likewise.
36719 (hist_used): Likewise.
36720 (pupa_set_history): New function.
36721 (pupa_history_get): Likewise.
36722 (pupa_history_add): Likewise.
36723 (pupa_history_replace): Likewise.
36724 (pupa_tab_complete): Likewise.
36725 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36726 completion shows partitionnames while completing partitions, this
36727 feature was suggested by Jeff Bailey.
36728 * normal/command.c (pupa_iterate_commands): New function.
36729 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36730 (pupa_normal_init): Initialize history buffer.
36731 (PUPA_MOD_INIT): Likewise.
36732 (pupa_normal_fini): Free the history buffer.
36733 (PUPA_MOD_FINI): Likewise.
36734
36735 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36736 key.
36737
36738 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36739 * configure.ac [i386]: Check for regparam bug.
36740 (NESTED_FUNC_ATTR) [! i386]: Defined.
36741
1f7315a3 367422003-11-17 Marco Gerards <metgerards@student.han.nl>
36743
36744 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36745 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36746 (pupa_emu_SOURCES): New variable.
36747 (pupa_emu_LDFLAGS): Likewise.
36748 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36749 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36750 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36751 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36752 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36753 (pupa_jmp_buf): New typedef.
36754 (pupa_setjmp) [PUPA_UTIL]: New macro.
36755 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36756 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36757 (pupa_refresh): New prototype.
36758 * include/pupa/util/getroot.h: New file.
36759 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36760 it.
36761 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36762 (pupa_rescue_cmd_cat): Likewise.
36763 (pupa_rescue_cmd_ls): Likewise.
36764 (pupa_rescue_cmd_testload): Likewise.
36765 (pupa_rescue_cmd_lsmod): Likewise.
36766 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36767 * normal/menu.c (run_menu): Likewise.
36768 * kern/term.c (pupa_cls): Likewise.
36769 (pupa_refresh): New function.
36770 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36771 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36772 * util/console.c: New file.
f19dbdb7 36773
1f7315a3 36774 * util/i386/pc/getroot.c: New file.
36775 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36776 (pupa_putchar): New function.
36777 (pupa_refresh): Likewise.
36778 (xgetcwd): Function moved to ...
36779 (strip_extra_slashes): Likewise.
36780 (get_prefix): Likewise.
f19dbdb7 36781 * util/i386/pc/getroot.c: ... here.
1f7315a3 36782 (find_root_device): Function moved and renamed to...
36783 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36784 Changed all callers.
36785 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36786 and renamed to...
36787 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36788 Changed all callers.
36789 * util/misc.c (pupa_memalign): New function.
36790 (pupa_mm_init_region): Likewise.
36791 (pupa_register_exported_symbols): Likewise.
36792 (pupa_putchar): Function removed.
36793 * util/pupa-emu.c: New file.
36794
9a5c1ade 367952003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36796
36797 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36798 (_multiboot_mod_SOURCES): New variable.
36799 (_multiboot_mod_CFLAGS): Likewise.
36800 * loader/i386/pc/multiboot.c: New file.
36801 * include/pupa/i386/pc/multiboot.h: Likewise.
36802 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36803 (pupa_multiboot_real_boot): New function.
36804 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36805 (pupa_multiboot_real_boot): New prototype.
36806 (pupa_rescue_cmd_multiboot): Likewise
36807 (pupa_rescue_cmd_module): Likewise.
36808
36809 * kern/loader.c (pupa_loader_set): Continue when
36810 pupa_loader_unload_func() fails.
36811 (pupa_loader_unset): New function.
36812 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36813
36814 * kern/misc.c (pupa_stpcpy): New function.
36815 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36816
8e72a9c0 368172003-11-12 Marco Gerards <metgerards@student.han.nl>
36818
36819 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36820 for available extensions.
36821
36822 * include/pupa/i386/pc/time.h: New file.
36823 * kern/disk.c: Include <pupa/machine/time.h>.
36824 (PUPA_CACHE_TIMEOUT): New macro.
36825 (pupa_last_time): New variable.
36826 (pupa_disk_open): Flush the cache when there was a timeout.
36827 (pupa_disk_close): Reset the timer.
36828 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36829 pupa_currticks.
36830 * util/misc.c: Include <sys/times.h>
36831 (pupa_get_rtc): New function.
36832
c4adbd32 368332003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36834
36835 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36836 as blocks.
36837 (pupa_ext2_get_file_block): Use blocks member.
36838
36839 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36840 first block. Return -1 instead of pupa_errno on error.
36841
bfd30f06 368422003-10-27 Marco Gerards <metgerards@student.han.nl>
36843
36844 * README: In the pupa-mkimage example use _chain instead of chain
36845 and ext2 instead of fat.
36846 * TODO: Replace ext2fs with jfs as an example. Add an item for
36847 adding journal playback for ext2fs.
36848 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36849 (pkgdata_MODULES): Added ext2.mod.
36850 (ext2_mod_SOURCES): New variable.
36851 (ext2_mod_CFLAGS): Likewise.
36852 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36853 * include/pupa/misc.h (pupa_strncpy): New prototype.
36854 (pupa_strcat): Likewise.
36855 (pupa_strncmp): Likewise.
36856 * kern/misc.c (pupa_strcat): Enable function.
36857 (pupa_strncpy): New function.
36858 (pupa_strncmp): Likewise.
36859 * fs/ext2.c: New file.
f19dbdb7 36860
bfd30f06 36861 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36862 when the read failed before retrying.
36863 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36864 (_FILE_OFFSET_BITS): Likewise.
36865 * configure.ac: Added AC_SYS_LARGEFILE.
36866
98d15063 368672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 * genmk.rb (PModule#rule): Make sure to get only symbol names
36870 from the output of nm.
59cad637 36871 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 36872
18d9c7cd 368732003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 I forgot to check in these changes for a long time. This adds
36876 incomplete support for VGA console, and this is still very
36877 buggy. Also, a lot of consideration is required for I18N,
36878 UNICODE, and VGA font issues. Therefore, assume that this is
36879 such that "better than nothing".
f19dbdb7 36880
18d9c7cd 36881 * font/manager.c: New file.
36882 * include/pupa/font.h: Likewise.
36883 * include/pupa/i386/pc/vga.h: Likewise.
36884 * term/i386/pc/vga.c: Likewise.
36885 * util/unifont2pff.rb: Likewise.
36886
36887 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36888 (pkgdata_MODULES): Added vga.mod and font.mod.
36889 (vga_mod_SOURCES): New variables.
36890 (vga_mod_CFLAGS): Likewise.
36891 (font_mod_SOURCES): Likewise.
36892 (font_mod_CFLAGS): Likewise.
36893
36894 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36895
36896 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 36897 (struct pupa_term): Added init and fini.
18d9c7cd 36898 Changed the argument of putchar to pupa_uint32_t.
36899
36900 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36901 (pupa_console_real_putchar): New prototype.
36902 (pupa_console_putchar): Removed.
36903 (pupa_console_checkkey): Exported.
36904 (pupa_console_getkey): Likewise.
36905
36906 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36907 characters.
36908
36909 * kern/term.c (pupa_term_set_current): Rewritten.
36910 (pupa_putchar): Likewise.
36911 (pupa_putcode): New function.
36912
36913 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36914 (pupa_console_real_putchar): ... this.
36915 (pupa_vga_set_mode): New function.
36916 (pupa_vga_get_font): Likewise.
36917
36918 * normal/command.c: Include pupa/term.h.
36919 (terminal_command): New function.
36920 (pupa_command_init): Register the command "terminal".
36921
36922 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36923 (DISP_UP): Likewise.
36924 (DISP_RIGHT): Likewise.
36925 (DISP_DOWN): Likewise.
36926 (DISP_HLINE): Likewise.
36927 (DISP_VLINE): Likewise.
36928 (DISP_UL): Likewise.
36929 (DISP_UR): Likewise.
36930 (DISP_LL): Likewise.
36931 (DISP_LR): Likewise.
36932
36933 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 36934
977329f5 369352003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36936
36937 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36938 FIX. Reverse the path_list.
36939
36940 * include/pupa/normal.h: Export pupa_register_command and
36941 pupa_unregister_command.
36942
36943 * hello/hello.c (pupa_cmd_hello): New module.
36944 * conf/i386-pc.rmk: Added hello.mod.
36945
1f5ab428 369462003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36947
36948 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 36949
1f5ab428 36950 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36951 (compress_kernel): New variable.
36952 (generate_image): Heavily modified to support compressing a
36953 large part of the core image.
36954
36955 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36956 leak.
36957 (pupa_util_load_image): New function.
36958
36959 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36960 (pupa_compressed_size): New variable.
36961 (codestart): Enable Gate A20 here.
36962 Decompress the compressed part of the core image.
36963 Rearrange the code to put functions and variables which are
36964 required for initialization in the non-compressed part.
36965 Include lzo1x.S.
36966
36967 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
36968 here.
36969
36970 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
36971
f19dbdb7 36972 * include/pupa/i386/pc/kernel.h
1f5ab428 36973 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
36974 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
36975 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36976 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36977 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
36978
36979 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
36980
36981 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
36982 (Utility#rule): Likewise.
36983
36984 * configure.ac: Check if LZO is available.
36985
ce5bf700 369862003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
36987
36988 * include/pupa/normal.h: New file.
36989 * include/pupa/setjmp.h: Likewise.
36990 * include/pupa/i386/setjmp.h: Likewise.
36991 * normal/cmdline.c: Likewise.
36992 * normal/command.c: Likewise.
36993 * normal/main.c: Likewise.
36994 * normal/menu.c: Likewise.
36995 * normal/i386/setjmp.S: Likewise.
f19dbdb7 36996
ce5bf700 36997 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
36998 (pupa_rescue_cmd_initrd): Likewise.
36999
37000 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37001 Likewise.
37002
37003 * kern/i386/pc/startup.S (translation_table): New variable.
37004 (translate_keycode): New function.
37005 (pupa_console_getkey): Call translate_keycode.
37006
37007 * kern/rescue.c (attempt_normal_mode): New function.
37008 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37009 it failed, print a message.
37010
37011 * kern/mm.c (pupa_real_malloc): Print more information when a
37012 free magic is broken.
37013 (pupa_free): If the first free header is not free actually, set
37014 it to P.
37015
37016 * kern/main.c (pupa_load_normal_mode): Just load the module
37017 "normal".
37018 (pupa_main): Don't print the message
37019 "Entering into rescue mode..." here.
37020
37021 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37022 Declared.
37023 (pupa_rescue_cmd_initrd): Likewise.
37024 (pupa_rescue_cmd_initrd): Likewise.
37025
37026 * include/pupa/symbol.h (FUNCTION): Specify the type.
37027 (VARIABLE): Likewise.
37028
37029 * include/pupa/err.h (pupa_err_t): Added
37030 PUPA_ERR_UNKNOWN_COMMAND.
37031
37032 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37033 (pupa_dl_get_prefix): Likewise.
37034
37035 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37036 Added _chain.mod and _linux.mod instead of chain.mod and
37037 linux.mod.
37038 (chain_mod_SOURCES): Renamed to ...
37039 (_chain_mod_SOURCES): ... this.
37040 (chain_mod_CFLAGS): Renamed to ...
37041 (_chain_mod_CFLAGS): ... this.
37042 (linux_mod_SOURCES): Renamed to ...
37043 (_linux_mod_SOURCES): ... this.
37044 (linux_mod_CFLAGS): Renamed to ...
37045 (_linux_mod_CFLAGS): ... this.
37046 (normal_mod_SOURCES): New variable.
37047 (normal_mod_CFLAGS): Likewise.
37048 (normal_mod_ASFLAGS): Likewise.
37049
370502003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37051
37052 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37053 possible.
37054
fe6b695a 37055 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 37056 recursively.
37057 (pupa_dl_unref): Unrefer depending modules recursively.
37058 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37059 a module is unloaded before one depending on that module is
37060 unloaded.
37061 (pupa_dl_unload): Unload depending modules explicitly,
37062 if possible.
37063
c04da074 370642003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37065
37066 * include/pupa/i386/pc/linux.h: New file.
37067 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 37068
c04da074 37069 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37070 Removed.
37071 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37072 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37073 of PUPA_CHAINLOADER_BOOT_SECTOR.
37074
37075 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37076 (pupa_linux_prot_size): New variable.
37077 (pupa_linux_tmp_addr): Likewise.
37078 (pupa_linux_real_addr): Likewise.
37079 (pupa_linux_boot_zimage): New function.
37080 (pupa_linux_boot_bzimage): Likewise.
37081
37082 * kern/i386/pc/init.c (struct mem_region): New structure.
37083 (MAX_REGIONS): New macro.
37084 (mem_regions): New variable.
37085 (num_regions): Likewise.
37086 (pupa_os_area_addr): Likewise.
37087 (pupa_os_area_size): Likewise.
37088 (pupa_lower_mem): Likewise.
37089 (pupa_upper_mem): Likewise.
37090 (add_mem_region): New function.
37091 (compact_mem_regions): Likewise.
37092 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37093 the size of the conventional memory and that of so-called upper
37094 memory (before the first memory hole).
37095 Instead of adding each found region to free memory, use
37096 add_mem_region and add them after removing overlaps.
37097 Also, add only 1/4 of the upper memory to free memory. The rest
37098 is used for loading OS images. Maybe this is ad hoc, but this
37099 makes it much easier to relocate OS images when booting.
37100
37101 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37102 (pupa_enter_rescue_mode): Don't register initrd and module.
37103
37104 * kern/mm.c: Include pupa/dl.h.
37105
37106 * kern/main.c: Include pupa/file.h and pupa/device.h.
37107
37108 * kern/loader.c (pupa_loader_load_module_func): Removed.
37109 (pupa_loader_load_module): Likewise.
37110
37111 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37112 ``.o''.
37113
37114 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37115 (pupa_linux_tmp_addr): Likewise.
37116 (pupa_linux_real_addr): Likewise.
37117 (pupa_linux_boot_zimage): Likewise.
37118 (pupa_linux_boot_bzimage): Likewise.
37119
37120 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37121 (pupa_upper_mem): Likewise.
37122 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37123 module is too dangerous.
37124
37125 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37126 (pupa_os_area_size): Likewise.
37127 (pupa_loader_set): Remove the first argument. Loader doesn't
37128 manage modules or initrd any longer.
37129 (pupa_loader_load_module): Removed.
37130
37131 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37132 (linux_mod_SOURCES): New variable.
37133 (linux_mod_CFLAGS): Likewise.
37134
a13f9237 371352003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37136
37137 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37138 the length of a blocklist correctly.
37139
37140 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37141 Use ioctl only if the OS file is a block device.
37142 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37143 not very useful for normal files.
37144
37145 * kern/main.c (pupa_set_root_dev): New function.
37146 (pupa_load_normal_mode): Likewise.
37147 (pupa_main): Call those above.
37148
37149 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37150 pupa_uint16_t.
37151
37152 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37153
a5ffe966 371542003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37155
37156 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37157 (setup): Configure the installed partition information and the
37158 dl prefix.
37159
37160 * loader/i386/pc/chainloader.c (my_mod): New variable.
37161 (pupa_chainloader_unload): New function.
37162 (pupa_rescue_cmd_chainloader): Refer itself.
37163 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37164
37165 * kern/i386/pc/startup.S (install_partition): Removed.
37166 (version_string): Likewise.
37167 (config_file): Likewise.
37168 (pupa_install_dos_part): New variable.
37169 (pupa_install_bsd_part): Likewise.
37170 (pupa_prefix): Likewise.
37171 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37172
37173 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37174 and pupa/misc.h.
37175 (make_install_device): New function.
37176 (pupa_machine_init): Set the dl prefix.
37177
37178 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37179 (buf): Renamed to ...
37180 (linebuf): ... this.
37181 (pupa_rescue_cmd_prefix): New function.
37182 (pupa_rescue_cmd_insmod): Likewise.
37183 (pupa_rescue_cmd_rmmod): Likewise.
37184 (pupa_rescue_cmd_lsmod): Likewise.
37185 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37186 rmmod and lsmod.
37187
37188 * kern/mm.c (pupa_memalign): If failed even after invalidating
37189 disk caches, unload unneeded modules and retry.
37190
37191 * kern/misc.c (pupa_memmove): New function.
37192 (pupa_memcpy): Removed.
37193 (pupa_strcpy): New function.
37194 (pupa_itoa): Made static.
37195
37196 * kern/dl.c (pupa_dl_iterate): New function.
37197 (pupa_dl_ref): Likewise.
37198 (pupa_dl_unref): Likewise.
37199 (pupa_dl_unload): Return if succeeded or not.
37200 (pupa_dl_unload_unneeded): New function.
37201 (pupa_dl_unload_all): Likewise.
37202 (pupa_dl_init): Renamed to ...
37203 (pupa_dl_set_prefix): ... this.
37204 (pupa_dl_get_prefix): New function.
37205
37206 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37207 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37208 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37209 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37210 (pupa_install_dos_part): Declared.
37211 (pupa_install_bsd_part): Likewise.
37212 (pupa_prefix): Likewise.
37213 (pupa_boot_drive): Likewise.
37214
37215 * include/pupa/types.h: Fix a typo.
37216
37217 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37218 pupa_memmove.
37219 (pupa_memmove): Declared.
37220 (pupa_strcpy): Likewise.
37221
37222 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37223 pupa_mod_init takes one argument, its own module.
37224 (pupa_dl_unload_unneeded): Declared.
37225 (pupa_dl_unload_all): Likewise.
37226 (pupa_dl_ref): Likewise.
37227 (pupa_dl_unref): Likewise.
37228 (pupa_dl_iterate): Likewise.
37229 (pupa_dl_init): Renamed to ...
37230 (pupa_dl_set_prefix): ... this.
37231 (pupa_dl_get_prefix): Declared.
37232
37233 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 37234 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 37235 unloaded.
37236 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37237 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37238
37239 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37240 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37241
012d7999 372422003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37243
37244 * util/i386/pc/pupa-setup.c (setup): Define the internal
37245 function find_first_partition_start at the top level, because GCC
37246 3.0.x cannot compile internal functions in deeper scopes
37247 correctly.
37248 (find_root_device): Use lstat instead of stat.
37249 Don't follow symbolic links.
37250 Fix the path-constructing code.
37251
37252 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37253 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37254 by a BLKGETSIZE ioctl first, because block devices don't fill
37255 the member st_mode of the structure stat on Linux.
37256 [__linux__] (linux_find_partition): Use a temporary buffer
37257 REAL_DEV for the working space. Copy it to DEV before returning.
37258 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37259 buffer cache consistent.
37260 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37261 strncmp. The previous value was merely wrong.
37262 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37263
37264 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37265 FAT size is 12. The previous value was merely wrong.
37266
37267 * kern/main.c (pupa_main): Don't split the starting message from
37268 newlines.
37269
37270 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37271 LF, because BIOS goes crazy about character attributes in this
37272 case.
37273
1cc73a62 372742003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37275
37276 * include/i386/pc/util/biosdisk.h: New file.
37277 * util/i386/pc/biosdisk.c: Likewise.
37278 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 37279
1cc73a62 37280 * Makefile.in (INCLUDE_DISTFILES): Added
37281 include/pupa/i386/pc/util/biosdisk.h.
37282 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37283 directory util/i386/pc.
37284 (install-local): Added a rule for sbin_UTILITIES.
37285 (uninstall): Likewise.
37286
37287 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37288
37289 * util/misc.c (xrealloc): New function.
37290 (pupa_malloc): Likewise.
37291 (pupa_free): Likewise.
37292 (pupa_realloc): Likewise.
37293 (pupa_stop): Likewise.
37294 (pupa_putchar): Likewise.
37295
37296 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37297
37298 * include/pupa/util/misc.h (xrealloc): Declared.
37299
37300 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37301 macro.
37302 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37303 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37304
37305 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37306 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37307
37308 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37309 way should be implemented.
37310 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37311
37312 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37313 the size of NAME for safety.
37314 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37315 0x88.
37316
37317 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37318 (pupa_setup_SOURCES): Likewise.
37319
37320 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37321
08b70fe8 373222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37323
37324 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37325 bunch of pushl's from pusha, because this destroys the return
37326 value.
37327
62ddcc8f 373282002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37329
37330 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37331 This means that any missing prototypes could be fatal. Also, you
37332 must take care when writing assembly code. See the comments at
37333 the beginning of startup.S, for more details.
f19dbdb7 37334
62ddcc8f 37335 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37336 compilation mechanism.
37337 (pupa_chainloader_real_boot): Likewise.
37338 (pupa_biosdisk_rw_int13_extensions): Likewise.
37339 (pupa_biosdisk_rw_standard): Likewise.
37340 (pupa_biosdisk_check_int13_extensions): Likewise.
37341 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37342 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37343 (pupa_get_memsize): Likewise.
37344 (pupa_get_mmap_entry): Likewise.
37345 (pupa_console_putchar): Likewise.
37346 (pupa_console_setcursor): Likewise.
37347 (pupa_getrtsecs): Use pushl instead of push.
37348
37349 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37350 memory instead of the stack for a mmap entry, because some
37351 BIOSes may ignore the maximum size and overflow.
37352
37353 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37354
37355 * genmk.rb (PModule#rule): Compile automatically generated
37356 sources with module-specific CFLAGS as well as other sources.
37357
9962ed99 373582002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37359
37360 * configure.ac: Check ld.
37361 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37362 respectively, before checking endianness and sizes.
37363
37364 * Makefile.in (LD): New variable.
f19dbdb7 37365
abdfc3c5 373662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37367
37368 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37369
6a161fa9 373702002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37371
37372 * Changelog: New file.
37373