]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-08-04 Robert Millan <rmh@gnu.org>
[grub2.git] / ChangeLog
CommitLineData
0de22aa9
RM
12010-08-04 Robert Millan <rmh@gnu.org>
2
3 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4 (grub_find_zpool_from_mount_point): Merge into ...
5 (grub_find_zpool_from_dir): ... this.
6 * kern/emu/misc.c: Likewise.
7
8 * kern/emu/misc.c
9 (grub_make_system_path_relative_to_its_root): Replace
10 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11 with grub_find_zpool_from_dir().
12 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13
62858144
RM
142010-08-04 Robert Millan <rmh@gnu.org>
15
16 Support OpenSolaris in ZFS device resolution.
17
18 * configure.ac: Check for getmntany().
19 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21 support.
22
9dd6fd50
RM
232010-08-03 Robert Millan <rmh@gnu.org>
24
25 Fix grub-emu build.
26
27 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
28 * include/grub/emu/misc.h: ... here.
29
30 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
31 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
32
33 * util/misc.c: Remove `<grub/util/libzfs.h>'.
34 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
35 (grub_get_libzfs_handle): Move to ...
36 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
37 (grub_get_libzfs_handle): ... here.
38
c9f7ff97
BC
392010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
40
41 * script/execute.c (grub_script_execute_cmdline): Check for NULL
42 as command name case.
43
a870a783
CW
442010-08-02 Colin Watson <cjwatson@ubuntu.com>
45
46 * disk/raid.c (insert_array): Select unique numbers for named arrays
47 as well, for use as keys in the disk cache.
48
c7db243b
RM
492010-08-01 Robert Millan <rmh@gnu.org>
50
51 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
52 kFreeBSD device name, except on ZFS where the filesystem label is
53 used.
54 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
55 `/boot/zfs/zpool.cache'.
56 Set mountfrom kernel variable using ${kfreebsd_device}.
57
f7abdefb
RM
582010-08-01 Robert Millan <rmh@gnu.org>
59
60 Make it even harder to use uninitialized `libzfs_handle' (and
61 make the interface a bit simpler).
62
63 * include/grub/util/misc.h (grub_util_init_libzfs)
64 (libzfs_handle): Remove.
65 (grub_get_libzfs_handle): New prototype.
66
67 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
68 attribute.
69 (grub_util_init_libzfs): Remove.
70 (grub_get_libzfs_handle): New function.
71
72 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
73 grub_get_libzfs_handle() to obtain a libzfs handle instead of
74 accessing `libzfs_handle' directly.
75
c882acc0
RM
762010-08-01 Robert Millan <rmh@gnu.org>
77
78 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
79 (grub_find_zpool_from_mount_point): New function prototypes.
80
81 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
82 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
83
84 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
85 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
86 `static' attribute.
87
88 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
89 finding zpool from mount point into ...
90 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
91
92 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
93 requested path is part of a ZFS pool, use
94 grub_find_zpool_from_mount_point() to detect its filesystem name,
95 and generate a path with `/fsname@path' syntax.
96
8bfe31d8
CW
972010-08-01 Colin Watson <cjwatson@ubuntu.com>
98
99 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
100 (void) rather than () so that this is a proper prototype.
101
553df63d
VS
1022010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
105
8687cf07
VS
1062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
109 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
110
ea9be8ea
CW
1112010-08-01 Colin Watson <cjwatson@ubuntu.com>
112
113 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
114
6eea041a
CW
1152010-08-01 Colin Watson <cjwatson@ubuntu.com>
116
117 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
118
2cfb45df
CW
1192010-08-01 Colin Watson <cjwatson@ubuntu.com>
120
121 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
122 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
123 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
124 disable gfxpayload.
125 (Shell-like scripting): Add real content.
126 (Serial terminal): Suggest `terminal_input serial; terminal_output
127 serial' rather than putting the two commands on separate lines,
128 since console input will be inoperative after the first command.
129 (menuentry): Document --class, --users, and --hotkey options.
130 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
131 Vladimir Serbinenko).
132
7decd202
VS
1332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1342010-08-01 Colin Watson <cjwatson@ubuntu.com>
135
136 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
137
c882acc0
RM
1382010-08-01 Robert Millan <rmh@gnu.org>
139
140 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
141 (grub_find_zpool_from_mount_point): New function prototypes.
142
143 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
144 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
145
146 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
147 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
148 `static' attribute.
149
150 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
151 finding zpool from mount point into ...
152 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
153
154 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
155 requested path is part of a ZFS pool, use
156 grub_find_zpool_from_mount_point() to detect its filesystem name,
157 and generate a path with `/fsname@path' syntax.
158
deb0caa3
RM
1592010-08-01 Robert Millan <rmh@gnu.org>
160
161 Prevent accidental use of uninitialized libzfs_handle.
162
163 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
164 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
165 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
166
ce04ef47
CW
1672010-08-01 Colin Watson <cjwatson@ubuntu.com>
168
169 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
170 util/grub.d/10_linux.in). Fixes Debian bug #591093.
171
ebf53056
RM
1722010-08-01 Robert Millan <rmh@gnu.org>
173
174 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 175
3710bb6b
RM
1762010-07-31 Robert Millan <rmh@gnu.org>
177
178 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
179
8072efeb
RM
1802010-07-31 Robert Millan <rmh@gnu.org>
181
182 * kern/emu/misc.c: Add missing license header.
183
3169f4c7
RM
1842010-07-31 Robert Millan <rmh@gnu.org>
185
186 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
187
188 * include/grub/util/libnvpair.h: Include `<config.h>'.
189 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
190 declaring libnvpair prototypes ourselves.
191 * include/grub/util/libzfs.h: Include `<config.h>'.
192 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
193 declaring libzfs prototypes ourselves.
194
195 (libzfs_handle): Moved to ...
196 * include/grub/util/misc.h (libzfs_handle): ... here.
197 Include `<grub/util/libzfs.h>'.
198
c9a00aee
RM
1992010-07-30 Robert Millan <rmh@gnu.org>
200
201 * include/grub/emu/misc.h: Add missing license header.
202
a184f9c8
RM
2032010-07-30 Robert Millan <rmh@gnu.org>
204
205 Enable `grub-probe -t device' resolution on ZFS.
206
207 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
208 * include/grub/util/libnvpair.h: New file.
209 * include/grub/util/libzfs.h: New file.
210
211 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
212 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
213 `<grub/util/libnvpair.h>'.
214 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
215
216 (find_mount_point_from_dir): New static function.
217 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
218 function.
219 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
220 find_root_device_from_libzfs() before ressorting to find_root_device().
221
222 * include/grub/util/misc.h (grub_util_init_libzfs): New function
223 prototype.
224 * util/misc.c: Include `<grub/util/libzfs.h>'.
225 (grub_util_init_libzfs): New function.
226 [HAVE_LIBZFS] (libzfs_handle): New global variable.
227 [HAVE_LIBZFS] (fini_libzfs): New static function.
228 (grub_util_init_libzfs): New function.
229 * util/grub-probe.c (main): Call grub_util_init_libzfs().
230
f7790cdd
RM
2312010-07-30 Robert Millan <rmh@gnu.org>
232
233 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
234 (xmalloc, xrealloc, xstrdup, xasprintf): Add
235 `warn_unused_result' attribute.
236 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
237 (grub_xasprintf, grub_xvasprintf): Likewise.
238 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
239
0806b63c
RM
2402010-07-29 Robert Millan <rmh@gnu.org>
241
242 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
243 (probe): Handle `PRINT_FS_LABEL'.
244 (main): Handle `-t fs_label'.
245
9f841f5c
RM
2462010-07-29 Robert Millan <rmh@gnu.org>
247
248 * configure.ac: Remove grub-mkisofs checks.
249
46371121
VS
2502010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/ieee1275/grub-install.in: Don't use empty grub_device.
253 Reported by: Lennart Sorensen.
254
2552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
258 prior to terminal_input/terminal_output separation. It's been over 1.5
259 years and those versions weren't widely deployed.
260
a9600892
CW
2612010-07-22 Colin Watson <cjwatson@ubuntu.com>
262
263 * disk/raid.c (insert_array): Don't count named arrays when looking
264 for unused array numbers.
697e053c 265 Reported and tested by: Michael Guntsche.
a9600892 266
c03507df
CW
2672010-07-20 Colin Watson <cjwatson@ubuntu.com>
268
269 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
270 implementation of this so that grub-emu links again, with a note
271 that this should support hotplugging in the future.
272
b26f1c11
CW
2732010-07-20 Colin Watson <cjwatson@ubuntu.com>
274
275 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
276
efc9d7f1
CW
2772010-07-20 Colin Watson <cjwatson@ubuntu.com>
278
279 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
280 handle on failure.
281 (grub_loopback_close): Remove empty function.
282 (grub_loopback_dev): Remove close method.
283
dd8ff5c9
CW
2842010-07-20 Colin Watson <cjwatson@ubuntu.com>
285
286 Disable EFI cursor when the EFI console becomes inactive.
287
288 * term/efi/console.c (grub_efi_console_init): New function.
289 (grub_efi_console_fini): New function.
290 (grub_console_term_output): Register init and fini methods.
291
5e3bec67
VS
2922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * tests/util/grub-shell-tester.in: Remove bashism and declare as
295 sh script.
296
afaec079
VS
2972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * disk/loopback.c (grub_loopback): Replace filename with file.
300 (delete_loopback): Handle new semantics.
301 (grub_cmd_loopback): Likewise.
302 (grub_loopback_iterate): Likewise.
303 (grub_loopback_close): Likewise.
304
a6a11f3c
VS
3052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
308 with -p "".
309 Reported by: Tito Keitel.
310
64a638b0
VS
3112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * docs/grub.texi (Naming convention): Document new naming convention.
314
ab8ba957
VS
3152010-07-20 Vadim Solomin <vadic052@gmail.com>
3162010-07-20 Colin Watson <cjwatson@ubuntu.com>
317
318 Generate device.map in something closer to the old ordering.
319
320 * util/deviceiter.c (struct device): New declaration.
321 (compare_file_names): Rename to ...
322 (compare_devices): ... this. Sort by kernel name in preference to
323 the stable by-id name, but keep the latter as a fallback comparison.
324 Update header comment.
325 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
326 of `struct device' rather than of plain file names.
327
a29d6a4b
TF
3282010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
329
330 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
331 on i386.
332
39d824e8
VS
3332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * commands/acpi.c (setup_common_tables): Use sizeof instead of
336 hardcoding size.
337 (setv1table): Likewise.
338
f058276b
FZ
3392010-07-20 Colin Watson <cjwatson@ubuntu.com>
340
341 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
342 removing the homehost if present.
343 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
344 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
345 removing the homehost if present.
346 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
347 if possible.
348 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
349
350 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
351 parameter. Set its pointer target to 0.
352 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
353 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
354 `data_offset' value from the superblock for 1.x metadata.
355 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
356 data on the device.
357 (insert_array): Record the start sector of data on the device.
358 (grub_raid_register): Pass start_sector parameters to
359 grub_raid_list->detect and insert_array.
360 * include/grub/raid.h (struct grub_raid_array): Add start_sector
361 member.
362 (struct grub_raid): Add start_sector parameter to `detect'.
363
364 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
365 __attribute__ ((packed)), leaving a comment.
366 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
367 (grub_mdraid_detect_09): ... here and ...
368 (grub_mdraid_detect_1x): ... here.
369
3702010-07-20 Peter Henn <peter.henn@web.de>
371
372 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
373 chunk size and disk size, which are already given as sector counts
374 as distinct from the 0.90 units. Fetch the correct device number
375 from the role table instead of using the table index.
376
3772010-07-20 Felix Zielcke <fzielcke@z-51.de>
378
379 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
380 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
381 (WriteMostly1): New macro.
382 Set array->name to NULL for metadata format 0.90. Add support for
383 metadata 1.x. Fix some comments.
384 * disk/raid.c (): Add support for name based RAID arrays. Fix a
385 few comments.
386 * util/getroot.c (grub_util_get_grub_dev): Add support for
387 /dev/md/name style devices.
388
4b761da9
CW
3892010-07-20 Colin Watson <cjwatson@ubuntu.com>
390
391 * .bzrignore: Ignore 20_linux_xen.
392
5771289a
CW
3932010-07-17 Colin Watson <cjwatson@ubuntu.com>
394
395 * util/import_unicode.py: Remove unnecessary imports.
396
5dab68df
AN
3972010-07-17 Aleš Nesrsta <starous@volny.cz>
398
399 Hotplugging and USB hub support.
400
401 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
402 (grub_ohci): Likewise.
403 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
404 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
405 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
406 (GRUB_OHCI_CTRL_EDS): Likewise.
407 (GRUB_OHCI_BULK_EDS): Likewise.
408 (GRUB_OHCI_TDS): Likewise.
409 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
410 (grub_ohci_ed_phys2virt): New function.
411 (grub_ohci_virt_to_phys): Likewise.
412 (grub_ohci_td_phys2virt): Likewise.
413 (grub_ohci_td_virt2phys): Likewise.
414 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
415 attachment.
416 (grub_ohci_find_ed): New function.
417 (grub_ohci_alloc_td): Likewise.
418 (grub_ohci_free_td): Likewise.
419 (grub_ohci_free_tds): Likewise.
420 (grub_ohci_transfer): Use previously allocated memory.
421 (grub_ohci_portstatus): Reset status changed bit.
422 (grub_ohci_detect_dev): Supply status changed.
423 (grub_ohci_fini_hw): Free memory.
424 (grub_ohci_restore_hw): Reallocate memory.
425 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
426 Reset status change.
427 (grub_uhci_detect_dev): Supply status_change.
428 * bus/usb/usb.c (attach_hooks): New var.
429 (grub_usb_device_attach): New function.
430 (grub_usb_register_attach_hook_class): Likewise.
431 (grub_usb_unregister_attach_hook_class): Likewise.
432 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
433 (grub_usb_add_hub): Reset connection changed bit.
434 (attach_root_port): New function.
435 (grub_usb_root_hub): Likewise.
436 (poll_nonroot_hub): Likewise.
437 (grub_usb_poll_devices): Likewise.
438 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
439 * disk/usbms.c (grub_usbms_open): Use device hooks.
440 (grub_usbms_iterate) :Poll devices.
441 (grub_usbms_finddevs): Split into ...
442 (grub_usbms_attach): ... this ...
443 (grub_usbms_attach): ... and this.
444 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
445 in detect_dev.
446 (grub_usb_interface): New fields attached and detach_hook.
447 (grub_usb_attach_hook_class): New type.
448 (grub_usb_attach_desc): New struct.
449 (grub_usb_register_attach_hook_class): New function.
450 (grub_usb_unregister_attach_hook_class): Likewise.
451 (grub_usb_poll_devices): Likewise.
452 (grub_usb_device_attach): Likewise.
453 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
454 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
455
3222efaf
VS
4562010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
459 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
460 delta determination style. Works with most NetBSD partitions too.
461
139b714a
VS
4622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
465 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
466
986aad56
VS
4672010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
470
99be513c
AB
4712010-07-14 Anton Blanchard <anton@samba.org>
472
473 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
474 ET_DYN files.
475
18075f62
GS
4762010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
477
478 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
479
8d9a5b15
GS
4802010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
481
482 * kern/partition.c (grub_partition_check_containment): New function to
483 check that a partition is physically contained in a parent. Since
484 offsets are relative (and non-negative), this reduces to checking that
485 the partition ends before its parent.
486 (grub_partition_map_probe): Discard out-of-range sub-partitions.
487 (grub_partition_iterate): Likewise.
488 * include/grub/partition.h (grub_partition_map): Slightly more detailed
489 comments.
490 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
491 partitions that start before their parent, and add debug printfs.
492
19563c25
CW
4932010-07-13 Colin Watson <cjwatson@ubuntu.com>
494
495 * Makefile.in (.SUFFIX): Spell correctly, as ...
496 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
497 bare module name without `.mod', e.g. `test') tried to invoke a
498 Modula-2 compiler.
499
1a1f1e67
CW
5002010-07-13 Colin Watson <cjwatson@ubuntu.com>
501
502 * README: Point to the Info manual.
503
811b0dca
JS
5042010-07-13 Jiro SEKIBA <jir@unicus.jp>
505
506 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
507 2nd superblock position from partition size.
508
e4f4eafc
CW
5092010-07-10 Colin Watson <cjwatson@ubuntu.com>
510
511 * Makefile.in (MAINTAINER_CLEANFILES): Remove
512 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
513 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
514 outputs.
515
4274c30f
VS
5162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Restructure SCSI .id handling.
519 Reported and tested by: Aleš Nesrsta.
520
521 * disk/ata.c (grub_atapi_close): Removed. All users updated.
522 (grub_atapi_dev): Changed .name to "ata". New field .id.
523 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
524 (grub_usbms_dev): New field .id.
525 * disk/scsi.c (grub_scsi_iterate): Generate name.
526 (grub_scsi_open): Parse name.
527 * include/grub/scsi.h (grub_make_scsi_id): New function.
528 (grub_scsi_dev): Change iterate and open to number instead of naming
529 busses. All users updated.
530 (grub_scsi): Remove name. Add .bus.
531
5bc24388
VS
5322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * commands/help.c (grub_cmd_help): Fix a typo.
535
249975ba
VS
5362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
539 Reported and tested by: Colin Watson.
540
3eaac1a1
VS
5412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
544 in this context.
545
becce1b1
VS
5462010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
549
f7bf0918
CW
5502010-07-07 Colin Watson <cjwatson@ubuntu.com>
551
552 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
553 indentation.
554
0b0f9620
CW
5552010-07-06 Colin Watson <cjwatson@ubuntu.com>
556
557 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
558 and disk/raid6_recover.c.
559 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
560 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
561
1e545469
CW
5622010-07-06 Colin Watson <cjwatson@ubuntu.com>
563
564 * term/gfxterm.c (repaint_schedulded): Rename to ...
565 (repaint_scheduled): ... this. Update all callers.
566 (repaint_was_schedulded): Rename to ...
567 (repaint_was_scheduled): ... this. Update all callers.
568
5357687a
CW
5692010-07-06 Colin Watson <cjwatson@ubuntu.com>
570
571 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
572 which we expect to be handled by upper layers.
573
29d7e783
BC
5742010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
575
576 * bus/usb/usbhub.c: #include time.h header.
577
37582066
CW
5782010-07-06 Colin Watson <cjwatson@ubuntu.com>
579
580 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
581 entry_name also for entries without stat blocks (e.g. ".."); fixes
582 corruption of the first entry in a directory.
583
c8c06953
CW
5842010-07-06 Colin Watson <cjwatson@ubuntu.com>
585
586 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
587 after setting gfxterm as the active terminal. GRUB_BACKGROUND
588 doesn't work otherwise.
589
e75056f1
CW
5902010-07-05 Colin Watson <cjwatson@ubuntu.com>
591
592 * docs/grub.texi (Features): Update list of supported file systems.
593 (GNU/Linux): Update for GRUB 2.
594 (Serial terminal): Remove mention of --disable-serial, which was a
595 GRUB Legacy configure option. Update instructions to use
596 `terminal_input' and `terminal_output' rather than `terminal'.
597 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
598 configuration' and `Installing GRUB using grub-install'.
599 (Menu entry editor): Update for GRUB 2.
600 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
601 Document new -a, -u, and -v options.
602 (initrd): New section.
603 (initrd16): New section.
604 (linux): New section.
605 (linux16): New section.
606 (search): The `var' argument to `--set' is optional.
607 (GRUB only offers a rescue shell): Go into a little more detail on
608 drive ordering.
609
5cf69151
CW
6102010-07-05 Colin Watson <cjwatson@ubuntu.com>
611
612 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
613
e3f90044
CW
6142010-07-05 Colin Watson <cjwatson@ubuntu.com>
615
616 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
617 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
618
38d8f4f3
CW
6192010-07-05 Colin Watson <cjwatson@ubuntu.com>
620
621 * util/i386/pc/grub-setup.c (setup): Rename prefix to
622 install_prefix, in line with install_dos_part and install_bsd_part.
623 Add new prefix variable, which is copied to install_prefix after
624 comparing core.img in memory with the one read from disk in the
625 no-embedding case, and use that rather than overwriting
626 install_prefix immediately when installing to a partition.
627 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
628 Bicakci.
629
57ebd41e
GS
6302010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
631
632 * configure.ac: Avoid == in test command, it's not portable.
633 * util/grub.d/30_os-prober.in: Likewise.
634
cb7f64b2
CW
6352010-07-04 Colin Watson <cjwatson@ubuntu.com>
636
637 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
638
6b654bb0
GS
6392010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
640
641 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
642 multiple (top-level) partmaps.
643
72a2026d
VS
6442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 647 Reported by: Tino Keitel.
72a2026d 648
df3eb88f
VS
6492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
650
651 Bidi and diacritics support.
652
653 * Makefile.in (widthspec.bin): New target.
654 (widthspec.h): Likewise.
655 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
656 * autogen.sh: Generate unidata.c.
657 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
658 * commands/ls.c (grub_ls_list_devices): Likewise.
659 (grub_ls_list_files): Likewise.
660 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
661 (grub_mini_cmd_lsmod): Likewise.
662 * commands/read.c: Likewise.
663 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
664 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
665 * lib/arg.c (grub_arg_show_help): Likewise.
666 * lib/crypto.c (grub_password_get): Likewise.
667 * normal/auth.c (grub_username_get): Likewise.
668 * normal/misc.c (grub_normal_print_device_info): Likewise.
669 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
670 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
671 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
672 (normal/charset.c_DEPENDENCIES): New variable.
673 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
674 (pkglib_MODULES): Remove charset.mod.
675 (charset_mod_SOURCES): Removed.
676 (charset_mod_CFLAGS): Likewise.
677 (charset_mod_LDFLAGS): Likewise.
678 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
679 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
680 and term/tparm.c.
681 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
682 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
683 (kernel_img_HEADERS): Add terminfo.h.
684 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
685 Fill ->font. Reverse ascii bitmaps.
686 (grub_font_get_xheight): New function.
687 * font/font.c (grub_font_get_string_width): Moved from here ...
688 * gfxmenu/font.c (grub_font_get_string_width): ... here.
689 * font/font.c (grub_font_draw_string): Moved from here ...
690 * gfxmenu/font.c (grub_font_draw_string): ... here.
691 * font/font.c (grub_font_dup_glyph): New function.
692 (grub_font_blit_glyph): Likewise.
693 (grub_font_blit_glyph_mirror): Likewise.
694 (blit_comb): Likewise.
695 (grub_font_construct_dry_run): Likewise.
696 (grub_font_get_constructed_device_width): Likewise.
697 (grub_font_construct_glyph): Likewise.
698 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
699 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
700 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
701 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
702 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
703 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
704 (grub_font_get_xheight): New proto.
705 (grub_font_get_constructed_device_width): Likewise.
706 (grub_font_construct_glyph): Likewise.
707 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
708 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
709 * include/grub/font.h (grub_font_draw_string): Moved from here ...
710 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
711 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
712 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
713 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
714 (grub_console_getcharwidth): Likewise.
715 * include/grub/misc.h (grub_xputs): New proto.
716 (grub_puts): Inlined.
717 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
718 (grub_normal_get_line_counter): Removed.
719 (grub_install_newline_hook): Likewise.
720 (grub_normal_get_char_counter): New proto.
721 (grub_normal_reset_more): Likewise.
722 (grub_xputs_normal): Likewise.
723 * include/grub/powerpc/ieee1275/console.h: Removed.
724 * include/grub/sparc64/ieee1275/console.h: Likewise.
725 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
726 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
727 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
728 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
729 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
730 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
731 (grub_term_input): Pass reference to self. All users updated.
732 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
733 Pass reference to self. New fields normal_color, highlight_color and
734 data. All users updated.
735 (grub_putchar): Removed.
736 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
737 (grub_unicode_estimate_width): New function.
738 (grub_term_getcharwidth): Add defaults.
739 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
740 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
741 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
742 (grub_cls): Remove EXPORT_FUNC.
743 (grub_setcolorstate): Inline.
744 (grub_newline_hook): Removed.
745 * include/grub/terminfo.h: Rewritten. All users updated.
746 * include/grub/unicode.h: New file.
747 * include/grub/video.h (grub_video_signed_rect): New type.
748 * kern/emu/console.c (grub_console_highlight_color): Removed.
749 (grub_console_normal_color): Likewise.
750 (grub_console_standard_color): Made static.
751 (grub_ncurses_putchar): Remove mapping.
752 (grub_ncurses_getcharwidth): Removed.
753 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
754 (grub_ncurses_setcolor): Removed.
755 (grub_ncurses_getcolor): Likewise.
756 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
757 (grub_console_putchar): ... this.
758 (grub_console_putchar): Handle argument difference.
759 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
760 console_init_early and console_init_lately.
761 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
762 * kern/misc.c (grub_puts): Removed.
763 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
764 (grub_vsnprintf_real): Remove str = NULL support.
765 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
766 * normal/charset.c (grub_utf8_to_ucs4): ... here.
767 * kern/term.c (grub_putcode): Renamed to ...
768 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
769 (grub_putchar): Removed.
770 (grub_xputs_dumb): New function.
771 (grub_xputs): New variable.
772 * lib/charset.c: Move from here ...
773 * normal/charset.c: ... to here.
774 (grub_ucs4_to_utf8): New function.
775 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
776 (join_types): New variable.
777 (unpack_join): New function.
778 (bidi_types): New variable.
779 (unpack_bidi): New function.
780 (get_bidi_type): Likewise.
781 (get_join_type): Likewise.
782 (is_mirrored): Likewise.
783 (grub_unicode_get_comb_type): Likewise.
784 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
785 (is_type_after): Likewise.
786 (grub_unicode_aglomerate_comb): Likewise.
787 (bidi_line_wrap): Likewise.
788 (grub_bidi_line_logical_to_visual): Likewise.
789 (grub_bidi_logical_to_visual): Likewise.
790 (grub_unicode_mirror_code): Likewise.
791 (grub_unicode_shape_code): Likewise.
792 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
793 Don't use grub_putchar.
794 * normal/main.c (grub_normal_init_page): Use grub_putcode.
795 (grub_normal_reader_init): Likewise.
796 (grub_xputs_saved): New variable.
797 (GRUB_MOD_INIT): Set grub_xputs.
798 (GRUB_MOD_FINI): Restore grub_xputs.
799 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
800 (menu_init): Avoid printing gfxmenu error.
801 (show_menu): Use grub_normal_get_char_counter.
802 * normal/menu_entry.c (update_screen): Fix out-of-array.
803 (complete): Avoid NULL dereferencing.
804 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
805 * normal/menu_text.c (print_spaces): Removed.
806 (grub_print_ucs4): Likewise.
807 (grub_print_message_indented): Use grub_print_ucs4.
808 (print_message): Use grub_putcode.
809 (print_entry): Hanlde diacritics.
810 * normal/term.c (term_state): New type.
811 (grub_more_lines): Removed.
812 (term_states): New variable.
813 (grub_normal_line_counter): Renamed to ..
814 (grub_normal_char_counter): ...this. All users updated.
815 (grub_normal_get_line_counter): Renamed to ...
816 (grub_normal_get_char_counter): ... this.
817 (grub_normal_reset_more): New function.
818 (process_newline): Removed.
819 (print_more): New function.
820 (grub_install_newline_hook): Removed.
821 (map_code): New function.
822 (grub_puts_terminal): Use grub_print_ucs4.
823 (putglyph): New function.
824 (putcode_real): Likewise.
825 (grub_putcode): Use putcode_real.
826 (get_maxwidth): New function.
827 (get_startwidth): Likewise.
828 (print_ucs4_terminal): Likewise.
829 (find_term_state): Likewise.
830 (put_glyphs_terminal): Likewise.
831 (print_backlog): Likewise.
832 (print_ucs4_real): Likewise.
833 (grub_print_ucs4): Likewise.
834 (grub_xputs_normal): Likewise.
835 * term/efi/console.c (grub_console_putchar): Output diacritics.
836 (grub_console_getcharwidth): Removed.
837 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
838 * term/gfxterm.c (clear_char): Free chars.
839 (scroll_up): Avoid leaking memory.
840 (grub_gfxterm_putchar): Support diacritics.
841 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
842 * term/i386/pc/console.c (grub_console_term_output): Declare as
843 GRUB_TERM_CODE_TYPE_VGA.
844 * term/i386/pc/vga.c (grub_vga_term): Declare as
845 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
846 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
847 GRUB_TERM_CODE_TYPE_VGA.
848 * term/i386/vga_common.c (map_char): Removed.
849 (grub_console_putchar): Likewise.
850 (grub_console_getcharwidth): Likewise.
851 * term/ieee1275/ofconsole.c: Simplify using terminfo.
852 (colors): Reordered to match terminfo.
853 (grub_ofconsole_normal_color): Removed.
854 (grub_ofconsole_writeesc): Likewise.
855 (grub_ofconsole_highlight_color): Likewise.
856 (grub_ofconsole_getcharwidth): Likewise.
857 (grub_ofconsole_setcolorstate): Likewise.
858 (grub_ofconsole_setcolor): Likewise.
859 (grub_ofconsole_getcolor): Likewise.
860 (grub_ofconsole_readkey): Renamed to ...
861 (readkey): ... this. Remove escape sequence handling. Return -1 on no
862 key.
863 (grub_ofconsole_checkkey): Removed.
864 (grub_ofconsole_getkey): Likewise.
865 (grub_ofconsole_getxy): Likewise.
866 (grub_ofconsole_gotoxy): Likewise.
867 (grub_ofconsole_cls): Likewise.
868 (grub_ofconsole_refresh): Likewise.
869 (grub_ofconsole_terminfo_input): New struct.
870 (grub_ofconsole_terminfo_output): Likewise.
871 (grub_ofconsole_term_input): Use terminfo.
872 (grub_ofconsole_term_output): Likewise.
873 (grub_console_init): Split into ...
874 (grub_console_init_early): ...this and ...
875 (grub_console_init_lately): ...this. Use terminfo.
876 (grub_ofconsole_putchar): Renamed to ...
877 (put): ... this. Remove mapping.
878 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
879 * term/serial.c: Simplify using terminfo.
880 (xpos): Removed.
881 (ypos): Likewise.
882 (keep_track): Likewise.
883 (registered): Likewise.
884 (input_buf): Likewise.
885 (npending): Likewise.
886 (serial_translate_key_sequence): Likewise.
887 (fill_input_buf): Likewise.
888 (grub_serial_checkkey): Likewise.
889 (grub_serial_getkey): Likewise.
890 (grub_serial_getxy): Likewise.
891 (grub_serial_gotoxy): Likewise.
892 (grub_serial_putchar): Likewise.
893 (grub_serial_cls): Likewise.
894 (grub_serial_setcolorstate): Likewise.
895 (grub_serial_setcursor): Likewise.
896 (serial_hw_init): Use serial_hw_fetch.
897 (grub_serial_terminfo_input): New variable.
898 (grub_serial_terminfo_output): Likewise.
899 (grub_serial_term_input): Use terminfo.
900 (grub_serial_term_output): Likewise.
901 * term/terminfo.c (putstr): Use put.
902 (grub_terminfo_all_free): New function
903 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
904 (grub_terminfo_output_register): New function.
905 (grub_terminfo_output_unregister): Likewise.
906 (grub_terminfo_getxy): Likewise.
907 (grub_terminfo_readkey): Likewise.
908 (grub_terminfo_checkkey): Likewise.
909 (grub_terminfo_getkey): Likewise.
910 (grub_terminfo_input_init): Likewise.
911 (print_terminfo): Likewise.
912 (grub_cmd_terminfo): Handle encoding.
913 (grub_terminfo_gotoxy): Track position.
914 (grub_terminfo_cls): Likewise.
915 (grub_terminfo_putchar): Likewise.
916 (grub_terminfo_setcolorstate): Handle colors
917 (grub_terminfo_cursor_on): This ...
918 (grub_terminfo_cursor_off): ... and this merged into ...
919 (grub_terminfo_setcursor): ... this.
920 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
921 * unicode/ArabicShaping.txt: New file (imported from Unicode).
922 * unicode/BidiMirroring.txt: Likewise.
923 * unicode/UnicodeData.txt: Likewise.
924 * unicode/COPYING: Likewise.
925 * util/grub-editenv.c (grub_putchar): Removed.
926 (grub_xputs_real): New function.
927 (grub_xputs): New variable.
928 * util/grub-fstest.c (grub_putchar): Removed.
929 (grub_xputs_real): New function.
930 (grub_xputs): New variable.
931 * util/grub-mkdevicemap.c (grub_putchar): Removed.
932 (grub_xputs_real): New function.
933 (grub_xputs): New variable.
934 * util/grub-probe.c (grub_putchar): Removed.
935 (grub_xputs_real): New function.
936 (grub_xputs): New variable.
937 * util/grub-script-check.c (grub_putchar): Removed.
938 (grub_xputs_real): New function.
939 (grub_xputs): New variable.
940 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
941 (grub_xputs_real): New function.
942 (grub_xputs): New variable.
943 * util/import_unicode.py: New file.
944 * util/grub-mkfont.c (ft_errmsgs): New array.
945 (grub_glyph_info): Make bitmap a pointer.
946 (file_formats): New type WIDTH_SPEC.
947 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
948 (options): Add width-spec.
949 (help): Likewise.
950 (add_char): Renamed to ...
951 (add_glyph): ... this.
952 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
953 (glyph_replace): New type.
954 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
955 (add_char): New function.
956 (add_subst): Likewise.
957 (process_cursive): Likewise.
958 (add_font): Handle GSUB.
959 (write_font_width_spec): New function.
960 (main): Sort glyphs.
961 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
962 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
963 * kern/term.c (grub_cls): Moved from here...
964 * normal/term.c (grub_cls): ... here.
965
50f0bcda
CW
9662010-07-02 Colin Watson <cjwatson@ubuntu.com>
967
968 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
969 suitable for using within the format argument of printf when
970 converting grub_size_t.
971 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
972 "x" to convert grub_size_t arguments.
973
40372103
VS
9742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
977 too long captions.
978 (list_get_minimal_size): Take selection box into account.
979
942a10c7
VS
9802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
983 NULL font.
984
2bdb2892
CW
9852010-07-02 Colin Watson <cjwatson@ubuntu.com>
986
987 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
988 devices when iterating over /dev/disk/by-id; they will be handled
989 later if appropriate, which they aren't always (e.g. LVM).
990
e03ed6c1
CW
9912010-07-02 Colin Watson <cjwatson@ubuntu.com>
992
993 * include/grub/misc.h (grub_reboot): Declare as noreturn.
994 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
995 fails.
996 (grub_halt): Likewise.
997 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
998 reset-all fails.
999 (grub_halt): Don't return, even if all of shut-down, power-off, and
1000 poweroff fail.
1001
47695765
CW
10022010-07-02 Colin Watson <cjwatson@ubuntu.com>
1003
1004 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1005 arguments, not three.
1006
507736c8
CW
10072010-07-02 Colin Watson <cjwatson@ubuntu.com>
1008
1009 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1010 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1011 LVM-on-RAID is handled correctly.
1012
e3c8cd37
CW
10132010-07-02 Colin Watson <cjwatson@ubuntu.com>
1014
1015 * docs/grub.texi (Changes from GRUB Legacy): New section.
1016 (Future): Fix typo.
1017
8d4a2fec
CW
10182010-07-02 Colin Watson <cjwatson@ubuntu.com>
1019
1020 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1021 grub.d/README accidentally ends up executable for one reason or
1022 another. Ignore it.
1023
1c4827be
VS
10242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1027 (gpt_partition_map_iterate): Support non-512B sectors.
1028
d9a0c941
VS
10292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1032 Tested by: Seth Goldberg.
1033
48f27e87
VS
10342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1037 Properly align mbi.
1038 Reported by: Seth Goldberg.
1039
b0c4f956
VS
10402010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * util/grub-mkrescue.in: Avoid module duplication.
1043
105a2e8c
SF
10442010-07-01 Sean Finney <seanius@seanius.net>
1045
1046 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1047
5944958c
SF
10482010-07-01 Sean Finney <seanius@seanius.net>
1049
1050 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1051
10522010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * disk/lvm.c (grub_lvm_checkvalue): New function.
1055 (grub_lvm_check_flag): Likewise.
1056
b79889ba
RM
10572010-07-01 Robert Millan <rmh@gnu.org>
1058
1059 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1060 Support 'p' as partition separator on kernel of FreeBSD (used
1061 with GPT labels).
1062 (grub_util_biosdisk_get_grub_dev): Likewise.
1063
ec1d04f1
VS
10642010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Yeeloong firmware port.
1067
1068 * boot/mips/yeeloong/fwstart.S: New file.
1069 * bus/cs5536.c (gpiodump): New const.
1070 (set_io_space): New function.
1071 (set_iod): Likewise.
1072 (set_p2d): Likewise.
1073 (grub_cs5536_init_geode): Likewise.
1074 * commands/mips/yeeloong/lsspd.c: New file.
1075 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1076 (serial_mod_SOURCES): New variable.
1077 (serial_mod_CFLAGS): Likewise.
1078 (serial_mod_LDFLAGS): Likewise.
1079 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1080 term/terminfo.c and term/tparm.c.
1081 (pkglib_IMAGES): Add fwstart.img.
1082 (fwstart_img_SOURCES): New variable.
1083 (fwstart_img_CFLAGS): Likewise.
1084 (fwstart_img_ASFLAGS): Likewise.
1085 (fwstart_img_LDFLAGS): Likewise.
1086 (fwstart_img_FORMAT): Likewise.
1087 (pkglib_MODULES): Add lsspd.mod.
1088 (lsspd_mod_SOURCES): New variable.
1089 (lsspd_mod_CFLAGS): Likewise.
1090 (lsspd_mod_LDFLAGS): Likewise.
1091 (pkglib_MODULES): Add halt.mod.
1092 (halt_mod_SOURCES): New variable.
1093 (halt_mod_CFLAGS): Likewise.
1094 (halt_mod_LDFLAGS): Likewise.
1095 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1096 (serial_mod_SOURCES): Removed.
1097 (serial_mod_CFLAGS): Likewise.
1098 (serial_mod_LDFLAGS): Likewise.
1099 * disk/ata.c (check_device): New function.
1100 (grub_ata_device_initialize): Use check_device.
1101 (grub_ata_iterate): Recheck devices.
1102 (grub_ata_open): Likewise.
1103 (grub_atapi_iterate): Likewise.
1104 (grub_atapi_open): Likewise.
1105 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1106 (GRUB_ATA_CH1_PORT1): Likewise.
1107 (GRUB_ATA_CH0_PORT2): Likewise.
1108 (GRUB_ATA_CH1_PORT2): Likewise.
1109 * include/grub/mips/loongson.h: New file.
1110 * include/grub/mips/yeeloong/ec.h: Likewise.
1111 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1112 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1113 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1114 * include/grub/misc.h (grub_halt): Declare as noreturn.
1115 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1116 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1117 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1118 (UART_ENABLE_DTRRTS): Likewise.
1119 (UART_ENABLE_MODEM): Removed.
1120 (UART_ENABLE_OUT2): New const.
1121 * include/grub/term.h (grub_term_register_input_active): New function.
1122 (grub_term_register_output_active): Likewise.
1123 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1124 argument.
1125 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1126 (init_pci): New function.
1127 (grub_machine_init): Execute platform init when firmware. Init serial.
1128 (grub_halt): Implement.
1129 (grub_exit): Likewise.
1130 (grub_reboot): Likewise.
1131 * term/serial.c (serial_hw_init): Update macros.
1132 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1133 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1134 (image_targets): New target mipsel-yeeloong-flash.
1135 (generate_image): Support IMAGE_YEELOONG_FLASH.
1136 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1137 (grub_video_sm712_setup): Init card.
1138 (grub_video_sm712_set_palette): Removed.
1139 * video/sm712_init.c: New file.
1140
ff4a70d2
CW
11412010-06-30 Colin Watson <cjwatson@ubuntu.com>
1142
1143 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1144 PATH when running help2man and then run it on the unadorned
1145 executable names, rather than passing $(builddir)/* paths to
1146 help2man. This avoids the build directory ending up in generated
1147 manual pages.
1148
1246efeb
CW
11492010-06-29 Colin Watson <cjwatson@ubuntu.com>
1150
1151 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1152 to avoid accidents when debugging with 'sh -x'.
1153 * util/grub-mkrescue.in: Likewise.
1154 * util/grub.d/00_header.in: Likewise.
1155 * util/grub.d/10_hurd.in: Likewise.
1156 * util/grub.d/10_kfreebsd.in: Likewise.
1157 * util/grub.d/10_linux.in: Likewise.
1158 * util/grub.d/10_netbsd.in: Likewise.
1159 * util/grub.d/10_windows.in: Likewise.
1160 * util/grub.d/20_linux_xen.in: Likewise.
1161 * util/grub.d/30_os-prober.in: Likewise.
1162 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1163
1ba9b889
CW
11642010-06-29 Colin Watson <cjwatson@ubuntu.com>
1165
1166 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1167 last character in the buffer.
1168 Reported by: Vladimir Serbinenko.
1169
dccaf99d
RM
11702010-06-29 Robert Millan <rmh@gnu.org>
1171
1172 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1173 (Command-line and menu entry commands): Document `badram' command.
1174
d500ed12
RM
11752010-06-28 Robert Millan <rmh@gnu.org>
1176
1177 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1178 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1179 command using ${GRUB_BADRAM} as parameter.
1180
20bc84a6
CW
11812010-06-28 Colin Watson <cjwatson@ubuntu.com>
1182
1183 * docs/grub.texi (Device map): New section.
1184 (Themes): New section (stub).
1185 * Makefile.in (docs/grub.info): The info documentation now builds
1186 without errors. Make sure it stays that way.
1187
4045dee1
VS
11882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Use normal parser for menu entries.
1191 Reported by: Thomas Frauendorfer
1192
1193 * include/grub/parser.h (grub_parser_execute): Don't export.
1194 * normal/menu.c (grub_menu_execute_entry_real): New function.
1195 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1196
bca58c7b
CW
11972010-06-28 Colin Watson <cjwatson@ubuntu.com>
1198
1199 * docs/grub.texi (Embedded configuration): New section (replacing
1200 old "Preset Menu" stub).
1201 (Images): New section.
1202 (configfile): Note that any menu entries defined in `file' are shown
1203 immediately.
1204
dec53e63
JT
12052010-06-28 Josh Triplett <josh@joshtriplett.org>
1206
1207 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1208
c06e40f7
CW
12092010-06-28 Colin Watson <cjwatson@ubuntu.com>
1210
1211 * util/grub-install.in: Add --debug-image= option.
1212
cb88052b
CW
12132010-06-28 Colin Watson <cjwatson@ubuntu.com>
1214
1215 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1216 possible on Linux.
1217
1218 * util/deviceiter.c (check_device): Rename to ...
1219 (check_device_readable_unique): ... this. Update all callers.
1220 Maintain and check a list of which devices (by canonicalized name)
1221 have already been seen.
1222 (clear_seen_devices): New function.
1223 (compare_file_names) [__linux__]: New function.
1224 (grub_util_iterate_devices): Clear the list of seen devices on exit
1225 and (just in case) on entry.
1226 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1227 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1228 seen-devices list, superseded by general code in check_device.
1229
bbe34652
CW
12302010-06-28 Colin Watson <cjwatson@ubuntu.com>
1231
1232 * commands/cat.c (options): New variable.
1233 (grub_cmd_cat): Parse options. If the --dos option is given, print
1234 DOS-style "\r\n" line endings as simple newlines (Debian bug
1235 #586358).
1236 (GRUB_MOD_INIT): Use extcmd.
1237 (GRUB_MOD_FINI): Likewise.
1238 * docs/grub.texi (cat): Document --dos.
1239
412e09f3
VS
12402010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 XEN with Linux grub-mkconfig support.
1243
1244 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1245 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1246 GRUB_CMDLINE_XEN_DEFAULT.
1247 * util/grub.d/20_linux_xen.in: New file.
1248
53f3ef38 12492010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
1250
1251 Initialise VGA video on qemu ourselves.
1252
1253 * boot/i386/qemu/boot.S: Don't call 0xc000.
1254 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1255 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1256 (kernel_img_HEADERS): Add pci.h.
1257 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1258 * configure.ac: Force unifont on qemu and yeeloong.
1259 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1260 (grub_vga_palette_write): Use correct register.
1261 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1262 Call grub_qemu_init_cirrus.
1263 * kern/i386/qemu/init.c: New file.
1264 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1265
1266 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1267
c75be4fb
PR
12682010-06-26 Pavel Roskin <proski@gnu.org>
1269
1270 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1271 13.
1272
d8034603
CW
12732010-06-26 Colin Watson <cjwatson@ubuntu.com>
1274
1275 * docs/grub.texi (Simple configuration): Explain that
1276 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1277 set to `true' to disable their respective recovery entries, not
1278 merely set.
1279
3fa06487
CW
12802010-06-26 Colin Watson <cjwatson@ubuntu.com>
1281
1282 Make the `source' command slightly faster.
1283
1284 * normal/main.c (grub_normal_execute): Don't re-read list files when
1285 nested.
1286
e9b29642
CW
12872010-06-23 Colin Watson <cjwatson@ubuntu.com>
1288
1289 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1290 field position and mask size to red fields from mode_info, not
1291 green.
1292 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1293 Remove redundant tag->common.framebuffer_type assignment.
1294 Reported by: Seth Goldberg.
1295
e726542f
CW
12962010-06-23 Colin Watson <cjwatson@ubuntu.com>
1297
1298 Sync up other versions of the Linux loader with Robert Millan's
1299 change of 2010-01-09, "Make loader output a bit more user-friendly".
1300
1301 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1302 grub_dprintf().
1303 (grub_cmd_linux): Likewise.
1304 (grub_cmd_initrd): Likewise.
1305 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1306 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1307
d6e98a17
CW
13082010-06-21 Colin Watson <cjwatson@ubuntu.com>
1309
1310 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1311 larger than MEMORY_MAP_SIZE.
1312
14d3f08e
BC
13132010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1314
1315 Fix parallel build.
1316
1317 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1318 dependency.
1319 * script/parser.y: #include grub_script.tab.h header.
1320
4f9613a3
VS
13212010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Support >3GiB and <16MiB RAM in i386-qemu.
1324
1325 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1326 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1327 (grub_lower_mem): Removed.
1328 (grub_upper_mem): Likewise.
1329 (mem_size): Made static.
1330 (above_4g): New variable.
1331 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1332 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1333 support.
1334
05e51879
VS
13352010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Cirrus 5446 and Bochs video cards support.
1338
1339 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1340 video_bochs.mod
1341 (video_cirrus_mod_SOURCES): New variable.
1342 (video_cirrus_mod_CFLAGS): Likewise.
1343 (video_cirrus_mod_LDFLAGS): Likewise.
1344 (video_bochs_mod_SOURCES): Likewise.
1345 (video_bochs_mod_CFLAGS): Likewise.
1346 (video_bochs_mod_LDFLAGS): Likewise.
1347 * include/grub/vga.h: New file.
1348 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1349 (grub_video_fb_set_page_t): New type.
1350 (grub_video_fb_setup): New prototype.
1351 (grub_video_fb_swap_buffers): Likewise.
1352 (grub_video_fb_get_info_and_fini): Likewise.
1353 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1354 (CRTC_DATA_PORT): Likewise.
1355 (CRTC_CURSOR): Likewise.
1356 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1357 (CRTC_CURSOR_ADDR_LOW): Likewise.
1358 (CRTC_CURSOR_DISABLE): Likewise.
1359 (update_cursor): Use grub_vga_cr_write.
1360 (grub_vga_text_setcursor): Likewise.
1361 * video/bochs.c: New file.
1362 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1363 (palette): Likewise.
1364 (palette_size): Likewise.
1365 (framebuffer): New variable.
1366 (grub_video_fb_init): Use 'framebuffer'.
1367 (grub_video_fb_fini): Likewise.
1368 (grub_video_fb_get_info): Likewise.
1369 (grub_video_fb_get_palette): Likewise.
1370 (grub_video_fb_set_palette): Likewise.
1371 (grub_video_fb_set_viewport): Likewise.
1372 (grub_video_fb_get_viewport): Likewise.
1373 (grub_video_fb_map_color): Likewise.
1374 (grub_video_fb_map_rgb): Likewise.
1375 (grub_video_fb_map_rgba): Likewise.
1376 (grub_video_fb_unmap_color): Likewise.
1377 (grub_video_fb_unmap_color_int): Likewise.
1378 (grub_video_fb_fill_rect): Likewise.
1379 (grub_video_fb_blit_bitmap): Likewise.
1380 (grub_video_fb_blit_render_target): Likewise.
1381 (grub_video_fb_scroll): Likewise.
1382 (grub_video_fb_create_render_target): Likewise.
1383 (grub_video_fb_doublebuf_blit_init): Likewise.
1384 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1385 (doublebuf_pageflipping_update_screen): New function.
1386 (doublebuf_pageflipping_init): Likewise.
1387 (grub_video_fb_setup): Likewise.
1388 (grub_video_fb_swap_buffers): Likewise.
1389 (grub_video_fb_get_info_and_fini): Likewise.
1390 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1391 All users updated.
1392 (doublebuf_pageflipping_commit): Restructured into ...
1393 (doublebuf_pageflipping_set_page): ... this.
1394 (doublebuf_pageflipping_update_screen): Removed.
1395 (doublebuf_pageflipping_init): Likewise.
1396 (double_buffering_init): Likewise.
1397 (grub_video_vbe_setup): Use grub_video_fb_setup.
1398 (grub_video_vbe_swap_buffers): Removed.
1399 (grub_video_vbe_set_active_render_target): Likewise.
1400 (grub_video_vbe_get_active_render_target): Likewise.
1401 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1402 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1403 grub_video_fb_set_active_render_target and
1404 grub_video_fb_get_active_render_target.
1405 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1406 (SEQUENCER_DATA_PORT): Likewise.
1407 (MAP_MASK_REGISTER): Likewise.
1408 (CRTC_ADDR_PORT): Likewise.
1409 (CRTC_DATA_PORT): Likewise.
1410 (START_ADDR_HIGH_REGISTER): Likewise.
1411 (START_ADDR_LOW_REGISTER): Likewise.
1412 (GRAPHICS_ADDR_PORT): Likewise.
1413 (GRAPHICS_DATA_PORT): Likewise.
1414 (READ_MAP_REGISTER): Likewise.
1415 (INPUT_STATUS1_REGISTER): Likewise.
1416 (INPUT_STATUS1_VERTR_BIT): Likewise.
1417 (get_map_mask): Use grub_vga_sr_read.
1418 (set_map_mask): Use grub_vga_sr_write.
1419 (set_read_map): Use grub_vga_gr_write.
1420 (set_start_address): Use grub_vga_cr_write.
1421 * video/sm712.c (framebuffer): Remove leftover fields.
1422
4321c64a
CW
14232010-06-20 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1426 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1427 instead. Replace the gfxterm backend check with a check that
1428 ${GRUB_PREFIX}/video.lst is non-empty.
1429 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1430 again.
1431 (load_video): New generated function. Call it before loading
1432 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1433 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1434 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1435 * docs/grub.texi (Simple configuration): Document
1436 GRUB_VIDEO_BACKEND.
1437
14382010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Use video functions in linux and xnu loaders.
1441
1442 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1443 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1444 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1445 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1446 loader/i386/pc/linux.c.
1447 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1448 (find_line_len): Removed.
1449 (find_framebuf): Likewise.
1450 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1451 * loader/i386/efi/xnu.c: Removed.
1452 * loader/i386/pc/xnu.c: Moved from here...
1453 * loader/i386/xnu.c: ...here.
1454
1455 Enable priorities in video drivers.
1456
1457 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1458 (grub_video_adapter): New field prio.
1459 (grub_video_register): Respect prio when inserting.
1460 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1461 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1462 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1463 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1464 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1465 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1466 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1467
1468 Fix SDL driver ID.
1469
1470 * include/grub/video.h (grub_video_driver_id_t): New value
1471 GRUB_VIDEO_DRIVER_SDL.
1472 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1473
7d24e434
CW
14742010-06-17 Colin Watson <cjwatson@ubuntu.com>
1475
1476 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1477 argument to printf.
1478 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1479
c88a83f6
CW
14802010-06-17 Colin Watson <cjwatson@ubuntu.com>
1481
1482 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1483 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1484
094dfb69
CW
14852010-06-17 Colin Watson <cjwatson@ubuntu.com>
1486
1487 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1488 directly, and recommend grub-install instead.
1489 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1490
2164da6b
CW
14912010-06-17 Colin Watson <cjwatson@ubuntu.com>
1492
1493 Fix i386-pc prefix handling with nested partitions (Debian bug
1494 #585068). Note that the case where the core image is booted using
1495 multiboot and relocated from its original location still requires
1496 more work.
1497
1498 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1499 with "(,", fill the boot drive in between those two characters, but
1500 expect that a full partition specification including partition map
1501 names will follow.
1502 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1503 specified, write a prefix without the drive name but including a
1504 full partition specification.
1505
044e2e60
CW
15062010-06-16 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * util/grub-mkconfig.in: Ignore non-option arguments, for
1509 compatibility with older versions (before 2010-06-12) which did the
1510 same. In particular, this makes it easier to ship an update-grub
1511 wrapper which is compatible with that used with GRUB Legacy (Debian
1512 bug #586056).
1513
5591324f
GS
15142010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1515
1516 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1517 for manual page generation.
1518
662e24d5
GS
15192010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1520
1521 * po/POTFILES: Remove leftover commands/handler.c.
1522
8d70754e
CW
15232010-06-14 Colin Watson <cjwatson@ubuntu.com>
1524
1525 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1526 left this script non-functional.
1527
41160e2e
CW
15282010-06-14 Colin Watson <cjwatson@ubuntu.com>
1529
1530 * docs/man/grub-emu.h2m: New file.
1531
b5309cc1
CW
15322010-06-13 Colin Watson <cjwatson@ubuntu.com>
1533
1534 * docs/grub.texi (Commands): Document reduced command set in rescue
1535 mode.
1536 (cpuid): New section.
1537
fcb2d090
GS
15382010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1539
1540 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1541 new partition naming style.
1542 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1543
96e5c556
BC
15442010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1545
1546 Add "-o grub.iso" like cmdline options support.
1547
1548 * util/grub-install.in: Improve cmdline option parsing.
1549 * util/grub-mkconfig.in: Likewise.
1550 * util/grub-mkrescue.in: Likewise.
1551 * util/grub-reboot.in: Likewise.
1552 * util/grub-set-default.in: Likewise.
1553 * util/i386/efi/grub-install.in: Likewise.
1554 * util/ieee1275/grub-install.in: Likewise.
1555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1556
c16be99b
CW
15572010-06-12 Colin Watson <cjwatson@ubuntu.com>
1558
1559 * .bzrignore: Ignore 41_custom.
1560
ce08a9fb
TS
15612010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1562
1563 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1564
7beac90c
CW
15652010-06-12 Colin Watson <cjwatson@ubuntu.com>
1566
1567 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1568 prototype declarations.
1569
1570 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1571 generating fs, partmap, and video lists.
1572 * include/grub/fs.h (grub_fs_register): Omit prototype if
1573 GRUB_LST_GENERATOR is defined.
1574 * include/grub/partition.h (grub_partition_map_register): Likewise.
1575 * include/grub/video.h (grub_video_register): Likewise.
1576
1c8f0f8d
JM
15772010-06-12 Javier Martín <lordhabbit@gmail.com>
1578
1579 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1580
a6085973
TS
15812010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1582
1583 * util/grub-mkrescue.in: Support --xorriso argument.
1584
25c56d29
VS
15852010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1588 Suggested by: Thomas Schmitt.
1589
e03e4b24
VS
15902010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1593 Suggested by: Thomas Schmitt.
1594
57711df6
VS
15952010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 custom.cfg support.
1598
1599 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1600 * util/grub.d/41_custom.in: New file.
1601
ee62c427
CW
16022010-06-12 Colin Watson <cjwatson@ubuntu.com>
1603
1604 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1605 been merged back into normal.
1606
283af07a
CW
16072010-06-11 Colin Watson <cjwatson@ubuntu.com>
1608
1609 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1610 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1611
56a0d956
CW
16122010-06-11 Colin Watson <cjwatson@ubuntu.com>
1613
1614 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1615 when generating manual pages.
1616 * docs/man/grub-bin2h.h2m: New file.
1617 * docs/man/grub-editenv.h2m: New file.
1618 * docs/man/grub-fstest.h2m: New file.
1619 * docs/man/grub-install.h2m: New file.
1620 * docs/man/grub-macho2img.h2m: New file.
1621 * docs/man/grub-mkconfig.h2m: New file.
1622 * docs/man/grub-mkdevicemap.h2m: New file.
1623 * docs/man/grub-mkfont.h2m: New file.
1624 * docs/man/grub-mkimage.h2m: New file.
1625 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1626 * docs/man/grub-mkrelpath.h2m: New file.
1627 * docs/man/grub-mkrescue.h2m: New file.
1628 * docs/man/grub-ofpathname.h2m: New file.
1629 * docs/man/grub-pe2elf.h2m: New file.
1630 * docs/man/grub-probe.h2m: New file.
1631 * docs/man/grub-reboot.h2m: New file.
1632 * docs/man/grub-script-check.h2m: New file.
1633 * docs/man/grub-set-default.h2m: New file.
1634 * docs/man/grub-setup.h2m: New file.
1635
3a37e322
VS
16362010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Use FOR_* macros instead of *_iterate whenever possible.
1639
1640 * commands/handler.c: Removed.
1641 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1642 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1643 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1644 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1645 (grub_probe_SOURCES): Remove kern/parser.c.
1646 (util/grub-script-check.c_DEPENDENCIES): Removed.
1647 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1648 and grub_script_check_init.c.
1649 (grub_script_check_init.lst): Removed.
1650 (grub_script_check_init.h): Likewise.
1651 (grub_script_check_init.c): Likewise.
1652 (pkglib_MODULES): Remove handler.mod and sh.mod.
1653 (handler_mod_SOURCES): Removed.
1654 (handler_mod_CFLAGS): Likewise.
1655 (handler_mod_LDFLAGS): Likewise.
1656 (normal_mod_SOURCES): Remove normal/handler.c.
1657 Add script/main.c, script/script.c, script/execute.c,
1658 script/function.c, script/lexer.c, grub_script.tab.c
1659 and grub_script.yy.c.
1660 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1661 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1662 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1663 (grub_setup_SOURCES): Remove kern/parser.c.
1664 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1665 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1666 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1667 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1668 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1669 (grub_setup_SOURCES): Remove kern/parser.c.
1670 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1671 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1672 * include/grub/command.h (grub_command_iterate): Removed.
1673 (FOR_COMMANDS): New macro.
1674 * include/grub/dl.h (grub_dl): New member next.
1675 (grub_dl_iterate): Removed.
1676 (grub_dl_head): New variable declaration.
1677 (FOR_DL_MODULES): New macro.
1678 * include/grub/fs.h: Include list.h.
1679 (grub_fs): Make next first element.
1680 (grub_fs_list): New variable declaration.
1681 (grub_fs_register): Make inline.
1682 (grub_fs_unregister): Likewise.
1683 (grub_fs_iterate): Removed.
1684 (FOR_FILESYSTEMS): New macro.
1685 * include/grub/handler.h: Removed.
1686 * include/grub/list.h (grub_list_hook_t): Removed.
1687 (grub_list_test_t): Likewise.
1688 (grub_list_pop): Likewise.
1689 (grub_list_iterate): Likewise.
1690 (grub_list_insert): Likewise.
1691 (FOR_LIST_ELEMENTS): New macro.
1692 * include/grub/parser.h (grub_parser_class): Removed.
1693 (grub_parser_register): Likewise.
1694 (grub_parser_unregister): Likewise.
1695 (grub_parser_get_current): Likewise.
1696 (grub_parser_set_current): Likewise.
1697 (grub_register_rescue_parser): Likewise.
1698 (grub_rescue_parse_line): New function.
1699 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1700 * include/grub/script_sh.h (grub_script_function_list): New variable
1701 declaration.
1702 (FOR_SCRIPT_FUNCTIONS): New macro.
1703 (grub_script_function_iterate): Removed.
1704 (grub_normal_parse_line): New prototype.
1705 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1706 (FOR_DISABLED_TERM_INPUTS): Likewise.
1707 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1708 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1709 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1710 element.
1711 (grub_video_register): Inline.
1712 (grub_video_unregister): Likewise.
1713 (grub_video_adapter_list): New variable declaration.
1714 (grub_video_iterate): Removed.
1715 (FOR_VIDEO_ADAPTERS): New macro.
1716 * kern/dl.c (grub_dl_list): Removed. All users updated.
1717 (grub_dl_iterate): Removed.
1718 * kern/fs.c (grub_fs_list): Make global.
1719 (grub_fs_register): Removed.
1720 (grub_fs_unregister): Likewise.
1721 (grub_fs_iterate): Likewise.
1722 * kern/handler.c: Removed.
1723 * kern/list.c (grub_list_pop): Removed.
1724 (grub_list_iterate): Likewise.
1725 (grub_list_insert): Likewise.
1726 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1727 (grub_prio_list_insert): Don't use grub_list_insert.
1728 * kern/main.c (grub_register_rescue_parser): Don't call
1729 grub_register_rescue_parser.
1730 * kern/parser.c (grub_parser_class): Removed.
1731 (grub_parser_execute): Use grub_rescue_parse_line.
1732 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1733 (grub_rescue_parser): Removed.
1734 (grub_register_rescue_parser): Likewise.
1735 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1736 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1737 (grub_auth_check_authentication): Likewise.
1738 * normal/completion.c (iterate_command): Removed.
1739 (grub_normal_do_completion): Use FOR_COMMANDS.
1740 * normal/handler.c: Removed.
1741 * normal/main.c (read_config_file): Remove parser changing.
1742 (grub_normal_execute): Don't call read_handler_list.
1743 (grub_normal_read_line_real): Statically allocate prompt.
1744 (grub_cmdline_run): Use grub_normal_parse_line.
1745 (GRUB_MOD_FINI): Don't call free_handler_list.
1746 * normal/menu_entry.c (run): Likewise.
1747 * script/function.c (grub_script_function_list): Make global.
1748 (grub_script_function_iterate): Removed.
1749 * script/main.c (grub_normal_parse_line): Make global.
1750 (grub_sh_parser): Removed.
1751 (GRUB_MOD_INIT): Likewise.
1752 (GRUB_MOD_FINI): Likewise.
1753 * tests/lib/functional_test.c (grub_functional_test): Use
1754 FOR_LIST_ELEMENTS.
1755 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1756 (grub_test_run): Use FOR_LIST_ELEMENTS.
1757 * tests/lib/unit_test.c (main): Likewise.
1758 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1759 grub_list_pop.
1760 * util/grub-fstest.c (grub_term_input_class): Removed.
1761 (grub_term_output_class): Likewise.
1762 * util/grub-probe.c: Likewise.
1763 * util/i386/pc/grub-setup.c: Likewise.
1764 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1765 * util/grub-script-check.c (main): Don't call grub_init_all and
1766 grub_fini_all.
1767 * video/video.c (grub_video_adapter_list): Make global.
1768 (grub_video_register): Removed.
1769 (grub_video_unregister): Likewise.
1770 (grub_video_iterate): Likewise.
1771
6289c3a7
VS
17722010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1775 reported by Henrique Ferreiro.
1776
91460247
RM
17772010-06-09 Robert Millan <rmh@gnu.org>
1778
1779 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1780 ones, when both are available.
1781
0ea7c4f9
GS
17822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1783
1784 Make --version uniform and avoid hard-coded program name.
1785
1786 * util/grub-mkimage.c (main): Use `program_name' instead of
1787 hard-coded string.
1788 * util/i386/pc/grub-setup.c (main): Likewise.
1789 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1790 * util/grub-install.in: Save the basename of $0 in $self, and use the
1791 latter in informational messages. Use the same format for --version
1792 as the binary programs.
1793 * util/grub-mkconfig.in: Likewise.
1794 * util/grub-mkrescue.in: Likewise.
1795 * util/grub-reboot.in: Likewise.
1796 * util/grub-set-default.in: Likewise.
1797 * util/i386/efi/grub-install.in: Likewise.
1798 * util/ieee1275/grub-install.in: Likewise.
1799 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1800
e8a6f3b6
GS
18012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1802
1803 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1804 embedding area. Use <= instead of == when checking for non-emptiness.
1805
f4d095d7
GS
18062010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1807
1808 * configure.ac: Add `.' to the directories searched for unifont.
1809
50e532ca
CW
18102010-06-08 Colin Watson <cjwatson@ubuntu.com>
1811
1812 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1813 grub_script.yy.h.
1814
d39f3dec
CW
18152010-06-08 Colin Watson <cjwatson@ubuntu.com>
1816
1817 * docs/grub.texi (History): Expand to cover GRUB 2.
1818 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1819 commands, not `terminal'.
1820 (serial): Likewise.
1821 (terminal_input): New section.
1822 (terminal_output): New section.
1823 (uppermem): New section (stub).
1824 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1825
6ef0ddb4
CW
18262010-06-08 Colin Watson <cjwatson@ubuntu.com>
1827
1828 * docs/grub.texi (Security): Menu entries are unrestricted by
1829 default, not restricted to superusers as I had previously thought.
1830 Reword to account for this.
1831
e0f4c438
CW
18322010-06-07 Colin Watson <cjwatson@ubuntu.com>
1833
1834 * kern/emu/misc.c (device_mapper_null_log): New function.
1835 (grub_device_mapper_supported): New function.
1836 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1837 prototype.
1838 * kern/emu/hostdisk.c (find_partition_start): Check whether
1839 device-mapper is supported before trying to use it.
1840 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1841
da908200
CW
18422010-06-07 Colin Watson <cjwatson@ubuntu.com>
1843
1844 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1845 (File name syntax): Likewise.
1846 (help): --all is no longer supported in GRUB 2. Be more precise
1847 about pattern matching.
1848
fb55c3ac
CW
18492010-06-07 Colin Watson <cjwatson@ubuntu.com>
1850
1851 * normal/completion.c (grub_normal_do_completion): When completing
1852 arguments to "set" and the current word contains an equals sign,
1853 skip to after the equals sign before starting completion.
1854
258c2573
CW
18552010-06-07 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1858
ee75515e
CW
18592010-06-07 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * docs/grub.texi (Network): New section.
1862 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1863 `(nd)' as in GRUB Legacy.
1864 (pxe_unload): New section.
1865
a6a700aa
CW
18662010-06-07 Colin Watson <cjwatson@ubuntu.com>
1867
1868 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1869 in the rescue shell, so recommend using `set' instead. Thanks,
1870 Jordan Uggla.
1871
4003dd38
CW
18722010-06-07 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1875 (password): New section.
1876 (password_pbkdf2): New section.
1877 (search): New section.
1878 (Security): New section.
1879 (Troubleshooting): New section, currently very incomplete.
1880 (Invoking grub-mkpasswd-pbkdf2): New section.
1881 (Internals): New section, currently very incomplete.
1882
e1cbcc40
CW
18832010-06-07 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * util/grub.d/00_header.in: Add some more quoting (of
1886 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1887 work again.
1888 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1889
db8fa1ad
CW
18902010-06-07 Colin Watson <cjwatson@ubuntu.com>
1891
1892 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1893 to `count', fixing variable shadowing that broke the -c option.
1894
18952010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
1896
1897 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1898 in case they contain spaces.
1899
f28a9212
CW
19002010-06-04 Colin Watson <cjwatson@ubuntu.com>
1901
1902 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1903 "part_" to partmap module names, in line with grub-install.
1904 Reported by: Jindřich Makovička (Debian bug #584426).
1905
9cdfe32f
CW
19062010-06-04 Colin Watson <cjwatson@ubuntu.com>
1907
1908 * util/grub-mkimage.c: Make target-related error messages slightly
1909 more helpful; -O talks about "format". Explicitly point to the use
1910 of -O if no target is specified.
1911 Reported by: Didier Raboud (Debian bug #584415).
1912
795b593a
CW
19132010-06-03 Colin Watson <cjwatson@ubuntu.com>
1914
1915 * INSTALL: Document several build requirements for optional features
1916 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1917
9d9b5833
GS
19182010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1919
1920 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1921 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1922 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1923
0819fec8
CW
19242010-06-02 Colin Watson <cjwatson@ubuntu.com>
1925
1926 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1927 Thanks to Jordan Uggla for spotting this.
1928
49396b4f
VS
19292010-06-02 Aleš Nesrsta <starous@volny.cz>
1930
1931 Finally make USB usable.
1932
1933 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1934 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1935 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1936 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1937 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1938 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1939 (GRUB_OHCI_FSMPS): Likewise.
1940 (GRUB_OHCI_PERIODIC_START): Likewise.
1941 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1942 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1943 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1944 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1945 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1946 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1947 (grub_ohci_transaction): Likewise.
1948 (grub_ohci_transfer): Improve condition detection algorithms.
1949 Handle toggle property. Program the transactions correctly.
1950 Improve error handling. Various important fixups.
1951 (grub_ohci_portstatus): Put register writes in right order.
1952 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1953 (grub_uhci_transfer): Don't show "failed" message on success.
1954 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1955 array.
1956 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1957 determine its size.
1958 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1959 before initialization is completed. Use IN direction for empty
1960 transfers. Use last_trans and compute toggle.
1961 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1962 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1963 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1964 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1965 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1966 (grub_usb_device): Increase toggle to 256.
1967 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1968 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1969 GRUB_USBMS_SUBCLASS_SFF8070.
1970 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1971 (grub_scsi_inquiry): New member page and alloc_length.
1972 (grub_scsi_request_sense): New structure.
1973 (grub_scsi_request_sense_data): Likewise.
1974 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1975 control.
1976 * disk/scsi.c (grub_scsi_request_sense): New function.
1977 (grub_scsi_test_unit_ready): Likewise.
1978 (grub_scsi_inquiry): Fill new fields.
1979 (grub_scsi_read_capacity): Likewise.
1980 (grub_scsi_read10): Add request sense at the end.
1981 (grub_scsi_read12): Likewise.
1982 (grub_scsi_write10): Likewise.
1983 (grub_scsi_write12): Likewise.
1984 (grub_scsi_open): Add Test Unit Ready.
1985 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1986 Support additional subclasses. Con't clear halt yet. Activate the
1987 proper config. Calculate LUNs correctly.
1988 (grub_usbms_transfer): Various important fixups.
1989
19902010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1993 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1994 (grub_ohci_fini_hw): New function.
1995 (grub_ohci_restore_hw): Likewise.
1996 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1997 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1998 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1999
20002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 Dedicated DMA allocations.
2003
2004 * bus/pci.c (grub_memalign_dma32): New function
2005 (grub_dma_free): Likewise.
2006 (grub_dma_get_virt): Likewise.
2007 (grub_dma_get_phys): Likewise.
2008 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2009 (grub_ohci_pci_iter): Use dma32_alloc.
2010 (grub_ohci_transfer): Likewise.
2011 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2012 (grub_usb_bulk_readwrite): Likewise.
2013 * include/grub/pci.h: Add declarations.
2014
20152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 CS5536 support.
2018
2019 * bus/cs5536.c: New file.
2020 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2021 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2022 (cs5536_mod_SOURCES): New variable.
2023 (cs5536_mod_CFLAGS): Likewise.
2024 (cs5536_mod_LDFLAGS): Likewise.
2025 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2026 machine/pci.h.
2027 (kernel_img_SOURCES): Add bus/cs5536.c.
2028 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2029 usb_keyboard.mod.
2030 (usb_mod_SOURCES): New variable.
2031 (usb_mod_CFLAGS): New variable.
2032 (usb_mod_LDFLAGS): New variable.
2033 (usbtest_mod_SOURCES): New variable.
2034 (usbtest_mod_CFLAGS): New variable.
2035 (usbtest_mod_LDFLAGS): New variable.
2036 (ohci_mod_SOURCES): New variable.
2037 (ohci_mod_CFLAGS): New variable.
2038 (ohci_mod_LDFLAGS): New variable.
2039 (usbms_mod_SOURCES): New variable.
2040 (usbms_mod_CFLAGS): New variable.
2041 (usbms_mod_LDFLAGS): New variable.
2042 (usb_keyboard_mod_SOURCES): New variable.
2043 (usb_keyboard_mod_CFLAGS): New variable.
2044 (usb_keyboard_mod_LDFLAGS): New variable.
2045 * include/grub/smbus.h: New file.
2046 * include/grub/cs5536.h: New file.
2047
0b35b2a9
CW
20482010-06-02 Colin Watson <cjwatson@ubuntu.com>
2049
2050 * util/grub.d/00_header.in: Add safety check to make sure that
2051 ${locale_dir} exists before trying to probe it.
2052
ca0afd5b
CW
20532010-06-02 Colin Watson <cjwatson@ubuntu.com>
2054
2055 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2056 per the GNU Coding Standards; this is now too obscure to be worth
2057 documenting.
2058 (QNX): Likewise.
2059 (chainloader): Remove cross-reference to `SCO UnixWare'.
2060
1c41aa78
CW
20612010-06-02 Colin Watson <cjwatson@ubuntu.com>
2062
2063 * docs/grub.texi (Chain-loading): New section.
2064 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2065 adjusted for GRUB 2.
2066 (SCO UnixWare): Likewise.
2067 (QNX): Likewise.
2068 (chainloader): Add reference to `Block list syntax'.
2069 (drivemap): New section.
2070 (parttool): New section.
2071
bb8ea0f5
CW
20722010-06-02 Colin Watson <cjwatson@ubuntu.com>
2073
2074 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2075 the grub shell'.
2076 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2077 (Installing GRUB using grub-install): Remove reference to the grub
2078 shell; mention `grub-mkimage' and `grub-setup' instead.
2079 (Invoking grub-install): Likewise.
2080 (Interface): Add reference to `Menu entry editor'.
2081 (serial): Remove `--device' option.
2082
288dd6ed
CW
20832010-06-02 Colin Watson <cjwatson@ubuntu.com>
2084
2085 * docs/grub.texi (Configuration): New section, documenting
2086 configuration file generation using grub-mkconfig. I've left a slot
2087 for documenting the full shell scripting format but have not yet
2088 started on writing that up.
2089 (Invoking grub-mkconfig): New section.
2090
34c9f0e9
CW
20912010-06-02 Colin Watson <cjwatson@ubuntu.com>
2092
2093 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2094 (GNU GRUB manual): Likewise.
2095 (General commands): Update description of `terminfo' for GRUB 2.
2096
9121567e
CW
20972010-06-02 Colin Watson <cjwatson@ubuntu.com>
2098
2099 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2100 (GRUB_MOD_INIT): Fix capitalisation.
2101 * docs/grub.texi (Command-line and menu entry commands): Document
2102 gettext and gptsync commands.
2103
ab631611
CW
21042010-06-02 Colin Watson <cjwatson@ubuntu.com>
2105
2106 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2107 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2108
bde4a9ac
CW
21092010-06-01 Colin Watson <cjwatson@ubuntu.com>
2110
2111 Add btrfs probing support, currently only in the single-device case.
2112
2113 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2114 function.
2115 (grub_guess_root_device): Call find_root_device_from_mountinfo
2116 before looking in /dev.
2117
b1d17e10
VS
21182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2121 GRUB_DISK_SIZE_UNKNOWN.
2122 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2123
dfbfe004
JS
21242010-05-31 Jiro SEKIBA <jir@unicus.jp>
2125
2126 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2127 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2128 corrupted or not synced properly.
2129
c2ffc8e9
VS
21302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2133 Reported by: Seth Goldberg.
2134
56293166
VS
21352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2138 addition of dest.
2139 Reported by: Seth Goldberg.
2140
7620e7de
VS
21412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2144 Reported by: Seth Goldberg.
2145
c837af3f
VS
21462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2149 64-bit address as signed on MIPS.
2150
c7c75cf4
CW
21512010-05-28 Colin Watson <cjwatson@ubuntu.com>
2152
2153 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2154 to the empty string.
2155
fa4b8490
BC
21562010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2157
2158 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2159
2160 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2161 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2162 * kern/misc.c (__enable_execute_stack): Disable on
2163 GRUB_MACHINE_EMU.
2164
a33075b9
CW
21652010-05-28 Colin Watson <cjwatson@ubuntu.com>
2166
2167 Make grub-probe work with symbolic links under /dev/mapper as well
2168 as with real block devices. The Linux world seems to be (at best)
2169 in transition here, and GRUB shouldn't get caught in the middle.
2170
2171 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2172 /dev/mapper.
2173
d8708134
CW
21742010-05-27 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2177 input files (in which case exit zero).
2178
db2102a0
CW
21792010-05-27 Colin Watson <cjwatson@ubuntu.com>
2180
2181 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2182 return NULL for various reasons even if it has a maximum-length
2183 buffer: for example, there might be a symlink loop, or the path
2184 might exceed PATH_MAX. If this happens, return NULL.
2185
5fdba519
RM
21862010-05-27 Robert Millan <rmh@gnu.org>
2187
2188 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2189 partmap module to handle cross-partmap setups.
2190 Reported by Orestes Mas. Gràcies!
2191
d1d368e4
CW
21922010-05-27 Colin Watson <cjwatson@ubuntu.com>
2193
2194 * util/grub-mkrescue.in: Initialise override_dir rather than
2195 assuming that it's unset or empty in the environment.
2196
95ac3c73
GS
21972010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2198
2199 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2200 variable index into p_index to suppress a warning with -Wshadow.
2201
7d8c0213
BC
22022010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2203
2204 * INSTALL: Added flex >= 2.5.35 requirement.
2205
db4d5813
VS
22062010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2209
f24f4300
VS
22102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 cmostest support.
2213
2214 * commands/i386/cmostest.c: New file.
2215 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2216 (cmostest_mod_SOURCES): New variable.
2217 (cmostest_mod_CFLAGS): Likewise.
2218 (cmostest_mod_LDFLAGS): Likewise.
2219 * conf/i386-pc.rmk: Likewise.
2220 * docs/grub.texi (Vendor power-on keys): New section.
2221 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2222 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2223 and GRUB_BUTTON_CMOS_ADDRESS.
2224 * util/grub.d/00_header.in: Handle powering-on by separate button.
2225
ad603f61
VS
22262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2229 Removed drawing_scrollbar argument. All users updated
2230 Fixes #29792.
2231 Reported by Jo Shields
2232
3ecb080a
VS
22332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2236 buffer since gfxterm handles double repaint.
2237
5f2316c1
VS
22382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2241 * term/gfxterm.c (real_scroll): Likewise.
2242
9a25f885
VS
22432010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2246 before calling BIOS.
2247
39fbb79a
VS
22482010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * include/grub/i18n.h: Always enable grub_gettext.
2251
228cfa97
VS
22522010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2255 partition naming style.
2256
21717c8f
CW
22572010-05-21 Colin Watson <cjwatson@ubuntu.com>
2258
2259 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2260 not the first option.
2261
c0f48e65
CW
22622010-05-20 Colin Watson <cjwatson@ubuntu.com>
2263
2264 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2265
96779aec
CW
22662010-05-20 Colin Watson <cjwatson@ubuntu.com>
2267
2268 * util/misc.c: Move inclusion of <limits.h> to ...
2269 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2270
fa9d256e
GS
22712010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2272
2273 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2274 Fix merge error in NetBSD code.
2275 (find_partition_start) [__NetBSD__]: Likewise.
2276
123b7a85
BC
22772010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2278
2279 Fix grub-mkrescue usage unit testing.
2280
2281 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2282
74276c0d
CF
22832010-05-18 Christian Franke <franke@computer.org>
2284
2285 * util/grub.d/10_windows.in: Use path names instead of
2286 drive letters to prevent warning from Cygwin 1.7.
2287 Add drivemap command to menuentry if needed.
2288
c4f7b523
ST
22892010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2290
2291 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2292 gnumach and gnumach.gz.
2293
95b97950
VS
22942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * include/grub/i18n.h (gettext): Inline instead of using #define.
2297 (grub_gettext): Likewise.
2298 (_): Likewise.
2299
01b8d2d7
VS
23002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2303 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2304 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2305 (main): Add a slash after pkglibdirroot.
2306
654e1d1e
VS
23072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * util/grub-install.in: Add missing "in" keyword.
2310
26966aeb
VS
23112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2314 Reported by: Seth Goldberg.
2315
75006747
VS
23162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2319
74cbf5bd
CW
23202010-05-18 Colin Watson <cjwatson@ubuntu.com>
2321
2322 * configure.ac: Check for Linux device-mapper support.
2323
2324 * util/hostdisk.c (device_is_mapped): New function.
2325 (find_partition_start): New function, partly broken out from
2326 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2327 device-mapper support added.
2328 (linux_find_partition): Use find_partition_start.
2329 (convert_system_partition_to_system_disk): Add `st' argument.
2330 Support Linux /dev/mapper/* devices if device-mapper support is
2331 available; only DM-RAID devices are understood at present.
2332 (find_system_device): Add `st' argument. Pass it to
2333 convert_system_partition_to_system_disk.
2334 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2335 find_system_device and convert_system_partition_to_system_disk. Use
2336 find_partition_start.
2337
2338 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2339 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2340 * util/deviceiter.c [__linux__]: Define MINOR.
2341 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2342 * util/mkdevicemap.c (grub_putchar): New function.
2343 (grub_getkey): New function.
2344 (grub_refresh): New function.
2345 (main): Set debug=all if -v -v is used.
2346
355b51e9
CW
23472010-05-18 Colin Watson <cjwatson@ubuntu.com>
2348
2349 Fix build with non-GNU libcs.
2350
2351 * util/misc.c (canonicalize_file_name): Move to ...
2352 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2353 grub_make_system_path_relative_to_its_root.
2354
7fb5c25f
CW
23552010-05-18 Colin Watson <cjwatson@ubuntu.com>
2356
2357 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2358 we handle finding grub-mkimage. Default to finding grub-mkimage in
2359 ${bindir} with program_transform_name applied, and provide a
2360 --grub-mkimage option to override this.
2361
1d3293d6
VS
23622010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Remove grub-mkisofs.
2365
2366 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2367 (grub_mkisofs_SOURCES): Removed.
2368 (grub_mkisofs_CFLAGS): Removed.
2369 * util/mkisofs/defaults.h: Removed.
2370 * util/mkisofs/eltorito.c: Likewise.
2371 * util/mkisofs/exclude.h: Likewise.
2372 * util/mkisofs/hash.c: Likewise.
2373 * util/mkisofs/include/: Likewise.
2374 * util/mkisofs/include/fctldefs.h: Likewise.
2375 * util/mkisofs/include/mconfig.h: Likewise.
2376 * util/mkisofs/include/prototyp.h: Likewise.
2377 * util/mkisofs/include/statdefs.h: Likewise.
2378 * util/mkisofs/iso9660.h: Likewise.
2379 * util/mkisofs/joliet.c: Likewise.
2380 * util/mkisofs/match.c: Likewise.
2381 * util/mkisofs/match.h: Likewise.
2382 * util/mkisofs/mkisofs.c: Likewise.
2383 * util/mkisofs/mkisofs.h: Likewise.
2384 * util/mkisofs/msdos_partition.h: Likewise.
2385 * util/mkisofs/multi.c: Likewise.
2386 * util/mkisofs/name.c: Likewise.
2387 * util/mkisofs/rock.c: Likewise.
2388 * util/mkisofs/tree.c: Likewise.
2389 * util/mkisofs/write.c: Likewise.
2390
5dde9afe
VS
23912010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Unify grub-mkimage accross platforms.
2394
2395 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2396 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2397 (grub_mkelfimage_SOURCES): Removed.
2398 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2399 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2400 (bin_UTILITIES): Add grub-mkimage.
2401 (grub_mkimage_SOURCES): New variable.
2402 (kernel_img_HEADERS): Remove machine/kernel.h.
2403 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2404 (pkglib_PROGRAMS): Add kernel.img.
2405 (kernel_img_HEADERS): Add machine/kernel.h.
2406 (kernel_img_FORMAT): Removed.
2407 (bin_UTILITIES): Remove grub-mkimage.
2408 (grub_mkimage_SOURCES): Removed.
2409 (grub_mkimage_CFLAGS): Likewise.
2410 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2411 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2412 (pkglib_PROGRAMS): Add kernel.img.
2413 (bin_UTILITIES): Remove grub-mkimage.
2414 (grub_mkimage_SOURCES): Removed.
2415 (grub_mkimage_CFLAGS): Likewise.
2416 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2417 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2418 (pkglib_PROGRAMS): Add kernel.img.
2419 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2420 (pkglib_PROGRAMS): Add kernel.img.
2421 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2422 (grub_mkimage_SOURCES): Removed.
2423 (grub_mkimage_CFLAGS): Likewise.
2424 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2425 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2426 (pkglib_PROGRAMS): Add kernel.img.
2427 (bin_UTILITIES): Remove grub-mkimage.
2428 (grub_mkimage_SOURCES): Removed.
2429 (grub_mkimage_CFLAGS): Likewise.
2430 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2431 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2432 (grub_mkimage_SOURCES): Removed.
2433 (grub_mkimage_CFLAGS): Likewise.
2434 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2435 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2436 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2437 (grub_pe32_optional_header): ... this.
2438 (grub_pe64_optional_header): ... and this. All users updated.
2439 (GRUB_PE32_PE32_MAGIC): Split into ..
2440 (GRUB_PE32_PE32_MAGIC): .. this.
2441 (GRUB_PE32_PE64_MAGIC): .. and this.
2442 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2443 * include/grub/elf.h (PT_GNU_STACK): New definition.
2444 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2445 * include/grub/i386/efi/kernel.h: Likewise.
2446 * include/grub/i386/kernel.h: Likewise.
2447 * include/grub/i386/pc/kernel.h: Likewise.
2448 * include/grub/i386/qemu/boot.h: Likewise.
2449 * include/grub/mips/kernel.h: Likewise.
2450 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2451 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2452 * include/grub/powerpc/kernel.h: Likewise.
2453 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2454 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2455 * include/grub/sparc64/kernel.h: Likewise.
2456 * include/grub/x86_64/efi/kernel.h: Likewise.
2457 * include/grub/x86_64/kernel.h: Likewise.
2458 * include/grub/offsets.h: New file.
2459 * include/grub/kernel.h (grub_module_info): Split into ...
2460 (grub_module_info32): ... this.
2461 (grub_module_info64): ... and this.
2462 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2463 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2464 (grub_boot_blocklist): Moved from here ...
2465 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2466 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2467 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2468 * include/grub/types.h (grub_target_to_host16): Removed.
2469 (grub_target_to_host32): Likewise.
2470 (grub_target_to_host64): Likewise.
2471 (grub_host_to_target16): Likewise.
2472 (grub_host_to_target32): Likewise.
2473 (grub_host_to_target64): Likewise.
2474 (grub_host_to_target_addr): Likewise.
2475
2476 Support grub-mkrescue for efi, coreboot and qemu.
2477
2478 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2479 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2480 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2481 * util/grub-mkrawimage.c: Moved from here ...
2482 * util/grub-mkimage.c: ... here. All users updated.
2483 (ALIGN_ADDR): Use image_target.
2484 (TARGET_NO_FIELD): New const.
2485 (image_target_desc): New type.
2486 (image_targets): New array.
2487 (grub_target_to_host64): Use image_target.
2488 (grub_target_to_host32): Likewise.
2489 (grub_target_to_host16): Likewise.
2490 (grub_host_to_target64): Likewise.
2491 (grub_host_to_target32): Likewise.
2492 (grub_host_to_target16): Likewise.
2493 (grub_host_to_target_addr): Likewise.
2494 (generate_image): Handle multiimage.
2495 (main): Require -O parameter. All users updated.
2496 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2497 util/efi/grub-mkimage.c
2498 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2499 New option --rom-directory.
2500 Use xorriso.
2501 * util/i386/efi/grub-mkimage.c: Removed.
2502 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2503 (grub_target_to_host32): Likewise.
2504 (grub_target_to_host64): Likewise.
2505 (grub_host_to_target16): Likewise.
2506 (grub_host_to_target32): Likewise.
2507 (grub_host_to_target64): Likewise.
2508 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2509 (grub_target_to_host32): Likewise.
2510 (grub_target_to_host64): Likewise.
2511 (grub_host_to_target16): Likewise.
2512 (grub_host_to_target32): Likewise.
2513 (grub_host_to_target64): Likewise.
2514
f4fc97d0
BC
25152010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2516
2517 Source tree is reorganized for emu build.
2518
2519 * include/grub/util/console.h: Move from here...
2520 * include/grub/emu/console.h: ...to here.
2521 * include/grub/util/getroot.h: Move from here...
2522 * include/grub/emu/getroot.h: ...to here.
2523 * include/grub/util/hostdisk.h: Move from here...
2524 * include/grub/emu/hostdisk.h: ...to here.
2525 * util/console.c: Move from here...
2526 * kern/emu/console.c: ...to here.
2527 * util/getroot.c: Move from here...
2528 * kern/emu/getroot.c: ...to here.
2529 * util/grub-emu.c: Move from here...
2530 * kern/emu/main.c: ...to here.
2531 * util/hostdisk.c: Move from here...
2532 * kern/emu/hostdisk.c: ...to here.
2533 * util/hostfs.c: Move from here...
2534 * kern/emu/hostfs.c: ...to here.
2535 * util/mm.c: Move from here...
2536 * kern/emu/mm.c: ...to here.
2537 * util/pci.c: Move from here...
2538 * bus/emu/pci.c: ...to here.
2539 * util/sdl.c: Move from here...
2540 * video/emu/sdl.c: ...to here.
2541 * util/time.c: Move from here...
2542 * kern/emu/time.c: ...to here.
2543 * util/usb.c: Move from here...
2544 * bus/usb/emu/usb.c: ...to here.
2545
2546 * include/grub/emu/misc.h: New header for grub-emu functions.
2547 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2548
2549 * conf/any-emu.rmk: Rule updates for above renames.
2550 * conf/common.rmk: Likewise.
2551 * conf/i386-pc.rmk: Likewise.
2552 * conf/i386-qemu.rmk: Likewise.
2553 * conf/mips.rmk: Likewise.
2554 * conf/sparc64-ieee1275.rmk: Likewise.
2555 * conf/x86-efi.rmk: Likewise.
2556
2557 * disk/lvm.h: #include updates for above renames.
2558 * util/grub-mkrelpath.c: Likewise.
2559 * util/grub-probe.c: Likewise.
2560 * util/i386/pc/grub-setup.c: Likewise.
2561 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2562 * kern/emu/console.c: Likewise.
2563 * kern/emu/getroot.c: Likewise.
2564 * kern/emu/hostdisk.c: Likewise.
2565 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2566
2567 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2568 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2569 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2570 * util/misc.c: Remove grub-emu functions.
2571
cced9145
VS
25722010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 Fix gfxmenu crash.
2575 Reported by: Thorsten Grützmacher.
2576
2577 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2578 timeout hook.
2579 (circprog_set_property): Register and unregister timeout hook.
2580 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2581 (label_destroy): Free template. and unregister hook.
2582 (label_set_state): New function.
2583 (label_set_property): Handle templates and hooks.
2584 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2585 timeout hook.
2586 (progress_bar_set_property): Register and unregister timeout hook.
2587 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2588 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2589 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2590 (update_timeout_visit): Removed.
2591 (update_timeouts): New function.
2592 (redraw_timeouts): Likewise.
2593 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2594 (grub_gfxmenu_clear_timeout): Likewise.
2595 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2596 (grub_gfxmenu_timeout_notify): Likewise.
2597 (grub_gfxmenu_timeout_notifications): New external variable.
2598 (grub_gfxmenu_timeout_register): New function.
2599 (grub_gfxmenu_timeout_unregister): Likewise.
2600
c6e5caab
VS
26012010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Transform (broken) vga terminal into (working) vga video driver.
2604
2605 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2606 video/i386/pc/vga.c.
2607 * include/grub/video.h (grub_video_driver_id):
2608 Add GRUB_VIDEO_DRIVER_VGA.
2609 * term/i386/pc/vga.c: Renamed to ...
2610 * video/i386/pc/vga.c: ...this
2611 (DEBUG_VGA): Removed.
2612 (CHAR_WIDTH): Likewise.
2613 (CHAR_HEIGHT): Likewise.
2614 (TEXT_WIDTH): Likewise.
2615 (TEXT_HEIGHT): Likewise.
2616 (DEFAULT_FG_COLOR): Likewise.
2617 (DEFAULT_BG_COLOR): Likewise.
2618 (colored_char): Likewise.
2619 (xpos): Likewise.
2620 (ypos): Likewise.
2621 (cursor_state): Likewise.
2622 (fg_color): Likewise.
2623 (bg_color): Likewise.
2624 (text_buf): Likewise.
2625 (page): Likewise.
2626 (font): Likewise.
2627 (framebuffer): New variable.
2628 (set_read_map): Disabled.
2629 (setup): New variable.
2630 (is_target): Likewise.
2631 (grub_vga_mod_init): Likewise.
2632 (grub_vga_mod_fini): Likewise.
2633 (check_vga_mem): Likewise.
2634 (write_char): Likewise.
2635 (write_cursor): Likewise.
2636 (scroll_up): Likewise.
2637 (grub_vga_putchar): Likewise.
2638 (grub_vga_getcharwidth): Likewise.
2639 (grub_vga_getwh): Likewise.
2640 (grub_vga_getxy): Likewise.
2641 (grub_vga_gotoxy): Likewise.
2642 (grub_vga_cls): Likewise.
2643 (grub_vga_setcolorstate): Likewise.
2644 (grub_vga_setcursor): Likewise.
2645 (grub_video_vga_init): New function.
2646 (grub_video_vga_setup): Likewise.
2647 (grub_video_vga_fini): Likewise.
2648 (update_target): Likewise.
2649 (grub_video_vga_blit_bitmap): Likewise.
2650 (grub_video_vga_blit_render_target): Likewise.
2651 (grub_video_vga_set_active_render_target): Likewise.
2652 (grub_video_vga_get_active_render_target): Likewise.
2653 (grub_video_vga_swap_buffers): Likewise.
2654 (grub_video_vga_set_palette): Likewise.
2655 (grub_video_vga_get_info_and_fini): Likewise.
2656 (grub_vga_term): Removed.
2657 (grub_video_vga_adapter): New variable.
2658 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2659 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2660
2bf61a98
VS
26612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * video/readers/jpeg.c: Indented.
2664
09ddcd11
VS
26652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Various jpeg cleanups.
2668
2669 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2670 (grub_jpeg_decode_quan_table): Use sizeof.
2671 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2672
e5507505
PH
26732010-05-05 Peter Hurley <No e-mail available> (tiny change)
2674
2675 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2676 tables. Ignore non-last ac bit.
2677 (grub_jpeg_decode_quan_table): Likewise.
2678
7e720a9b
VS
26792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2682 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2683 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2684 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2685 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2686 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2687
a7fc080b
VS
26882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2691 error.
2692
2bf6012d
VS
26932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2696
265d68cd
VS
26972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2700 condition.
2701
27022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
2703
2704 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2705 part.
2706
265d68cd 27072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
2708
2709 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2710 pointers.
2711
265d68cd 27122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
2713
2714 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2715
d1b61374
CF
27162010-05-01 Christian Franke <franke@computer.org>
2717
2718 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2719 Remove broken Cygwin path conversion.
2720 * util/misc.c: [__CYGWIN__] Add include and define.
2721 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2722 for Cygwin 1.7.
2723 (make_system_path_relative_to_its_root): Simplify loop, replace early
2724 return by break.
2725 [__CYGWIN__] Add conversion to win32 path.
2726 Include "/" case in trailing slash removal.
2727
3558c6e9
VS
27282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2731 Reported by: Seth Goldberg
2732
f5f3ff93
VS
27332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * commands/help.c (grub_cmd_help): Fix a typo.
2736 Reported by: Seth Goldberg
2737
d8b5cd40
VS
27382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2741 name and add N_.
2742 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2743 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2744 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2745 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2746 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2747 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2748 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2749 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2750 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2751 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2752 * normal/context.c (GRUB_MOD_INIT): Likewise.
2753 * normal/main.c (GRUB_MOD_INIT): Likewise.
2754 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2755 * term/serial.c (GRUB_MOD_INIT): Likewise.
2756 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2757
88c14915
VS
27582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2761 extra == 0.
2762
165134bc
VS
27632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * commands/iorw.c: New file.
2766 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2767 (iorw_mod_SOURCES): New variable.
2768 (iorw_mod_CFLAGS): Likewise.
2769 (iorw_mod_LDFLAGS): Likewise.
2770
c5ac9b32
VS
27712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Hotkey support
2774
2775 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2776 * normal/main.c (hotkey_aliases): New variable.
2777 (grub_normal_add_menu_entry): Parse "--hotkey".
2778 * normal/menu_text.c (run_menu): Handle hotkeys.
2779
ce60689c
VS
27802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * kern/i386/coreboot/init.c (grub_machine_init): Call
2783 grub_machine_mmap_init on qemu.
2784
0359d006
VS
27852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * boot/i386/qemu/boot.S: Add a missing .code16.
2788
7819a456
VS
27892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Use LBIO on coreboot.
2792
2793 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2794 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2795 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2796 New declaration.
2797 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2798 grub_machine_mmap_init on coreboot.
2799 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2800 GRUB_LINUXBIOS_MEMBER_LINK.
2801 (grub_machine_mmap_iterate): Fix declaration.
2802 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2803
7210dca9
VS
28042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Split coreboot and multiboot ports.
2807
2808 * conf/i386-multiboot.rmk: New file.
2809 * configure.ac: Add multiboot port.
2810 * include/grub/i386/multiboot/boot.h: New file.
2811 * include/grub/i386/multiboot/console.h: Likewise.
2812 * include/grub/i386/multiboot/init.h: Likewise.
2813 * include/grub/i386/multiboot/kernel.h: Likewise.
2814 * include/grub/i386/multiboot/loader.h: Likewise.
2815 * include/grub/i386/multiboot/memory.h: Likewise.
2816 * include/grub/i386/multiboot/serial.h: Likewise.
2817 * include/grub/i386/multiboot/time.h: Likewise.
2818 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2819 * loader/multiboot.c: Likewise.
2820 * loader/multiboot_mbi2.c: Likewise.
2821 * util/grub-mkrescue.in: Generate multiboot rescue.
2822
6f8aaf68
VS
28232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2824
3080f7a7
VS
2825 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2826
28272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
2830
2831 * commands/terminal.c (abstract_terminal): New struct.
2832 (handle_command): New function. Based on grub_cmd_terminal_input.
2833 (grub_cmd_terminal_input): Use handle_command.
2834 (grub_cmd_terminal_output): Use handle_command.
2835
a8ebb841
BC
28362010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2837
2838 Fix comment handling.
2839
2840 * tests/grub_script_comments.in: New testcase.
2841 * conf/tests.rmk: Rules for new testcase.
2842 * script/yylex.l: Updated flex rules.
2843
bb06ba08
ST
28442010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2845
2846 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
2847 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2848 if argc is 1.
bb06ba08 2849
cc9d2425
VS
28502010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2853 autogen issues.
2854
460d8402
CF
28552010-04-26 Christian Franke <franke@computer.org>
2856
2857 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2858 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2859 (grub_get_prefix): Remove function.
2860 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2861 make_system_path_relative_to_its_root ().
2862 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2863
553c01f9
CF
28642010-04-24 Christian Franke <franke@computer.org>
2865
2866 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2867 (kernel_img_LDFLAGS): Remove -static-libgcc.
2868
2aec1692
CF
28692010-04-24 Christian Franke <franke@computer.org>
2870
2871 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2872 and CHECK_END_SYMBOL if grub-emu is built.
2873 Unset TARGET_OBJ2ELF if grub-emu is built
2874 without module support.
2875
f67dc308
JS
28762010-04-24 Jiro SEKIBA <jir@unicus.jp>
2877
2878 Nilfs2 support.
2879
2880 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2881 (grub_fstest_SOURCES): Likewise.
2882 (pkglib_MODULES): Add nilfs2.mod.
2883 (nilfs2_mod_SOURCES): New variable.
2884 (nilfs2_mod_CFLAGS): Likewise.
2885 (nilfs2_mod_LDFLAGS): Likewise.
2886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2887 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2888 * fs/nilfs2.c: New file.
2889
4ba8d354
VS
28902010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2893 is not supported.
2894
0d2c20c6
GS
28952010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2896
2897 Add grub-mkconfig support for NetBSD.
2898
2899 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2900 * util/grub-mkconfig.in: export new NetBSD specific variables.
2901 * po/POTFILES-shell: added 10_netbsd.in.
2902 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2903
bc4a2d83
BC
29042010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2905
2906 Fix emu build with grub-emu-pci and grub-emu-modules.
2907
2908 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2909 functions.
2910 * include/grub/libpciaccess.h: New file.
2911 * conf/any-emu.rmk: Update kernel headers for emu build.
2912
f48c87aa
VS
29132010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2916
18959385
VS
29172010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2920
0037de3f
VS
29212010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2924 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2925 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2926 util/ieee1275/ofpath.c.
2927 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2928 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2929 * include/grub/sparc64/ieee1275/boot.h
2930 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2931 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2932 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2933 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2934 const char *.
2935 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2936 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2937 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2938 install.
2939
38e55e90
GS
29402010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2941
2942 * util/grub-mkconfig.in: Corrected two == equality tests.
2943 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2944 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2945 expect a number appended to it.
2946 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2947 expects a number appended to it.
2948
a9e6ff28
VS
29492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2952
0b830b8f
VS
29532010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * util/hostdisk.c (make_device_name): Change to new partition naming.
2956
0973daeb
VS
29572010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2960
460d8402 29612010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
2962
2963 * Makefile.in: Add missing localedir setting.
2964
0b456309
CW
29652010-04-14 Colin Watson <cjwatson@ubuntu.com>
2966
2967 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2968 mistake in r2156. Noticed by Anthony Fok.
2969
2970 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2971 @localedir@.
2972 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2973
08f46d62
BC
29742010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2975
2976 Fix a spurious, uninitialized variable warning.
2977
2978 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2979 Initialize variable, shdr.
2980 (grub_freebsd_load_elfmodule): Likewise.
2981 (grub_freebsd_load_elf_meta): Likewise.
2982
8c4a72d4
BC
29832010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2984
2985 Fix for escaped dollar in double quoted strings.
2986
2987 * script/yylex.l: Updated flex rules.
2988 * conf/tests.rmk: Rule for new testcase.
2989 * tests/grub_script_dollar.in: New testcase.
2990
ce44826e
CPE
29912010-04-13 Carles Pina i Estany <carles@pina.cat>
29922010-04-13 Colin Watson <cjwatson@ubuntu.com>
2993
2994 Enclose all translated strings in grub.cfg in single quotes, and
2995 escape them appropriately (Ubuntu bug #552921).
2996
2997 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2998 * util/grub.d/10_hurd.in: Use it.
2999 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3000 * util/grub.d/10_linux.in (linux_entry): Likewise.
3001
4b0cd8f8
VS
30022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 Fix cygwin compilation.
3005
3006 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3007 * include/grub/misc.h (__register_frame_info)
3008 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3009 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3010 * kern/misc.c (__register_frame_info)
3011 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3012 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3013
01fcf061
VS
30142010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3017
5d04b11e
VS
30182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Unify libgcc processing.
3021
3022 * Makefile.in (kernel_img_LDFLAGS): New variable.
3023 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3024 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3025 overwriting.
3026 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3027 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3028 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3029 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3030 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3031 overwriting. Remove -lgcc and -static-libgcc
3032 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3033 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3034 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3035 (kernel_img_LDFLAGS): Append instead of overwriting.
3036 Remove -lgcc and -static-libgcc
3037 * conf/sparc64-ieee1275.rmk: Likewise.
3038 * include/grub/powerpc/libgcc.h: Move to ...
3039 * include/grub/libgcc.h: .. this.
3040 * include/grub/libgcc.h: Don't export most of the function on x86.
3041 (__bswapsi2): New export.
3042 (__bswapdi2): Likewise.
3043 * include/grub/mips/libgcc.h: Removed.
3044 * include/grub/sparc64/libgcc.h: Likewise.
3045
b7f3ac29
VS
30462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3049 disk_info_msg (conflicts with gettexting into languages with cases).
3050
2c7031b1
GS
30512010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3052
3053 Add grub-probe support for NetBSD.
3054
3055 * util/getroot.c (find_root_device): Convert block device to
3056 character device on NetBSD.
3057 * util/probe.c (probe): Require character device on NetBSD.
3058 * util/hostdisk.c: NetBSD specific headers.
3059 (configure_device_driver): new function to tune device driver
3060 parameters (currently only for NetBSD floppy driver).
3061 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3062 via disklabel ioctl).
3063 (open_device): call configure_device_driver on NetBSD.
3064 (convert_system_partition_to_system_disk): NetBSD specific code.
3065 (device_is_wholedisk): Likewise.
3066 (grub_util_biosdisk_get_grub_dev): Likewise.
3067 (make_device_name): Fixed a typo in bsd_part_str.
3068 * configure.ac: check for opendisk() and getrawpartition() on
3069 NetBSD and set LIBUTIL.
3070 * Makefile.in: add LIBUTIL to LIBS.
3071
f516290c
BC
30722010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3073
3074 Documentation fix.
3075
3076 * util/grub-script-check.c: Better help message.
3077
d8dcc0df
BC
30782010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3079
3080 Fix FreeBSD build.
3081
3082 * configure.ac: Flex version check.
3083 * conf/common.rmk: Add -Wno-error to sh.mod.
3084 * script/yylex.l: Remove all #pragma.
3085
6734334a
VS
30862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3089 prototype.
3090 Reported by: Seth Goldberg.
3091
daea6abd
VS
30922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3095 Rename "module" to "module2".
3096 Reported by: Seth Goldberg.
3097
f2fd9d2b
VS
30982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3101 EXPORT_FUNC.
3102 Reported by: Seth Goldberg.
3103
be124579
VS
31042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * lib/posix_wrap/locale.h: Add missing file.
3107 Reported by: Seth Goldberg.
3108
ef5da797
VS
31092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 grub-emu module load support.
3112
3113 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3114 NO_DYNAMIC_MODULES switched to this.
3115 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3116 (CFLAGS): Likewise.
3117 * conf/any-emu.rmk: Generate symlist.
3118 (kernel_img_HEADERS): Add util/datetime.h.
3119 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3120 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3121 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3122 kern/$(target_cpu)/cache.S.
3123 * configure.ac (grub-emu-modules): New option.
3124 * genmk.rb: Handle multiple source lists.
3125 * include/grub/sdl.h: New file.
3126 * include/grub/libusb.h: Likewise.
3127 * util/grub-emu.c (main): Hanle (host) root.
3128 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3129 GRUB_ERR_UNKNOWN_DEVICE.
3130 * util/misc.c: Move mm functions to ...
3131 * util/mm.c: ... here. All users updated.
3132
47822096
VS
31332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3136 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3137 missing files.
3138 (maintainer-clean): Remove libgcrypt-grub.
3139
5d7e7445
VS
31402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3143
25f4e252
EC
31442010-04-09 EFI Coder <eficoder@hotmail.com>
3145
3146 * normal/menu_text.c (print_message): Clean up the message and show
3147 the Fn information when on EFI
3148 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3149
027de555
VS
31502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3153 All users updated.
3154 * normal/crypto.c (read_crypto_list): Likewise.
3155 * normal/dyncmd.c (read_command_list): Likewise.
3156 * normal/term.c (read_terminal_list): Likewise.
3157 * normal/main.c (read_lists): Use explicit prefix.
3158 (read_lists_hook): Use read_lists.
3159 (grub_normal_execute): Likewise.
3160
47779711
VS
31612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3164 Reported by: Thomas Schmitt.
3165 Add -no-emul-boot to grub-mkisofs parameters.
3166
1118c32e
VS
31672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * font/font.c: Indented.
3170
7d652447
BC
31712010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3172
3173 Elif support to GRUB script (by Deepak Vankadaru).
3174
3175 * tests/grub_script_if.in: New testcase.
3176 * conf/tests.rmk: Rule for new testcase.
3177 * script/parser.y: Grammar rules for elif.
3178
34bb22df
BC
31792010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3180
3181 While and until loops support to GRUB script.
3182
3183 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3184 (grub_script_create_cmdwhile): New function prototype.
3185 (grub_script_execute_cmdwhile): New function prototype.
3186 * script/execute.c (grub_script_execute_cmdwhile): New function.
3187 * script/parser.y (command): New commands.
3188 (whilecmd): New grammar rule.
3189 (untilcmd): New grammar rule.
3190 * script/script.c (grub_script_create_cmdwhile): New function.
3191 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3192 function.
3193
3194 * tests/grub_script_while1.in: New testcase.
3195 * conf/tests.rmk: Rule for new testcase.
3196
e215d8e0
VS
31972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3200 as *.jpg.
3201
d7c43ba1
MV
32022010-04-09 Mario Vazquez <mariovazq@gmail.com>
3203
3204 GRUB_BACKGROUND support.
3205
3206 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3207 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3208
d64795c0
VS
32092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 3212 Idea by: Mario Vazquez
d64795c0
VS
3213
3214 * util/grub.d/00_header.in: Load pf2 and image modules.
3215
f267f83a
VS
32162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 grub-mkconfig multiple terminal support.
3219
3220 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3221 * util/grub.d/00_header.in: Likewise.
3222
b7841ceb
VS
32232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3226 we use cd $(srcdir).
3227
df60998c
CW
32282010-04-08 Colin Watson <cjwatson@ubuntu.com>
3229
3230 * util/grub.d/10_linux.in: Only use the first word of
3231 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3232 spaces in GRUB_DISTRIBUTOR.
3233 * util/grub.d/10_kfreebsd.in: Likewise.
3234 * util/grub.d/10_hurd.in: Likewise.
3235
fa09c82e
BC
32362010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3237
14e18ae3 3238 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
3239
3240 * tests/util/grub-shell.in: Remove -serial stdio option.
3241
daf892b3
BC
32422010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 POSIX header file wrappers.
3245
3246 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3247 equivalents.
3248 * lib/posix_wrap/ctype.h: Likewise.
3249 * lib/posix_wrap/errno.h: Likewise.
3250 * lib/posix_wrap/langinfo.h: Likewise.
3251 * lib/posix_wrap/limits.h: Likewise.
3252 * lib/posix_wrap/localcharset.h: Likewise.
3253 * lib/posix_wrap/stdint.h: Likewise.
3254 * lib/posix_wrap/stdio.h: Likewise.
3255 * lib/posix_wrap/stdlib.h: Likewise.
3256 * lib/posix_wrap/string.h: Likewise.
3257 * lib/posix_wrap/sys/types.h: Likewise.
3258 * lib/posix_wrap/unistd.h: Likewise.
3259 * lib/posix_wrap/wchar.h: Likewise.
3260 * lib/posix_wrap/wctype.h: Likewise.
3261 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3262 (grub_script.yy.h): Likewise.
3263 * script/yylex.l: Remove POSIX emulation #defines.
3264 * Makefile.in (POSIX_CFLAGS): New variable.
3265 (GNULIB_UTIL_CFLAGS): Likewise.
3266
3267 Regexp support.
3268
3269 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3270 (regexp_mod_SOURCES): New variable.
3271 (regexp_mod_CFLAGS): Likewise.
3272 (regexp_mod_LDFLAGS): Likewise.
3273 * commands/regexp.c: New file.
3274 * gnulib/regcomp.c: New file. Imported from gnulib.
3275 * gnulib/regex.c: Likewise.
3276 * gnulib/regex_internal.c: Likewise.
3277 * gnulib/regex_internal.h: Likewise.
3278 * gnulib/regexec.c: Likewise.
3279 * gnulib/regex.h: Likewise.
3280
974ac4f7
VS
32812010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3284 unsupported video mode types.
3285
2622c3ff
VS
32862010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3289
064cb524
VS
32902010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3293 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3294
a8c3b552
VS
32952010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 Remove unused grub_vga_get_font.
3298
3299 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3300 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3301
187bbe3d
GS
33022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3303
3304 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3305 * include/grub/misc.h: Likewise.
3306
b9396631
GS
33072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3308
3309 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3310 for which failure is fatal.
3311
50479feb
GS
33122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3313
3314 * util/grub-install.in: Use mkdir -p to create grub directory.
3315 * util/i386/efi/grub-install.in: Likewise.
3316 * util/ieee1275/grub-install.in: Likewise.
3317
b1654fdf
GS
33182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3319
3320 * Makefile.in (LEX): new variable.
3321
bd5a6415
GS
33222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3323
3324 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3325 `=' and added double quotes on operands of this equality test.
3326
3db3a82b
VS
33272010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * Makefile.in (uninstall): Remove a leftover debug echo.
3330 Reported by: Grégoire Sutre
3331
38023412
VS
33322010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 MIPS multiboot2 support.
3335
3336 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3337 (multiboot2_mod_SOURCES): New variable.
3338 (multiboot2_mod_CFLAGS): Likewise.
3339 (multiboot2_mod_LDFLAGS): Likewise.
3340 (multiboot2_mod_ASFLAGS): Likewise.
3341 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3342 definition.
3343 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3344 (MULTIBOOT_MBI_REGISTER): Likewise.
3345 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3346 (MULTIBOOT_ELF32_MACHINE): Likewise.
3347 (MULTIBOOT_ELF64_MACHINE): Likewise.
3348 * include/grub/mips/multiboot.h: New file.
3349 * include/grub/video.h (grub_video_driver_id): New type
3350 GRUB_VIDEO_DRIVER_SM712.
3351 (grub_video_get_info_and_fini): Export.
3352 (grub_video_get_palette): Likewise.
3353 (grub_video_get_driver_id): Likewise.
3354 * include/multiboot2.h: Resynced with spec.
3355 * loader/i386/multiboot.c: Moved from here ...
3356 * loader/multiboot.c: ... here. All users updated.
3357 (grub_multiboot_boot): Use platform-specific macros.
3358 * loader/i386/multiboot_elfxx.c: Moved from here ...
3359 * loader/multiboot_elfxx.c: ... here. All users updated.
3360 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3361 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3362 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3363
47674667
VS
33642010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 Import gnulib argp module.
3367
3368 * gnulib/argp-ba.c: New file.
3369 * gnulib/argp-eexst.c: Likewise.
3370 * gnulib/argp-fmtstream.c: Likewise.
3371 * gnulib/argp-fmtstream.h: Likewise.
3372 * gnulib/argp-fs-xinl.c: Likewise.
3373 * gnulib/argp-help.c: Likewise.
3374 * gnulib/argp-namefrob.h: Likewise.
3375 * gnulib/argp-parse.c: Likewise.
3376 * gnulib/argp-pin.c: Likewise.
3377 * gnulib/argp-pv.c: Likewise.
3378 * gnulib/argp-pvh.c: Likewise.
3379 * gnulib/argp-version-etc.c: Likewise.
3380 * gnulib/argp-version-etc.h: Likewise.
3381 * gnulib/argp-xinl.c: Likewise.
3382 * gnulib/argp.h: Likewise.
3383
495442ed
VS
33842010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * kern/device.c (grub_device_iterate): Clear errors after failed
3387 opening device.
3388
f9fd65df
VS
33892010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3392 returned by firmware.
3393
af09641e
VS
33942010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3397 compilation on coreboot and qemu
3398
016883a5
VS
33992010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * include/multiboot2.h: Resync with spec.
3402
f97e1f7d
VS
34032010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 Multiboot2 tag support
3406
3407 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3408 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3409 Remove loader/multiboot_loader.c.
3410 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3411 (grub_multiboot2_real_boot): Likewise.
3412 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3413 (grub_get_multiboot_mmap_count): New proto.
3414 (grub_fill_multiboot_mmap): Likewise.
3415 (grub_multiboot_set_video_mode): Likewise.
3416 (grub_multiboot_set_console): Likewise.
3417 (grub_multiboot_load): Likewise.
3418 (grub_multiboot_load_elf): Likewise.
3419 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3420 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3421 * include/multiboot.h: Resynced with specification.
3422 * include/multiboot2.h: Resynced with specification.
3423 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3424 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3425 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3426 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3427 users updated.
3428 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3429 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3430 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3431 Removed.
3432 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3433 Moved from here...
3434 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3435 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3436 Moved from here...
3437 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3438 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3439 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3440 All users updated.
3441 * loader/i386/multiboot_mbi2.c: New file.
3442
3506b90b
VS
34432010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Resync with gnulib.
3446
3447 * Makefile.in (GNULIB_CFLAGS): New variable.
3448 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3449 (grub_script_check_CFLAGS): New variable.
3450 * gnulib/alloca.h: Resync with gnulib.
3451 * gnulib/error.c: Likewise.
3452 * gnulib/error.h: Likewise.
3453 * gnulib/fnmatch.c: Likewise.
3454 * gnulib/fnmatch_loop.c: Likewise.
3455 * gnulib/getdelim.c: Likewise.
3456 * gnulib/getline.c: Likewise.
3457 * gnulib/getopt.c: Likewise.
3458 * gnulib/getopt1.c: Likewise.
3459 * gnulib/getopt_int.h: Likewise.
3460 * gnulib/gettext.h: Likewise.
3461 * gnulib/progname.c: Likewise.
3462 * gnulib/progname.h: Likewise.
3463
394a3120
GS
34642010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3465
3466 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3467 which is the case with --disabled-nls.
3468
3469 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3470 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3471 * util/misc.c: Likewise.
3472 * util/mkisofs/mkisofs.c: Likewise.
3473 * util/mkisofs/mkisofs.h: Likewise.
3474
969d1c78
VS
34752010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Simplify Apple CC support.
3478
3479 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3480 Add 0 byte at the end not to have a symbol with empty target.
3481 * mmap/i386/pc/mmap_helper.S: Likewise.
3482 * genmk.rb: Ignore errors 2030 and 2050.
3483 * kern/i386/pc/startup.S: Use LOCAL when possible.
3484
8d2977bb
BC
34852010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3486
3487 Testcase and the fix for final semicolon on cmdline.
3488
3489 * tests/grub_script_final_semicolon.in: New testcase.
3490 * conf/tests.rmk: Rules for the new testcase.
3491 * script/parser.y: Grammar fix.
3492
a7bd6915
BC
34932010-03-26 BVK Chaitanya <bvk@localhost>
3494
3495 Blank lines testcase for GRUB script.
3496
3497 * tests/grub_script_blanklines.in: New testcase.
3498 * conf/tests.rmk: Rules for the new testcase.
3499
e4ff6628
VS
35002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 Don't use __FILE__.
3503
3504 * genmk.rb: Add -DGRUB_FILE to all C targets.
3505 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3506 * include/grub/list.h: Likewise.
3507 * include/grub/misc.h: Likewise.
3508 * include/grub/mm.h: Likewise.
3509 * include/grub/test.h: Likewise.
3510 * kern/mm.c: Likewise.
3511 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3512
6a5cf6b6
VS
35132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 Sunpc partitions support.
3516
3517 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3518 (grub_fstest_SOURCES): Likewise.
3519 (pkglib_MODULES): Add part_sunpc.mod.
3520 (part_sunpc_mod_SOURCES): New variable.
3521 (part_sunpc_mod_CFLAGS): Likewise.
3522 (part_sunpc_mod_LDFLAGS): Likewise.
3523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3524 * partmap/sunpc.c: New file.
3525
746d9045
BC
35262010-03-26 BVK Chaitanya <bvk@localhost>
3527
3528 For loop support to GRUB script.
3529
3530 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3531 (grub_script_create_cmdfor): New function prototype.
3532 (grub_script_execute_cmdfor): New function prototype.
3533 * script/execute.c (grub_script_execute_cmdfor): New function.
3534 * script/parser.y (command): New for command.
3535 (forcmd): New grammar rule.
3536 * script/script.c (grub_script_create_cmdfor): New function.
3537 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3538 function.
3539 * tests/grub_script_for1.in: New testcase.
3540 * conf/tests.rmk: Rules for new testcase.
3541
18486b18
VS
35422010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 Nested partitions
3545
3546 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3547 'partition' is NULL, grub_partition_get_start already does that.
3548 * commands/loadenv.c (check_blocklists): Likewise.
3549 (write_blocklists): Likewise.
3550 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3551 (grub_fstest_SOURCES): Likewise.
3552 (pkglib_MODULES): Add part_bsd.mod.
3553 (part_bsd_mod_SOURCES): New variable.
3554 (part_bsd_mod_CFLAGS): Likewise.
3555 (part_bsd_mod_LDFLAGS): Likewise.
3556 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3557 (grub_emu_SOURCES): Likewise.
3558 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3559 * include/grub/bsdlabel.h: New file.
3560 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3561 'get_name'.
3562 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3563 (grub_partition_map_list): New variable.
3564 (grub_partition_map_register): Inline.
3565 (grub_partition_map_unregister): Likewise.
3566 (FOR_PARTITION_MAPS): New macro.
3567 (grub_partition_map_iterate): Removed.
3568 (grub_partition_get_start): Handle nested partitions.
3569 * include/grub/msdos_partition.h: Remove bsd-related entries.
3570 (grub_pc_partition): Remove.
3571 * kern/disk.c (grub_disk_close): Free partition data.
3572 (grub_disk_adjust_range): Handle nested partitions.
3573 * kern/partition.c (grub_partition_map_probe): New function.
3574 (grub_partition_probe): Parse name to number, handle subpartitions.
3575 (get_partmap): New function.
3576 (grub_partition_iterate): Handle subpartitions.
3577 (grub_partition_get_name): Likewise.
3578 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3579 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3580 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3581 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3582 Set 'number'.
3583 (acorn_partition_map_probe): Remove.
3584 (acorn_partition_map_get_name): Likewise.
3585 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3586 Set 'number'.
3587 Set 'index' to 0 since there can be only one partition entry per sector.
3588 (amiga_partition_map_probe): Remove.
3589 (amiga_partition_map_get_name): Likewise.
3590 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3591 Set 'number'.
3592 Set 'offset' and 'index' to real positions of partitions.
3593 (apple_partition_map_probe): Remove.
3594 (apple_partition_map_get_name): Likewise.
3595 * partmap/bsdlabel.c: New file.
3596 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3597 Set 'number'.
3598 Allocate 'data' so it can be correctly freed.
3599 Set 'index' to offset inside sector.
3600 (gpt_partition_map_probe): Remove.
3601 (gpt_partition_map_get_name): Likewise.
3602 * partmap/msdos.c (grub_partition_parse): Remove.
3603 (pc_partition_map_iterate): Don't force raw access.
3604 Set 'number'.
3605 Make 'ext_offset' a local variable.
3606 (pc_partition_map_probe): Remove.
3607 (pc_partition_map_get_name): Remove.
3608 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3609 Set 'number'.
3610 (sun_partition_map_probe): Remove.
3611 (sun_partition_map_get_name): Likewise.
3612 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3613 (grub_pcpart_type): Likewise.
3614 * util/hostdisk.c (open_device): Handle new numbering scheme.
3615 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3616 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3617 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3618 * util/grub-install.in: Insert all subpartition modules.
3619 * util/ieee1275/grub-install.in: Likewise.
3620
a3940f88
AG
36212010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3622
3623 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3624 grammar.
3625
21b99926 36262010-03-24 Colin Watson <cjwatson@ubuntu.com>
3627
3628 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3629
bed1d352
CW
36302010-03-21 Colin Watson <cjwatson@ubuntu.com>
3631
3632 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3633 match where 'make install' puts them.
3634 * util/i386/efi/grub-install.in: Likewise.
3635
c9f58427
CW
36362010-03-19 Colin Watson <cjwatson@ubuntu.com>
3637
3638 * .bzrignore: Add gentrigtables, grub-script-check,
3639 grub_script_check_init.c, grub_script_check_init.h, and
3640 trigtables.c.
3641
f84afb27
VS
36422010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * kern/parser.c: Indented.
3645
ed0e3d30
VS
36462010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3649
0ea81d98
VS
36502010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3653 alpha_mask_size == 0 case.
3654
0cdc2a09
BC
36552010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3656
3657 GRUB shell lexer and parser improvements.
3658
3659 * conf/any-emu.rmk: Build rule updates.
3660 * conf/common.rmk: Likewise.
3661 * conf/i386-coreboot.rmk: Likewise.
3662 * conf/i386-efi.rmk: Likewise.
3663 * conf/i386-ieee1275.rmk: Likewise.
3664 * conf/i386-pc.rmk: Likewise.
3665 * conf/powerpc-ieee1275.rmk: Likewise.
3666 * conf/x86_64-efi.rmk: Likewise.
3667
3668 * configure.ac: Configure check for flex.
3669
3670 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3671 types.
3672 (grub_lexer_param): Struct member updates.
3673 (grub_parser_param): Likewise.
3674 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3675 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3676 (grub_script_lexer_init): Prototype update.
3677 (grub_script_lexer_record_start): Likewise.
3678 (grub_script_lexer_record_stop): Likewise.
3679 (grub_script_lexer_yywrap): New function prototype.
3680 (grub_script_lexer_fini): Likewise.
3681 (grub_script_execute_argument_to_string): Removed by...
3682 (grub_script_execute_argument_to_argv): ...better version.
3683
3684 * script/execute.c (ROUND_UPTO): New macro.
3685 (grub_script_execute_cmdline): Out of memory fixes.
3686 (grub_script_execute_menuentry): Likewise.
3687 (grub_script_execute_argument_to_string): Removed. Update all
3688 users by...
3689 (grub_script_execute_argument_to_argv): ...better version.
3690 * script/function.c (grub_script_function_create): Use
3691 grub_script_execute_argument_to_argv instead of
3692 grub_script_execute_argument_to_string.
3693
3694 * script/lexer.c (check_varstate): Removed.
3695 (check_textstate): Removed.
3696 (grub_script_lexer_record_start): Likewise.
3697 (grub_script_lexer_record_stop): Likewise.
3698 (recordchar): Replaced with...
3699 (grub_script_lexer_record): ...new function.
3700 (nextchar): Removed.
3701 (grub_script_lexer_init): Rewritten.
3702 (grub_script_yylex): Rewritten.
3703 (append_newline): New function.
3704 (grub_script_lexer_yywrap): New function.
3705 (grub_script_lexer_fini): New function.
3706 (grub_script_yyerror): Sets error flag.
3707
3708 * script/yylex.l: New file.
3709 (grub_lexer_yyfree): Wrapper for flex yyffre.
3710 (grub_lexer_yyalloc): Likewise.
3711 (grub_lexer_yyrealloc): Likewise.
3712 * script/parser.y: Refactored.
3713
3714 * script/script.c (grub_script_arg_add): Out of memory fixes.
3715 (grub_script_add_arglist): Likewise.
3716 (grub_script_create_cmdline): Likewise.
3717 (grub_script_create_cmdmenu): Likewise.
3718 (grub_script_add_cmd): Likewise.
3719 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3720 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3721 unnecessary code.
3722
3723 * tests/grub_script_echo1.in: New testcase.
3724 * tests/grub_script_vars1.in: New testcase.
3725 * tests/grub_script_echo_keywords.in: New testcase.
3726
1d63a066
VS
37272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Remove some redundancy in build system.
3730
3731 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3732 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3733 (TARGET_LDFLAGS): Add -nostdlib.
3734 (TARGET_IMG_LDFLAGS): Likewise.
3735 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3736 anything since mmap isn't available.
3737 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3738 Add util/time.c.
3739 (pkglib_MODULES): Remove reboot.mod.
3740 (reboot_mod_SOURCES): Removed.
3741 (reboot_mod_CFLAGS): Likewise.
3742 (reboot_mod_LDFLAGS): Likewise.
3743 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3744 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3745 (DEFSYMFILES): Add kernel_syms.lst.
3746 (kernel_img_HEADERS): Add common headers.
3747 (symlist.c): New target.
3748 (kernel_syms.lst): Likewise.
3749 (pkglib_MODULES): Add memdisk.mod.
3750 (memdisk_mod_SOURCES): New variable.
3751 (memdisk_mod_CFLAGS): Likewise.
3752 (memdisk_mod_LDFLAGS): Likewise.
3753 (pkglib_MODULES): Add reboot.mod.
3754 (reboot_mod_SOURCES): New variable.
3755 (reboot_mod_CFLAGS): Likewise.
3756 (reboot_mod_LDFLAGS): Likewise.
3757 (pkglib_MODULES): Add date.mod.
3758 (date_mod_SOURCES): New variable.
3759 (date_mod_CFLAGS): Likewise.
3760 (date_mod_LDFLAGS): Likewise.
3761 (pkglib_MODULES): Add datehook.mod.
3762 (datehook_mod_SOURCES): New variable.
3763 (datehook_mod_CFLAGS): Likewise.
3764 (datehook_mod_LDFLAGS): Likewise.
3765 (pkglib_MODULES): Add lsmmap.mod.
3766 (lsmmap_mod_SOURCES): New variable.
3767 (lsmmap_mod_CFLAGS): Likewise.
3768 (lsmmap_mod_LDFLAGS): Likewise.
3769 (pkglib_MODULES): Add boot.mod.
3770 (boot_mod_SOURCES): New variable.
3771 (boot_mod_CFLAGS): Likewise.
3772 (boot_mod_LDFLAGS): Likewise.
3773 * conf/i386-coreboot.rmk: Removed redundant parts.
3774 * conf/i386-ieee1275.rmk: Likewise.
3775 * conf/i386-pc.rmk: Likewise.
3776 * conf/mips-yeeloong.rmk: Likewise.
3777 * conf/mips.rmk: Likewise.
3778 * conf/powerpc-ieee1275.rmk: Likewise.
3779 * conf/sparc64-ieee1275.rmk: Likewise.
3780 * conf/x86_64-efi.rmk: Likewise.
3781 * conf/i386-coreboot.rmk: Moved qemu parts ..
3782 * conf/i386-qemu.rmk: ... here
3783 * conf/i386-efi.rmk: Moved common parts to...
3784 * conf/x86-efi.rmk: ... here.
3785 * conf/i386.rmk: Added modules common to all x86 variants.
3786 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3787 * disk/memdisk.c: Remove grub/machine/kernel.h.
3788 * gensymlist.sh.in: Include symbol.h.
3789 * hook/datehook.c: Correct module name.
3790 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3791 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3792 * include/grub/i386/efi/serial.h: New file.
3793 * include/grub/x86_64/efi/serial.h: Likewise.
3794 * util/time.c: Likewise.
3795 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3796
463ac55f
CK
37972010-03-14 Colin King <colin.king@ubuntu.com>
37982010-03-14 Colin Watson <cjwatson@ubuntu.com>
3799
3800 Shrink the pre-partition-table part of boot.img by eight bytes.
3801
3802 * boot/i386/pc/boot.S (ERR): New macro.
3803 (chs_mode): Use ERR.
3804 (geometry_error): Likewise.
3805 (hd_probe_error): Remove. This is only used once, so we wrwite
3806 it inline instead.
3807 (read_error): Instead of printing read_error_string, just set up
3808 %si and fall through to ...
3809 (error_message): ... this new function, also used by ERR.
3810
08e46ede
CW
38112010-03-14 Colin Watson <cjwatson@ubuntu.com>
3812
3813 Speed up consecutive hostdisk operations on the same device.
3814
3815 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3816 (grub_util_biosdisk_open): Initialise disk->data.
3817 (struct linux_partition_cache): New structure.
3818 (linux_find_partition): Cache partition start positions; these are
3819 expensive to compute on every read and write.
3820 (open_device): Cache open file descriptor in disk->data, so that we
3821 don't have to reopen it and flush the buffer cache for consecutive
3822 operations on the same device.
3823 (grub_util_biosdisk_close): New function.
3824 (grub_util_biosdisk_dev): Set `close' member.
3825
3826 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3827 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3828 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3829 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3830 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3831
4a6d2d06
VS
38322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Compile parts of grub-emu as modules.
3835
3836 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3837 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3838 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3839 (all-local): Add $(GRUB_EMU).
3840 (install-local): Install $(GRUB_EMU).
3841 (uninstall): Uninstall $(GRUB_EMU).
3842 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3843 * kern/dl.c: Likewise.
3844 * commands/sleep.c: Not include machine/time.h.
3845 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3846 (COMMON_CFLAGS): Likewise.
3847 (sbin_UTILITIES): Remove grub-emu.
3848 (grub_emu_SOURCES): Removed.
3849 (kernel_img_RELOCATABLE): New variable.
3850 (pkglib_PROGRAMS): Add kernel.img.
3851 (kernel_img_SOURCES): New variable
3852 (kernel_img_CFLAGS): Likewise.
3853 (kernel_img_LDFLAGS): Likewise.
3854 (TARGET_NO_STRIP): Likewise.
3855 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3856 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3857 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3858 (grub-emu): New target.
3859 (GRUB_EMU): New variable.
3860 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3861 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3862 * loader/xnu.c: Likewise.
3863 * include/grub/pci.h: Likewise.
3864 * genemuinit.sh: New file.
3865 * genemuinitheader.sh: Likewise.
3866 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3867 Support TARGET_NO_DYNAMIC_MODULES.
3868 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3869 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3870 * disk/loopback.c: Likewise.
3871 * font/font_cmd.c: Likewise.
3872 * partmap/acorn.c: Likewise.
3873 * partmap/amiga.c: Likewise.
3874 * partmap/apple.c: Likewise.
3875 * partmap/gpt.c: Likewise.
3876 * partmap/msdos.c: Likewise.
3877 * partmap/sun.c: Likewise.
3878 * parttool/msdospart.c: Likewise.
3879 * term/gfxterm.c: Likewise.
3880 * video/bitmap.c: Likewise.
3881 * video/readers/jpeg.c: Likewise.
3882 * video/readers/png.c: Likewise.
3883 * video/readers/tga.c: Likewise.
3884 * video/video.c: Likewise.
3885 * util/grub-emu.c (read_command_list): Removed.
3886 (main): Don't call util_init_nls.
3887 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3888 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3889
91fdd2ed
VS
38902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3893 date.mod, datehook.mod.
3894 (datetime_mod_SOURCES): New variable.
3895 (datetime_mod_CFLAGS): Likewise.
3896 (datetime_mod_LDFLAGS): Likewise.
3897 (date_mod_SOURCES): Likewise.
3898 (date_mod_CFLAGS): Likewise.
3899 (date_mod_LDFLAGS): Likewise.
3900 (datehook_mod_SOURCES): Likewise.
3901 (datehook_mod_CFLAGS): Likewise.
3902 (datehook_mod_LDFLAGS): Likewise.
3903 * conf/sparc64-ieee1275.rmk: Likewise.
3904 * lib/ieee1275/datetime.c: New file.
3905
873ccae6
VS
39062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3909 (ieee1275_fb_mod_SOURCES): New variable.
3910 (ieee1275_fb_mod_CFLAGS): Likewise.
3911 (ieee1275_fb_mod_LDFLAGS): Likewise.
3912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3913 New proto.
3914 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3915 (HEAP_MAX_ADDR): Likewise.
3916 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3917 type.
3918 Correct stop condition.
3919 (grub_ieee1275_devices_iterate): New function.
3920 * video/ieee1275.c: New file.
3921
601c97c0
VS
39222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3925
3926 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3927 as scratch.
3928 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3929 SCRATCH_PAD_DISKBOOT as scratch.
3930 (bootit): Pass Openfirmware pointer in %o4.
3931 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3932 of 0x200000.
3933 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3934 with util/grub-mkrawimage.c.
3935 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3936 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3937 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3938 (grub_aout_load) [GRUB_UTIL]: Likewise.
3939 * include/grub/kernel.h (grub_modules_get_end): New proto.
3940 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3941 (SCRATCH_PAD_BOOT): New definition.
3942 (SCRATCH_PAD_DISKBOOT): Likewise.
3943 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3944 * include/grub/sparc64/ieee1275/ieee1275.h
3945 (grub_ieee1275_original_stack): New variable
3946 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3947 New definition
3948 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3949 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3950 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3951 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3952 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3953 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3954 (grub_platform_image_format_t): New type.
3955 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3956 * kern/main.c (grub_modules_get_end)
3957 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3958 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3959 (codestart): Switch stacks.
3960 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3961 variable.
3962 (grub_heap_init): Use grub_modules_get_end.
3963 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3964 stack.
3965 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3966 (main): Likewise.
3967 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3968
d68b491e
TG
39692010-03-14 Thorsten Glaser <tg@mirbsd.org>
3970
3971 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3972
4e02ed50
MK
39732010-03-08 Matt Kraai <kraai@ftbfs.org>
3974
3975 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3976 bug #559005).
3977
1f15fc1e
VS
39782010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * genmoddep.awk: Output all missing symbols and not only first.
3981
fce5d8ff
VS
39822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * NEWS: Put the date of 1.98 release.
3985
d1e8a02f
VS
39862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3989 ft2build.h.
3990
696fd607
VS
39912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3994 completition in the middle of string.
3995
33e2e6f3
VS
39962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * util/grub-mkrescue.in: Use mktemp with explicit template.
3999
b1f6d291
VS
40002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4003
2ac227c7
VS
40042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4007 right pointer.
4008
8f9a632b
VS
40092010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 Fix FreeBSD compilation.
4012
4013 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4014 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4015
60b03859
VS
40162010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4019
48a5a769
VS
40202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4023
3ab4bd77
VS
40242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4027
d116e0d8
RM
40282010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4029
4030 Support relative image path in theme file.
4031
4032 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4033 (image_set_property): Handle theme_dir and relative path.
4034
c7ef54aa
VS
40352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * configure.ac: Alias amd64 to x86_64.
4038
fcee14ed
VS
40392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * NEWS: mention multiboot on EFI.
4042
d0780363
VS
40432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * kern/main.c (grub_load_modules): Handle errors from init functions of
4046 embeded modules.
4047
41168ea4
VS
40482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * normal/autofs.c (autoload_fs_module): Handle errors.
4051
b54d93ac
VS
40522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 Disable linux.mod on qemu-mips since it's not functional and leads
4055 to compilation failure.
4056
4057 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4058 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4059 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4060 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4061 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4062 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4063 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4064 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4065 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4066 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4067 Reported by: BVK Chaitanya
4068
fc8345da
JU
40692010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4070
4071 * INSTALL: Add gettext as a dependency and add qemu to a new section
4072 "Prerequisites for make-check".
4073
4760f979
CF
40742010-03-04 Christian Franke <franke@computer.org>
4075
4076 * util/grub-pe2elf.c: Add missing include "progname.h".
4077
f209b5b2
VS
40782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * normal/crypto.c (read_crypto_list): Fix a typo.
4081 Reported by: Seth Goldberg.
4082
b4b7be98
VS
40832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 4086 Reported by: Seth Goldberg.
b4b7be98 4087
c0ee0385
VS
40882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4091 ascii.bitmaps.
4092
a8efbf64
VS
40932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 4096 Reported by: Seth Goldberg.
a8efbf64 4097
08dcd913
VS
40982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * util/i386/efi/grub-install.in: Copy gettext files.
4101
c4d0b332
VS
41022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4105
c6f2fe52
VS
41062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Wait for user entry basing on presence of output rather than on errors.
4109
4110 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4111 (grub_install_newline_hook): Likewise.
4112 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4113 * normal/menu.c (show_menu): Check line_counter to determine presence
4114 of output.
4115 * normal/term.c (grub_normal_line_counter): New variable.
4116 (grub_normal_get_line_counter): New function.
4117 (grub_install_newline_hook): Likewise.
4118
5382b1e4
VS
41192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4122
5519963b
VS
41232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * configure.ac: Update version to 1.98.
4126
72b28631
VS
41272010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * util/grub.d/10_linux.in (linux_entry): Don't default to
4130 gfxpayload=keep if Linux doesn't support video handover.
4131
c140a180
VS
41322010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 Don't compile video modules on yeeloong since video subsystem is part
4135 of kernel.
4136
4137 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4138 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4139 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4140 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4141 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4142 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4143 * include/grub/bitmap_scale.h: Likewise.
4144 * include/grub/bufio.h: Likewise.
4145 * include/grub/font.h: Likewise.
4146 * include/grub/gfxterm.h: Likewise.
4147 * include/grub/video.h: Likewise.
4148 * include/grub/vbe.h: Don't include video_fb.h.
4149 * video/i386/pc/vbe.c: Include video_fb.h.
4150 * commands/i386/pc/vbetest.c: Include video.h.
4151
a0ca21c2
CW
41522010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4153
4154 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4155 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4156 default entry if GRUB_SAVEDEFAULT=true. This allows using
4157 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4158 saving a new default on every boot.
4159
4a8a763c
VS
41602010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4163 * normal/term.c (read_terminal_list): Likewise.
4164 * normal/main.c (grub_normal_init_page): Likewise.
4165 (grub_normal_read_line_real): Likewise.
4166
607ffde2
VS
41672010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4170 memory leak.
4171 Reported by: Seth Goldberg.
4172
2b8fa975
CW
41732010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4174
4175 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4176 duplicate declaration of `start'.
4177
618307dd
VS
41782010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4181 filename.
4182 Reported by: Georgy Buranov
4183
7dd05b96 41842010-02-20 Carles Pina i Estany <carles@pina.cat>
4185
4186 * util/grub-mkrawimage.c (usage): Change string formatting to
4187 improve gettext.
4188
d1484a42
MRA
41892010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4190
4191 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4192 backspace keys.
4193
42b1d186
VS
41942010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4197 Reported by: Michael Suchanek.
4198
41992010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
4200
4201 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4202 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4203
d9f31a41
VS
42042010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 Remove any reference to non-free fonts.
4207
4208 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4209 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4210 uses non-free components.
4211 * font/font.c (grub_font_get_name): Remove example name.
4212 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4213 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4214 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4215 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4216
2793c71e
GB
42172010-02-16 Georgy Buranov <gburanov@gmail.com>
4218
4219 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4220
402e3779
VS
42212010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4224 Double divisor.
4225 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4226 features.
4227 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4228
0dd1e0dd
VS
42292010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4232
6fa7cfce
ST
42332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4234
4235 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4236 * docs/grub.texi (Command-line and menu entry commands): Document play
4237 command.
4238
37c8483b
ST
42392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4240
4241 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4242 parse arguments as inline tempo and notes. Move code for playing notes
4243 to...
4244 (play): ... new function.
4245
14da0fb7
ST
42462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4247
4248 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4249 grub_uint16_t instead of short.
4250 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4251 disk from little endian to cpu endianness.
4252
04459e70
ST
42532010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4254
4255 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4256 GRUB_TICKS_PER_SECOND instead of 120.
4257
a0876943
VS
42582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4261 escape sequence after \e.
4262
e29f95dc
VS
42632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4266 non-ASCII characters.
4267
d27859b2
VS
42682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4271 set root in single quotes to prevent \, from being unescaped.
4272
bc028f2f
VS
42732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Prevent unknown commands from stopping menuentry execution.
4276
4277 * script/execute.c (grub_script_execute_cmdline): Print error after
4278 unknown command.
4279
095f5f82
VS
42802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4283 Reported by: Pavel Pisa.
4284
8c717950
VS
42852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4288
904935c3
VS
42892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 Merge grub_ieee1275_map_physical into grub_map and rename to
4292 grub_ieee1275_map
4293
4294 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4295 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4296 Remove.
4297 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4298 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4299 necessary.
4300 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4301
5b59a4e3
VS
43022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4305 opening and not after.
4306
69e137e8
VS
43072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4310 constants.
4311
2c0fcc36
VS
43122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4315 (alloc_phys): Use ALIGN_UP instead of align_addr.
4316
8c6052ce
VS
43172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4320
17cec782
VS
43212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4324
e0128bbd
VS
43252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4328 verbose dprintf.
4329
ca62070b
VS
43302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Fix over-4GiB seek on sparc64.
4333
4334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4335 Replace pos_i and pos_lo with pos. All users updated.
4336 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4337 New constant.
4338 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4339 Likewise.
4340 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4341 and pos_lo.
4342
bdca2607
VS
43432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * util/grub-mkrawimage.c (main): Call set_program_name.
4346
da278c4d
VS
43472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 Properly align 64-bit targets.
4350
4351 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4352 (generate_image): Use ALIGN_ADDR.
4353
b274d734
VS
43542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Properly create cross-endian images.
4357
4358 * include/grub/types.h (grub_host_to_target_addr): New macro
4359 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4360
82da2062
VS
43612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4364
7cae4377
VS
43652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4368
4369 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4370 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4371 (grub_linux_boot): Divide by 64K when on VESA.
4372
65a533e7
VS
43732010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 Support GRUB_GFXPAYLOAD_LINUX.
4376
4377 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4378 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4379
dd01d397
VS
43802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4383 to show messages instead of discarding them.
4384 Process errors after executing command and not before. Keep old method
4385 too as precaution.
4386
660960d6
VS
43872010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * configure.ac: Check for ft2build.h.
4390
62509f04
VS
43912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4394
473df63d
VS
43952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * genkernsyms.sh.in: Use TARGET_CC.
4398
c98d2a13
CW
43992010-02-07 Colin Watson <cjwatson@ubuntu.com>
4400
4401 * NEWS: Update.
4402
6e14234c
VS
44032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
4406 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4407 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 4408
b255e9cf
YB
44092010-02-07 Yves Blusseau <blusseau@zetam.org>
4410
6e14234c 4411 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 4412
98e6959d
VS
44132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Fix warnings in grub-emu when compiling with maximum warning options.
4416
4417 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4418 (grub_arch_modules_addr): Return 0 and not NULL.
4419 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 4420 (xstrdup): Use newstr instead of dup.
f88d801b
VS
4421 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4422 of disk to dsk to avoid shadowing.
74e4934e
VS
4423 (find_free_slot): Fix prototype.
4424 * util/getroot.c (grub_util_is_dmraid): Make static.
4425 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4426 Add missing prototype.
4427 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 4428
74e31b5c
VS
44292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4432 appropriately.
4433
6b2ad14b
VS
44342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4437 code out.
4438
8f891adc
VS
44392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4442 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4443 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4444 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4445 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4446 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4447
74b45184
VS
44482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * include/grub/err.h (grub_err_printf): Don't export.
4451
a4bced77
VS
44522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4455
007d0695
VS
44562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4459 * kern/misc.c (grub_gettext_dummy): Make static.
4460
b6c0d9c2
VS
44612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4464 by non-valid ones.
4465 * kern/term.c (grub_putchar): Likewise.
4466
f51a90d0
VS
44672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4470 buggy hook call and memory leak.
4471
6846cec5
VS
44722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4475
468d69fe
VS
44762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4479
51906b8c
VS
44802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4483 modevar.
4484 Return grub_errno on allocation error.
4485
09706ce5
VS
44862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4489
911df80c
YB
44902010-02-06 Yves Blusseau <blusseau@zetam.org>
4491
4492 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4493 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4494
3746a6bc
VS
44952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4498 non-pxe disk.
4499 (grub_pxefs_open): Likewise.
4500
09706ce5
VS
45012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4502
4503 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4504 * util/grub.d/10_kfreebsd.in: Likewise.
4505 * util/grub.d/10_linux.in: Likewise.
4506
7cc192d9
VS
45072010-02-06 Colin D Bennett <colin@gibibit.com>
4508
4509 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4510 (gfxmenu_mod_SOURCES): New variable.
4511 (gfxmenu_mod_CFLAGS): Likewise.
4512 (gfxmenu_mod_LDFLAGS): Likewise.
4513 * include/grub/term.h (grub_term_set_current_output): Declare
4514 argument as const.
4515 * docs/gfxmenu-theme-example.txt: New file.
4516 * gfxmenu/gfxmenu.c: Likewise.
4517 * gfxmenu/gui_box.c: Likewise.
4518 * gfxmenu/gui_canvas.c: Likewise.
4519 * gfxmenu/gui_circular_progress.c: Likewise.
4520 * gfxmenu/gui_image.c: Likewise.
4521 * gfxmenu/gui_label.c: Likewise.
4522 * gfxmenu/gui_list.c: Likewise.
4523 * gfxmenu/gui_progress_bar.c: Likewise.
4524 * gfxmenu/gui_string_util.c: Likewise.
4525 * gfxmenu/gui_util.c: Likewise.
4526 * gfxmenu/icon_manager.c: Likewise.
4527 * gfxmenu/model.c: Likewise.
4528 * gfxmenu/named_colors.c: Likewise.
4529 * gfxmenu/theme_loader.c: Likewise.
4530 * gfxmenu/view.c: Likewise.
4531 * gfxmenu/widget-box.c: Likewise.
4532 * include/grub/gfxmenu_model.h: Likewise.
4533 * include/grub/gfxmenu_view.h: Likewise.
4534 * include/grub/gfxwidgets.h: Likewise.
4535 * include/grub/gui.h: Likewise.
4536 * include/grub/gui_string_util.h: Likewise.
4537 * include/grub/icon_manager.h: Likewise.
4538
45392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 Agglomerate scrolling in gfxterm.
4542
4543 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4544 (grub_virtual_screen_setup): Initialise 'total_screen'.
4545 (write_char): Split to ...
4546 (paint_char): ... this ...
4547 (write_char): ... and this.
4548 (paint_char): Handle delayed scrolling.
4549 (draw_cursor): Likewise.
4550 (scroll_up): Split to ...
4551 (real_scroll): ... this ...
4552 (scroll_up): ... and this.
4553 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4554 characters.
4555 (grub_gfxterm_refresh): Call real_scroll.
4556
45572010-02-06 Colin D Bennett <colin@gibibit.com>
4558
4559 * include/grub/misc.h (grub_iscntrl): New inline function.
4560 (grub_isalnum): Likewise.
4561 (grub_strtol): Likewise.
4562
45632010-02-06 Colin D Bennett <colin@gibibit.com>
4564
4565 * normal/menu_text.c (get_entry_number): Move from here ...
4566 * normal/menu.c (get_entry_number): ... moved here.
4567 * include/grub/menu.h (grub_menu_get_default_entry_index):
4568 New prototype.
4569 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4570 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4571 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4572 (grub_menu_viewer_should_return): Likewise.
4573 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4574 * normal/menu_text.c (run_menu): Enable menu switching.
4575 * normal/menu_viewer.c (should_return): New variable.
4576 (menu_viewer_changed): Likewise.
4577 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4578 (grub_menu_viewer_should_return): New function.
4579 (menuviewer_write_hook): Likewise.
4580 (grub_menu_viewer_init): Likewise.
4581
45822010-02-06 Colin D Bennet <colin@gibibit.com>
45832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Support for gfxterm in a window.
4586
4587 * include/grub/gfxterm.h: New file.
4588 * include/grub/video.h (struct grub_video_rect): New declaration.
4589 (grub_video_rect_t): Likewise.
4590 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4591 (refcount): New variable.
4592 (render_target): Likewise.
4593 (window): Likewise.
4594 (repaint_callback): Likewise.
4595 (grub_virtual_screen_setup): Use 'render_target'.
4596 (init_window): New function.
4597 (grub_gfxterm_init_window): Likewise.
4598 (grub_gfxterm_init): Check reference counter.
4599 Use init_window.
4600 (destroy_window): New function.
4601 (grub_gfxterm_destroy_window): Likewise.
4602 (grub_gfxterm_fini): Check reference counter.
4603 Use destroy_window.
4604 (redraw_screen_rect): Restore viewport.
4605 Use 'render_target' and 'window'.
4606 Call 'repaint_callback'.
4607 (write_char): Use 'render_target'.
4608 (draw_cursor): Likewise.
4609 (scroll_up): Restore viewport.
4610 Use 'render_target' and 'window'.
4611 Call 'repaint_callback'.
4612 (grub_gfxterm_cls): Likewise.
4613 (grub_gfxterm_refresh): Use 'window'.
4614 (grub_gfxterm_set_repaint_callback): New function.
4615 (grub_gfxterm_background_image_cmd): Use 'window'.
4616 (grub_gfxterm_get_term): New function.
4617 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4618
46192010-02-06 Colin D Bennett <colin@gibibit.com>
4620
4621 Bitmap scaling support.
4622
4623 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4624 (bitmap_scale_mod_SOURCES): New variable.
4625 (bitmap_scale_mod_CFLAGS): Likewise.
4626 (bitmap_scale_mod_LDFLAGS): Likewise.
4627 * include/grub/bitmap_scale.h: New file.
4628 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4629 (background_image_cmd_options): New variable.
4630 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4631 (cmd): Rename and change type to ...
4632 (background_image_cmd_handle): ... this. All users updated.
4633 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4634 * video/bitmap_scale.c: New file.
4635
46362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 SDL support.
4639
4640 * Makefile.in (LIBSDL): New variable.
4641 (enable_grub_emu_sdl): Likewise.
4642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4643 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4644 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4645 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4646 * util/sdl.c: New file.
4647
46482010-02-06 Colin D Bennett <colin@gibibit.com>
46492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Double buffering support.
4652
4653 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4654 * include/grub/video.h: Update comment.
4655 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4656 New type.
4657 (grub_video_fb_doublebuf_blit_init): New prototype.
4658 * term/gfxterm.c (scroll_up): Support double buffering.
4659 (grub_gfxterm_refresh): Likewise.
4660 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4661 (grub_video_fb_doublebuf_blit_init): Likewise.
4662 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4663 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4664 'displayed_page', 'render_page' and 'update_screen'.
4665 (grub_video_vbe_fini): Free offscreen buffer.
4666 (doublebuf_pageflipping_commit): New function.
4667 (doublebuf_pageflipping_update_screen): Likewise.
4668 (doublebuf_pageflipping_init): Likewise.
4669 (double_buffering_init): Likewise.
4670 (grub_video_vbe_setup): Enable doublebuffering.
4671 (grub_video_vbe_swap_buffers): Implement.
4672 (grub_video_vbe_set_active_render_target): Handle double buffering.
4673 (grub_video_vbe_get_active_render_target): Likewise.
4674 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4675 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4676 (grub_video_vbe_enable_double_buffering): Likewise.
4677 (grub_video_vbe_swap_buffers): Use update_screen.
4678 (grub_video_set_mode): Use double buffering.
4679
46802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4681
4682 * maintainance/gentrigtables.py: Remove.
4683 * lib/trig.c: Likewise.
4684
4685 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4686
4687 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4688 `trigtables.c'.
4689 (trigtables.c): New rule.
4690 (gentrigtables): Likewise.
4691 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4692
46932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4694
4695 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4696 integer constants.
4697
46982010-02-06 Colin D Bennet <colin@gibibit.com>
4699
4700 Trigonometry support.
4701
4702 * include/grub/trig.h: New file.
4703 * lib/trig.c: Likewise.
4704 * maintainance/gentrigtables.py: Likewise.
4705 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4706 (trig_mod_SOURCES): New variable.
4707 (trig_mod_CFLAGS): Likewise.
4708 (trig_mod_LDFLAGS): Likewise.
4709
5562834e
VS
47102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4713 disk devices.
4714
4f8528fc
VS
47152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4718 error.
4719
2b4068e9
VS
47202010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * util/hostdisk.c (open_device): Don't use partition device when reading
4723 before the partition.
4724 (grub_util_biosdisk_read): Don't read from partition and before the
4725 partition in single operation.
4726 (grub_util_biosdisk_write): Don't write to partition and before the
4727 partition in single operation.
4728
399f6e4d
TL
47292010-02-03 Torsten Landschoff <torsten@debian.org>
4730
4731 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4732 last sectors.
4733
996649b0
VS
47342010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4737 CDROM reads.
4738 (grub_biosdisk_write): Refuse to write to CDROM.
4739
3b205d4d
VS
47402010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4743
61e89d9d
VS
47442010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * font/font.c (find_glyph): Check that bmp_idx is available before
4747 using it.
4748 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4749 with (font == NULL).
4750
bf7fcba2
CS
47512010-01-28 Christian Schmitt <chris@ilovelinux.de>
4752
4753 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4754
f45d2663
BC
47552010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4756
4757 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4758 * util/grub-script-check.c (getline): Fix empty lines case.
4759
ec1444e6
RM
47602010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4761
4762 * Makefile.in (check): Exit with fail status when one of the tests
4763 fails.
4764 * tests/example_functional_test.c (example_test): Fix reversed assert.
4765 * tests/example_unit_test.c (example_test): Likewise.
4766
2e1cb9bb
CW
47672010-01-28 Colin Watson <cjwatson@ubuntu.com>
4768
4769 * util/grub.d/10_linux.in: This script does not use any of the
4770 contents of gettext.sh, only the external command `gettext', so stop
4771 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4772 the same prefix as GRUB.)
4773 * util/grub.d/10_kfreebsd.in: Likewise.
4774
63533ab0
VS
47752010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4778 of the line.
4779
989e1f93
VS
47802010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4783 last sectors.
4784
e709ebe2
VS
47852010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4788 having a 4KiB and not 32KiB buffer size.
4789
27dea7ed
RM
47902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4791
4792 * util/hostfs.c: Include `<errno.h>'.
4793 (grub_hostfs_read): Handle errors from fseeko() and fread().
4794
67667b9c
RM
47952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4796
4797 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4798 loop when using read hooks on files whose size isn't sector-aligned.
4799
c294d9d8
RM
48002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4801
4802 Remove unused parameter.
4803
4804 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4805 (grub_iso9660_open): Remove initialization of `data->length'.
4806
af75a9f1
RM
48072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4808
4809 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4810 memleak conditions.
4811
254e2ce5 48122010-01-27 Carles Pina i Estany <carles@pina.cat>
4813
4814 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4815 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4816
b510928c 48172010-01-26 Carles Pina i Estany <carles@pina.cat>
4818
4819 * util/bin2h.c (usage): Fix warning (space after backslash).
4820
aa2f9dd2 48212010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 4822
4823 * font/font.c: Include `grub/fontformat.h.
4824 Remove font file format constants.
4825 (grub_font_load): Use the new macros.
4826 * include/grub/fontformat.h: New file.
4827 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4828 (write_font_pf2): Use the new macros.
4829
94e7e712
RM
48302010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4831
4832 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4833 does.
4834
3973a59a
RM
48352010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4836
4837 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4838
4839 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4840 (_start): Macroify `0x7F'.
4841
4842 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4843 (make_install_device): Use "(pxe)" as fallback prefix when booting
4844 via PXE.
4845
42e0cba3
GS
48462010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * configure.ac: Reset LIBS after check for libgcc symbols.
4849
847effd8
CW
48502010-01-25 Colin Watson <cjwatson@ubuntu.com>
4851
4852 * util/hostdisk.c (open_device): Add trailing newline to debug
4853 message.
4854
ea4a7e35
GS
48552010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4856
4857 * configure.ac: Check for `limits.h'.
4858 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4859
67951a53
RM
48602010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4861
4862 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4863 capitalize error strings.
4864
c273d4ce
ST
48652010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4866
4867 * util/grub.d/10_hurd.in: Add a recovery mode.
4868
69be5b74
VS
48692010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * configure.ac: Check for libgcc symbols with -nostdlib.
4872
fc9e5810
BC
48732010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4874
4875 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4876
4b358c0a
VS
48772010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4880 stack since heap may be unavailable at that point.
4881 (grub_ofconsole_gotoxy): Likewise.
4882
454fcd1c
VS
48832010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * configure.ac: Check for _restgpr_14_x.
4886 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4887 and _savegpr_* prototypes.
4888
566863ca
RM
48892010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4890
4891 Use generic grub_reboot() for i386-efi.
4892
4893 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4894 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4895 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4896
bf86e59a
VS
48972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4900 presence of "prefix" variable as it breaks when normal.mod is
4901 embedded.
4902
d645e0f8
VS
49032010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4906 stack since heap is unavailable at that point.
4907
f9ab2e25
VS
49082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4911 (grub_freebsd_bootinfo): Rewritten.
4912 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4913
01fc7054
VS
49142010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4917
caab4fd6
RM
49182010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4919
4920 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4921 domain now.
4922
67eb1427
FZ
49232010-01-20 Felix Zielcke <fzielcke@z-51.de>
4924
4925 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4926 around for handling "/" to the correct fix. Fix a memory leak. Use
4927 xstrdup instead of strdup.
4928
a9ed4ff3
VS
49292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4932
49332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
4934
4935 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4936
4937 * font/font.c (struct grub_font): New member 'bmp_idx'.
4938 (font_init): Initialise 'bmp_idx'.
4939 (load_font_index): Fill 'bmp_idx'.
4940 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4941
48209f4f
VS
49422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4945 unnecessary calls.
4946
9f0a4bb7
VS
49472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Move context handling out of the kernel.
4950
4951 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4952 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4953 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4954 * conf/i386-efi.rmk: Likewise.
4955 * conf/i386-ieee1275.rmk: Likewise.
4956 * conf/i386-pc.rmk: Likewise.
4957 * conf/powerpc-ieee1275.rmk: Likewise.
4958 * conf/sparc64-ieee1275.rmk: Likewise.
4959 * conf/x86_64-efi.rmk: Likewise.
4960 * include/grub/env.h: Include grub/menu.h.
4961 (grub_env_var_type): Removed.
4962 (grub_env_var): Replaced field 'type' with 'global'.
4963 (grub_env_find): New prototype.
4964 (grub_env_context_open): Remove EXPORT_FUNC.
4965 (grub_env_context_close): Likewise.
4966 (grub_env_export): Likewise.
4967 (grub_env_set_data_slot): Removed.
4968 (grub_env_get_data_slot): Likewise.
4969 (grub_env_unset_data_slot): Likewise.
4970 (grub_env_unset_menu): New prototype.
4971 (grub_env_set_menu): Likewise.
4972 (grub_env_get_menu): Likewise.
4973 * include/grub/env_private.h: New file.
4974 * include/grub/normal.h (grub_context_init): New prototype.
4975 (grub_context_fini): Likewise.
4976 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4977 * normal/context.c (grub_cmd_export): ... to here.
4978 * kern/env.c: Include env_private.h.
4979 (HASHSZ): Moved to include/grub/env_private.h.
4980 (grub_env_context): Likewise.
4981 (grub_env_sorted_var): Likewise.
4982 (current_context): Renamed from this ...
4983 (grub_current_context): ...to this. 'static' removed. All users updated.
4984 (grub_env_find): Removed 'static'.
4985 (grub_env_context_open): Moved to normal/context.c.
4986 (grub_env_context_close): Likewise.
4987 (grub_env_export): Likewise.
4988 (mangle_data_slot_name): Removed.
4989 (grub_env_set_data_slot): Likewise.
4990 (grub_env_get_data_slot): Likewise.
4991 (grub_env_unset_data_slot): Likewise.
4992 * kern/main.c (grub_set_root_dev): Don't export root.
4993 It will be done later.
4994 (grub_main): Don't export prefix.
4995 It will be done later.
4996 * normal/context.c: New file.
4997 * normal/main.c (free_menu): Use grub_env_unset_menu.
4998 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4999 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5000 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5001 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5002
8dd35b8c
VS
50032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 setpci support.
5006
5007 * commands/setpci.c: New file.
5008 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5009 (setpci_mod_SOURCES): New variable.
5010 (setpci_mod_CFLAGS): Likewise.
5011 (setpci_mod_LDFLAGS): Likewise.
5012
449193d5
VS
50132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Byte-addressable PCI configuration space.
5016
5017 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5018 dword address.
5019 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5020 GRUB_PCI_REG_CACHELINE.
5021 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5022 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5023 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5024 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5025 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5026 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5027 grub_pci_make_address.
5028 (lock_rom_area): Likewise.
5029 * commands/lspci.c (grub_lspci_iter): Use macroses
5030 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5031 of grub_pci_make_address.
5032 * disk/ata.c (grub_ata_pciinit): Likewise.
5033 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5034 (GRUB_PCI_REG_VENDOR): Likewise.
5035 (GRUB_PCI_REG_DEVICE): Likewise.
5036 (GRUB_PCI_REG_COMMAND): Likewise.
5037 (GRUB_PCI_REG_STATUS): Likewise.
5038 (GRUB_PCI_REG_REVISION): Likewise.
5039 (GRUB_PCI_REG_CLASS): Likewise.
5040 (GRUB_PCI_REG_CACHELINE): Likewise.
5041 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5042 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5043 (GRUB_PCI_REG_BIST): Likewise.
5044 (GRUB_PCI_REG_ADDRESSES): Likewise.
5045 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5046 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5047 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5048 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5051 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5052 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5053 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5054 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5055 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5056 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5057 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5058 (GRUB_PCI_REG_MIN_GNT): Likewise.
5059 (GRUB_PCI_REG_MAX_LAT): Likewise.
5060 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5061 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5062 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 5063 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
5064 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5065 space.
5066
96d73208
RM
50672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5068
5069 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5070 can be reliably determined to be supported.
5071
d4484482
RM
50722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5073
5074 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5075 that VESA is supported.
5076 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5077 supported.
5078
00308ecf
VS
50792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5082
f66924a4
RM
50832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5084
5085 * util/misc.c (make_system_path_relative_to_its_root): Work around
5086 special-casing of "/", as previous incarnation of this routine did.
5087
cbca0ada
VS
50882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Fix any-emu compilation.
5091
5092 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5093 * grub_bin2h_SOURCES: New variable.
5094
34a66d99
RM
50952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5096
5097 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5098
94fabf58
RM
50992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5100
5101 * util/grub.d/00_header.in: Fix handling of locale_dir.
5102
02cf98ca
VS
51032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5106 as possible unifont location (Gentoo).
5107 Reported by: Alexander Brüning
5108
327dbcd7
VS
51092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 Don't try to generate lists for kernel.img.
5112
5113 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5114 (pkglib_MODULES): Remove kernel.img.
5115 (kernel_img_EXPORTS): Removed.
5116 (kernel_img_RELOCATABLE): New variable.
5117 * conf/x86_64-efi.rmk: Likewise.
5118 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5119
ca467290
VS
51202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5123 grub_xasprintf or grub_snprintf.
5124 (grub_vsprintf): Likewise.
5125 (grub_snprintf): New proto.
5126 (grub_vsnprintf): Likewise.
5127 (grub_xasprintf): Likewise.
5128 (grub_xvasprintf): Likewise.
5129 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5130 (grub_sprintf): Removed.
5131 (grub_vsnprintf): New function.
5132 (grub_snprintf): Likewise.
5133 (grub_xvasprintf): Likewise.
5134 (grub_xasprintf): Likewise.
5135 (grub_vsprintf): Renamed to ...
5136 (grub_vsnprintf_real): ...this. New argument max_len.
5137
aca655fd
BC
51382010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5139
5140 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5141 fix grub-script-check warning.
5142
7ee92c32
VS
51432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * include/grub/font.h (grub_font_load): Fix prototype.
5146
f80927ca
VS
51472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5150
119c50ea
VS
51512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * include/grub/x86_64/at_keyboard.h: New file.
5154
47d5f3c1
VS
51552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * loader/mips/linux.c: Include missing grub/i18n.h.
5158
55ff5266
RM
51592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5160
5161 * normal/menu.c (notify_execution_failure): Clarify error message.
5162
c893cc87
RM
51632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5164
5165 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5166 return value (and revert all return statements). Update users.
5167
917dd370
CW
51682010-01-20 Dan Merillat <debian@dan.merillat.org>
5169
5170 * kern/device.c (grub_device_iterate): Allocate new part_ent
5171 structure based on sizeof (*p) rather than sizeof (p->next), to
5172 account for structure padding.
5173
5174 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5175 disk is NULL, which might happen for LVM physical volumes with no
5176 LVM signature.
5177
d4a4ee57
RM
51782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5179
5180 * loader/mips/linux.c (grub_cmd_initrd)
5181 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5182
51832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5184
5185 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5186 (grub_video_video_init, grub_video_bitmap_init)
5187 (grub_font_manager_init, grub_term_gfxterm_init)
5188 (grub_at_keyboard_init): New extern declarations.
5189 (grub_machine_init): Initialize gfxterm and at_keyboard.
5190
5191 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5192
5193 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5194 `gfxterm.mod' into core image.
5195
5196 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5197 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5198 (kernel_img_FORMAT): Copy to ...
5199
5200 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5201 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5202 (kernel_img_FORMAT): ... here, and ...
5203
5204 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5205 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5206 (kernel_img_FORMAT): ... here.
5207
5208 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5209 and input (at_keyboard) terminals in kernel.
5210 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5211
5212 (pkglib_MODULES): Remove `pci.mod'.
5213 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5214 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5215 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5216 (at_keyboard_mod_LDFLAGS): Remove variables.
5217
52182010-01-11 Felix Zielcke <fzielcke@z-51.de>
5219
5220 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5221
52222009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5223
5224 * include/grub/mips/libgcc.h: Only export symbols for functions
5225 that libgcc provides.
5226
52272009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 MIPS support.
5230
5231 * bus/bonito.c: New file.
5232 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5233 GRUB_PCI_NUM_DEVICES.
5234 * term/i386/pc/serial.c: Move to ...
5235 * term/serial.c: ... here. All users updated.
5236 * util/i386/pc/grub-mkimage.c: Move to ...
5237 * util/grub-mkrawimage.c: ... here. All users updated.
5238 * term/i386/pc/at_keyboard.c: Move to ...
5239 * term/at_keyboard.c: ... here. All users updated.
5240 * conf/mips-qemu-mips.rmk: New file.
5241 * conf/mips-yeeloong.rmk: Likewise.
5242 * conf/mips.rmk: Likewise.
5243 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5244 mipsel-qemu-mips.
5245 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5246 to port addresses.
5247 (grub_ata_pciinit): Support CS5536.
5248 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5249 * font/font_cmd.c (loadfont_command): Open file before passing it to
5250 grub_font_load.
5251 (pseudo_file_read): New function.
5252 (pseudo_file_close): Likewise.
5253 (pseudo_fs): New structure.
5254 (load_font_module): New function.
5255 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5256 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5257 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5258 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5259 * include/grub/i386/at_keyboard.h: Split into ...
5260 * include/grub/at_keyboard.h: ... this ...
5261 * include/grub/i386/at_keyboard.h: ... and this.
5262 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5263 New prototype.
5264 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5265 updated.
5266 (grub_elf64_size): Likewise.
5267 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5268 filename.
5269 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5270 * include/grub/i386/coreboot/serial.h: Rewritten.
5271 * include/grub/i386/ieee1275/serial.h: Include
5272 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5273 * include/grub/i386/pc/serial.h: Moved from here ...
5274 * include/grub/serial.h: ... to here. All users updated.
5275 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5276 (GRUB_PCI_NUM_BUS): Likewise.
5277 (GRUB_PCI_NUM_DEVICES): Likewise.
5278 (grub_pci_device_map_range): Add missing volatile keyword.
5279 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5280 * include/grub/mips/at_keyboard.h: New file.
5281 * include/grub/mips/cache.h: Likewise.
5282 * include/grub/mips/io.h: Likewise.
5283 * include/grub/mips/kernel.h: Likewise.
5284 * include/grub/mips/libgcc.h: Likewise.
5285 * include/grub/mips/pci.h: Likewise.
5286 * include/grub/mips/qemu-mips/boot.h: Likewise.
5287 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5288 * include/grub/mips/qemu-mips/loader.h: Likewise.
5289 * include/grub/mips/qemu-mips/memory.h: Likewise.
5290 * include/grub/mips/qemu-mips/serial.h: Likewise.
5291 * include/grub/mips/qemu-mips/time.h: Likewise.
5292 * include/grub/mips/relocator.h: Likewise.
5293 * include/grub/mips/time.h: Likewise.
5294 * include/grub/mips/types.h: Likewise.
5295 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5296 * include/grub/mips/yeeloong/boot.h: Likewise.
5297 * include/grub/mips/yeeloong/kernel.h: Likewise.
5298 * include/grub/mips/yeeloong/loader.h: Likewise.
5299 * include/grub/mips/yeeloong/memory.h: Likewise.
5300 * include/grub/mips/yeeloong/pci.h: Likewise.
5301 * include/grub/mips/yeeloong/serial.h: Likewise.
5302 * include/grub/mips/yeeloong/time.h: Likewise.
5303 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5304 * kern/elf.c (grub_elf32_size): New parameter. All users
5305 updated.
5306 (grub_elf64_size): Likewise.
5307 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5308 Load modules before saying "Welcome to GRUB!".
5309 Call grub_refresh after saying "Welcome to GRUB!".
5310 * kern/mips/cache.S: New file.
5311 * kern/mips/cache_flush.S: Likewise.
5312 * kern/mips/dl.c: Likewise.
5313 * kern/mips/init.c: Likewise.
5314 * kern/mips/qemu-mips/init.c: Likewise.
5315 * kern/mips/startup.S: Likewise.
5316 * kern/mips/yeeloong/init.c: Likewise.
5317 * kern/term.c (grub_putcode): Handle NULL terminal.
5318 (grub_getcharwidth): Likewise.
5319 (grub_getkey): Likewise.
5320 (grub_checkkey): Likewise.
5321 (grub_getkeystatus): Likewise.
5322 (grub_getxy): Likewise.
5323 (grub_getwh): Likewise.
5324 (grub_gotoxy): Likewise.
5325 (grub_cls): Likewise.
5326 (grub_setcolorstate): Likewise.
5327 (grub_setcolor): Likewise.
5328 (grub_getcolor): Likewise.
5329 (grub_refresh): Likewise.
5330 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5331 (write_jump): Add hatch nop.
5332 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5333 * lib/mips/setjmp.S: New file.
5334 * loader/mips/linux.c: Likewise.
5335 * term/i386/pc/at_keyboard.c: Move from here ...
5336 * term/at_keyboard.c: ... to here.
5337 * term/i386/pc/serial.c: Moved from here ...
5338 * term/serial.c: ... to here. All users updated.
5339 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5340 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5341 (serial_translate_key_sequence): Avoid deadlock.
5342 (grub_serial_getkey): Handle backspace.
5343 (grub_serial_putchar): Fix newline handling.
5344 * util/i386/pc/grub-mkimage.c: Move from here ...
5345 * util/grub-mkrawimage.c: ... to here. All users updated.
5346 (generate_image): New parameters 'font_path' and 'format'.
5347 Support embedding font.
5348 Use grub_host_to_target* instead of grub_cpu_to_le*.
5349 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5350 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5351 (options): New option "--font".
5352 (usage): Likewise.
5353 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5354 (main): Handle "--font".
5355 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5356 (grub_virtual_screen_setup): Set bg_color_display.
5357 (redraw_screen_rect): Use bg_color_display instead of incorrect
5358 bg_color.
5359 (grub_gfxterm_cls): Likewise.
5360 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5361 Support embedding config file.
5362 (add_segments): Likewise.
5363 (options): New option "--config".
5364 (main): Handle "--config".
5365 * video/sm712.c: New file.
5366
25c2b5b3
RM
53672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5368
5369 Fix parallel builds.
5370
5371 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5372 font.c depend on ascii.h).
5373
53742010-01-12 Carles Pina i Estany <carles@pina.cat>
5375
5376 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5377
53782010-01-11 Carles Pina i Estany <carles@pina.cat>
5379
5380 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5381 By default: disabled.
5382 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5383 parameter.
5384
53852010-01-10 Carles Pina i Estany <carles@pina.cat>
5386
5387 * font/font.c: Update copyright years.
5388 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5389
53902010-01-10 Carles Pina i Estany <carles@pina.cat>
5391
5392 * font/font.c: Include `ascii.h'.
5393 (ASCII_BITMAP_SIZE): New macro.
5394 (ascii_font_glyph): Define.
5395 (ascii_glyph_lookup): New function.
5396 (grub_font_get_string_width): Change comment. If glyph not found, use
5397 ascii_glyph_lookup.
5398 (grub_font_get_glyph_with_fallback): If glyph not available returns
5399 ascii_glyph_lookup.
5400 * util/grub-mkfont.c (file_formats): New enum.
5401 (options): Add `ascii-bitmaps' new option.
5402 (usage): Add `asii-bitmaps' new option.
5403 (write_font_ascii_bitmap): New function.
5404 (write_font): Rename to ...
5405 (write_font_p2): ... this. Remove print_glyphs call.
5406 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5407 used. Call print_glyphs.
5408 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5409
54102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5411
5412 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5413 (grub_bin2h_SOURCES): New variable.
5414 * util/bin2h.c: New file.
5415
915fc1b8
VS
54162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * include/multiboot.h: Resynced with spec.
5419 * include/multiboot2.h: Likewise.
5420 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5421 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5422
9444b678
RM
54232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5424
5425 * include/grub/term.h (grub_term_register_input,
5426 grub_term_register_output): Check return of terminal init()
5427 routines, and abort if errors are raised.
5428
5429 * commands/terminal.c: Update copyright year.
5430
cba98e8d
RM
54312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5432
5433 * commands/terminal.c (grub_cmd_terminal_input)
5434 (grub_cmd_terminal_output): Check return of terminal init()
5435 routines, and abort if errors are raised.
5436
6f7db5d6
VS
54372010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * include/grub/i386/bsd.h: Fix include pathes.
5440
262bff8d
VS
54412010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 Add missing *BSD copyright headers.
5444
5445 * include/grub/aout.h: Add BSD licence.
5446 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5447 * include/grub/i386/freebsd_linker.h: ... here,
5448 * include/grub/i386/freebsd_reboot.h: ... here,
5449 * include/grub/i386/netbsd_bootinfo.h: ... here,
5450 * include/grub/i386/netbsd_reboot.h: ... here,
5451 * include/grub/i386/openbsd_bootarg.h: ... here,
5452 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5453 licence to each file.
5454
b2cab848
RM
54552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 * acinclude.m4: Remove `nop' assembly instruction; it's not
5458 implemented by all architectures.
5459
2cb6be4b
RM
54602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5461
5462 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5463 ELILO. This is no longer necessary.
5464
a2eaee15
BC
54652010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5466
5467 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5468
5469 * util/grub-script-check.c: grub-script-check tool.
5470 * conf/common.rmk: Make rules for grub-script-check.
5471
88d17012
RM
54722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5473
5474 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5475 spotting it back in 2008. Shame on me for forgetting he did.
5476
5477 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5478
8040619d
RM
54792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5480
5481 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5482 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5483 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5484 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5485 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5486 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5487
a0c2a0f6
RM
54882010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5489
5490 * include/grub/test.h: Add license header.
5491 * tests/example_functional_test.c: Likewise.
5492 * tests/example_unit_test.c: Likewise.
5493 * tests/lib/functional_test.c: Likewise.
5494 * tests/lib/test.c: Likewise.
5495 * tests/lib/unit_test.c: Likewise.
5496
b0b13907
VS
54972010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 Use flag-based instead of hook-based video mode selection and "auto"
5500 keyword.
5501
5502 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5503 (grub_video_set_mode): Changed prototype. All users updated.
5504 (grub_video_check_mode_flag): New inline function.
5505 * video/video.c (parse_modespec): New function.
5506 (grub_video_set_mode): Parse flags and keywords.
5507
ea379330 55082010-01-17 Carles Pina i Estany <carles@pina.cat>
5509
5510 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5511 fprintf call.
5512
e15c215e
FZ
55132010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5514
5515 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5516
409ae1c9 55172010-01-16 Carles Pina i Estany <carles@pina.cat>
5518
5519 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5520 string.
5521 * util/grub-emu.c (usage): Likewise.
5522 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5523 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5524 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5525 * util/i386/pc/grub-setup.c (usage): Likewise.
5526
70a14d3d 55272010-01-16 Carles Pina i Estany <carles@pina.cat>
5528
5529 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5530 the message.
5531 (grub_util_info): Likewise.
5532 (grub_util_error): Likewise.
5533 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5534 and/or new lines in `grub_util_warna', `grub_util_info',
5535 `grub_util_error' calls.
5536 * util/getroot.c: Likewise.
5537 * util/grub-editenv.c: Likewise.
5538 * util/grub-emu.c: Likewise.
5539 * util/grub-fstest.c: Likewise.
5540 * util/grub-mkdevicemap.c: Likewise.
5541 * util/grub-mkfont.c: Likewise.
5542 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5543 * util/grub-mkrelpath.c: Likewise.
5544 * util/grub-pe2elf.c: Likewise.
5545 * util/grub-probe.c: Likewise.
5546 * util/hostdisk.c: Likewise.
5547 * util/i386/efi/grub-mkimage.c: Likewise.
5548 * util/i386/pc/grub-mkimage.c: Likewise.
5549 * util/i386/pc/grub-setup.c: Likewise.
5550 * util/ieee1275/ofpath.c: Likewise.
5551 * util/mkisofs/eltorito.c: Likewise.
5552 * util/mkisofs/rock.c: Likewise.
5553 * util/mkisofs/write.c: Likewise.
5554 * util/raid.c: Likewise.
5555 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5556 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5557
a0b766fc
VS
55582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Enable multiboot on non-pc.
5561
5562 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5563 multiboot.mod and multiboot2.mod to ...
5564 * conf/i386.rmk (pkglib_MODULES): ... here.
5565 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5566 Moved to ...
5567 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5568 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5569 Moved to ...
5570 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5571 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5572 Moved to ...
5573 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5574 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5575 Moved to ...
5576 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5577 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5578 relocator.mod.
5579 (ata_mod_SOURCES): Removed.
5580 (ata_mod_CFLAGS): Likewise.
5581 (ata_mod_LDFLAGS): Likewise.
5582 (relocator_mod_SOURCES): Removed.
5583 (relocator_mod_CFLAGS): Likewise.
5584 (relocator_mod_ASFLAGS): Likewise.
5585 (relocator_mod_LDFLAGS): Likewise.
5586 Include i386.mk.
5587 * include/grub/x86_64/multiboot.h: New file.
5588 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5589 Terminate EFI.
5590
884ade56
VS
55912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 Video multiboot support.
5594
5595 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5596 New prototype.
5597 * include/multiboot.h: Resynced with multiboot specification.
5598 * include/multiboot2.h: Likewise.
5599 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5600 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5601 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5602 (HAS_VGA_TEXT): Likewise.
5603 (accepts_video): New variable.
5604 (grub_multiboot_set_accepts_video): New function.
5605 (grub_multiboot_get_mbi_size): Account for video structures.
5606 (set_video_mode): New function.
5607 (retrieve_video_parameters): Likewise.
5608 (grub_multiboot_make_mbi): Fill video fields.
5609
0d90e8a6
VS
56102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Video driver ids.
5613
5614 * include/grub/video.h (grub_video_driver_id): New type.
5615 (grub_video_adapter): New member 'id'. All users updated.
5616 (grub_video_get_driver_id): New proto.
5617 * video/video.c (grub_video_get_driver_id): New function.
5618
5c71db1b 56192010-01-14 Carles Pina i Estany <carles@pina.cat>
5620
5621 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5622 `var=val'.
5623
cca15b52 56242010-01-14 Carles Pina i Estany <carles@pina.cat>
5625
5626 * normal/cmdline.c (print_completion): Gettextizze.
5627
c586fbb2 56282001-01-14 Carles Pina i Estany <carles@pina.cat>
5629
5630 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5631
ba2f6848 56322010-01-14 Carles Pina i Estany <carles@pina.cat>
5633
5634 * gettext/gettext.c (grub_gettext_translate): Push and pop
5635 grub_errno.
5636 (grub_gettext_delete_list): Change comment style.
5637 * kern/err.c (grub_error): Gettextizze.
5638 (grub_fatal): Gettextizze.
5639
0a46429a
RM
56402010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5641
5642 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5643 (grub_linux16_real_boot): ... this.
5644 * kern/i386/loader.S: Likewise.
5645 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5646 (grub_linux16_boot): New function. Switches to text mode and calls
5647 grub_linux16_real_boot().
5648
5649 * loader/i386/bsd.c: Include `<grub/video.h>'.
5650 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5651 text mode before calling grub_unix_real_boot().
5652
5653 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5654 (grub_multiboot_boot): Switch to text mode before calling
5655 grub_relocator32_boot().
5656
5657 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5658 (grub_chainloader_boot): Switch to text mode before calling
5659 grub_chainloader_real_boot().
5660
d6f93a66
RM
56612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
56622010-01-05 Colin Watson <cjwatson@ubuntu.com>
5663
5664 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5665 non-empty value.
5666
56672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
56682010-01-05 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * util/grub.d/00_header.in: Define a "savedefault" function for use
5671 in menu entries.
5672 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5673
56742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
56752010-01-05 Colin Watson <cjwatson@ubuntu.com>
5676
5677 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5678 saved_entry if boot_once is unset.
5679 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5680 previous saved entry (i.e. grub-reboot).
5681
56822009-12-08 Colin Watson <cjwatson@ubuntu.com>
5683
5684 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5685
56862009-12-08 Colin Watson <cjwatson@ubuntu.com>
5687
5688 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5689 `var=val'.
5690 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5691
56922009-12-08 Colin Watson <cjwatson@ubuntu.com>
5693
5694 * util/grub-reboot.in: Fix --version output.
5695 * util/grub-set-default.in: Likewise.
5696
56972009-12-08 Colin Watson <cjwatson@ubuntu.com>
5698
5699 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5700 blocks.
5701
57022009-12-08 Colin Watson <cjwatson@ubuntu.com>
5703
5704 * util/grub.d/00_header.in: Quote the value assigned to `default',
5705 in case it contains spaces.
5706
57072009-12-08 Colin Watson <cjwatson@ubuntu.com>
5708
5709 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5710 `save_default_entry' call from the macosx case to the linux case.
5711
57122009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
57132009-10-25 Colin Watson <cjwatson@ubuntu.com>
5714
5715 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5716 in `chosen' environment variable.
5717 * normal/menu_text.c (get_entry_number): Check if the variable
5718 matches the title of a menu entry.
5719 (run_menu): Pass menu to get_entry_number.
5720
5721 * util/grub-reboot.in: New file.
5722 * util/grub-set-default.in: New file.
5723 * conf/common.rmk (grub-reboot): New utility.
5724 (grub-set-default): New utility.
5725
5726 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5727 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5728 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5729 move it to `saved_entry' for the next boot. Load environment on
5730 initialisation.
5731 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5732 * util/grub.d/10_hurd.in: Likewise.
5733 * util/grub.d/10_linux.in (linux_entry): Likewise.
5734 * util/grub.d/10_windows.in: Likewise.
5735 * util/grub.d/30_os-prober.in: Likewise.
5736
5737 * util/grub-install.in: Create environment block.
5738 * util/i386/efi/grub-install.in: Likewise.
5739 * util/ieee1275/grub-install.in: Likewise.
5740 * util/sparc64/ieee1275/grub-install.in: Likewise.
5741
0934d184
BC
57422010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5743
5744 Unit testing framework for GRUB.
5745
5746 * Makefile.in: Test framework build rules for 'make check'.
5747 * conf/tests.rmk: Build rules for individual tests and framework.
5748
5749 * include/grub/test.h: Header file for whitebox tests.
5750 * tests/lib/functional_test.c: Framework support for whitebox
5751 functional tests.
5752 * tests/lib/test.c: Common whitebox testing code for unit and
5753 functional tests.
5754 * tests/lib/unit_test.c: Framework support for whitebox unit
5755 tests.
5756
5757 * tests/util/grub-shell-tester.in: Support utility for grub-script
5758 tests.
5759 * tests/util/grub-shell.in: Utility to execute grub-script
5760 commands in a Qemu instance.
5761
5762 * tests/example_functional_test.c: Example whitebox functional
5763 test.
5764 * tests/example_grub_script_test.in: Example grub-script test.
5765 * tests/example_scripted_test.in: Example scripted test.
5766 * tests/example_unit_test.c: Example whitebox unit test.
5767
9c4ffeeb
VS
57682010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5771 Add loader/i386/multiboot_mbi.c.
5772 (multiboot2_mod_SOURCES): Likewise.
5773 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5774 (multiboot2_mod_SOURCES): Likewise.
5775 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5776 (grub_multiboot_make_mbi): Likewise.
5777 (grub_multiboot_free_mbi): Likewise.
5778 (grub_multiboot_init_mbi): Likewise.
5779 (grub_multiboot_add_module): Likewise.
5780 (grub_multiboot_set_bootdev): Likewise.
5781 * loader/i386/multiboot.c (mbi): Removed.
5782 (mbi_dest): Likewise.
5783 (alloc_mbi): New variable.
5784 (grub_multiboot_payload_size): Removed. All users updated.
5785 (grub_multiboot_pure_size): New variable.
5786 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5787 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5788 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5789 (grub_fill_multiboot_mmap): Likewise.
5790 (grub_multiboot_get_bootdev): Likewise.
5791 (grub_multiboot): Use multiboot_mbi functions.
5792 * loader/i386/multiboot_mbi.c: New file.
5793
17383dfe
VS
57942010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5797 it would result in module crash.
5798
c1f28820
VS
57992010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5802 (grub_ofconsole_getwh): Split to ...
5803 (grub_ofconsole_getwh): ... this.
5804 (grub_ofconsole_dimensions): ...and this.
5805 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5806
58655a16
RM
58072010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5808
5809 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5810
10891398
VS
58112010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * loader/i386/pc/multiboot2.c: Removed stalled file.
5814
0b8a223c
VS
58152010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5818 Reported by: Grégoire Sutre
5819
92ab12b0
RM
58202010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5821
5822 * util/misc.c (canonicalize_file_name): New function.
5823 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5824 instead of realpath().
5825
a788afb6
CW
58262010-01-11 Colin Watson <cjwatson@ubuntu.com>
5827
5828 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5829 and make it clearer that it's optional. Based on confusion
5830 witnessed on IRC.
5831
ffa8e3d2
VS
58322010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5835 in premature implicit newline.
5836
e9060a9d
VS
58372010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5840 which resulted in garbled command line at the end of screen.
5841
f0d0c0b7
RM
58422010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5843
5844 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5845 initialization with similar approach as with other Linux loaders.
5846
0e60bae7
RM
58472010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5848
5849 Fix i386-ieee1275 build.
5850
5851 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5852 and grub_term_height() for video_{width,height} initialization.
5853
58542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
5855
5856 Fix grub-emu build.
5857
5858 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5859
cdb3f378
RM
58602010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
58612010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5862
5863 Support for multiple terminals.
5864
5865 * Makefile.in (pkglib_DATA): terminal.lst.
5866 (terminal.lst): New target.
5867 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5868 (GRUB_MOD_INIT(handler)): Likewise.
5869 (GRUB_MOD_FINI(handler)): Likewise.
5870 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5871 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5872 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5873 (grub_cmd_sleep): Use grub_term_save_pos.
5874 * commands/terminal.c: New file.
5875 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5876 commands/terminal.c and lib/charset.c.
5877 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5878 (pkglib_MODULES): Add terminal.mod.
5879 (terminal_mod_SOURCES): New variable.
5880 (terminal_mod_CFLAGS): Likewise.
5881 (terminal_mod_LDFLAGS): Likewise.
5882 * genhandlerlist.sh: Don't handle terminals.
5883 * genmk.rb: Generate terminal-*.lst.
5884 * genterminallist.sh: New file.
5885 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5886 (grub_is_valid_utf8): Likewise.
5887 (grub_utf8_to_ucs4_alloc): Likewise.
5888 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5889 (grub_menu_register_viewer): Changed argument.
5890 (grub_menu_try_text): New proto.
5891 (grub_gfxmenu_try_hook): New declaration.
5892 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5893 (grub_menu_init_page): Additional argument term.
5894 (grub_normal_init_page): Likewise.
5895 (grub_cmdline_get): Arguments simplified.
5896 (grub_utf8_to_ucs4_alloc): Removed.
5897 (grub_print_ucs4): Additional argument term.
5898 (grub_getstringwidth): Likewise.
5899 (grub_print_message_indented): Likewise.
5900 (grub_menu_text_register_instances): New proto.
5901 (grub_show_menu): Likewise.
5902 (read_terminal_list): Likewise.
5903 (grub_set_more): Likewise.
5904 * include/grub/parser.h: Include handler.h.
5905 * include/grub/reader.h: Rewritten.
5906 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5907 (GRUB_TERM_WIDTH): Changed to function.
5908 (GRUB_TERM_HEIGHT): Likewise.
5909 (GRUB_TERM_BORDER_WIDTH): Likewise.
5910 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5911 (GRUB_TERM_NUM_ENTRIES): Likewise.
5912 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5913 (GRUB_TERM_CURSOR_X): Likewise.
5914 (grub_term_input_class): Likewise.
5915 (grub_term_output_class): Likewise.
5916 (grub_term_outputs_disabled): New declaration.
5917 (grub_term_inputs_disabled): Likewise.
5918 (grub_term_outputs): Likewise.
5919 (grub_term_inputs): Likewise.
5920 (grub_term_register_input): Rewritten.
5921 (grub_term_register_output): Likewise.
5922 (grub_term_unregister_input): Likewise.
5923 (grub_term_unregister_output): Likewise.
5924 (FOR_ACTIVE_TERM_INPUTS): New macro.
5925 (FOR_DISABLED_TERM_INPUTS): Likewise.
5926 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5927 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5928 * include/grub/terminfo.h: Add oterm argument to all protypes.
5929 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5930 Use grub_rescue_run.
5931 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5932 All users updated.
5933 * kern/reader.c: Removed. All users updated.
5934 * kern/rescue_reader.c (grub_rescue_init): Removed.
5935 (grub_rescue_reader): Likewise.
5936 (grub_register_rescue_reader): Likewise.
5937 (grub_rescue_run): New function based on kern/reader.c.
5938 * kern/term.c: Adapted for multiterm.
5939 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5940 (grub_is_valid_utf8): Likewise.
5941 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5942 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5943 right terminal.
5944 * loader/i386/linux.c (grub_linux_boot): Likewise.
5945 * normal/auth.c (grub_username_get): New function.
5946 (grub_auth_check_authentication): Use grub_username_get.
5947 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5948 * normal/color.c: Adapt for multiterm.
5949 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5950 (grub_normal_init_page): Additional argument term.
5951 (read_lists): Call read_terminal_lists.
5952 (grub_enter_normal_mode): Call grub_cmdline_run.
5953 Handle grub_normal_exit_level.
5954 (grub_cmd_normal): Make reentrant.
5955 (grub_cmd_normal_exit): New function.
5956 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5957 * normal/menu.c: Adapt for multiterm.
5958 * normal/menu_entry.c: Likewise.
5959 * normal/menu_text.c: Likewise.
5960 * normal/menu_viewer.c: Removed. All users updated.
5961 * normal/term.c: New file.
5962 * util/console.c: Change order of includes to workaround a bug in
5963 ncurses headers.
5964 * term/terminfo.c: New argument oterm on all exported functions.
5965 All users updated.
5966 * util/grub-editenv.c (grub_term_input_class): Removed.
5967 (grub_term_output_class): Likewise.
5968
1a064917
RM
59692010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5970
5971 Make loader output a bit more user-friendly.
5972
5973 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5974 is being loaded. Likewise for the Hurd.
5975
5976 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5977 that kernel of FreeBSD ${version} is being loaded.
5978
5979 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5980 grub_dprintf().
5981 (grub_cmd_initrd): Likewise.
5982 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5983 that Linux ${version} is being loaded. Likewise for initrd.
5984
5ce0a83a 59852010-01-09 Carles Pina i Estany <carles@pina.cat>
5986
5987 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5988
809bbfeb 59892010-01-08 Carles Pina i Estany <carles@pina.cat>
5990
5991 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5992 (GRUB_MOD_INIT): Gettextizze.
5993 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5994 (GRUB_MOD_INIT): Gettextizze.
5995 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5996 (grub_cmd_linux): Capitalise Linux.
5997 (GRUB_MOD_INIT): Gettextizze.
5998 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5999 (grub_cmd_linux): Capitalise Linux.
6000 (GRUB_MOD_INIT): Gettextizze.
6001 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6002 (grub_cmd_linux): Capitalise Linux.
6003 (GRUB_MOD_INIT): Gettextizze.
6004 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6005 (GRUB_MOD_INIT): Gettextizze.
6006 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6007 (grub_cmd_linux): Capitalise Linux.
6008 (GRUB_MOD_INIT): Gettextizze.
6009 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6010 (grub_cpu_xnu_init): Gettextizze.
6011 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6012 (GRUB_MOD_INIT): Gettextizze.
6013 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6014 (GRUB_MOD_INIT): Gettextizze.
6015 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6016 (grub_linux_load64): Capitalise Linux.
6017 (GRUB_MOD_INIT): Gettextizze.
6018 * loader/xnu.c: Include `<grub/i18n.h>'.
6019 (GRUB_MOD_INIT): Gettextizze.
6020 * po/POTFILES: Add `loader/efi/appleloader.c',
6021 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6022 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6023 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6024 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6025 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6026 and `loader/xnu.c'.
6027
b394b2ca
RM
60282010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6029
6030 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6031
60322010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
6033
6034 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6035 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6036 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6037
bc8b32b3
RM
60382010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 Reset Multiboot 2 support. New loader implements the draft in
6041 /branches/multiboot2 and shares as much code as possible with the
6042 production Multiboot 1 implementation.
6043
6044 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6045 * loader/multiboot2.c: Likewise.
6046 * loader/i386/multiboot_helper.S: Likewise.
6047 * include/multiboot2.h: Replace with latest version from the draft
6048 in /branches/multiboot2.
6049
6050 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6051 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6052 and `loader/multiboot2.c'.
6053 (pkglib_MODULES): Add `multiboot2.mod'.
6054 (multiboot2_mod_SOURCES): New variable.
6055 (multiboot2_mod_LDFLAGS): Likewise.
6056 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6057
6058 * conf/i386-pc.rmk: Likewise.
6059
6060 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6061 (multiboot_mod_SOURCES): Remove variable.
6062 (multiboot_mod_LDFLAGS): Likewise.
6063 (multiboot_mod_CFLAGS): Likewise.
6064
6065 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6066 `<multiboot2.h>' instead of `<multiboot.h>'.
6067 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6068 (MULTIBOOT_HEADER_MAGIC): New macros.
6069
6070 * loader/multiboot_loader.c (module_version_status): Remove variable.
6071 (find_multi_boot2_header): Remove function.
6072 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6073 logic. Always check for the Multiboot version we're compiling for.
6074 (grub_cmd_module_loader): Likewise.
6075 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6076 command instead of `multiboot'.
6077
5d2c52b8
RM
60782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6079
6080 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6081 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6082 all users.
6083
53108d92
RM
60842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
60852010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Fix breakage introduced with previous commit.
6088
6089 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6090 commands.
6091 * normal/handler.c (read_handler_list): Revert part of previous commit
6092 affecting this file.
6093 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6094 (grub_normal_execute): ... here.
6095
e2e936b2
RM
60962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6097
6098 Merge prefix-redefinition-fix branch.
6099
6100 * normal/autofs.c (read_fs_list): Make function capable of being
6101 run multiple times, gracefuly replacing the previous data
6102 structures.
6103 * normal/dyncmd.c (read_command_list): Likewise.
6104 * normal/handler.c (read_handler_list): Likewise.
6105 * normal/main.c (read_lists): New function. Calls all the
6106 list reading functions.
6107 (grub_normal_execute): Use read_lists() instead of calling all
6108 list reading functions explicitly. Register read_lists() as a
6109 variable hook attached to ${prefix}.
6110
607a3701
VS
61112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 Merge crypto branch.
6114
6115 * Makefile.in (pkglib_DATA): Add crypto.lst.
6116 (crypto.lst): New target.
6117 * commands/hashsum.c: New file.
6118 * commands/password.c (check_password): Use grub_crypto_memcmp.
6119 * commands/password_pbkdf2.c: New file.
6120 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6121 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6122 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6123 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6124 -I$(srcdir)/lib/libgcrypt_wrap.
6125 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6126 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6127 password_pbkdf2.mod.
6128 (crypto_mod_SOURCES): New variable.
6129 (crypto_mod_CFLAGS): Likewise.
6130 (crypto_mod_LDFLAGS): Likewise.
6131 (hashsum_mod_SOURCES): New variable.
6132 (hashsum_mod_CFLAGS): Likewise.
6133 (hashsum_mod_LDFLAGS): Likewise.
6134 (pbkdf2_mod_SOURCES): New variable.
6135 (pbkdf2_mod_CFLAGS): Likewise.
6136 (pbkdf2_mod_LDFLAGS): Likewise.
6137 (password_pbkdf2_mod_SOURCES): New variable.
6138 (password_pbkdf2_mod_CFLAGS): Likewise.
6139 (password_pbkdf2_mod_LDFLAGS): Likewise.
6140 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6141 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6142 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6143 Include conf/gcry.rmk.
6144 * include/grub/auth.h: Rewritten.
6145 * include/grub/crypto.h: New file.
6146 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6147 * include/grub/normal.h (read_crypto_list): New prototype.
6148 * lib/crypto.c: New file.
6149 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6150 * lib/pbkdf2.c: Likewise.
6151 * normal/auth.c (grub_auth_strcmp): Removed.
6152 (grub_iswordseparator): Likewise.
6153 (grub_auth_strword): Likewise.
6154 (is_authenticated): Use grub_strword.
6155 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6156 and grub_strword. Pass entered password to authentication callback.
6157 * normal/crypto.c: New file.
6158 * normal/main.c: Call read_crypto_list.
6159 * util/grub-mkpasswd-pbkdf2.c: New file.
6160 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6161
42841caa
VS
61622010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Fix descent and ascent calculation.
6165
6166 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6167 (options): New option "asce".
6168 (usage): Likewise.
6169 (add_char): Ignore invalid glyphs for descent calculation.
6170 Calculate ascent from actual content.
6171 (print_glyphs): Use 'asce'.
6172 (write_font): Likewise. Allow ascent override.
6173 (main): Handle "asce" option.
6174
e7730de7 61752010-01-06 Carles Pina i Estany <carles@pina.cat>
6176
6177 * kern/err.c: Include `<grub/i18n.h>'.
6178 (grub_print_error): Add full stop. Gettextizze.
6179 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6180 (grub_bsd_load_elf): Capitalise ELF.
6181 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6182 (grub_cmd_freebsd_module): Likewise.
6183 (grub_cmd_freebsd_module_elf): Likewise.
6184 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6185
40e3a41f 61862010-01-06 Carles Pina i Estany <carles@pina.cat>
6187
6188 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6189 * commands/search_file.c (HELP_MESSAGE): New macro.
6190 * commands/search_label.c (HELP_MESSAGE): Likewise.
6191 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6192 * po/POTFILES: Add `commands/search_file.c',
6193 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6194 `commands/search.c'.
6195
83507e68
RM
61962010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6197
6198 * config.rpath: Update from Gnulib.
6199
465c787b
YB
62002010-01-05 Yves Blusseau <blusseau@zetam.org>
6201
6202 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6203
6581dd3a
YB
62042010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6205
6206 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6207
3bff18c5
CW
62082010-01-05 Colin Watson <cjwatson@ubuntu.com>
6209
6210 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6211 arguments to fread so that we get a return value in bytes, rather
6212 than something that will normally be rounded down to 0.
6213 Adjust error handling to avoid producing garbage when size_t is not
6214 the same size as long long.
6215
a1368118
CW
62162010-01-05 Colin Watson <cjwatson@ubuntu.com>
6217
6218 * util/mkisofs/write.c (padblock_write): Check return value of
6219 fread.
6220
7c302978
RM
62212010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6222
6223 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6224 floppy images now.
6225
6226 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6227
e33ace06
RM
62282010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6229
6230 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6231 instead of manual alignment.
6232 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6233 verbose). Avoid attempts to read past end of the device
6234 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6235 but GRUB_DISK_CACHE_SIZE may exceed that).
6236
4b856776
RM
62372010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6238
6239 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6240 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6241 it to upper layer.
6242
52c2d97f
VS
62432010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6246 New constant.
6247 (grub_efi_piwg_device_path): New structure
6248 (grub_efi_piwg_device_path_t): New type.
6249 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6250 (devpath_1): Transform to a structure. All users updated.
6251 (devpath_2): Likewise.
6252 (devpath_3): Likewise.
6253 (devpath_4): Likewise.
6254 (devpath_5): Likewise.
6255
98ff6a54
VS
62562010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * loader/efi/appleloader.c: Restored. Update all users.
6259
3a73dcb6
RM
62602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6261
6262 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6263
6264 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6265 (struct boot_blocklist): Move from here ...
6266 * include/grub/i386/pc/boot.h [ASM_FILE]
6267 (struct grub_boot_blocklist): ... to here. Update all users.
6268 (setup): Only initialize `start' member of `first_block'
6269 structure. Add assert() calls to verify the other members.
6270
6271 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6272 (generate_image): Fix broken blocklist length initialization.
6273 Add assert() call to verify blocklist `segment' field.
6274
ab0eeb0c
RM
62752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6276
6277 * loader/efi/appleloader.c: Remove. Update all users.
6278
58bc8bd5
RM
62792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6280
6281 * boot/i386/pc/boot.S: Update copyright year.
6282 * boot/i386/pc/cdboot.S: Likewise.
6283 * boot/i386/pc/diskboot.S: Likewise.
6284 * boot/i386/pc/lnxboot.S: Likewise.
6285 * boot/i386/pc/pxeboot.S: Likewise.
6286 * bus/pci.c: Likewise.
6287 * commands/cmp.c: Likewise.
6288 * commands/help.c: Likewise.
6289 * commands/hexdump.c: Likewise.
6290 * commands/i386/pc/halt.c: Likewise.
6291 * commands/i386/pc/play.c: Likewise.
6292 * commands/i386/pc/vbeinfo.c: Likewise.
6293 * commands/ls.c: Likewise.
6294 * commands/test.c: Likewise.
6295 * disk/dmraid_nvidia.c: Likewise.
6296 * disk/i386/pc/biosdisk.c: Likewise.
6297 * disk/ieee1275/nand.c: Likewise.
6298 * disk/ieee1275/ofdisk.c: Likewise.
6299 * disk/lvm.c: Likewise.
6300 * disk/raid.c: Likewise.
6301 * disk/raid6_recover.c: Likewise.
6302 * disk/scsi.c: Likewise.
6303 * fs/affs.c: Likewise.
6304 * fs/cpio.c: Likewise.
6305 * fs/ext2.c: Likewise.
6306 * fs/hfs.c: Likewise.
6307 * fs/iso9660.c: Likewise.
6308 * fs/ntfs.c: Likewise.
6309 * fs/sfs.c: Likewise.
6310 * fs/udf.c: Likewise.
6311 * fs/ufs.c: Likewise.
6312 * fs/xfs.c: Likewise.
6313 * gencmdlist.sh: Likewise.
6314 * genmk.rb: Likewise.
6315 * include/grub/disk.h: Likewise.
6316 * include/grub/efi/api.h: Likewise.
6317 * include/grub/efi/efi.h: Likewise.
6318 * include/grub/efi/pe32.h: Likewise.
6319 * include/grub/elf.h: Likewise.
6320 * include/grub/fs.h: Likewise.
6321 * include/grub/i386/at_keyboard.h: Likewise.
6322 * include/grub/i386/pc/memory.h: Likewise.
6323 * include/grub/i386/pc/vbe.h: Likewise.
6324 * include/grub/i386/pci.h: Likewise.
6325 * include/grub/i386/tsc.h: Likewise.
6326 * include/grub/ieee1275/ieee1275.h: Likewise.
6327 * include/grub/ntfs.h: Likewise.
6328 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6329 * include/grub/sparc64/libgcc.h: Likewise.
6330 * include/grub/symbol.h: Likewise.
6331 * include/grub/types.h: Likewise.
6332 * include/multiboot2.h: Likewise.
6333 * io/gzio.c: Likewise.
6334 * kern/device.c: Likewise.
6335 * kern/disk.c: Likewise.
6336 * kern/efi/efi.c: Likewise.
6337 * kern/efi/mm.c: Likewise.
6338 * kern/elf.c: Likewise.
6339 * kern/file.c: Likewise.
6340 * kern/i386/dl.c: Likewise.
6341 * kern/i386/pc/init.c: Likewise.
6342 * kern/i386/pc/startup.S: Likewise.
6343 * kern/ieee1275/ieee1275.c: Likewise.
6344 * kern/ieee1275/init.c: Likewise.
6345 * kern/main.c: Likewise.
6346 * kern/mm.c: Likewise.
6347 * kern/powerpc/dl.c: Likewise.
6348 * kern/sparc64/dl.c: Likewise.
6349 * kern/x86_64/dl.c: Likewise.
6350 * lib/hexdump.c: Likewise.
6351 * loader/efi/appleloader.c: Likewise.
6352 * loader/i386/ieee1275/linux.c: Likewise.
6353 * loader/i386/pc/chainloader.c: Likewise.
6354 * loader/i386/pc/linux.c: Likewise.
6355 * loader/i386/pc/multiboot2.c: Likewise.
6356 * loader/ieee1275/multiboot2.c: Likewise.
6357 * loader/multiboot2.c: Likewise.
6358 * loader/multiboot_loader.c: Likewise.
6359 * loader/powerpc/ieee1275/linux.c: Likewise.
6360 * normal/completion.c: Likewise.
6361 * normal/menu_entry.c: Likewise.
6362 * partmap/apple.c: Likewise.
6363 * util/grub.d/10_hurd.in: Likewise.
6364 * util/hostfs.c: Likewise.
6365 * video/readers/png.c: Likewise.
6366
e2d70b5c
CW
63672010-01-03 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * include/grub/misc.h (GNUC_PREREQ): New macro.
6370 (ATTRIBUTE_ERROR): New macro.
6371 * include/grub/list.h (grub_bad_type_cast_real): Use
6372 ATTRIBUTE_ERROR.
6373
a173283f 63742010-01-03 Carles Pina i Estany <carles@pina.cat>
6375
6376 * normal/menu_text.c (print_message): Change messages.
6377
7fa7ff74 63782010-01-03 Carles Pina i Estany <carles@pina.cat>
6379
6380 * normal/menu_entry.c (store_completion): Gettextizze.
6381
136d24f6 63822010-01-03 Carles Pina i Estany <carles@pina.cat>
6383
6384 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6385
f936862e 63862010-01-03 Carles Pina i Estany <carles@pina.cat>
6387
6388 * po/POTFILES: Sort correctly.
6389
29c44ad1 63902010-01-03 Carles Pina i Estany <carles@pina.cat>
6391
6392 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6393 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6394 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6395 full stop.
6396 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6397 summary. Gettextizze the strings.
6398 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6399 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6400 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6401 full stop.
6402 (GRUB_MOD_INIT): Remove command name from summary.
6403 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6404 summary.
6405 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6406 * term/i386/pc/serial.c (options): Add full stops.
6407 (GRUB_MOD_INIT): Remove command name from the summary.
6408
77a79592 64092010-01-03 Carles Pina i Estany <carles@pina.cat>
6410
6411 * commands/acpi.c: Gettextizze help strings and/or options. Include
6412 `grub/i18n.h' if needed.
6413 * commands/blocklist.c: Likewise.
6414 * commands/boot.c: Likewise.
6415 * commands/cat.c: Likewise.
6416 * commands/cmp.c: Likewise.
6417 * commands/configfile.c: Likewise.
6418 * commands/crc.c: Likewise.
6419 * commands/date.c: Likewise.
6420 * commands/echo.c: Likewise.
6421 * commands/efi/fixvideo.c: Likewise.
6422 * commands/efi/loadbios.c: Likewise.
6423 * commands/gptsync.c: Likewise.
6424 * commands/halt.c: Likewise.
6425 * commands/handler.c: Likewise.
6426 * commands/hdparm.c: Likewise.
6427 * commands/hexdump.c: Likewise.
6428 * commands/i386/cpuid.c: Likewise.
6429 * commands/i386/pc/drivemap.c: Likewise.
6430 * commands/i386/pc/halt.c: Likewise.
6431 * commands/i386/pc/pxecmd.c: Likewise.
6432 * commands/i386/pc/vbeinfo.c: Likewise.
6433 * commands/i386/pc/vbetest.c: Likewise.
6434 * commands/ieee1275/suspend.c: Likewise.
6435 * commands/keystatus.c: Likewise.
6436 * commands/loadenv.c: Likewise.
6437 * commands/ls.c: Likewise.
6438 * commands/lsmmap.c: Likewise.
6439 * commands/lspci.c: Likewise.
6440 * commands/memrw.c: Likewise.
6441 * commands/minicmd.c: Likewise.
6442 * commands/parttool.c: Likewise.
6443 * commands/password.c: Likewise.
6444 * commands/probe.c: Likewise.
6445 * commands/read.c: Likewise.
6446 * commands/reboot.c: Likewise.
6447 * commands/search.c: Likewise.
6448 * commands/sleep.c: Likewise.
6449 * commands/test.c: Likewise.
6450 * commands/true.c: Likewise.
6451 * commands/usbtest.c: Likewise.
6452 * commands/videotest.c: Likewise.
6453 * commands/xnu_uuid.c: Likewise.
6454 * disk/loopback.c: Likewise.
6455 * hello/hello.c: Likewise.
6456 * loader/i386/bsd.c: Likewise.
6457 * term/i386/pc/serial.c: Likewise.
6458 * po/POTFILES: Add new files.
6459
da8d5c53
CW
64602010-01-02 Colin Watson <cjwatson@ubuntu.com>
6461
6462 * term/i386/pc/at_keyboard.c
6463 (keyboard_controller_wait_untill_ready): Rename to ...
6464 (keyboard_controller_wait_until_ready): ... this. Update all users.
6465
33937904 64662010-01-01 Carles Pina i Estany <carles@pina.cat>
6467
6468 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6469 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6470 string using string width.
6471 * normal/menu_text.c (grub_print_message_indented): Use
6472 grub_print_spaces and not print_spaces.
6473 (print_timeout): Likewise.
6474 (print_spaces): Move to...
6475 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6476
3fd3b8d8
RM
64772010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6478
6479 Import from Gnulib.
6480
6481 * gnulib/getdelim.c: New file.
6482 * gnulib/getline.c: Likewise.
6483
33433555
VS
64842009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6485
6486 * include/grub/list.h (grub_assert_fail): Removed.
6487 (grub_bad_type_cast_real): New function.
6488 (grub_bad_type_cast): New macro.
6489 (GRUB_AS_LIST): Use grub_bad_type_cast.
6490 (GRUB_AS_LIST_P): Likewise.
e44721e8 6491 (GRUB_AS_NAMED_LIST): Likewise.
33433555 6492 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 6493 (GRUB_AS_PRIO_LIST): Likewise.
33433555 6494 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 6495 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 6496
f5a51306
VS
64972009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6500 Fix syntax error.
6501
90d1e879
RM
65022009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6503
6504 * configure.ac: Check for TARGET_CFLAGS initialization before we
6505 initialize it ourselves (sigh).
6506 Move a few modifications to TARGET_CFLAGS to be unconditional
6507 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6508 eh_frame)
6509
6510 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6511 * term/i386/pc/at_keyboard.c
6512 (keyboard_controller_wait_untill_ready): Likewise.
6513 (keyboard_controller_led): Rename `led_status' paramter to avoid
6514 name conflict.
6515
465b5a81 65162009-12-28 Carles Pina i Estany <carles@pina.cat>
6517
6518 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6519 quotes.
6520
c181849b
VS
65212009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6524
9c8739a4
VS
65252009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * normal/menu_text.c (grub_print_message_indented): Prevent
6528 past-the-end-of-array dereference.
6529
3e74249c
VS
65302009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6533 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6534
64fd18ed 65352009-12-27 Carles Pina i Estany <carles@pina.cat>
6536
6537 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6538 * normal/main.c (grub_normal_read_line): Remove a space from the
6539 default prompt.
6540
714af9b9 65412009-12-27 Carles Pina i Estany <carles@pina.cat>
6542
6543 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6544 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6545 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6546 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6547 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6548 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6549 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6550
82f3e412 65512009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 6552
6553 * video/readers/jpeg.c (cmd): Declare.
6554 (grub_cmd_jpegtest): Use `grub_command_t' type.
6555 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6556 Assign to `cmd'.
6557 (GRUB_MOD_FINI): Use `cmd' to unregister.
6558 * video/readers/png.c (cmd): Declare.
6559 (grub_cmd_pngtest): Use `grub_command_t' type.
6560 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6561 Assign to `cmd'.
6562 (GRUB_MOD_FINI): Use `cmd' to unregister.
6563 * video/readers/tga.c (cmd): Declare.
6564 (grub_cmd_tgatest): Use `grub_command_t' type.
6565 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6566 Assign to `cmd'.
6567 (GRUB_MOD_FINI): Use `cmd' to unregister.
6568
82f3e412 65692009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 6570
6571 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6572 stops.
6573 * kern/corecmd.c (grub_register_core_commands): Likewise.
6574 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6575 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6576 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6577 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6578 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6579 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6580 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6581 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6582 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6583 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6584 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6585 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6586 * normal/handler.c (insert_handler): Likewise.
6587 * normal/main.c (GRUB_MOD_INIT): Likewise.
6588 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6589
fdcdbb66 65902009-12-26 Carles Pina i Estany <carles@pina.cat>
6591
6592 * commands/help.c (grub_cmd_help): Print the command name before the
6593 summary.
6594 (GRUB_MOD_INIT): Remove command name from the summary.
6595 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 6596 string as summary.
fdcdbb66 6597 * lib/arg.c (find_long): Print the command name before the summary.
6598 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6599 summary.
6600 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6601 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6602 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6603 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6604 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6605 * commands/date.c (GRUB_MOD_INIT): Likewise.
6606 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6607 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6608 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6609 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6610 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6611 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6612 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6613 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6614 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6615 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6616 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6617 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6618 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6619 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6620 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6621 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6622 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6623 * commands/password.c (GRUB_MOD_INIT): Likewise.
6624 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6625 * commands/read.c (GRUB_MOD_INIT): Likewise.
6626 * commands/search.c (GRUB_MOD_INIT): Likewise.
6627 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6628 * commands/test.c (GRUB_MOD_INIT): Likewise.
6629 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6630 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6631 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6632 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6633 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6634 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6635 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6636 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6637 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6638 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6639 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6640 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6641 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6642 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6643
9c288be2
VS
66442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Use search command for preliminar UUID search.
6647
6648 * commands/search.c: Split into ...
6649 * commands/search_wrap.c: ...this
6650 * commands/search.c: ...and this.
6651 * commands/search_file.c: New file.
6652 * commands/search_label.c: New file.
6653 * commands/search_uuid.c: New file.
6654 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6655 Add commands/search_wrap.c, commands/search_file.c,
6656 commands/search_label.c and commands/search_uuid.c.
6657 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6658 (search_mod_SOURCES): Set to commands/search_wrap.c.
6659 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6660 search_label.mod.
6661 (search_fs_file_mod_SOURCES): New variable.
6662 (search_fs_file_mod_CFLAGS): Likewise.
6663 (search_fs_file_mod_LDFLAGS): Likewise.
6664 (search_label_mod_SOURCES): Likewise.
6665 (search_label_mod_CFLAGS): Likewise.
6666 (search_label_mod_LDFLAGS): Likewise.
6667 (search_fs_uuid_mod_SOURCES): New variable.
6668 (search_fs_uuid_mod_CFLAGS): Likewise.
6669 (search_fs_uuid_mod_LDFLAGS): Likewise.
6670 (fs_file_mod_SOURCES): Removed.
6671 (fs_file_mod_CFLAGS): Likewise.
6672 (fs_file_mod_LDFLAGS): Likewise.
6673 (fs_uuid_mod_SOURCES): Removed.
6674 (fs_uuid_mod_CFLAGS): Likewise.
6675 (fs_uuid_mod_LDFLAGS): Likewise.
6676 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6677 Set to util/grub-install.in.
6678 * disk/fs_file.c: Removed.
6679 * disk/fs_uuid.c: Likewise.
6680 * include/grub/search.h: New file.
6681 * util/grub-install.in: Handle sparc64.
6682 Create and use load.cfg.
6683 * util/sparc64/ieee1275/grub-install.in: Removed.
6684
db943399
VS
66852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6688 Ignore return status if CF is cleared.
6689 (grub_biosdisk_get_diskinfo_standard): Likewise.
6690
3fdae612
RM
66912009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6692
6693 * term/i386/pc/at_keyboard.c
6694 (keyboard_controller_wait_untill_ready): New function.
6695 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6696 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6697 for keyboard polling, rather than duplicate the same loop. This
6698 saves a few bytes in code size.
6699
7ebaa2b4
VS
67002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 Support for (pxe[:server[:gateway]]) syntax and
6703 use environment variable for PXE.
6704
6705 * commands/i386/pc/pxecmd.c (options): Removed.
6706 (print_ip): Removed.
6707 (grub_cmd_pxe): Removed
6708 (grub_cmd_pxe_unload): New function.
6709 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6710 (grub_pxe_your_ip): Made static.
6711 (grub_pxe_default_server_ip): Likewise.
6712 (grub_pxe_default_gateway_ip): Likewise.
6713 (grub_pxe_blksize): Likewise.
6714 (parse_ip): New function.
6715 (grub_pxe_open): Support server and gateway specification.
6716 (grub_pxe_close): Free disk->data.
6717 (grub_pxefs_open): Use disk->data.
6718 (grub_pxefs_read): Likewise.
6719 (grub_env_write_readonly): New function.
6720 (set_mac_env): Likewise.
6721 (set_env_limn_ro): Likewise.
6722 (parse_dhcp_vendor): Likewise.
6723 (grub_pxe_detect): Set the environment variables.
6724 (set_ip_env): New function.
6725 (write_ip_env): Likewise.
6726 (grub_env_write_pxe_default_server): Likewise.
6727 (grub_env_write_pxe_default_gateway): Likewise.
6728 (grub_env_write_pxe_blocksize): Likewise.
6729 (GRUB_MOD_INIT(pxe)): Set environment variables.
6730 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6731 (grub_pxe_mac_addr_t): ... this. All users updated.
6732 (grub_pxe_your_ip): Removed.
6733 (grub_pxe_server_ip): Likewise.
6734 (grub_pxe_gateway_ip): Likewise.
6735 (grub_pxe_blksize): Likewise.
6736
ec5f98ab 67372009-12-25 Carles Pina i Estany <carles@pina.cat>
6738
6739 * commands/help.c: Include `<grub/i18n.h>'.
6740 (grub_cmd_help): Gettextizze.
6741 (GRUB_MOD_INIT): Likewise.
6742 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6743 (GRUB_MOD_INIT): Gettextizze.
6744 * commands/search.c: Include `<grub/i18n.h>'.
6745 (options): Gettextizze.
6746 (GRUB_MOD_INIT): Gettextizze.
6747 * lib/arg.c: Include `<grub/i18n.h>'.
6748 (help_options): Gettextizze.
6749 (find_long): Likewise.
6750 (grub_arg_show_help): Likewise.
6751 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6752 (read_command_list): Gettextizze.
6753 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 6754 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 6755
22815526
RM
67562009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6757
6758 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6759 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6760 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6761 (led_status): New variable.
6762 (keyboard_controller_led): New function.
6763 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6764 update led status for caps lock, num lock and scroll lock.
6765
0ad46fd7
FZ
67662009-12-25 Felix Zielcke <fzielcke@z-51.de>
6767
6768 * util/hostdisk.c (open_device): Fix a comment.
6769
d0e158c2
RM
67702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6771
6772 * util/grub-install.in (host_os): New variable.
6773 * util/i386/efi/grub-install.in (host_os): Likewise.
6774
401c0ad6
RM
67752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6776
6777 * util/mkisofs/write.c (padblock_write): Abort when given an
6778 excedingly large embed image, instead of silently truncating it.
6779
d14d3370
RM
67802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6781
6782 * include/multiboot.h: Indentation fixes.
6783
eeed10b4
RM
67842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6785
6786 * include/multiboot.h (struct multiboot_aout_symbol_table)
6787 (struct multiboot_elf_section_header_table): New structure
6788 declarations (stolen from GRUB Legacy).
6789 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6790 table information.
6791
6792 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6793 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6794 type aliases.
6795
681c70ab
RM
67962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6797
6798 * include/multiboot.h: Make comments src2texi-friendly.
6799
e4d47d8d
RM
68002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6801
6802 For consistency with [multiboot]/docs/boot.S.
6803
6804 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6805 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6806 (MULTIBOOT_MAGIC2): Rename from this ...
6807 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6808
a0b70bda
RM
68092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6810
6811 * include/multiboot.h: Remove `<grub/types.h>'.
6812 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6813 types. Update all users.
6814
61ba42be 68152009-12-25 Carles Pina i Estany <carles@pina.cat>
6816
6817 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6818 `couldn't' and `can not' by `cannot'.
6819 * commands/i386/pc/drivemap.c: Likewise.
6820 * disk/ata.c: Likewise.
6821 * disk/ieee1275/nand.c: Likewise.
6822 * fs/affs.c: Likewise.
6823 * fs/fat.c: Likewise.
6824 * fs/hfs.c: Likewise.
6825 * fs/hfsplus.c: Likewise.
6826 * fs/iso9660.c: Likewise.
6827 * fs/jfs.c: Likewise.
6828 * fs/minix.c: Likewise.
6829 * fs/reiserfs.c: Likewise.
6830 * fs/sfs.c: Likewise.
6831 * fs/udf.c: Likewise.
6832 * fs/ufs.c: Likewise.
6833 * fs/xfs.c: Likewise.
6834 * loader/powerpc/ieee1275/linux.c: Likewise.
6835 * loader/sparc64/ieee1275/linux.c: Likewise.
6836 * util/grub-probe.c: Likewise.
6837 * util/misc.c: Likewise.
6838
7fd0baee 68392009-12-24 Carles Pina i Estany <carles@pina.cat>
6840
6841 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6842 grub_errno calls.
6843 * commands/acpi.c: Likewise.
6844 * commands/blocklist.c: Likewise.
6845 * commands/efi/loadbios.c: Likewise.
6846 * commands/i386/pc/drivemap.c: Likewise.
6847 * commands/loadenv.c: Likewise.
6848 * commands/memrw.c: Likewise.
6849 * commands/password.c: Likewise.
6850 * commands/videotest.c: Likewise.
6851 * disk/ata.c: Likewise.
6852 * disk/ata_pthru.c: Likewise.
6853 * disk/dmraid_nvidia.c: Likewise.
6854 * disk/ieee1275/nand.c: Likewise.
6855 * disk/ieee1275/ofdisk.c: Likewise.
6856 * disk/loopback.c: Likewise.
6857 * disk/lvm.c: Likewise.
6858 * disk/mdraid_linux.c: Likewise.
6859 * disk/raid.c: Likewise.
6860 * disk/raid6_recover.c: Likewise.
6861 * disk/scsi.c: Likewise.
6862 * efiemu/main.c: Likewise.
6863 * efiemu/mm.c: Likewise.
6864 * efiemu/pnvram.c: Likewise.
6865 * efiemu/symbols.c: Likewise.
6866 * font/font.c: Likewise.
6867 * fs/cpio.c: Likewise.
6868 * fs/hfsplus.c: Likewise.
6869 * fs/iso9660.c: Likewise.
6870 * fs/jfs.c: Likewise.
6871 * fs/minix.c: Likewise.
6872 * fs/ntfs.c: Likewise.
6873 * fs/ntfscomp.c: Likewise.
6874 * fs/reiserfs.c: Likewise.
6875 * fs/ufs.c: Likewise.
6876 * fs/xfs.c: Likewise.
6877 * gettext/gettext.c: Likewise.
6878 * include/grub/auth.h: Likewise.
6879 * kern/elf.c: Likewise.
6880 * kern/file.c: Likewise.
6881 * kern/ieee1275/init.c: Likewise.
6882 * kern/ieee1275/mmap.c: Likewise.
6883 * kern/ieee1275/openfw.c: Likewise.
6884 * kern/powerpc/dl.c: Likewise.
6885 * kern/sparc64/dl.c: Likewise.
6886 * lib/arg.c: Likewise.
6887 * loader/i386/bsd.c: Likewise.
6888 * loader/i386/bsdXX.c: Likewise.
6889 * loader/i386/efi/linux.c: Likewise.
6890 * loader/i386/efi/xnu.c: Likewise.
6891 * loader/i386/ieee1275/linux.c: Likewise.
6892 * loader/i386/linux.c: Likewise.
6893 * loader/i386/multiboot.c: Likewise.
6894 * loader/i386/pc/linux.c: Likewise.
6895 * loader/i386/pc/multiboot2.c: Likewise.
6896 * loader/i386/xnu.c: Likewise.
6897 * loader/ieee1275/multiboot2.c: Likewise.
6898 * loader/macho.c: Likewise.
6899 * loader/machoXX.c: Likewise.
6900 * loader/multiboot2.c: Likewise.
6901 * loader/multiboot_loader.c: Likewise.
6902 * loader/powerpc/ieee1275/linux.c: Likewise.
6903 * loader/sparc64/ieee1275/linux.c: Likewise.
6904 * loader/xnu.c: Likewise.
6905 * loader/xnu_resume.c: Likewise.
6906 * mmap/i386/pc/mmap.c: Likewise.
6907 * normal/menu_viewer.c: Likewise.
6908 * partmap/acorn.c: Likewise.
6909 * partmap/amiga.c: Likewise.
6910 * partmap/apple.c: Likewise.
6911 * script/lexer.c: Likewise.
6912 * term/gfxterm.c: Likewise.
6913 * term/i386/pc/serial.c: Likewise.
6914 * term/i386/pc/vga.c: Likewise.
6915 * term/ieee1275/ofconsole.c: Likewise.
6916 * term/terminfo.c: Likewise.
6917 * video/bitmap.c: Likewise.
6918 * video/efi_gop.c: Likewise.
6919 * video/efi_uga.c: Likewise.
6920 * video/fb/video_fb.c: Likewise.
6921 * video/i386/pc/vbe.c: Likewise.
6922 * video/readers/tga.c: Likewise.
6923 * video/video.c: Likewise.
6924
0ad46fd7 69252009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
6926
6927 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6928 * commands/lspci.c: Likewise.
6929 * commands/probe.c: Likewise.
6930 * commands/xnu_uuid.c: Likewise.
6931 * conf/i386-coreboot.rmk: Likewise.
6932 * conf/i386-efi.rmk: Likewise.
6933 * conf/i386-ieee1275.rmk: Likewise.
6934 * conf/i386-pc.rmk: Likewise.
6935 * conf/powerpc-ieee1275.rmk: Likewise.
6936 * conf/sparc64-ieee1275.rmk: Likewise.
6937 * conf/x86_64-efi.rmk: Likewise.
6938 * fs/i386/pc/pxe.c: Likewise.
6939 * gettext/gettext.c: Likewise.
6940 * include/grub/efi/graphics_output.h: Likewise.
6941 * include/grub/i386/pc/memory.h: Likewise.
6942 * kern/env.c: Likewise.
6943 * kern/i386/qemu/startup.S: Likewise.
6944 * lib/i386/pc/biosnum.c: Likewise.
6945 * lib/i386/relocator.c: Likewise.
6946 * lib/i386/relocator_asm.S: Likewise.
6947 * lib/relocator.c: Likewise.
6948 * loader/i386/bsd.c: Likewise.
6949 * loader/i386/multiboot.c: Likewise.
6950 * loader/i386/pc/chainloader.c: Likewise.
6951 * loader/i386/xnu.c: Likewise.
6952 * loader/xnu.c: Likewise.
6953 * normal/main.c: Likewise.
6954 * normal/menu_text.c: Likewise.
6955 * util/getroot.c: Likewise.
6956 * util/grub-mkconfig_lib.in: Likewise.
6957 * util/grub.d/00_header.in: Likewise.
6958 * util/i386/pc/grub-mkimage.c: Likewise.
6959 * util/mkisofs/eltorito.c: Likewise.
6960 * util/mkisofs/exclude.h: Likewise.
6961 * util/mkisofs/hash.c: Likewise.
6962 * util/mkisofs/iso9660.h: Likewise.
6963 * util/mkisofs/joliet.c: Likewise.
6964 * util/mkisofs/mkisofs.c: Likewise.
6965 * util/mkisofs/mkisofs.h: Likewise.
6966 * util/mkisofs/multi.c: Likewise.
6967 * util/mkisofs/name.c: Likewise.
6968 * util/mkisofs/rock.c: Likewise.
6969 * util/mkisofs/tree.c: Likewise.
6970 * util/mkisofs/write.c: Likewise.
6971 * video/efi_gop.c: Likewise.
6972
009ec743
VS
69732009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6976 size counting.
6977
0ad46fd7 69782009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
6979
6980 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6981 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6982
d3d30ea0
VS
69832009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6986 (GRUB_MOD_INIT(memrw)): Update help line.
6987
a34f5c70
VS
69882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6991 Use grub_extcmd_t. All users updated.
6992 (options): New variable.
6993 (grub_cmd_read): Restructure for readability. Support "-v" option.
6994 (grub_cmd_write): Restructure for readability.
6995
0ad46fd7 69962009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
6997
6998 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6999
0ad46fd7 70002009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
7001
7002 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7003 with the actual contents of the correspondending make variable.
7004 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7005 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7006 specifying `*.lst' and `efiemu??.o'
7007
0ad46fd7 70082009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
7009
7010 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7011 after function name.
7012 Noticed by Rene Engelhard <rene@debian.org>.
7013
dc77a799
VS
70142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7017 (options): New variable.
7018 (iospace): Likewise.
7019 (grub_lspci_iter): List IO spaces if "-i" was given.
7020 (grub_cmd_lspci): Parse options.
7021 (GRUB_MOD_INIT(lspci)): Use extcmd.
7022 (GRUB_MOD_FINI(lspci)): Likewise.
7023
0ad46fd7 70242009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
7025
7026 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7027 `function' keyword.
7028 Patch by Tony Mancill <tmancill@debian.org>.
7029
b5d5993b
VS
70302009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7033 (grub_uhci_portstatus): Likewise.
7034 (grub_uhci_portstatus): Add necessary delay.
11d18281 7035 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 7036
941903f2 70372009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 7038
941903f2 7039 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7040 (GRUB_MOD_INIT): Likewise.
7041 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 7042 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7043 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 7044 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7045 (enable_rom_area): Likewise.
7046 (GRUB_MOD_INIT): Likewise.
7047 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7048 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7049 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7050 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7051 * commands/hexdump.c (options): Likewise.
7052 * commands/i386/cpuid.c (options): Likewise.
7053 (GRUB_MOD_INIT): Likewise.
7054 * commands/i386/pc/drivemap.c (options): Likewise.
7055 (GRUB_MOD_INIT): Likewise.
7056 * commands/i386/pc/halt (options): Likewise.
7057 (GRUB_MOD_INIT): Likewise.
7058 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7059 * commands/i386/pc/pxecmd.c (options): Likewise.
7060 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7061 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7062 * commands/keystatus.c (options): Likewise.
7063 (GRUB_MOD_INIT): Likewise.
7064 * commands/loadenv.c (options): Likewise.
7065 * commands/ls.c (options): Likewise.
7066 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7067 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7068 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7069 * commands/parttool.c (helpmsg): Likewise.
7070 * commands/probe.c (options): Likewise.
7071 * commands/read.c (GRUB_MOD_INIT): Likewise.
7072 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7073 * commands/search.c (options): Likewise.
7074 * commands/sleep.c (options): Likewise.
7075 * commands/test.c (GRUB_MOD_INIT): Likewise.
7076 * commands/true.c (GRUB_MOD_INIT): Likewise.
7077 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7078 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7079 * lib/arg.c (help_options): Likewise.
e9bbb4e7 7080 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7081 `$(XGETTEXT)'.
98a50553 7082 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 7083
0ad46fd7 70842009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 7085
ef3c2c3a 7086 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
7087 instead of specifying them explicit.
7088
7922f68b
RM
70892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7090
7091 * NEWS: Add grub-probe support for GNU/Hurd.
7092
537ce47f
RM
70932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7094
7095 * NEWS: gettext was added after 1.97.
7096
9b214e3a
RM
70972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7098
7099 * util/mkisofs/msdos_partition.h: New file (based on
7100 include/grub/msdos_partition.h).
7101 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7102 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7103 (ld_options, main): Recognize --protective-msdos-label.
7104 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7105 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7106 (padblock_write): If `use_protective_msdos_label' is set, patch a
7107 protective DOS-style label in the output image.
7108
7109 * util/grub-mkrescue.in: Use --protective-msdos-label.
7110
e9309813
RM
71112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7112
7113 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7114 boot.
7115
0ae56929
RM
71162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7117
7118 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7119 variables.
7120 (ld_options, main): Recognize `--embedded-boot'.
7121 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7122 declarations.
7123 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7124 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7125 (padblock_write): Likewise. Rewrite to support embedded boot image.
7126
7127 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7128 for BIOS-based disk boot instead of only ElTorito.
7129
b15937b1
RM
71302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7131
7132 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7133 build (not needed for bootstrap).
7134
52cc3ce0
RM
71352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7136
7137 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7138 from i386-pc build (not needed for bootstrap).
7139 Rewrite a pair of strings.
7140
36f5ff04
RM
71412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7142
7143 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7144
973c6c85 71452009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
7146
7147 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7148
05d21547
AB
71492009-12-21 Andreas Born <futur.andy@googlemail.com>
7150
7151 * kern/env.c (grub_env_context_open): Mark exported variable for
7152 reexport.
7153
0175d51f
AB
71542009-12-21 Andreas Born <futur.andy@googlemail.com>
7155
7156 * kern/env.c (grub_env_export): Create nonexistent variables before
7157 exporting.
7158
7f39d92f 71592009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 7160
7f39d92f 7161 * include/grub/auth.h: Include `<grub/i18n.h>'.
7162 (GRUB_GET_PASSWORD): Gettextizze string.
7163 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7164 menu_text.c.
7165 (grub_utf8_to_ucs4_alloc): Fix indentation.
7166 (grub_print_ucs4): Likewise.
7167 (grub_getstringwidth): Likewise.
7168 (print_message_indented): New declaration.
7169 * normal/auth.c: Include `<grub/i18n.h>'.
7170 (grub_auth_check_authentication): Gettexttize string.
7171 * normal/cmdline.c: Include `<grub/i18n.h>'.
7172 (grub_cmdline_get): Gettextizze.
7173 * normal/color.c: Include `<grub/i18n.h>'.
7174 (grub_parse_color_name_pair): Gettexttize strings.
7175 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7176 string (use `print_message_indented').
7177 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7178 `include/grub/normal.h'.
7179 (print_message_indented): Renamed to ...
7180 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7181 used in normal/main.c).
7182 (print_message): Use `grub_print_message_indented' instead of
7183 `print_message_indented'.
7184 (print_timeout): Likewise.
7185 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7186 (grub_normal_print_device_info): Gettexttize strings.
7187 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7188
3041d898
VS
71892009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7192 of arguments. Return number of tokens and not arguments. All users
7193 updated.
7194
de15bf8e
VS
71952009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7198 non-MSDOS paritions.
7199
e0a6ca52
VS
72002009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * include/grub/types.h (UNUSED): Removed since it conflicts with
7203 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7204 Reported by Grégoire Sutre.
7205
b99518d1 72062009-12-19 Carles Pina i Estany <carles@pina.cat>
7207
7208 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7209 (grub_print_ucs4_alloc): Likewise.
7210 (grub_getstringwidth): Likewise.
7211 * normal/main.c (grub_normal_init_page): Gettextize version string.
7212 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7213 (getstringwidth): Renamed to ...
7214 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7215 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7216 (grub_print_ucs4): Remove `static' qualifer (now used in
7217 normal/main.c).
7218 * po/POTFILES: Add normal/main.c.
7219
bfd5e52b 72202009-12-19 Carles Pina i Estany <carles@pina.cat>
7221
7222 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7223 (print_message_indented): Add `margin_left' and `margin_right'
7224 parameters.
7225 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7226 strings.
7227 (print_timeout): Use `print_message_indented' to print the message.
7228 Deletes `second_stage' parameter.
7229 (run_menu): Update `print_timeout' calls.
7230
5a1ad2b9
VS
72312009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 Fix console palette on OpenFirmware.
7234
7235 * term/ieee1275/ofconsole.c (MAX): Removed.
7236 (colors): Redone based on VGA palette.
7237 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7238 colors are supported.
7239 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7240
b045f00a
VS
72412009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 Fix potential EfiEmu double prepare.
7244
7245 * efiemu/main.c (prepared): New variable
7246 (grub_efiemu_unload): Set prepare to '0'.
7247 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7248
7249 set_virtual_address_map support.
7250
7251 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7252 prototype.
7253 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7254 prototype.
7255 (grub_efiemu_crc32): Likewise.
7256 (grub_efiemu_crc64): Likewise.
7257 (grub_efiemu_set_virtual_address_map): Likewise.
7258 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7259 New definition.
7260 (grub_autoefi_set_virtual_address_map): Likewise.
7261 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7262 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7263 Restructure flow to accomodate it.
7264 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7265 (grub_efiemu_crc): Recompute CRC32.
7266 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7267 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7268 * efiemu/symbols.c (relocated_handle): New variable.
7269 (grub_efiemu_free_syms): Free relocated_handle.
7270 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7271 (grub_efiemu_write_sym_markers): New function.
7272 (grub_efiemu_set_virtual_address_map): Likewise.
7273
7274 Newer XNU parameters.
7275
7276 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7277 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7278 (grub_xnu_fill_devicetree): New prototype.
7279 (grub_xnu_heap_real_start): New variable.
7280 * loader/xnu.c (get_name_ptr): New function.
7281 (grub_xnu_load_driver): Fill namelen and name.
7282
7283 64-bit xnu support.
7284
7285 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7286 and 'loader/macho64.c'.
7287 * conf/i386-pc.rmk: Likewise.
7288 * conf/x86_64-efi.rmk: Likewise.
7289 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7290 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7291 * include/grub/macho.h (grub_macho_segment64): New structure.
7292 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7293 (grub_macho_size32): ... to this.
7294 (grub_macho32_get_entry_point): Renamed from ...
7295 (grub_macho_get_entry_point32): ... to this.
7296 (grub_macho_contains_macho64): New prototype.
7297 (grub_macho_size64): Likewise.
7298 (grub_macho_get_entry_point64): Likewise.
7299 (grub_macho32_load): Renamed from ...
7300 (grub_macho_load32): ... to this.
7301 (grub_macho32_filesize): Renamed from ...
7302 (grub_macho_filesize32): ... to this.
7303 (grub_macho32_readfile): Renamed from ...
7304 (grub_macho_readfile32): ... to this.
7305 (grub_macho_filesize64): New prototype.
7306 (grub_macho_readfile64): Likewise.
7307 (grub_macho_parse32): Likewise.
7308 (grub_macho_parse64): Likewise.
7309 * loader/macho.c: Split into ...
7310 * loader/machoXX.c: ... and this. Replace 32 with XX.
7311 * loader/macho32.c: New file.
7312 * loader/macho64.c: Likewise.
7313 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7314 (grub_cmd_xnu_kernel): Make 32-bit only.
7315 (grub_cmd_xnu_kernel64): New function.
7316 (grub_xnu_load_driver): Support Mach-O 64.
7317 (grub_cmd_xnu_mkext): Likewise.
7318 * util/grub.d/30_os-prober.in (osx_entry): New function.
7319 Generate entries for 64-bit boot too.
7320
7321 Eliminate ad-hoc tree format in XNU and EfiEmu.
7322
7323 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7324 * efiemu/pnvram.c: Rewritten to use environment variables.
7325 All users updated.
7326
7327 Inline utf16_to_utf8.
7328
7329 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7330 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7331 All users updated.
7332 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7333
7334 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7335 * commands/usbtest.c (grub_usb_get_string): ... move here.
7336 (usb_print_str): Fix error handling.
7337 * include/grub/usb.h (grub_usb_get_string): Remove.
7338
7339 UTF-8 to UTF-16 transformation.
7340
7341 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7342 (charset_mod_SOURCES): New variable.
7343 (charset_mod_CFLAGS): Likewise.
7344 (charset_mod_LDFLAGS): Likewise.
7345 * include/grub/utf.h: New file.
7346 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7347
7348 Support for device properties.
7349
7350 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7351 (grub_xnu_devprop_device_header): Likewise.
7352 (grub_xnu_devprop_device_descriptor): Likewise.
7353 (grub_xnu_devprop_add_device): New prototype.
7354 (grub_xnu_devprop_remove_device): Likewise.
7355 (grub_xnu_devprop_remove_property): Likewise.
7356 (grub_xnu_devprop_add_property_utf8): Likewise.
7357 (grub_xnu_devprop_add_property_utf16): Likewise.
7358 (grub_cpu_xnu_init): Likewise.
7359 (grub_cpu_xnu_fini): Likewise.
7360 (grub_cpu_xnu_unload): Likewise.
7361 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7362 (property_descriptor): Likewise.
7363 (devices): New variable.
7364 (grub_xnu_devprop_remove_property): New function.
7365 (grub_xnu_devprop_add_device): Likewise.
7366 (grub_xnu_devprop_remove_device): Likewise.
7367 (grub_xnu_devprop_add_property): Likewise.
7368 (grub_xnu_devprop_add_property_utf8): Likewise.
7369 (grub_xnu_devprop_add_property_utf16): Likewise.
7370 (hextoval): Likewise.
7371 (grub_cpu_xnu_fill_devprop): Likewise.
7372 (grub_cmd_devprop_load): Likewise.
7373 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7374 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7375 (cmd_devprop_load): New variable.
7376 (grub_cpu_xnu_init): New function.
7377 (grub_cpu_xnu_fini): Likewise.
7378 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7379 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7380 (grub_cmd_xnu_devtree): Likewise.
7381 (hextoval): New function.
7382 (unescape): Likewise.
7383 (grub_xnu_fill_devicetree): Likewise.
7384
7385 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7386 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7387
0945f181
VS
73882009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Workaround for broken ATI VBE.
7391
7392 * video/i386/pc/vbe.c (last_set_mode): New variable.
7393 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7394 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7395 (grub_video_vbe_setup): Don't check for reserved flag.
7396
0ad46fd7 73972009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
7398
7399 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7400 the `find' command.
7401
c179ebe4
VS
74022009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 UUID support for HFS.
7405
7406 * fs/hfs.c (grub_hfs_uuid): New function.
7407 (grub_hfs_fs): New value .uuid.
7408 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7409
0ad46fd7 74102009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
7411
7412 Fix a segfault with parsing unknown long options.
7413
7414 * util/grub-mkrelpath.c (options): Zero terminate it.
7415
c4a3e41a
CPE
74162009-12-13 Carles Pina i Estany <carles@pina.cat>
7417
7418 * include/grub/misc.h (grub_puts): New declaration.
7419 (grub_puts_): Likewise.
a22008a6 7420 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
7421 (grub_puts_): Likewise.
7422
2e8a7602
RM
74232009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7424
7425 * util/grub-probe.c (probe): Improve error message.
7426
b50b77b9
RM
74272009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7428
7429 * loader/i386/multiboot_elfxx.c
7430 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7431 initialization.
7432
74332009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Relocator framework
7436
7437 * loader/i386/xnu_helper.S: Removed. All users updated.
7438 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7439 (relocator_mod_SOURCES): New variable.
7440 (relocator_mod_CFLAGS): Likewise.
7441 (relocator_mod_LDFLAGS): Likewise.
7442 (relocator_mod_ASFLAGS): Likewise.
7443 * conf/x86_64.rmk: Likewise.
7444 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7445 (grub_multiboot_payload_entry_offset): Likewise.
7446 (grub_multiboot_forward_relocator): Likewise.
7447 (grub_multiboot_forward_relocator_end): Likewise.
7448 (grub_multiboot_backward_relocator): Likewise.
7449 (grub_multiboot_backward_relocator_end): Likewise.
7450 (grub_multiboot_payload_eip): New variable.
7451 (grub_multiboot_payload_orig): Likewise.
7452 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7453 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7454 * include/grub/i386/memory.h
7455 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7456 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7457 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7458 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7459 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7460 * include/grub/i386/relocator.h: New file.
7461 * include/grub/x86_64/relocator.h: Likewise.
7462 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7463 (XNU_RELOCATOR): New macro.
7464 (grub_xnu_launcher_start): Remove.
7465 (grub_xnu_launcher_end): Likewise.
7466 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7467 (grub_xnu_heap_real_start): Remove.
7468 (grub_xnu_heap_start): Change to void *. All users updated.
7469 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7470 * lib/i386/relocator.c: New file.
7471 * lib/i386/relocator_asm.S: Likewise.
7472 * lib/i386/relocator_backward.S: Likewise.
7473 * lib/mips/relocator.c: Likewise.
7474 * lib/mips/relocator_asm.S: Likewise.
7475 * lib/relocator.c: Likewise.
7476 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7477 (entry): Removed.
7478 (playground): Likewise.
7479 (grub_multiboot_payload_orig): New variable.
7480 (grub_multiboot_payload_dest): Likewise.
7481 (grub_multiboot_payload_size): Likewise.
7482 (grub_multiboot_payload_eip): Likewise.
7483 (grub_multiboot_payload_esp): Likewise.
7484 (grub_multiboot_boot): Use grub_relocator32_boot.
7485 (grub_multiboot_unload): Free relocators.
7486 (grub_multiboot): Setup stack. Use relocators.
7487 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7488 (grub_multiboot_load_elfXX): Use relocators.
7489 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7490 (grub_multiboot_payload_size): Likewise.
7491 (grub_multiboot_payload_dest): Likewise.
7492 (grub_multiboot_payload_entry_offset): Likewise.
7493 (grub_multiboot_forward_relocator): Likewise.
7494 (grub_multiboot_backward_relocator): Likewise.
7495 (grub_multiboot_real_boot): Likewise.
7496 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7497 (grub_xnu_entry_point): Likewise.
7498 (grub_xnu_arg1): Likewise.
7499 (grub_xnu_stack): Likewise.
7500 (grub_xnu_launch): Removed.
7501 (grub_xnu_boot_resume): New function.
7502 (grub_xnu_boot): Use relocators.
7503 * loader/i386/xnu_helper.S: Removed.
7504 * loader/xnu.c (grub_xnu_heap_start): New variable.
7505 (grub_xnu_heap_size): Likewise.
7506 (grub_xnu_heap_malloc): Use relocators.
7507 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7508
29eb90c6
VS
75092009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7512 anything.
7513
31027430
CPE
75142009-12-13 Carles Pina i Estany <carles@pina.cat>
7515
7516 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7517 GRUB_ERR_NONE before calling grub_env_set.
7518
dc0c71d9
RM
75192009-12-12 Robert Millan <rmh@aybabtu.com>
7520
7521 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7522 * genmk.rb (video): New variable.
7523 (CLEANFILES, VIDEOFILES): Add #{video}.
7524 (#{video}): New target rule.
7525 * genvideolist.sh: New file.
7526 * Makefile.in (pkglib_DATA): Add video.lst.
7527 (video.lst): New target rule.
7528 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7529 `video.lst'.
7530 * util/grub.d/30_os-prober.in: Replace `vbe' with
7531 ${GRUB_VIDEO_BACKEND}.
7532
2a4bfcf0
RM
75332009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7534
7535 * THANKS: Add David Miller.
7536
2a3aa4d5
RM
75372009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 libpciaccess support.
7540
7541 * Makefile.in (LIBPCIACCESS): New variable.
7542 (enable_grub_emu_pci): Likewise.
7543 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7544 util/pci.c and commands/lspci.c.
7545 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7546 * configure.ac (grub-emu-pci): New option.
7547 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7548 (grub_pci_device_unmap_range): Likewise.
7549 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7550 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7551 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7552 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7553 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7554 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7555 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7556 * include/grub/pciutils.h: New file.
7557 * util/pci.c: Likewise.
7558
0ad46fd7 75592009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
7560
7561 * util/misc.c: Don't include <errno.h> twice.
7562
0ad46fd7 75632009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
7564
7565 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7566 name in an error message.
7567 (grub_biosdisk_rw): Likewise.
7568
2e59983c
VS
75692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 Eliminate NTFS 4Gib barrier.
7572
7573 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7574 (read_run_data): Likewise.
7575 (grub_ntfs_read_run_list): Likewise.
7576 (grub_ntfs_read_block): Likewise.
7577 (grub_ntfs_iterate_dir): Likewise.
7578 (read_mft): Likewise.
7579 (read_data): Likewise.
7580 Use COM_LOG_LEN.
7581 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7582 to avoid 64-bit division
7583 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7584 (grub_ntfs_rlst): Use grub_disk_addr_t.
7585
71ee178a
VS
75862009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 Eliminate grub-fstest 4Gib barrier.
7589
7590 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7591 (read_file): Fix error reporting.
7592
2520d4b8
VS
75932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 Eliminate hexdump 4Gib barrier.
7596
7597 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7598 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7599
e1f27065
VS
76002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7603 Fixes amarsh bug.
7604
1a0f7f45
RM
76052009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7606
7607 Remove miscellaneous files in distclean target.
7608
7609 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7610
c631d9fb
CW
76112009-12-09 Colin Watson <cjwatson@ubuntu.com>
7612
7613 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7614 if they're already set. This resolves the conflict between my
7615 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7616 fixing the --grub-probe option again.
7617 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7618 change on 2009-10-06, so that we now once again source
7619 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7620
7c7b6106
RM
76212009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7622
7623 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7624 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7625 `util/devicemap.c'.
7626
e3069ec1
CPE
76272009-12-08 Carles Pina i Estany <carles@pina.cat>
7628
7629 * include/grub/misc.h (grub_printf_): New declaration.
7630 * kern/misc.c (grub_printf_): New definition.
7631 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7632 instead of `grub_printf' and `_'.
7633 * normal/menu_entry.c (store_completion): Likewise.
7634 (run): Likewise.
7635 (grub_menu_entry_run): Likewise.
7636 * normal/menu_text.c (grub_wait_after_message): Likewise.
7637 (notify_booting): Likewise.
7638 (notify_fallback): Likewise.
7639 (notify_execution_failure): Likewise.
7640
d6ceebf1
CW
76412009-12-07 Colin Watson <cjwatson@ubuntu.com>
7642
7643 * configure.ac: Check for vasprintf.
7644 * util/misc.c (asprintf): Move allocation from here ...
7645 (vasprintf): ... to here. New function.
7646 (xasprintf): New function.
7647 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7648 prototypes.
7649 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7650 * util/grub-mkfont.c (write_font): Likewise.
7651 * util/grub-probe.c (probe): Likewise.
7652 * util/hostdisk.c (make_device_name): Likewise.
7653
de6daa8b
DM
76542009-12-06 David S. Miller <davem@sunset.davemloft.net>
7655
7656 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7657 anything even prefixed with 'cdrom' as a cdrom.
7658
0ad46fd7 76592009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
7660
7661 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7662 mount points.
7663
98d3dc02
CPE
76642009-12-05 Carles Pina i Estany <carles@pina.cat>
7665
7666 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7667 grub_gettext_msg_list.
7668 (grub_gettext_gettranslation_from_position): Return const char *
7669 and not char *.
a2c1332b 7670 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
7671 returns from the list if existing there.
7672 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7673 (grub_gettext_delete_list): Delete the list.
7674 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7675 lang environment variable is changed.
7676 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7677
b283f108
VS
76782009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Rename kernel.mod to kernel.img.
7681
7682 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7683 (kernel_mod_EXPORTS): Rename to ...
7684 (kernel_img_EXPORTS): ... this.
7685 (kernel_mod_SOURCES): Rename to ...
7686 (kernel_img_SOURCES): ... this.
7687 (kernel_mod_HEADERS): Rename to ...
7688 (kernel_img_HEADERS): ... this. All users updated.
7689 (kernel_mod_CFLAGS): Rename to ...
7690 (kernel_img_CFLAGS): ... this.
7691 (kernel_mod_ASFLAGS): Rename to ...
7692 (kernel_img_ASFLAGS): ... this.
7693 (kernel_mod_LDFLAGS): Rename to ...
7694 (kernel_img_LDFLAGS): ... this.
7695 * conf/x86_64-efi.rmk: Likewise.
7696 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7697 (read_kernel_image): ... this. All users updated.
7698 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7699
69055f8a
CPE
77002009-12-05 Carles Pina i Estany <carles@pina.cat>
7701
7702 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7703 (print_spaces): New function.
7704 (grub_print_ucs4): New function.
7705 (getstringwidth): New function.
7706 (print_message_indented): New function.
7707 (print_message): Gettexttize strings using print_message_indented.
7708 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7709 width.
7710 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 7711 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
7712 Gettextize.
7713 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7714 string.
7715 (run): Likewise.
7716 (grub_menu_entry_run): Likewise.
7717 * PO/POTFILES: Add normal/menu_entry.c.
7718
f616f51c
VS
77192009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7722
57bbe3be
CPE
77232009-12-05 Carles Pina i Estany <carles@pina.cat>
7724
7725 * util/grub-install.in: Install gettext .mo files.
7726 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7727
013d67a1
CPE
77282009-12-05 Carles Pina i Estany <carles@pina.cat>
7729
7730 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7731 grub_dprintf.
7732
fb954db0
RM
77332009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7734
7735 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7736 non-firmware-dependant one in realmode.S takes precedence.
7737
6b8474f8
RM
77382009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7739
7740 * commands/halt.c: Replace misc arch-specific headers with
7741 `<grub/misc.h>'.
7742 * commands/reboot.c: Likewise.
7743 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7744 `<grub/misc.h>'.
7745 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7746 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7747 (kernel_img_SOURCES): ... to here.
7748
7749 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7750 * include/grub/i386/pc/init.h: Likewise.
7751 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7752 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7753
7754 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7755
7756 * include/grub/i386/halt.h: Remove.
7757 * include/grub/i386/reboot.h: Likewise.
7758
7759 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7760
4b2e6ca2
DM
77612009-12-03 David S. Miller <davem@sunset.davemloft.net>
7762
7763 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7764 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7765 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7766 "progname.h"
7767 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7769 (usage): Add missing comma in printf.
7770
5239348f
RM
77712009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7772
7773 Use the same reboot approach on i386 coreboot and qemu as we do on
7774 BIOS.
7775
7776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7777 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7778 * kern/i386/reboot.c: Remove.
7779 * include/grub/i386/reboot.h (grub_reboot): Export function.
7780 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7781 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7782 0xf000:0xfff0 instead of 0xffff:0x0000.
7783 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7784 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7785
ef34cbd4
RM
77862009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7787
7788 Fix $srcdir != $objdir build.
7789
7790 * Makefile.in (po/%.po): Rewrite as ...
7791 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7792
dc9837ea
ST
77932009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7794
7795 Fix GNU/Hurd grub-install crash.
7796 * util/grub-probe.c (probe): Try to access `path' only when it is not
7797 NULL.
7798
2f857f98
VS
77992009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 Correct module naming.
7802
7803 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7804 (GRUB_MOD_INIT(efi_uga)): ... to this
7805 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7806 (GRUB_MOD_FINI(efi_uga)): ... to this
7807 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7808 (GRUB_MOD_INIT(efi_gop)): ... to this
7809 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7810 (GRUB_MOD_FINI(efi_gop)): ... to this
7811
c5448046
RM
78122009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7813
7814 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7815 translatable.
7816 (usage): Translate `arg' strings using gettext().
7817 Thanks to Jordi Mallach for the suggestion.
7818
c85184ad
VS
78192009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 GOP support. Based on patch from Bean
7822 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7823
7824 * video/efi_gop.c: New file.
7825 * include/grub/efi/graphics_output.h: Likewise.
7826 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7827 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7828 variables.
7829 * conf/x86_64-efi.rmk: Likewise.
7830
8a4c48d8
VS
78312009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 Rename efi_fb to efi_uga.
7834
7835 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7836 'efi_uga.mod'.
7837 (efi_fb_mod_SOURCES): Rename this ...
7838 (efi_uga_mod_SOURCES): ... to this.
7839 (efi_fb_mod_CFLAGS): Rename this ...
7840 (efi_uga_mod_CFLAGS): ... to this.
7841 (efi_fb_mod_LDFLAGS): Rename this ...
7842 (efi_uga_mod_LDFLAGS): ... to this.
7843 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7844 'efi_uga.mod'.
7845 (efi_fb_mod_SOURCES): Rename this ...
7846 (efi_uga_mod_SOURCES): ... to this.
7847 (efi_fb_mod_CFLAGS): Rename this ...
7848 (efi_uga_mod_CFLAGS): ... to this.
7849 (efi_fb_mod_LDFLAGS): Rename this ...
7850 (efi_uga_mod_LDFLAGS): ... to this.
7851 * video/efi_fb.c: Move this ...
7852 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7853
fb6c1a7b
RM
78542009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7855
7856 * po/README: New file. Explain our PO file workflow.
7857
3bc7896c
RM
78582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7859
7860 * po/ChangeLog: Remove. Move relevant entries back to ...
7861 * ChangeLog: ... here.
7862 * po/ca.po: Remove (now handled by TLP).
7863 * po/id.po: Likewise.
7864 * po/zh_CN.po: Likewise.
7865 * Makefile.in (LINGUAS): Initialize in a way that supports
7866 empty set.
7867
9ed4841d
RM
78682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7869
7870 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7871 reliing on po/LINGUAS.
7872 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7873 (po/%.po): ... this.
7874
0ad46fd7 78752009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
7876
7877 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7878 (main): Use `program_name' instead of nonexistent `progname'.
7879
e30dd392
FZ
78802009-11-26 Felix Zielcke <fzielcke@z-51.de>
7881
7882 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7883 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7884
7656de4f
RM
78852009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7886
7887 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7888 commit.
7889 * conf/i386-efi.rmk: Likewise.
7890 * conf/i386-ieee1275.rmk: Likewise.
7891 * conf/powerpc-ieee1275.rmk: Likewise.
7892 * conf/sparc64-ieee1275.rmk: Likewise.
7893 * conf/x86_64-efi.rmk: Likewise.
7894
db77c4d4
FZ
78952009-11-26 Felix Zielcke <fzielcke@z-51.de>
7896
7897 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7898
a755bb04
FZ
78992009-11-26 Felix Zielcke <fzielcke@z-51.de>
7900
7901 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7902
8a4c07fd
RM
79032009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7904
7905 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7906 (grub_mkdevicemap_SOURCES): New variable.
7907 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7908 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7909 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7910 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7911 (grub_mkdevicemap_SOURCES): Remove.
7912 * conf/i386-efi.rmk: Likewise.
7913 * conf/i386-ieee1275.rmk: Likewise.
7914 * conf/i386-pc.rmk: Likewise.
7915 * conf/powerpc-ieee1275.rmk: Likewise.
7916 * conf/sparc64-ieee1275.rmk: Likewise.
7917 * conf/x86_64-efi.rmk: Likewise.
7918 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7919 (usage): Fix strings to use `program_name'.
7920 (main): Initialize gettext.
7921 * util/grub-editenv.c: Likewise.
7922 * util/grub-emu.c: Likewise.
7923 * util/grub-fstest.c: Likewise.
7924 * util/grub-mkdevicemap.c: Likewise.
7925 * util/grub-mkfont.c: Likewise.
7926 * util/grub-mkrelpath.c: Likewise.
7927 * util/grub-pe2elf.c: Likewise.
7928 * util/grub-probe.c: Likewise.
7929 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7930 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7931 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7932
7933 * util/misc.c: Include `"progname.h"'.
7934 (progname): Remove variable.
7935 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7936
6f61ed55
FZ
79372009-11-25 Felix Zielcke <fzielcke@z-51.de>
7938
7939 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7940 printf and print a newline after the menuentry header line.
7941 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7942
f022876b
FZ
79432009-11-25 Felix Zielcke <fzielcke@z-51.de>
7944
7945 autoconf >= 2.60 support $(localedir).
7946
7947 * INSTALL: Note that autoconf 2.60 is required.
7948 * configure.ac (AC_PREREQ): Bump to 2.60.
7949 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7950 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7951
6717926e
YB
79522009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7953
7954 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7955 aclocal is run.
7956
08806a54
RM
79572009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7958
7959 * normal/main.c (grub_normal_read_line): Fix off-by-one
7960 buffer overflow.
7961
13b33fba
RM
79622009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7963
7964 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7965 "parser.grub" in grub_command_execute() call.
7966
4a8572e9
CPE
79672009-11-24 Carles Pina i Estany <carles@pina.cat>
7968
7969 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7970 * conf/i386-efi.rmk: Likewise.
7971 * conf/i386-ieee1275.rmk: Likewise.
7972 * conf/i386-pc.rmk: Likewise.
7973 * conf/powerpc-ieee1275.rmk: Likewise.
7974 * conf/sparc64-ieee1275.rmk: Likewise.
7975 * conf/x86_64-efi.rmk: Likewise.
7976 * gettext/gettex.c: Include <grub/i18n.h>.
7977 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7978 here ...
7979 * include/grub/i18n.h: ... to here
7980 * include/grub/i18n.h: ... to here.
7981 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 7982 (grub_gettext_dummy): Move above user.
4a8572e9 7983
bee48093
FZ
79842009-11-24 Felix Zielcke <fzielcke@z-51.de>
7985
7986 * util/Makefile.in (install-local): Convert a `for' into a normal
7987 shell expansion.
7988
a031e91c
RM
79892009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7990
7991 * autogen.sh: Add automake call.
7992 * config.guess: Remove.
7993 * config.sub: Likewise.
7994 * install-sh: Likewise.
7995
26bec39d
FZ
79962009-11-24 Felix Zielcke <fzielcke@z-51.de>
7997
7998 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7999
8e2532fd
FZ
80002009-11-24 Felix Zielcke <fzielcke@z-51.de>
8001
8002 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8003 function to a normal shell `for'.
8004
fefa1b7d
FZ
80052009-11-24 Felix Zielcke <fzielcke@z-51.de>
8006
8007 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8008
4501250b
FZ
80092009-11-24 Felix Zielcke <fzielcke@z-51.de>
8010
8011 * util/grub-mkrelpath.c: New file.
8012 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8013 (grub_mkrelpath_SOURCES): New variable.
8014 * include/grub/util/misc.h: New function prototype.
8015 * util/misc.c (make_system_path_relative_to_its_root): New function.
8016
8017 * util/grub-mkconfig_lib.in (bindir): New variable.
8018 (grub_mkrelpath): Likewise.
8019 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8020
8021 * util/probe.c (probe): Make the file path relative to its root.
8022 Change a info message to use the GRUB path. Enable again the
8023 check if we can read the file with GRUB facilities.
8024
8025 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8026 to its root.
8027
11d9778b
FZ
80282009-11-24 Felix Zielcke <fzielcke@z-51.de>
8029
8030 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8031 platform.
8032
4465287d
FZ
80332009-11-24 Felix Zielcke <fzielcke@z-51.de>
8034
8035 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8036 strncmp().
8037
62b47f22
FZ
80382009-11-24 Felix Zielcke <fzielcke@z-51.de>
8039
8040 * util/getroot.c (grub_util_is_dmraid): New function.
8041 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8042 devices as normal ones, not as LVM.
8043
1eafb9b9 80442009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
8045
8046 * conf/common.rmk: Add grub-gettext_lib target and updates
8047 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8048 LDFLAGS.
8049 * gettext/gettext.c: New file. (Reads mo files).
8050 * include/grub/file.h (grub_file_pread): New prototype.
8051 * include/grub/i18n.h (_): New prototype.
8052 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8053 prototypes.
8054 * kern/misc.c (grub_gettext_dummy): New function.
8055 * normal/menu_text.c: Include <grub/i18n.h>.
8056 * normal/menu_text.c (print_timeout): Gettexttize string.
8057 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
8058 * po/POTFILES: Add `normal/menu_text.c'.
8059 * po/ca.po: Add new translations.
c3ea6bd4
CPE
8060 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8061 gettext module and defines locale_dir and lang in grub.cfg.
8062 * NEWS: Add gettext support.
8063
0fdb2568
RM
80642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8065
8066 * util/hostdisk.c: Include `<grub/i18n.h>'.
8067 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8068 (make_device_name): Rewrite using asprintf.
8069 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8070 (find_system_device): If a device is not found, generate one just
8071 by reusing the OS path name.
8072 (read_device_map): Make it permissible for device.map not to exist.
8073
f515aa62
RM
80742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8075
8076 * script/sh/execute.c: Move from here ...
8077 * script/execute.c: ... to here. Update all users.
8078 * script/sh/function.c: Move from here ...
8079 * script/function.c: ... to here. Update all users.
8080 * script/sh/lexer.c: Move from here ...
8081 * script/lexer.c: ... to here. Update all users.
8082 * script/sh/main.c: Move from here ...
8083 * script/main.c: ... to here. Update all users.
8084 * script/sh/parser.y: Move from here ...
8085 * script/parser.y: ... to here. Update all users.
8086 * script/sh/script.c: Move from here ...
8087 * script/script.c: ... to here. Update all users.
8088
f84b481b
RM
80892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8090
8091 * configure.ac: Detect all `emu' platforms. Define
8092 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8093 --enable-grub-emu logic. Disable include/grub/machine
8094 symlink on `emu' platforms.
8095
8096 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8097 * gensymlist.sh.in: Likewise.
8098
8099 * include/grub/i386/coreboot/machine.h: Remove file.
8100 * include/grub/i386/efi/machine.h: Likewise.
8101 * include/grub/i386/ieee1275/machine.h: Likewise.
8102 * include/grub/i386/pc/machine.h: Likewise.
8103 * include/grub/i386/qemu/machine.h: Likewise.
8104 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8105 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8106 * include/grub/x86_64/efi/machine.h: Likewise.
8107
8108 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8109 * commands/halt.c: Likewise.
8110 * commands/reboot.c: Likewise.
8111 * include/grub/autoefi.h: Likewise.
8112 * include/grub/i386/at_keyboard.h: Likewise.
8113 * include/grub/i386/kernel.h: Likewise.
8114 * include/grub/i386/loader.h: Likewise.
8115 * include/grub/i386/pc/memory.h: Likewise.
8116 * kern/dl.c: Likewise.
8117 * kern/i386/coreboot/init.c: Likewise.
8118 * loader/i386/bsd.c: Likewise.
8119 * loader/i386/linux.c: Likewise.
8120 * loader/multiboot_loader.c: Likewise.
8121 * term/i386/pc/serial.c: Likewise.
8122 * term/usb_keyboard.c: Likewise.
8123
8124 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8125 `<grub/machine/machine.h>'
8126 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8127 * util/misc.c: Remove `<grub/machine/machine.h>' and
8128 `<grub/machine/time.h>'.
8129
8130 * Makefile.in (enable_grub_emu): Remove variable.
8131 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8132
8133 * conf/any-emu.rmk: New file.
8134 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8135 (grub_emu_init.c): Move from here ...
8136 * conf/any-emu.rmk: ... to here.
8137
8138 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8139 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8140 * conf/any-emu.rmk: ... to here.
8141
4efeab03
RM
81422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8143
8144 * include/grub/parser.h (grub_parser_register): Document need
8145 of `name' parameter.
8146 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8147 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8148 "sh" to "grub".
8149
ea1dd8bf
RM
81502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8151
8152 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8153 `$(XGETTEXT)'.
8154 * include/grub/i18n.h (N_): New macro.
8155 * util/mkisofs/mkisofs.h: Likewise.
8156 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8157 around N_().
8158 (usage): Use gettext() to translate help strings when printing them.
8159
0c140626
RM
81602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8161
8162 Based on patch from Bean
8163 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8164
8165 * video/efi_fb.c: New file.
8166 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8167 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8168 variables.
8169 * conf/x86_64-efi.rmk: Likewise.
8170
87d58298
RM
81712009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8172
8173 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8174 * util/i386/pc/grub-setup.c: Likewise.
8175
994cc3a3
ST
81762009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8177
8178 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8179 <hurd/fs.h>
8180 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8181 file_get_storage_info to implement grub_guess_root_device.
8182
26a61d6a
FZ
81832009-11-21 Felix Zielcke <fzielcke@z-51.de>
8184
8185 * Makefile.in (target): Use make's builtin $(shell) function
8186 instead of calling directly $(SHELL) to create the locale directories,
8187 inside the $(foreach) function.
8188
74ff1dd5
FZ
81892009-11-21 Felix Zielcke <fzielcke@z-51.de>
8190
8191 * util/grub-mkrescue.in: Print an error and usage if output option
8192 has not been given.
8193
0b787d0e
FZ
81942009-11-21 Felix Zielcke <fzielcke@z-51.de>
8195
8196 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8197 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8198 root and /boot are on different devices.
8199
1164b270
RM
82002009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8201
8202 Fix build for srcdir != objdir.
8203
8204 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8205 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8206 $(srcdir).
8207 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8208 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8209 reference for input.
8210
13774a2f
RM
82112009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8212
8213 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8214 or hardlinking it). Remove -J option, Joliet is not compatible with
8215 multiple source directories.
8216
efda854e
RM
82172009-11-21 Carles Pina i Estany <carles@pina.cat>
82182009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8219
8220 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8221 (process_input_dir): New function. Process an arbitrary input
8222 directory.
8223 Misc adjustments to support both "override mode" and system-wide mode.
8224
6c09890c
FZ
82252009-11-20 Felix Zielcke <fzielcke@z-51.de>
8226
8227 * configure.ac (UNIFONT_BDF): Rename to ...
8228 (FONT_SOURCE): ... this. Update all users.
8229
a797824f
FZ
82302009-11-20 Felix Zielcke <fzielcke@z-51.de>
8231
8232 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8233 to the list of unifont files to look for.
8234
cd4f42b0
RM
82352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8236
8237 Patch from Joe Auricchio <jauricchio@gmail.com>
8238 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8239 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8240 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8241
393c783d
FZ
82422009-11-19 Felix Zielcke <fzielcke@z-51.de>
8243
8244 * Makefile.in (install-local): Add a missing backslash.
8245
b2f1e327
FZ
82462009-11-19 Felix Zielcke <fzielcke@z-51.de>
8247
8248 * include/grub/x86_64/io.h: New file.
8249
f577f7a0
RM
82502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8251
8252 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8253 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8254 Include `"progname.h"'.
8255 (main): Initialize gettext.
8256 * util/i386/pc/grub-setup.c: Gettexttize.
8257 * util/i386/pc/grub-mkimage.c: Likewise.
8258
8259 * Makefile.in (po/*.po): Redefine as ...
8260 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8261
3bc7896c
RM
8262 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8263
c37943b6
RM
82642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8265
8266 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8267 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8268 (program_name): Remove.
8269 (main): Initialize gettext support.
6323f705
RM
8270 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8271 Include `<libintl.h>'.
8272 (_): New macro.
c37943b6
RM
8273
8274 * util/mkisofs/eltorito.c: Gettexttize.
8275 * util/mkisofs/joliet.c: Likewise.
8276 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
8277 * util/mkisofs/multi.c: Likewise.
8278 * util/mkisofs/rock.c: Likewise.
8279 * util/mkisofs/tree.c: Likewise.
8280 * util/mkisofs/write.c: Likewise.
8281
3bc7896c
RM
8282 * po/POTFILES: Update with new files.
8283
5ce77c6e
RM
82842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8285
8286 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8287 * util/mkisofs/iso9660.h: Likewise.
8288 * util/mkisofs/joliet.c: Likewise.
8289 * util/mkisofs/mkisofs.c: Likewise.
8290 * util/mkisofs/mkisofs.h: Likewise.
8291 * util/mkisofs/rock.c: Likewise.
8292 * util/mkisofs/tree.c: Likewise.
8293 * util/mkisofs/write.c: Likewise.
8294
8295 * util/mkisofs/eltorito.c (rcsid): Remove.
8296 * util/mkisofs/hash.c: Likewise.
8297 * util/mkisofs/joliet.c: Likewise.
8298 * util/mkisofs/name.c: Likewise.
8299 * util/mkisofs/rock.c: Likewise.
8300 * util/mkisofs/tree.c: Likewise.
8301 * util/mkisofs/write.c: Likewise.
8302
1dabbc77
RM
83032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8304
8305 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8306 instead of static allocation.
8307 * util/mkisofs/match.h: Likewise.
8308
633877cb
RM
83092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8310
3bc7896c
RM
8311 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8312 and `util/grub.d/10_linux.in'.
633877cb
RM
8313 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8314 translatable Shell files.
8315
af1c0c85
RM
83162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8317
8318 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8319
769ae37b
RM
83202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8321
8322 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 8323 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
8324 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8325 Add gettext initialization.
8326 (kfreebsd_entry): Make menuentry output translatable.
8327
83282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8329
8330 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8331 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8332 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8333 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8334 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 8335 * po/LINGUAS: New file.
769ae37b
RM
8336
83372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8338
8339 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8340 other things).
8341 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8342 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8343 bindtextdomain() calls for gettext initialization.
8344
83452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8346
8347 * gnulib/progname.c: New file (imported from Gnulib).
8348 * gnulib/progname.h: Likewise.
8349 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8350 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8351 (usage): Replace `progname' with `program_name'.
8352 (main): Use set_program_name() for program name initialization.
8353
83542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8355
8356 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8357 from here ...
8358 * Makefile.in (CPPFLAGS): ... to here.
8359
83602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8361
8362 * aclocal.m4: Move from here ...
8363 * acinclude.m4: ... to here.
8364 * autogen.sh: Add call to `aclocal'.
8365 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8366
83672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8368
8369 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8370 (LINGUAS): New variable.
8371 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8372 (install-local): Install MO files.
8373 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8374 * include/grub/i18n.h: New file.
3bc7896c
RM
8375 * po/POTFILES: New file.
8376 * po/ca.po: New file.
769ae37b
RM
8377 * util/grub.d/10_linux.in (bindir): New variable.
8378 Add gettext initialization.
8379 (linux_entry): Make menuentry output translatable.
8380 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8381 (usage): Make --help output translatable.
8382 (main): Initialize gettext.
8383
02c0a6ad
RM
83842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8385
8386 * import_gcry.py: New file (written by Vladimir with minor
8387 adjustments).
8388 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8389 ciphers.
8390 * INSTALL: Document that Python is required for bootstrap.
8391
83922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8393
8394 Import ciphers from libgcrypt 1.4.4.
8395
8396 * lib/libgcrypt/cipher/ChangeLog
8397 * lib/libgcrypt/cipher/ac.c
8398 * lib/libgcrypt/cipher/arcfour.c
8399 * lib/libgcrypt/cipher/bithelp.h
8400 * lib/libgcrypt/cipher/blowfish.c
8401 * lib/libgcrypt/cipher/camellia-glue.c
8402 * lib/libgcrypt/cipher/camellia.c
8403 * lib/libgcrypt/cipher/camellia.h
8404 * lib/libgcrypt/cipher/cast5.c
8405 * lib/libgcrypt/cipher/cipher.c
8406 * lib/libgcrypt/cipher/crc.c
8407 * lib/libgcrypt/cipher/des.c
8408 * lib/libgcrypt/cipher/dsa.c
8409 * lib/libgcrypt/cipher/ecc.c
8410 * lib/libgcrypt/cipher/elgamal.c
8411 * lib/libgcrypt/cipher/hash-common.c
8412 * lib/libgcrypt/cipher/hash-common.h
8413 * lib/libgcrypt/cipher/hmac-tests.c
8414 * lib/libgcrypt/cipher/md.c
8415 * lib/libgcrypt/cipher/md4.c
8416 * lib/libgcrypt/cipher/md5.c
8417 * lib/libgcrypt/cipher/primegen.c
8418 * lib/libgcrypt/cipher/pubkey.c
8419 * lib/libgcrypt/cipher/rfc2268.c
8420 * lib/libgcrypt/cipher/rijndael-tables.h
8421 * lib/libgcrypt/cipher/rijndael.c
8422 * lib/libgcrypt/cipher/rmd.h
8423 * lib/libgcrypt/cipher/rmd160.c
8424 * lib/libgcrypt/cipher/rsa.c
8425 * lib/libgcrypt/cipher/seed.c
8426 * lib/libgcrypt/cipher/serpent.c
8427 * lib/libgcrypt/cipher/sha1.c
8428 * lib/libgcrypt/cipher/sha256.c
8429 * lib/libgcrypt/cipher/sha512.c
8430 * lib/libgcrypt/cipher/tiger.c
8431 * lib/libgcrypt/cipher/twofish.c
8432 * lib/libgcrypt/cipher/whirlpool.c
8433
af2f93ac
RM
84342009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8435
8436 Fix build for systems without error().
8437
8438 * gnulib/error.c: New file (imported from Gnulib).
8439 * gnulib/error.h: Likewise.
8440 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8441 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8442 (this variable is now used by error()).
8443
73fb3dd5
FZ
84442009-11-16 Felix Zielcke <fzielcke@z-51.de>
8445
814f5e96
FZ
8446 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8447 instead of relying that char is signed.
73fb3dd5 8448
a691ca33
VS
84492009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8452 blocksize different from specified.
8453 (grub_pxefs_read): Likewise.
8454
2af8f0f4
FZ
84552009-11-16 Felix Zielcke <fzielcke@z-51.de>
8456
8457 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8458
8459 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8460 (grub_ata_readwrite): Likewise. Update 2 format strings.
8461 (grub_atapi_read): Likewise.
8462
8463 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8464 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8465 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8466 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8467 (ata_mod_LDFLAGS): Move from here ...
8468 * conf/i386.rmk: ... to here ...
8469 * conf/x86_64-efi.rmk: ... and here.
8470 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8471 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8472
83bdecaf
RM
84732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8474
8475 Relicense multiboot.h, with RMS' blessing.
8476
8477 * include/multiboot.h: Change to X11 license.
8478
fd6fd3d7
RM
84792009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8480
8481 Support --version in grub-mkisofs.
8482
8483 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8484 (OPTION_VERSION): New macro.
8485 (ld_options): Recognize --version.
8486 (usage): Move `program_name' from here ...
8487 (program_name): ... to here. Add `static' qualifier.
8488 (main): Recognize `OPTION_VERSION'.
8489
16a88c49
FZ
84902009-11-15 Felix Zielcke <fzielcke@z-51.de>
8491
8492 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8493 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8494
a4158476
RM
84952009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8496
8497 Fix help2man generation for mkisofs.
8498
8499 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8500 (usage): Send output to stdout (rather than stderr).
8501
fc2208b0
RM
85022009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8503
8504 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8505 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8506 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8507 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8508 (bin_SCRIPTS): Add `grub-mkfloppy'.
8509 (grub_mkfloppy_SOURCES): New variable.
8510
8511 * util/grub-mkrescue.in: New file.
8512 * util/i386/pc/grub-mkfloppy.in: New file.
8513
8514 * util/i386/coreboot/grub-mkrescue.in: Remove.
8515 * util/i386/pc/grub-mkrescue.in: Remove.
8516
8d0edf4a
RM
85172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8518
8519 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8520 from here ...
8521 * include/multiboot.h (struct multiboot_header): ... to here. Update
8522 all users.
8523 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8524 from here ...
8525 * include/multiboot.h (struct multiboot_info): ... to here. Update
8526 all users.
8527 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8528 from here ...
8529 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8530 Update all users.
8531 * include/grub/multiboot.h (struct grub_mod_list): Move
8532 from here ...
8533 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8534 Update all users.
8535
a73f5969
RM
85362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8537
8538 * include/multiboot2.h (multiboot_word): Rename from this ...
8539 (multiboot2_word): ... to this. Update all users.
8540 (multiboot_header): Rename from this ...
8541 (multiboot2_header): ... to this. Update all users.
8542 (multiboot_tag_header): Rename from this ...
8543 (multiboot2_tag_header): ... to this. Update all users.
8544 (multiboot_tag_start): Rename from this ...
8545 (multiboot2_tag_start): ... to this. Update all users.
8546 (multiboot_tag_name): Rename from this ...
8547 (multiboot2_tag_name): ... to this. Update all users.
8548 (multiboot_tag_module): Rename from this ...
8549 (multiboot2_tag_module): ... to this. Update all users.
8550 (multiboot_tag_memory): Rename from this ...
8551 (multiboot2_tag_memory): ... to this. Update all users.
8552 (multiboot_tag_unused): Rename from this ...
8553 (multiboot2_tag_unused): ... to this. Update all users.
8554 (multiboot_tag_end): Rename from this ...
8555 (multiboot2_tag_end): ... to this. Update all users.
8556
1c8927f0
RM
85572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8558
8559 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8560 this platform we should support Multiboot1 first.
8561
8562 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8563 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8564 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8565
6e1e0d89
RM
85662009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8567
8568 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8569 of write calls (converting them to fwrite() if they aren't already).
8570 (get_torito_desc): Likewise.
8571 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8572
7f2b34d8
RM
85732009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8574
8575 * util/i386/pc/grub-install.in: Move from here ...
8576 * util/grub-install.in: ... to here. Update all users.
8577
c0ef3311
CW
85782009-11-11 Colin Watson <cjwatson@ubuntu.com>
8579
8580 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8581
e1f240ff
RM
85822009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8583
8584 Support for El Torito without floppy emulation.
8585
8586 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8587 (init_boot_catalog): Improve error handling.
8588 (get_torito_desc): Don't use floppy emulation unless requested by
8589 user. Patch boot information table when requested via
8590 `-boot-info-table'.
8591 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8592 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8593 (use_boot_info_table): New variables.
8594 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8595 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8596 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8597 `--eltorito-emul-floppy'.
8598 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8599 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8600 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8601 (use_boot_info_table, get_731): New prototypes.
8602 * util/mkisofs/write.c (get_731): New function.
8603
af7d4de5
FZ
86042009-11-11 Felix Zielcke <fzielcke@z-51.de>
8605
8606 Fix the generation of the man page.
8607
8608 * util/pc/i386/grub-install.in: Source
8609 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8610
2c55dbc0
RM
86112009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8612
8613 Large file support for grub-mkisofs.
8614
8615 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8616 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8617 (session_start): Upgrade type to `uint64_t'. Update all users.
8618 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8619 (struct directory_entry): Upgrade type of `starting_block' and
8620 `size' to `uint64_t'. Update all users.
8621 (struct deferred): Remove unused structure.
8622 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8623 Update all users.
8624 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8625 file is larger than `UINT32_MAX'.
8626 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8627 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8628 return value.
8629 (struct deferred_write): Upgrade type of `extent' and `size' to
8630 `uint64_t'. Update all users.
8631 (last_extent_written): Upgrade type to `uint64_t'. Update all
8632 users.
8633 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8634 Update all users. Upgrade type of `remain' to `int64_t' and
8635 `use' to `size_t'. Use error() to handle fread() errors.
8636 (write_files): Rely on write_one_file() rather than calling
8637 xfwrite() directly.
8638
6a9cead5
FZ
86392009-11-09 Felix Zielcke <fzielcke@z-51.de>
8640
8641 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8642
4825d790
RM
86432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8644
8645 * util/mkisofs/fnmatch.c: Remove.
8646 * util/mkisofs/getopt1.c: Likewise.
8647 * util/mkisofs/getopt.c: Likewise.
8648 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8649 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8650 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8651 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8652 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8653
8654 * configure.ac: Detect `mingw32msvc' host_os.
8655 Check for lstat(), getuid() and getgid().
8656
8657 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8658 instances of `u_char' with `uint8_t'.
8659
8660 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8661 [!HAVE_GETUID] (getuid): New function (stub).
8662 [!HAVE_GETGID] (getgid): Likewise.
8663 [!HAVE_LSTAT] (lstat): Likewise.
8664 [!S_IROTH] (S_IROTH): New macro (dummy).
8665 [!S_IRGRP] (S_IRGRP): Likewise.
8666
84b860d8
RM
86672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8668
8669 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8670 conditional expression).
8671
66e9b712
RM
86722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8673
8674 Import from Gnulib.
8675
8676 * gnulib/fnmatch.c: New file.
8677 * gnulib/fnmatch.h: Likewise.
8678 * gnulib/fnmatch_loop.c: Likewise.
8679 * gnulib/getopt.c: Likewise.
8680 * gnulib/getopt.h: Likewise.
8681 * gnulib/getopt1.c: Likewise.
8682 * gnulib/getopt_int.h: Likewise.
8683 * gnulib/gettext.h: Likewise.
8684
34f4a5b0
RM
86852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8686
8687 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8688 * normal/handler.c (read_handler_list): Likewise.
8689
ac451143
RM
86902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8691
8692 Misc cleanup.
8693
8694 * kern/command.c (grub_register_command_prio): Use
8695 grub_zalloc() instead of explicitly zeroing data.
8696 * kern/list.c: Include `<grub/mm.h>'.
8697 (grub_named_list_find): Replace `0' with `NULL'.
8698 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8699 (fs_module_list): Change type to `grub_named_list_t'. Update all
8700 users.
8701 * normal/dyncmd.c (read_command_list): Add space between function
8702 call and parenthesis.
8703 * normal/handler.c (read_handler_list): Likewise.
8704
4089b167
RM
87052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8706
8707 * normal/auth.c (punishment_delay): Moved from here ...
8708 (grub_auth_strcmp): ... to here (inside function).
8709
325f5037
RM
87102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8711
8712 * include/grub/list.h (struct grub_named_list): Remove `const'
8713 qualifier from `name'.
8714 (struct grub_prio_list): Likewise.
8715
7aea29a3
RM
87162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8717
8718 * normal/auth.c: Include `<grub/time.h>'.
8719 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8720
3fd6f044
RM
87212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8722
8723 * normal/auth.c (punishment_delay): New variable.
8724 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8725 (grub_auth_check_authentication): Punish failed login attempts with
8726 an incremental (2^N) delay.
8727
a4cd68e4
RM
87282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8729
8730 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8731 path with $(srcdir).
8732
7ad12f43
VS
87332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8736
c1129f03
RM
87372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8738
8739 * util/i386/coreboot/grub-mkrescue.in: New file.
8740 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8741 variables.
8742
8743 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8744 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8745 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8746 requirements.
8747 * util/mkisofs/defaults.h: New file.
8748 * util/mkisofs/eltorito.c: Likewise.
8749 * util/mkisofs/exclude.h: Likewise.
8750 * util/mkisofs/fnmatch.c: Likewise.
8751 * util/mkisofs/getopt.c: Likewise.
8752 * util/mkisofs/getopt1.c: Likewise.
8753 * util/mkisofs/hash.c: Likewise.
8754 * util/mkisofs/include/fctldefs.h: Likewise.
8755 * util/mkisofs/include/mconfig.h: Likewise.
8756 * util/mkisofs/include/prototyp.h: Likewise.
8757 * util/mkisofs/include/statdefs.h: Likewise.
8758 * util/mkisofs/iso9660.h: Likewise.
8759 * util/mkisofs/joliet.c: Likewise.
8760 * util/mkisofs/match.c: Likewise.
8761 * util/mkisofs/match.h: Likewise.
8762 * util/mkisofs/mkisofs.c: Likewise.
8763 * util/mkisofs/mkisofs.h: Likewise.
8764 * util/mkisofs/multi.c: Likewise.
8765 * util/mkisofs/name.c: Likewise.
8766 * util/mkisofs/rock.c: Likewise.
8767 * util/mkisofs/tree.c: Likewise.
8768 * util/mkisofs/write.c: Likewise.
8769
ec8bb77d
VS
87702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8773 being insecure.
8774
3716b12c
RM
87752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8776
8777 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8778 `grub-mkimage' (and use $0 when possible).
8779
b97b7b91
RM
87802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8781
8782 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8783 error message for excessively large memory map.
8784
04114812
RM
87852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8786
8787 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8788 executable bit.
8789
e4eb2373
RM
87902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8791
8792 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8793 message for coreboot users.
8794
c926e1d5 87952009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8796
8797 Fix build with GNU gold.
8798
8799 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8800 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8801 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8802 link addresses.
8803 * aclocal.m4: Likewise.
8804
86e5b1db 88052009-11-04 Felix Zielcke <fzielcke@z-51.de>
8806
8807 * configure.ac (AC_PREREQ): Bump to 2.59d.
8808 * INSTALL: Make it more clear when Autoconf and Ruby are
8809 needed and when to run `./autogen.sh'.
8810
246cd78f 88112009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8812
8813 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8814 OSes.
8815
4f9dfb37 88162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8817
8818 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8819
b82bd5e1 88202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8821
8822 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8823 giving it to GNU Mach.
8824
ff1a9bca 88252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8826
8827 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8828 GNU partition number to get internal GRUB partition number.
8829
61697d9c 88302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8831
8832 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8833 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8834
a50569e1 88352009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8836
8837 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8838 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8839 case.
8840
5b153867 88412009-11-01 Felix Zielcke <fzielcke@z-51.de>
8842
8843 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8844
d9e2cd70 88452009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8846
8847 Fix build problem.
8848
8849 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8850 `-isystem=$(srcdir)/include'.
8851
805111a4 88522009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8853
8854 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8855 checked (grub-install doesn't currently rely on it).
8856
fa6e945f 88572009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8858
8859 Revert SVN r2660.
8860
8861 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8862 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8863 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8864 * conf/i386-ieee1275.rmk: Likewise.
8865 * conf/i386-pc.rmk: Likewise.
8866 * conf/powerpc-ieee1275.rmk: Likewise.
8867 * conf/sparc64-ieee1275.rmk: Likewise.
8868 * conf/x86_64-efi.rmk: Likewise.
8869
cee15086 88702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8871
8872 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8873
95b9239e 88742009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8875
8876 * include/grub/misc.h: Stop checking for APPLE_CC.
8877
2ed19dfd 88782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8879
8880 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8881 doesn't cause an infinite call loop.
8882
fdcdde19 88832009-10-28 Felix Zielcke <fzielcke@z-51.de>
8884
8885 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8886 strings.
8887
cefabfe1 88882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8889
8890 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8891 variable.
8892 * Makefile.in: Likewise.
8893
ed96ab6d 88942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8895
8896 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8897
0579b753 88982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8899
8900 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8901
478df409 89022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8903
8904 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8905
083d1679 89062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8907
8908 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8909 from here ...
8910 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8911
5947ae32 89122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8913
8914 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8915 in $(MAKEINFO) invocation. This makes it clear in output that
8916 errors are being ignored.
8917
94180ff6 89182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8919
8920 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8921 from here ...
8922 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8923 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8924 * conf/i386-ieee1275.rmk: Likewise.
8925 * conf/i386-pc.rmk: Likewise.
8926 * conf/powerpc-ieee1275.rmk: Likewise.
8927 * conf/sparc64-ieee1275.rmk: Likewise.
8928 * conf/x86_64-efi.rmk: Likewise.
8929
9031b03a 89302009-10-26 Colin Watson <cjwatson@ubuntu.com>
8931
8932 * util/grub-editenv.c (main): If only a command is given, use
8933 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8934 (usage): FILENAME is now optional and has a default.
8935
e4f6809b 89362009-10-26 Colin Watson <cjwatson@ubuntu.com>
8937
8938 Improve grub-mkconfig performance when there are several menu
8939 entries on a single filesystem.
8940
8941 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8942 prepare_grub_to_access_device.
8943 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8944 * util/grub.d/30_os-prober.in: Likewise.
8945
67937d4d 89462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8947
8948 * util/grub.d/10_freebsd.in: Remove.
8949 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8950 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8951
ee3756cc 89522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8953
5c35048e 8954 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 8955
4dea1c6f 89562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8957
8958 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8959 grub_util_error() call.
8960
042484d7 89612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8962
8963 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8964 `reserved_first_sector' member.
8965 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8966 `reserved_first_sector' to 1.
8967 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8968 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8969 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8970 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8971 filesystems which begin at first sector.
8972 (options): New option --skip-fs-probe.
8973 (main): Handle --skip-fs-probe and pass it to setup().
8974
d64448a7 89752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8976
8977 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8978 (memset): Fix function prototype.
8979
508d42ec 89802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
89812009-10-25 Vasily Averin <vvs@parallels.com>
8982
8983 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8984 `dirent.direntlen == 0'.
8985
b240e30c 89862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8987
8988 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8989 `cpio'.
8990 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8991
346e7fbe 89922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8993
8994 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8995 `__trampoline_setup' and `__ucmpdi2'.
8996 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8997 that libgcc provides.
8998
cdb308b0 89992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9000
9001 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9002 * include/grub/sparc64/libgcc.h (memset): Likewise.
9003 * include/grub/misc.h (memset, memcmp): New function prototypes.
9004
fb26abc2 90052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9006
9007 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9008 `cpio'.
9009 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9010
f6693890 90112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9012
9013 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9014 * docs/grub.cfg: Compensate for recent change in multiboot
9015 loader (since 2009-08-14 it won't pass filename to payload).
9016 * util/grub.d/10_hurd.in: Likewise.
9017
0933cdc0 90182009-10-21 Felix Zielcke <fzielcke@z-51.de>
9019
9020 * config.guess: Update to latest version from config git
9021 repository.
9022 * config.sub: Likewise.
9023
3b2fe8c2 90242009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9025
9026 Fix build on sparc64.
9027
9028 * configure.ac: Perform checks for libgcc symbols before
9029 adding `-nostdlib' to LDFLAGS.
9030
46695a62 90312009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Let user specify OpenBSD root device.
9034
9035 * loader/i386/bsd.c (openbsd_root): New variable.
9036 (openbsd_opts): New option 'root'.
9037 (OPENBSD_ROOT_ARG): New macro.
9038 (grub_openbsd_boot): Use 'openbsd_root'.
9039 (grub_cmd_openbsd): Fill 'openbsd_root'.
9040
d2b6b7fc 90412009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9042
9043 * NEWS: Misc adjustments.
9044
421bd7ac 90452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9048
f1d29d87 90492009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9050
9051 * configure.ac: Bump version to 1.97.
9052
6f3cd880 90532009-10-16 Colin Watson <cjwatson@ubuntu.com>
9054
9055 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9056 -mno-3dnow on x86 architectures. Some toolchains enable these
9057 features by default, but they rely on registers that aren't enabled
9058 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9059
035f7122 90602009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9061
9062 Make entry text a bit more readable.
9063
9064 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9065
44998e58 90662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9069
cd2851b3 90702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9073 operations.
9074
c6f3b249 90752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * configure.ac: Add missing dollar.
9078
6b5886ba 90792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9082
9083 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9084 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9085 exports.
9086 * include/grub/sparc64/libgcc.h: Likewise. Use
9087 preprocessor conditionals.
9088
e9d66f6d 90892009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9090
9091 * conf/common.rmk (grub-dumpbios): Remove rule.
9092 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9093 * util/grub-dumpbios.in: Remove file.
9094
9155bc17 90952009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9096
9097 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9098 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9099
9100 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9101 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9102 users.
9103
9104 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9105 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9106 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9107 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9108 users.
9109
bf7f7a18 91102009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9111
9112 * term/tparm.c: Switch to GPLv3.
9113
86564c26 91142009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9115
9116 * include/grub/i386/cpuid.h: Add header protection.
9117
5c936493 91182009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9119
9120 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9121
9122 * include/grub/i386/cpuid.h: New file.
9123 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9124 (has_longmode): Rename to ...
9125 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9126 `static' attribute.
9127 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9128 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9129 on a CPU that doesn't implement AMD64 instruction set.
9130
186e7cf2 91312009-10-06 Colin Watson <cjwatson@ubuntu.com>
9132
9133 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9134 that version.texi is rebuilt on version number changes.
9135
83b65c4a 91362009-10-06 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9139 Fixes bug #27602.
9140
d244281c 91412009-10-06 Colin Watson <cjwatson@ubuntu.com>
9142
9143 * util/i386/pc/grub-install.in: Source
9144 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9145 that the --grub-probe option will work.
9146 * util/sparc64/ieee1275/grub-install.in: Likewise.
9147
da25306d 91482009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9149
9150 * configure.ac: Bump version to 1.97~beta4.
9151
e8ee83c0 91522009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9153
9154 Resync grub-mkdevicemap in x86_64-efi.
9155
9156 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9157 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9158 `util/devicemap.c'.
9159
50dcabcf 91602009-10-01 Colin Watson <cjwatson@ubuntu.com>
9161
9162 * util/grub-editenv.c (create_envblk_file): Write new block with a
9163 .new suffix and then rename it into place, to ensure atomic
9164 creation.
9165
0e51c3a7 91662009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9167
9168 Do not automatically install headers.
9169
9170 * Makefile.in (include_DATA): Remove. Update all users.
9171
31299a95 91722009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9173
9174 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9175 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9176
9177 * util/osdetect.lua: Remove.
9178 * script/lua/lauxlib.c: Likewise.
9179 * script/lua/ldebug.c: Likewise.
9180 * script/lua/grub_main.c: Likewise.
9181 * script/lua/lauxlib.h: Likewise.
9182 * script/lua/ldebug.h: Likewise.
9183 * script/lua/ltablib.c: Likewise.
9184 * script/lua/liolib.c: Likewise.
9185 * script/lua/lstrlib.c: Likewise.
9186 * script/lua/lualib.h: Likewise.
9187 * script/lua/ldo.c: Likewise.
9188 * script/lua/ldump.c: Likewise.
9189 * script/lua/ldo.h: Likewise.
9190 * script/lua/loslib.c: Likewise.
9191 * script/lua/lundump.c: Likewise.
9192 * script/lua/grub_lib.c: Likewise.
9193 * script/lua/ldblib.c: Likewise.
9194 * script/lua/lundump.h: Likewise.
9195 * script/lua/lmem.c: Likewise.
9196 * script/lua/grub_lib.h: Likewise.
9197 * script/lua/lmathlib.c: Likewise.
9198 * script/lua/lstate.c: Likewise.
9199 * script/lua/ltm.c: Likewise.
9200 * script/lua/lvm.c: Likewise.
9201 * script/lua/lmem.h: Likewise.
9202 * script/lua/lstate.h: Likewise.
9203 * script/lua/ltm.h: Likewise.
9204 * script/lua/ltable.c: Likewise.
9205 * script/lua/lvm.h: Likewise.
9206 * script/lua/llex.c: Likewise.
9207 * script/lua/lgc.c: Likewise.
9208 * script/lua/grub_lua.h: Likewise.
9209 * script/lua/loadlib.c: Likewise.
9210 * script/lua/lfunc.c: Likewise.
9211 * script/lua/lopcodes.c: Likewise.
9212 * script/lua/lparser.c: Likewise.
9213 * script/lua/ltable.h: Likewise.
9214 * script/lua/llex.h: Likewise.
9215 * script/lua/lgc.h: Likewise.
9216 * script/lua/lfunc.h: Likewise.
9217 * script/lua/lbaselib.c: Likewise.
9218 * script/lua/lopcodes.h: Likewise.
9219 * script/lua/lparser.h: Likewise.
9220 * script/lua/lzio.c: Likewise.
9221 * script/lua/linit.c: Likewise.
9222 * script/lua/lobject.c: Likewise.
9223 * script/lua/llimits.h: Likewise.
9224 * script/lua/lstring.c: Likewise.
9225 * script/lua/lzio.h: Likewise.
9226 * script/lua/lapi.c: Likewise.
9227 * script/lua/lcode.c: Likewise.
9228 * script/lua/lua.h: Likewise.
9229 * script/lua/lobject.h: Likewise.
9230 * script/lua/lstring.h: Likewise.
9231 * script/lua/lapi.h: Likewise.
9232 * script/lua/lcode.h: Likewise.
9233 * script/lua/luaconf.h: Likewise.
9234
cb8a2c38 92352009-09-26 Colin Watson <cjwatson@ubuntu.com>
9236
9237 * docs/grub.texi (Command-line and menu entry commands): Document
9238 date and echo commands.
9239
6b9b6276 92402009-09-24 Pavel Roskin <proski@gnu.org>
9241
9242 * include/grub/kernel.h (struct grub_module_header): Remove
9243 `grub_module_header_types'. Make `type' unsigned. Make `size'
9244 32-bit on all platforms.
9245 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9246 8-bit field. Use grub_host_to_target32() for `size'.
9247 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9248 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9249 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9250
4e5a02a7 92512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9252
9253 Fix "lost keypress" bug in at_keyboard.
9254
9255 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9256 Checks for readyness of input buffer (without flushing it).
9257 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9258 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9259
c6dcedf6 92602009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9261
9262 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9263 size check within GRUB_MACHINE_PCBIOS section.
9264
74c958b1 92652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9266
9267 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9268 return value.
9269 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9270 KEYBOARD_ISREADY check.
9271 (grub_at_keyboard_checkkey): Rename to ...
9272 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9273 Remove gratuitous cast.
9274
ff420223 92752009-09-23 Colin Watson <cjwatson@ubuntu.com>
9276
9277 * configure.ac: Call AC_PROG_MKDIR_P.
9278 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9279 version.texi in $(builddir) rather than $(srcdir).
9280 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9281 to makeinfo's @include search path.
9282
d96875df 92832009-09-23 Felix Zielcke <fzielcke@z-51.de>
9284
9285 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9286
9b3f8365 92872009-09-23 Felix Zielcke <fzielcke@z-51.de>
9288
9289 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9290 for `*.dpkg-new'.
9291
c44c90db 92922009-09-21 Colin Watson <cjwatson@ubuntu.com>
9293
9294 Build info documentation. Some code borrowed from Automake.
9295
9296 * configure.ac: Check for makeinfo.
9297 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9298 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9299 docs/version.texi.
9300 (MOSTLYCLEANFILES): Add vti.tmp.
9301 (docs/version.texi, docs/stamp-vti): Update automatically.
9302 (docs/grub.info): Build info documentation. Use --force and ignore
9303 errors for now.
9304 (all-local): Add $(INFOS).
9305 (install-local): Install info files.
9306 (uninstall): Uninstall info files.
9307 * docs/version.texi: Remove from revision control. This file is
9308 automatically generated on build now.
9309 * gendistlist.sh: Add `*.info'.
9310
e0b37bb5 93112009-09-21 Felix Zielcke <fzielcke@z-51.de>
9312
9313 * kern/term.c: Fix indentation.
9314
5a78865b 93152009-09-21 Felix Zielcke <fzielcke@z-51.de>
9316
9317 * util/hostdisk.c: Fix a comment.
9318
dace7e8a 93192009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9320
9321 Fix regression introduced in r2539.
9322
9323 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9324 to 0xA1.
9325
a83d079b 93262009-09-19 Colin Watson <cjwatson@ubuntu.com>
9327
9328 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 9329 os-prober. Under normal operation, it does not print anything to
9330 stderr; if it does, we need to debug it, and throwing away stderr
9331 makes that excessively difficult.
a83d079b 9332
be94a509 93332009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9336
63f745e8 93372009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9338
9339 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9340 AC_LANG_PROGRAM from autoconf.
9341 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9342 prototypes (fixes warning).
9343
9344 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9345 `--disable-werror' was used.
9346
bbb2a70f 93472009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9348
9349 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9350 uninitialized `lastaddr'.
9351
77c24f1d 93522009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9353
0f0b8c87 9354 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 9355
07197f23 93562009-09-14 Colin Watson <cjwatson@ubuntu.com>
9357
9358 * commands/test.c (get_fileinfo): Return immediately if
9359 grub_fs_probe fails.
9360
dabf1798 93612009-09-14 José Martínez <xosemp@gmail.com>
9362
9363 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9364
d52109a7 93652009-09-14 Colin Watson <cjwatson@ubuntu.com>
9366
9367 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9368 output.
9369
56532179 93702009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9371
9372 * configure.ac: Remove --enable-grub-pe2elf. Only build
9373 grub-pe2elf when needed by the build system itself.
9374 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9375
8ef070f5 93762009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9377
9378 * configure.ac: Bump version to 1.97~beta3.
9379 * docs/version.texi: Likewise.
9380
61229557 93812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9382
9383 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9384 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9385 from here ...
9386 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9387 (grub_linux_setup_video): ... to here (with some adjustments).
9388
5c9f8d84 93892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9390
9391 Fix memory corruption issue (spotted by Colin Watson).
9392
9393 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9394 causing returned size to be stored in an incorrect memory location.
9395 Fix use of uninitialized value when storing the returned size.
9396
e8f5d6e9 93972009-09-12 Yves Blusseau <blusseau@zetam.org>
9398
9399 Change clean rules to properly remove files
9400
9401 * genmk.rb: add new clean rules
9402 * Makefile.in (clean): add the new targets
9403 (mostlyclean): likewise
9404
cda2a409 94052009-09-11 Colin Watson <cjwatson@ubuntu.com>
9406
9407 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9408 to grub_uint64_t.
9409 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9410 non-resident files.
9411
86695375 94122009-09-11 Colin Watson <cjwatson@ubuntu.com>
9413
9414 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9415 part of bug #27349.
9416
8aa1541a 94172009-09-10 Felix Zielcke <fzielcke@z-51.de>
9418
9419 * util/grub-mkconfig.in: Make the created config mode 400 and
9420 print a warning if it fails.
9421
48d9bb0a 94222009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9423
9424 * util/grub.d/40_custom.in: Ask user to type custom entries below
9425 comment, rather than below 'exec tail' line.
9426
3b0521be 94272009-09-10 Colin Watson <cjwatson@ubuntu.com>
9428
9429 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9430 visible in grub.cfg.
9431
50051d55 94322009-09-10 Colin Watson <cjwatson@ubuntu.com>
9433
9434 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9435 file.
9436
c0d34387 94372009-09-10 Felix Zielcke <fzielcke@z-51.de>
9438
9439 * docs/grub.cfg: Add an example menu entry for memtest86+.
9440
80a608f3 94412009-09-09 Felix Zielcke <fzielcke@z-51.de>
9442
a2094832 9443 * config.guess: Update to latest version from config git.
80a608f3 9444 * config.sub: Likewise.
9445
99423078 94462009-09-08 Colin Watson <cjwatson@ubuntu.com>
9447
9448 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9449 unknown-command case. Fixes bug #27320.
9450
44454e4c 94512009-09-08 Felix Zielcke <fzielcke@z-51.de>
9452
9453 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9454 `help' if the command exists.
9455
e30d87ad 94562009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9457
9458 * INSTALL: Require GCC 4.1.3 or later.
9459
9a86f1ec 94602009-09-06 Yves Blusseau <blusseau@zetam.org>
9461
9462 * Makefile.in (RMKFILES): add i386-qemu.rmk
9463 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9464 $(srcdir)/stamp-h.in
9465
7f26d466 94662009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9467
9468 * util/grub-probe.c (probe): Comment out buggy codepath, which
9469 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9470 should be re-enabled after 1.97.
9471
3a613259 94722009-09-05 Felix Zielcke <fzielcke@z-51.de>
9473
9474 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9475 find searches for.
9476
197f76c7 94772009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9480 unnecessary calls to grub_error.
9481
70ba68ce 94822009-09-04 Colin Watson <cjwatson@ubuntu.com>
9483
9484 * NEWS: Mention `keystatus' and Unicode fonts.
9485
4ff0d7a4 94862009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9487
9488 * configure.ac: Bump version to 1.97~beta2.
9489 * docs/version.texi: Likewise.
9490
77c55a87 94912009-09-03 Colin Watson <cjwatson@ubuntu.com>
9492
9493 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9494 containing unwind information in some cases where it previously did
9495 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9496 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9497 discussion.
9498
f79572cd 94992009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9500
9501 Embedding loadenv module into grub-emu
9502
9503 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9504 commands/loadenv.c
9505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9509 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9510 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9511
93a81088 95122009-09-03 Magnus Granberg <zorry@ume.nu>
9513
9514 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9515 include -fPIE in the default specs.
9516 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9517 to TARGET_CFLAGS.
9518
160034b2 95192009-09-03 Felix Zielcke <fzielcke@z-51.de>
9520
9521 * INSTALL: Note that GNU Bison 2.3 or later is required.
9522
087c07c4 95232009-09-03 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * kern/i386/pc/startup.S: Fix typo.
9526
cbf978c0 95272009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9530 according to GCS.
9531
95322009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 9533
9534 * docs/grub.texi (Naming convention): Describe one-based partition
9535 numbering.
9536 (Device syntax): Likewise.
9537 (File name syntax): Likewise.
9538 (Block list syntax): Likewise.
9539 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9540 menu.lst.
9541 (File name syntax): Likewise.
9542 (Command-line and menu entry commands): Document acpi, blocklist,
9543 crc, export, insmod, keystatus, ls, set, and unset commands.
9544
f3e8cdfd 95452009-09-02 Colin Watson <cjwatson@ubuntu.com>
9546
9547 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9548 to avoid implying that only one of --shift, --ctrl, or --alt may be
9549 used.
9550
c0bc232b 95512009-09-02 Colin Watson <cjwatson@ubuntu.com>
9552
9553 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9554 rather than comparing against S_IFREG, which will almost never work.
9555
aa0f752d 95562009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9559 (write_blocklists): Likewise.
9560
ecb3166a 95612009-09-01 Colin Watson <cjwatson@ubuntu.com>
9562
9563 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9564 argument to grub_printf.
9565
c403a125 95662009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 9567
9568 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 9569 non GNU test.
31aba781 9570
b5e7312c 95712009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * kern/file.c (grub_file_read): Spelling fix
9574
fe00f472 95752009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9578 loading of headers in some cases.
9579
cc55302e 95802009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9581
9582 * configure.ac: Bump version to 1.97~beta1.
9583 * docs/version.texi: Likewise.
9584
5c90cdd2 95852009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 9586
9587 * include/grub/i386/xnu.h: Add license header.
9588 include grub/err.h explicitly.
9589
c90edae4 95902009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9591
9592 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9593 to `ufs' in the vfs.root.mountfrom kernel parameter.
9594
d8888b5c 95952009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9596
9597 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9598
9599 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9600 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9601
9602 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9603 `ARRAY_SIZE' macro.
9604
6f07b921 96052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * kern/file.c (grub_file_read): Check offset.
9608 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9609 * fs/jfs.c (grub_jfs_read_file): Likewise.
9610 * fs/ntfs.c (grub_ntfs_read): Likewise.
9611 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9612 * fs/minix.c (grub_minix_read_file): Correct offset check.
9613 * fs/ufs.c (grub_ufs_read_file): Likewise.
9614
b4f34077 96152009-08-28 Colin Watson <cjwatson@ubuntu.com>
9616
9617 * term/i386/pc/console.c (bios_data_area): Cast
9618 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9619
e7c69859 96202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 1-bit optimised blitters.
9623
9624 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9625 prototype.
9626 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9627 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9628 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9629 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9630 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9631 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9632 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9633 function.
9634 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9635 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9636 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9637 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9638 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9639 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9640 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9641 when possible.
9642 * video/video.c (grub_video_get_blit_format): Return
9643 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9644
a57da43f 96452009-08-28 Colin Watson <cjwatson@ubuntu.com>
9646
9647 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9648 the first argument to grub_printf.
9649
4cbe67e5 96502009-08-28 Colin Watson <cjwatson@ubuntu.com>
96512009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9652
9653 Add `getkeystatus' terminal method. Add a new `keystatus' command
9654 to query it.
9655
9656 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9657 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9658 modifier key bitmasks.
9659 (struct grub_term_input): Add `getkeystatus' member.
9660 (grub_getkeystatus): Add prototype.
9661 * kern/term.c (grub_getkeystatus): New function.
9662
9663 * include/grub/i386/pc/memory.h
9664 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9665 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9666 Data Area layout.
9667 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9668 (grub_console_term_input): Set `getkeystatus' member.
9669 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9670 constants.
9671 (grub_usb_keyboard_getreport): Likewise.
9672 (grub_usb_keyboard_checkkey): Likewise.
9673 (grub_usb_keyboard_getkeystatus): New function.
9674 (grub_usb_keyboard_term): Set `getkeystatus' member.
9675
9676 * commands/keystatus.c: New file.
9677 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9678 (keystatus_mod_SOURCES): New variable.
9679 (keystatus_mod_CFLAGS): Likewise.
9680 (keystatus_mod_LDFLAGS): Likewise.
9681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9682 commands/keystatus.c.
9683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9685 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9688 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 9689
6e2a9085 96902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 Split befs.mod and afs.mod into *_be.mod and *.mod
9693
9694 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9695 (grub_fstest_SOURCES): Likewise.
9696 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9697 (afs_be_mod_SOURCES): New variable.
9698 (afs_be_mod_CFLAGS): Likewise.
9699 (afs_be_mod_LDFLAGS): Likewise.
9700 (befs_be_mod_SOURCES): Likewise.
9701 (befs_be_mod_CFLAGS): Likewise.
9702 (befs_be_mod_LDFLAGS): Likewise.
9703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9706 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9707 (grub_emu_SOURCES): Likewise.
9708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9709 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9711 * fs/afs_be.c: New file.
9712 * fs/befs_be.c: New file.
9713 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9714 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9715 (U16): Replaced with ...
9716 (grub_afs_to_cpu16): ...this. All users updated.
9717 (U32): Replaced with ...
9718 (grub_afs_to_cpu32): ...this. All users updated.
9719 (U64): Replaced with ...
9720 (grub_afs_to_cpu64): ...this. All users updated.
9721 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9722 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 9723 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 9724 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9725 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9726 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9727 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9728 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9729 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9730 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9731 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9732
32a71655 97332009-08-26 Bean <bean123ch@gmail.com>
9734
9735 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9736 64-bit number.
9737 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9738 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9739 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9740
552bf6c5 97412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 NetBSD memory map support.
9744
9745 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9746 (grub_netbsd_btinfo_mmap_header): New structure.
9747 (grub_netbsd_btinfo_mmap_entry): Likewise.
9748 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9749
1ae2078c 97502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 Enable bsd.mod on coreboot.
9753
9754 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9755 (bsd_mod_SOURCES): New variable.
9756 (bsd_mod_CFLAGS): Likewise.
9757 (bsd_mod_LDFLAGS): Likewise.
9758 (bsd_mod_ASFLAGS): Likewise.
9759 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9760 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9761
beefc598 97622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Cleanup NetBSD root support.
9765
9766 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9767 grub_bsd_get_device.
9768 Fix typo.
9769
3b76e68b 97702009-08-25 Felix Zielcke <fzielcke@z-51.de>
9771
9772 * util/grub.d/00_header.in: Move check for the video backend of
9773 gfxterm from here ...
9774 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9775 a suitable video backend.
9776
aea664ea 97772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 Fix breakage in grub-setup.
9780
9781 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9782 "msdos_partition_map".
9783
ff747d50 97842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 Fix breakage in normal/auth.c.
9787
9788 * normal/auth.c (grub_iswordseparator): New function.
9789
e7e1f93f 97902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 Authentication support.
9793
9794 * commands/password.c: New file.
9795 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9796 (password_mod_SOURCES): New variable.
9797 (password_mod_CFLAGS): Likewise.
9798 (password_mod_LDFLAGS): Likewise.
9799 (normal_mod_SOURCES): Add normal/auth.c.
9800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9801 normal/auth.c.
9802 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9804 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9807 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9808 * include/grub/auth.h: New file.
9809 * include/grub/err.h (grub_err_t): New enum value
9810 GRUB_ERR_ACCESS_DENIED.
9811 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9812 'users'.
9813 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9814 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9815 users updated.
9816 * normal/auth.c: New file.
9817 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9818 (grub_cmdline_run): Don't allow to go to command line without
9819 authentication.
9820 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9821 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9822 menuentry without superuser rights.
9823 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9824 user isn't a superuser.
9825
70f1161d 98262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Save space by inlining misc.c functions.
9829
9830 * kern/misc.c (grub_iswordseparator): Made static.
9831 * kern/misc.c (grub_strcat): Moved from here ...
9832 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9833 * kern/misc.c (grub_strncat): Moved from here ...
9834 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9835 * kern/misc.c (grub_strcasecmp): Moved from here ...
9836 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9837 * kern/misc.c (grub_strncasecmp): Moved from here ...
9838 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9839 * kern/misc.c (grub_isalpha): Moved from here ...
9840 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9841 * kern/misc.c (grub_isdigit): Moved from here ...
9842 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9843 * kern/misc.c (grub_isgraph): Moved from here ...
9844 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9845 * kern/misc.c (grub_tolower): Moved from here ...
9846 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9847
48e40bff 98482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * script/sh/function.c (grub_script_function_find): Cut error message
9851 not to flood terminal.
9852 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9853 limit.
9854 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9855
c385bfc3 98562009-08-24 Colin Watson <cjwatson@ubuntu.com>
9857
9858 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9859 `report' grub_uint8_t *.
9860 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9861 Use a 50-millisecond timeout rather than just repeating
9862 grub_usb_keyboard_getreport 50 times.
9863 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9864
2d21e3e8 98652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 Rename *_partition_map to part_*
9868
9869 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9870 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9871 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9872 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9873 All users updated.
9874 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9875 All users updated.
9876 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9877 * util/grub-probe.c (probe_partmap): Don't transform partition name
9878 to get module name.
9879
dd103c4e 98802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 Fix OpenBSD and NetBSD support.
9883
9884 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9885 memory address conflict.
9886 (OPENBSD_MMAP_ACPI): New definition.
9887 (OPENBSD_MMAP_NVS): Likewise.
9888 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9889 and OPENBSD_MMAP_NVS.
9890 Add memory map terminator
9891 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 9892 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 9893
16c84d74 98942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 Let user specify NetBSD root device.
9897
9898 * loader/i386/bsd.c (netbsd_root): New variable.
9899 (netbsd_opts): New option 'root'.
9900 (NETBSD_ROOT_ARG): New macro.
9901 (grub_netbsd_boot): Use 'netbsd_root'.
9902 (grub_bsd_unload): Free 'netbsd_root'.
9903 (grub_cmd_netbsd): Fill 'netbsd_root'.
9904
adb29902 99052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 Support for 64-bit NetBSD.
9908
9909 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9910 point when booting non-FreeBSD.
9911
f5ae9f74 99122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 Support --no-smp and --no-acpi for NetBSD.
9915
9916 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9917 (NETBSD_AB_NOACPI): Likewise.
9918 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9919 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9920
de74f136 99212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9924 errors.
9925 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9926 errors. Call grub_error when needed.
9927
e9a925da 99282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * commands/search.c (search_fs): Try searching without autoload first.
9931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9932 filesystem module explicitly for faster booting.
9933
5174302b 99342009-08-23 Colin Watson <cjwatson@ubuntu.com>
9935
9936 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9937
c8c80635 99382009-08-23 Colin Watson <cjwatson@ubuntu.com>
9939
9940 * util/grub.d/30_os-prober.in: Disable os-prober if
9941 `GRUB_DISABLE_OS_PROBER' was set to true.
9942
71acf5e5 99432009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9944
9945 * partmap/pc.c: Rename to ...
9946 * partmap/msdos.c: ... this. Update all users.
9947 (grub_pc_partition_map): Rename to ...
9948 (grub_msdos_partition_map): ... this. Update all users.
9949
9950 * parttool/pcpart.c: Rename to ...
9951 * parttool/msdospart.c: ... this. Update all users.
9952
9953 * include/grub/pc_partition.h: Rename to ...
9954 * include/grub/msdos_partition.h: ... this. Update all users.
9955 (grub_pc_partition_bsd_entry): Rename to ...
9956 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9957 (grub_pc_partition_disk_label): Rename to ...
9958 (grub_msdos_partition_disk_label): ... this. Update all users.
9959 (grub_pc_partition_entry): Rename to ...
9960 (grub_msdos_partition_entry): ... this. Update all users.
9961 (grub_pc_partition_mbr): Rename to ...
9962 (grub_msdos_partition_mbr): ... this. Update all users.
9963 (grub_pc_partition): Rename to ...
9964 (grub_msdos_partition): ... this. Update all users.
9965 (grub_pc_partition_is_empty): Rename to ...
9966 (grub_msdos_partition_is_empty): ... this. Update all users.
9967 (grub_pc_partition_is_extended): Rename to ...
9968 (grub_msdos_partition_is_extended): ... this. Update all users.
9969 (grub_pc_partition_is_bsd): Rename to ...
9970 (grub_msdos_partition_is_bsd): ... this. Update all users.
9971
9972 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9973 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9974 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9975 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9976 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9977 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9978 (gpt_mod_LDFLAGS): Rename to ...
9979 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9980 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9981 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9982 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9983 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9984 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9985 (part_gpt_mod_LDFLAGS): ... this.
9986 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9987 `pcpart.mod' to `msdospart.mod'.
9988 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9989 to ...
9990 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9991 (msdospart_mod_LDFLAGS): ... this.
9992
c11fded5 99932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9996 (openbsd_opts): Likewise.
9997 (netbsd_opts): Likewise.
9998 (freebsd_flags): Added 0 terminator.
9999 (openbsd_flags): Likewise.
10000 (netbsd_flags): Likewise.
10001 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10002 (grub_cmd_freebsd): Transformed into extended command.
10003 (grub_cmd_openbsd): Likewise.
10004 (grub_cmd_netbsd): Likewise.
10005 (cmd_freebsd): Changed type to grub_extcmd_t.
10006 (cmd_openbsd): Likewise.
10007 (cmd_netbsd): Likewise.
10008 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10009 grub_cmd_openbsd as extended commands.
10010 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10011 cmd_netbsd and cmd_openbsd
10012
11d1c769 100132009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10016
7a9094e5 100172009-08-21 Pavel Roskin <proski@gnu.org>
10018
5496c37e 10019 * Makefile.in (install-local): When checking if a file is in the
10020 build directory, use "test -e" to detect symlinks.
10021
7a9094e5 10022 * Makefile.in (install-local): Remove all files in
10023 $(DESTDIR)$(pkglibdir) before installing new files there.
10024
e53cea11 100252009-08-18 Felix Zielcke <fzielcke@z-51.de>
10026
10027 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10028 grub-mkelfimage.
10029
9aced544 100302009-08-18 Felix Zielcke <fzielcke@z-51.de>
10031
10032 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10033 explicitly specified by the user.
10034
b7da6bab 100352009-08-18 Pavel Roskin <proski@gnu.org>
10036
10037 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10038 grub_uint8_t pointer for data.
10039 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10040 Likewise.
10041 * video/fb/fbutil.c: Remove unnecessary casts.
10042
19f1b335 100432009-08-17 Michal Suchanek <hramrach@centrum.cz>
10044
10045 VBE cleanup.
10046
10047 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10048 (grub_vbe_set_video_mode): Save active mode info
10049 only after setting the mode.
10050 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10051 second argument.
10052
2f467aa9 100532009-08-17 Michal Suchanek <hramrach@centrum.cz>
10054
10055 Rename variables for clarity.
10056
10057 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10058 (active_vbe_mode_info): ... this. All users updated.
10059 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10060 All users updated.
10061 (initial_mode): Rename to ...
10062 (initial_vbe_mode): ... this. All users updated.
10063 (mode_in_use): Rename to ..
10064 (vbe_mode_in_use): ... this. All users updated.
10065 (mode_list): Rename to ..
10066 (vbe_mode_list): ... this. All users updated.
10067 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10068 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10069 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10070 'mode_list_size' to 'vbe_mode_list_size'.
10071 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10072 'best_mode_info' to 'best_vbe_mode_info' and
10073 'best_mode' to 'best_vbe_mode'
10074
6025fcd7 100752009-08-17 Michal Suchanek <hramrach@centrum.cz>
10076
10077 Remove duplicate grub_video_fb_get_video_ptr.
10078
10079 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10080 (grub_video_fb_get_video_ptr): ... this.
10081 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10082 * video/fb/fbutil.c: Add comment about addressing.
10083 (get_data_ptr): Rename to ...
10084 (grub_video_fb_get_video_ptr): ... this. All users updated.
10085 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10086
cc8c6faf 100872009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10088
10089 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10090 grub_dprintf() that was just added.
10091
08aa61f0 100922009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10093
10094 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10095 (DEFAULT_VIDEO_MODE): Remove macros.
10096 (grub_linux_boot): Remove assumption that Linux has FB support,
10097 and use "text" as default video mode.
10098
7cef4f75 100992009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10102 grub_dprintf.
10103 * fs/fat.c (grub_fat_read_data): Likewise.
10104
e1f39873 101052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10108 payload.
10109 (grub_module): Likewise.
10110
c166d79e 101112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10114 mbi->cmdline but free playground.
10115
c60cee8e 101162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 Handle group offset on UFS1.
10119
10120 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10121 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10122
c0d8b5d4 101232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 Split ufs.mod into ufs1.mod and ufs2.mod.
10126
10127 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10128 (grub_fstest_SOURCES): Likewise.
10129 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10130 (ufs_mod_SOURCES): Remove.
10131 (ufs_mod_CFLAGS): Likewise.
10132 (ufs_mod_LDFLAGS): Likewise.
10133 (ufs1_mod_SOURCES): New variable.
10134 (ufs1_mod_CFLAGS): Likewise.
10135 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 10136 (ufs2_mod_SOURCES): New variable.
10137 (ufs2_mod_CFLAGS): Likewise.
10138 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 10139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10140 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10141 Likewise.
10142 (grub_emu_SOURCES): Likewise.
10143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10145 (grub_setup_SOURCES): Likewise.
10146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10147 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10148 (grub_setup_SOURCES): Likewise.
10149 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10150 Likewise.
10151 * fs/ufs2.c: New file.
10152 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10153
d3539132 101542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 Framebuffer split.
10157
10158 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10159 subsystem at the end.
10160 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10161 (video_fb_mod_SOURCES): New variable.
10162 (video_fb_mod_CFLAGS): Likewise.
10163 (video_fb_mod_LDFLAGS): Likewise.
10164 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10165 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10166 * video/i386/pc/vbeblit.c: Moved from here ...
10167 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10168 * video/i386/pc/vbefill.c: Moved from here ...
10169 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10170 * video/i386/pc/vbeutil.c: Moved from here ...
10171 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10172 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10173 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10174 * include/grub/i386/pc/vbefill.h: Moved from here ...
10175 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10176 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10177 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10178 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10179 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10180 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10181 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10182 (grub_video_adapter): Added 'get_info_and_fini'.
10183 (grub_video_get_info_and_fini): New prototype.
10184 (grub_video_set_mode): make modestring const char *.
10185 * loader/i386/linux.c (grub_linux_setup_video): Use
10186 grub_video_get_info_and_fini.
10187 (grub_linux_boot): Move modesetting just before booting.
10188 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10189 grub_video_get_info_and_fini.
10190 * video/i386/pc/vbe.c: Moved framebuffer part ...
10191 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10192 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10193 grub_video_fbstd_colors and grub_video_fb_set_palette.
10194 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10195 grub_video_fb_init.
10196 (grub_video_vbe_fini): Use grub_video_fb_fini.
10197 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10198 render_target and use grub_video_fb_set_active_render_target and
10199 grub_video_fb_set_palette.
10200 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10201 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10202 (grub_video_vbe_adapter): Use framebuffer.
10203 * video/video.c (grub_video_get_info_and_fini): New function.
10204 (grub_video_set_mode): Make modestring const char *.
10205 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10206 values are already initialised.
10207
d404ee56 102082009-08-14 Pavel Roskin <proski@gnu.org>
10209
10210 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10211 ABS and APPLE_CC.
10212 * boot/i386/pc/diskboot.S: Likewise.
10213 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10214 sectors allow compilation on MacOSX.
10215 * conf/i386-pc.rmk: Enable unconditional compilation of
10216 lnxboot.img.
10217
9a10df16 102182009-08-13 Colin Watson <cjwatson@ubuntu.com>
10219
10220 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10221 * util/grub.d/00_header.in: Enter interruptible sleep if
10222 GRUB_HIDDEN_TIMEOUT is set.
10223
be3c9ca7 102242009-08-13 Yves Blusseau <blusseau@zetam.org>
10225
10226 * include/grub/symbol.h: Add the LOCAL macro.
10227 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10228 starting with "L_".
10229
1f9e557e 102302009-08-13 Pavel Roskin <proski@gnu.org>
10231
9ca62843 10232 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10233 any modern compilers we support.
10234
1f9e557e 10235 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10236 Use local labels starting with "L_" so that Apple assembler
10237 knows they are local.
10238
81623db6 102392009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10240
10241 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10242 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10243 (bsd_kernel_types): ... this enum.
10244
10245 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10246 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10247 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10248
10249 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10250 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10251 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10252 messages.
10253
f5d35e7a 102542009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10255
10256 * util/grub-dumpdevtree: Moved from here ...
10257 * util/i386/efi/grub-dumpdevtree: ... to here.
10258 (hexify): New function. Converts a string to its hex version.
10259 Generate hex versions of "efi" and "device-properties" by calling
10260 hexify() on the ASCII strings rather than by hardcoding numbers.
10261
d1e1d527 102622009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10263
10264 * fs/jfs.c: Update copyright year.
10265
1ebbe064 102662009-08-08 Felix Zielcke <fzielcke@z-51.de>
10267
10268 * util/grub.d/00_header.in: Fix a comment.
10269 * util/grub.d/10_linux.in: Likewise.
10270 * util/grub.d/10_windows.in: Likewise.
10271 * util/grub.d/10_hurd.in: Likewise.
10272
a78c8d24 102732009-08-08 Felix Zielcke <fzielcke@z-51.de>
10274
10275 * util/grub-mkconfig.in: Allow the user to specify the used font
10276 with GRUB_FONT.
10277
29a6b9e8 102782009-08-08 Pavel Roskin <proski@gnu.org>
10279
b5f16cc4 10280 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10281 available, xfs.mod needs it now.
10282
2f5cb827 10283 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10284 the "g" modifier in sed when the intention is to strip something
10285 once. This fixes comparison of kernels with multiple dashes.
10286
29a6b9e8 10287 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10288 on it. Add missing space before closing bracket. Fix
10289 misleading formatting.
10290
892a3d98 102912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10292
10293 * docs/grub.texi: Major overhaul. Remove all sections that are
10294 specific to GRUB Legacy, or mostly composed of Legacy-specific
10295 information.
10296
ed94253f 102972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10298
10299 * docs/version.texi: New file. Provides version information for
10300 grub.texi.
10301
126d6628 103022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10303
10304 * docs/grub.texi: Update CVS information to SVN.
10305 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10306
998b5aa9 103072009-08-07 Felix Zielcke <fzielcke@z-51.de>
10308
10309 * util/grub-mkconfig.in: Remove a wrong `fi'.
10310
818e094a 103112009-08-07 Felix Zielcke <fzielcke@z-51.de>
10312
10313 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10314 (grub_jfs_uuid): New function.
10315 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10316
b969c52f 103172009-08-07 Felix Zielcke <fzielcke@z-51.de>
10318
10319 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10320 of it to ...
10321 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10322 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10323
7a4894cc 103242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10325
10326 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10327 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10328 Update all users.
10329
10330 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10331 not just "vmlinu[zx]".
10332 Moved from here ...
10333 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10334 all users.
10335
10336 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10337 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10338 all users.
10339
4e2171f8 103402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10341
10342 * util/grub.d/10_freebsd.in: Use an absolute device path for
10343 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10344
6dcfcb32 103452009-08-06 Felix Zielcke <fzielcke@z-51.de>
10346
10347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10348 handling of multiple abstraction modules.
10349
f56a8756 103502009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10351
10352 Fix a bug resulting in black screen when loading Linux using a
10353 packed video mode.
10354
10355 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10356 function.
10357
10358 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10359 (grub_vbe_bios_getset_dac_palette_width): New function.
10360 (grub_vbe_bios_get_dac_palette_width)
10361 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10362 grub_vbe_bios_getset_dac_palette_width()).
10363
10364 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10365 check for return status.
10366 (grub_vbe_get_video_mode_info): When getting information for a packed
10367 mode (<= 8 bpp), obtain DAC palette width using
10368 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10369 {red,green,blue}_mark_size.
10370
222671b2 103712009-08-04 Felix Zielcke <fzielcke@z-51.de>
10372
ecb1a6d9 10373 * commands/search.c (options): Fix help output to match actual code.
222671b2 10374
f84114f5 103752009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10378 of homegrown code.
10379
bd288a20 103802009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 10381
10382 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10383 on XFS or ReiserFS.
10384
8aab5e25 103852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 Support Apple partition map with sector size different from 512 bytes.
10388
10389 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10390 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10391 and 'apart.partmap_size'.
10392
6ad6258a 103932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
103942009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10395
10396 Fix cpuid command.
10397
10398 * commands/i386/cpuid.c (options): New variable.
10399 (grub_cmd_cpuid): Return real error.
10400 (GRUB_MOD_INIT(cpuid)): Declare options.
10401
67459bc6 104022009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10405 valid.
10406
fbc6ab54 104072009-07-31 Bean <bean123ch@gmail.com>
10408
10409 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10410 log2_inode.
10411 (grub_fshelp_node): Move inode field to the end.
10412 (grub_xfs_data): Remove inode field.
10413 (grub_xfs_inode_block): Calculate inode size using sblock.
10414 (grub_xfs_inode_offset): Likewise.
10415 (grub_xfs_read_inode): Calculate inode size using sblock.
10416 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10417 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10418 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10419 to match inode size.
10420 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10421 not accessible when data is null.
10422 (grub_xfs_open): Likewise.
10423
f45d6cfc 104242009-07-31 Bean <bean123ch@gmail.com>
10425
10426 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10427 Don't change pv->disk if it's already set.
10428
10429 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10430 (grub_raid_register): ... here.
10431 (grub_raid_rescan): Removed.
10432
10433 * include/grub/raid.h (grub_raid_rescan): Removed.
10434
10435 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10436 (fstest): Replace grub_raid_rescan with module fini function followed
10437 by init function.
10438
10439 * util/grub-probe.c: Add include file <grub/raid.h>.
10440 (probe_raid_level): New function.
10441 (probe): Detect abstraction by walking the disk device, support two
10442 level of abstraction (LVM on RAID) when detecting partition map.
10443
24443b5a 104442009-07-31 Pavel Roskin <proski@gnu.org>
10445
10446 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10447 to grub_zalloc(), it was erroneous.
10448 Reported by Bean <bean123ch@gmail.com>
10449
a275d9e7 104502009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 10453 embedding zone, not only the first one.
a275d9e7 10454
56c5a47f 104552009-07-29 Joe Auricchio <jauricchio@gmail.com>
10456
10457 * term/gfxterm.c (clear_char): New function.
10458 (grub_virtual_screen_setup): Use clear_char.
10459 (scroll_up): Likewise.
10460 (grub_virtual_screen_cls): Likewise.
10461
67bb323a 104622009-07-29 Felix Zielcke <fzielcke@z-51.de>
10463
10464 * util/deviceiter.c (get_acceleraid_disk_name): New static
10465 function.
10466 (grub_util_iterate_devices): Handle Accelraid devices.
10467 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10468
388a7c75 104692009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10470
10471 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10472 separator for the suggested gfxpayload string (';' collides with the
10473 parser and needs escaping).
10474
3bb7abcf 104752009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10478 Clear direction flag before jumping to OS.
10479 (grub_multiboot2_real_boot): Likewise.
10480
2ddd36d7 104812009-07-28 Felix Zielcke <fzielcke@z-51.de>
10482
10483 * util/i386/pc/grub-install: Fix parsing of --disk-module
10484 option.
10485
c521b62b 104862009-07-28 Felix Zielcke <fzielcke@z-51.de>
10487
10488 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10489 when embedding.
10490
880e0a0c 104912009-07-26 Felix Zielcke <fzielcke@z-51.de>
10492
10493 * util/grub-mkconfig.in (package_version): New variable.
10494 Use it do display the version.
10495
2366e356 104962009-07-25 Felix Zielcke <fzielcke@z-51.de>
10497
10498 * kern/file.c (grub_file_open): Revert to previous check with
10499 grub_errno.
10500
7ad8c80e 105012009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10504 from help line. It's out of sync with code.
10505
72b9658b 105062009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10509 entries on failed boot.
10510
77435277 105112009-07-25 Felix Zielcke <fzielcke@z-51.de>
10512
10513 * kern/file.c (grub_file_open): Fix an error check.
10514
fcaa8b21 105152009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10516
35d16c74 10517 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10518 partition map couldn't be identified.
fcaa8b21 10519
48904cd1 105202009-07-23 Pavel Roskin <proski@gnu.org>
10521
ef3c317f 10522 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10523 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10524 case of little endian words becomes just an optimization.
10525 Respect const modifier.
ad8ea1f4 10526 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 10527
48904cd1 10528 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10529 to avoid loss of upper bits if align is unsigned and shorter
10530 than addr.
10531
260c9a89 105322009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 UUID support for UFS
10535
10536 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10537 (grub_ufs_uuid): New function.
10538 (grub_ufs_fs): add .uuid
10539
f76ce889 105402009-07-21 Pavel Roskin <proski@gnu.org>
10541
10542 * kern/dl.c (grub_dl_check_header): Make static.
10543
6a6cbcaf 105442009-07-21 Felix Zielcke <fzielcke@z-51.de>
10545
10546 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10547 add drivemap for Vista. It breaks Windows 7.
10548
cffcddb2 105492009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10552 128 bytes
10553
1ef44b80 105542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 Add BFS support
10557
10558 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10559 (grub_fstest_SOURCES): Likewise.
10560 (pkglib_MODULES): Add befs.mod.
10561 (befs_mod_SOURCES): New variable.
10562 (befs_mod_CFLAGS): Likewise.
10563 (befs_mod_LDFLAGS): Likewise.
10564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10565 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10568 (grub_setup_SOURCES): Likewise.
10569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10570 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10571 (grub_setup_SOURCES): Likewise.
10572 * fs/befs.c: New file.
10573 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10574 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10575 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10576 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10577 (B_KEY_INDEX_ALIGN): New declaration.
10578 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10579 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10580 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10581 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10582 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10583 (grub_afs_mount) [MODE_BFS]: Likewise.
10584 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10585 (grub_afs_fs): Use GRUB_AFS_FSNAME
10586 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10587 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10588 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10589 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10590
4f253044 105912009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10592
10593 * util/getroot.c (find_root_device): Add support for MacOSX.
10594 * util/hostdisk.c: Likewise.
10595
57a55913 105962009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * font/font.c (find_glyph): Check whether a font is present to avoid
10599 segmentation fault.
75421ca9 10600
106012009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 10602
10603 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10604
e98cd0c2 106052009-07-20 Pavel Roskin <proski@gnu.org>
10606
10607 * configure.ac: Trim excessively wordy excuses.
10608
1d2d169a 106092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 Add symlink, mtime and label support to AtheFS.
10612
10613 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10614 (grub_afs_iterate_dir): Handle symlinks.
10615 (grub_afs_open): Use grub_afs_read_symlink.
10616 (grub_afs_dir): Likewise.
10617 Pass mtime.
10618 (grub_afs_label): New function.
10619 (grub_afs_fs): Add grub_afs_label.
10620 (grub_afs_read_symlink): New function.
10621
186f3189 106222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 Fix AtheFS support.
10625
10626 * fs/afs.c: Fix comments style.
10627 (grub_afs_blockrun): Declare as packed.
10628 (grub_afs_datastream): Likewise.
10629 (grub_afs_bnode): Likewise.
10630 (grub_afs_btree): Likewise.
10631 (grub_afs_sblock): Likewise.
10632 Declare `name' as char.
10633 (grub_afs_inode): Declare as packed.
10634 Change void *vnode to grub_uint32_t unused.
10635 (grub_afs_iterate_dir): Check that key_size is positive.
10636 (grub_afs_mount): Don't read superblock twice.
75421ca9 10637 (grub_afs_dir): Don't free node in case of error,
186f3189 10638 grub_fshelp_find_file already handles this.
10639 (grub_afs_open): Likewise.
10640
5680109e 106412009-07-19 Pavel Roskin <proski@gnu.org>
10642
10643 * Makefile.in: Remove LIBLZO and enable_lzo.
10644 * conf/i386-pc.rmk: Remove lzo support.
10645 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10646 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10647 support.
10648 * kern/i386/pc/lzo1x.S: Remove.
10649 * kern/i386/pc/startup.S: Remove lzo support.
10650 * util/i386/pc/grub-mkimage.c: Likewise.
10651
ac70fa32 106522009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10655 * fs/xfs.c (grub_xfs_dir): Likewise.
10656 * fs/afs.c (grub_afs_dir): Likewise.
10657 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10658 (grub_iso9660_open): Likewise.
10659 * fs/jfs.c (grub_jfs_open): Likewise.
10660 * fs/ext2.c (grub_ext2_dir): Likewise.
10661 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10662 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 10663
eab58da2 106642009-07-16 Pavel Roskin <proski@gnu.org>
10665
d2838156 10666 * configure.ac: Never add "-c" to CFLAGS.
10667
55c70904 10668 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10669
43e6200c 10670 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10671 grub_cv_cc_efiemu should be used.
10672
ce7a733d 10673 * configure.ac: Typo fixes.
10674
eab58da2 10675 * kern/mm.c (grub_zalloc): New function.
10676 (grub_debug_zalloc): Likewise.
10677 * include/grub/mm.h: Declare grub_zalloc() and
10678 grub_debug_zalloc().
10679 * util/misc.c (grub_zalloc): New function.
10680 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10681 instead of grub_malloc(), remove unneeded initializations.
10682 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10683 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10684 * commands/parttool.c (grub_cmd_parttool): Likewise.
10685 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10686 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10687 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10688 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10689 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10690 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10691 (grub_cmd_efiemu_pnvram): Likewise.
10692 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10693 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10694 (grub_iso9660_iterate_dir): Likewise.
10695 * fs/jfs.c (grub_jfs_opendir): Likewise.
10696 * fs/ntfs.c (list_file): Likewise.
10697 (grub_ntfs_mount): Likewise.
10698 * kern/disk.c (grub_disk_open): Likewise.
10699 * kern/dl.c (grub_dl_load_core): Likewise.
10700 * kern/elf.c (grub_elf_file): Likewise.
10701 * kern/env.c (grub_env_context_open): Likewise.
10702 (grub_env_set): Likewise.
10703 (grub_env_set_data_slot): Likewise.
10704 * kern/file.c (grub_file_open): Likewise.
10705 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10706 * loader/i386/multiboot.c (grub_module): Likewise.
10707 * loader/xnu.c (grub_xnu_create_key): Likewise.
10708 (grub_xnu_create_value): Likewise.
10709 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10710 (read_config_file): Likewise.
10711 * normal/menu_entry.c (make_screen): Likewise.
10712 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10713 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10714 * script/sh/script.c (grub_script_parse): Likewise.
10715 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10716 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10717 * video/readers/png.c (grub_png_output_byte): Likewise.
10718 (grub_video_reader_png): Likewise.
10719
830afef7 107202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 10721
10722 Enable all targets that can be built by default
10723
830afef7 10724 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 10725 grub-mkfont and grub-fstest if they can be built
10726
ee293aee 107272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Fix hang and segmentation fault in grub-emu-usb
10730
10731 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10732 * util/usb.c (grub_libusb_devices): likewise
10733 (grub_libusb_init): rename to ...
10734 (GRUB_MOD_INIT (libusb)):...this
10735 (grub_libusb_fini): rename to ..
10736 (GRUB_MOD_FINI (libusb)):...this
10737 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10738 * include/grub/disk.h (grub_raid_init): removed, it's useless
10739 (grub_raid_fini): likewise
10740 (grub_lvm_init): likewise
10741 (grub_lvm_fini): likewise
10742 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10743 by grub_init_all
10744
94414221 107452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 Fix libusb
10748
10749 * Makefile.in (LIBUSB): new macro
10750 * genmk.rb (Utility/print_tail): new method
10751 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10752 (top level): call util.print_tail at the end.
10753
59ade63d 107542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 Make FreeBSD accept zpool.cache
10757
10758 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10759 type is /boot/zfs/zpool.cache
10760
a58da8c7 107612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Fix 64-bit efiemu
10764
10765 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10766 correct wrong typedef
10767 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10768
20591577 107692009-07-15 Pavel Roskin <proski@gnu.org>
10770
560ca572 10771 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10772 * kern/disk.c (struct grub_disk_cache): Likewise.
10773
e8e8e4fd 10774 * commands/probe.c (options): Typo fix.
10775
fde24e10 10776 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10777 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10778 accordingly.
10779 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10780
379c54c1 10781 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10782 the end of "Error" to make the message more readable.
10783
7bd8f5bf 10784 * boot/i386/pc/boot.S (kernel_segment): Remove.
10785 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10786 for destination.
10787
40b132c5 10788 * boot/i386/pc/boot.S (boot_version): Remove.
10789 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10790 Remove.
10791
20591577 10792 * include/grub/i386/pc/boot.h: Sort all offsets.
10793 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10794 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10795 * boot/i386/pc/boot.S: Assert location of every offset listed in
10796 include/grub/i386/pc/boot.h.
10797
2df32b2c 107982009-07-13 Pavel Roskin <proski@gnu.org>
10799
44b5d879 10800 * include/grub/i386/coreboot/machine.h: Rename
10801 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10802 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10803 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10804
17dc3751 10805 * kern/dl.c: Force native word size to suppress warnings when
10806 compiling grub-emu.
10807
2df32b2c 10808 * kern/device.c (grub_device_iterate): Change struct part_ent to
10809 hold the name, not a pointer to it. Use one grub_malloc() per
10810 partition, not two. Free partition_name if grub_malloc() fails.
10811 Set ents to NULL only before grub_partition_iterate() is called.
10812
75c59f59 108132009-07-11 Bean <bean123ch@gmail.com>
10814
10815 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10816 childname.
10817
0ae1bf88 108182009-07-10 Bean <bean123ch@gmail.com>
108192009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10820
10821 * kern/ieee1275/openfw.c (grub_children_iterate)
10822 (grub_devalias_iterate): Fix size evaluation for property or path
10823 strings, which was broken since r2132.
10824
8279cade 108252009-07-07 Pavel Roskin <proski@gnu.org>
10826
7d8a52d3 10827 * commands/search.c (search_file): Merge into ...
10828 (search_fs): ... this. Accept search type as argument.
10829 (grub_cmd_search): Pass search type to search_fs().
10830
25f9a05a 10831 * include/grub/util/console.h: New file.
10832 * util/console.c: Use it instead of grub/machine/console.h.
10833 * util/grub-emu.c: Likewise.
10834
8279cade 10835 * lib/arg.c (find_long_option): Remove.
10836 (find_long): Add `len' argument, make `s' const char *.
10837 (grub_arg_parse): Parse long options in place, not in a
10838 temporary buffer.
10839
4a11b60f 108402009-07-06 Pavel Roskin <proski@gnu.org>
10841
99f68041 10842 * commands/search.c (search_fs): Fix potential NULL pointer
10843 dereference.
10844
4a11b60f 10845 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10846 function pointer.
10847
e110f4de 108482009-07-06 Daniel Mierswa <impulze@impulze.org>
10849
10850 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10851 comparison.
10852
46eeb6a2 108532009-07-05 Pavel Roskin <proski@gnu.org>
10854
bab74958 10855 * include/grub/i386/linux.h (struct linux_kernel_params):
10856 Restore padding3, it's still needed.
10857
46eeb6a2 10858 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10859 FreeBSD.
10860 * util/osdetect.lua: Likewise.
10861
b4a1dc79 108622009-07-05 Bean <bean123ch@gmail.com>
10863
10864 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10865
10866 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10867 (grub_lua_getenv): Likewise.
10868 (grub_lua_setenv): Likewise.
10869 (save_errno): New function.
10870 (push_result): Likewise.
10871 (grub_lua_enum_device): Likewise.
10872 (grub_lua_enum_file): Likewise.
10873 (grub_lua_file_open): Likewise.
10874 (grub_lua_file_close): Likewise.
10875 (grub_lua_file_seek): Likewise.
10876 (grub_lua_file_read): Likewise.
10877 (grub_lua_file_getline): Likewise.
10878 (grub_lua_file_getsize): Likewise.
10879 (grub_lua_file_getpos): Likewise.
10880 (grub_lua_file_eof): Likewise.
10881 (grub_lua_file_exist): Likewise.
10882 (grub_lua_add_menu): Likewise.
10883
10884 * script/lua/grub_lua.h (isupper): New inline function.
10885 (islower): Likewise.
10886 (ispunct): Likewise.
10887 (isxdigit): Likewise.
10888 (strcspn): Change to normal function.
10889 (strpbkr): New function declaration.
10890 (memchr): Likewise.
10891
10892 * script/lua/grub_main.c (scan_str): New function.
10893 (strcspn): Likewise.
10894 (strpbrk): Likewise.
10895 (memchr): Likewise.
10896
10897 * script/lua/linit.c (lualibs): Enable the string library.
10898
10899 * util/osdetect.lua: New file.
10900
2da92295 109012009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10902
10903 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10904 `capabilities' member.
10905
b2582ec9 109062009-07-02 Pavel Roskin <proski@gnu.org>
10907
10908 * genparttoollist.sh: Add missing newline at the end.
10909
32622956 109102009-07-01 Pavel Roskin <proski@gnu.org>
10911
87a7339e 10912 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10913
d23af54e 10914 * util/hostdisk.c (open_device): Remove `const' from
10915 `sysctl_size', as sysctlbyname() can change it (in this case it
10916 doesn't actually happen).
10917
c94b18a9 10918 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10919 using signed long int constants.
10920
c6cd3ef0 10921 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10922 constant to avoid a warning on FreeBSD.
10923
0df63420 10924 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10925 where it's needed.
10926
999577f1 10927 * Makefile.in: Install include/grub/machine symlink.
10928
6f41557f 10929 * Makefile.in: When installing symlinks, use "cp -fR", which
10930 works on FreeBSD and MacOSX.
10931 From Yves Blusseau <cl7m42e02@sneakemail.com>
10932
c8d22988 10933 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10934 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10935
1b96e952 10936 * util/misc.c: Move grub_reboot() and grub_halt() ...
10937 * util/grub-emu.c: ... here. Make main_env static.
10938 * include/grub/util/misc.h: Remove main_env.
10939
2ef0084d 10940 * kern/mm.c: Use correct format to print size_t.
10941
32622956 10942 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10943 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10944 * kern/powerpc/dl.c: Likewise.
10945 * kern/sparc64/dl.c: Likewise.
10946 * kern/x86_64/dl.c: Likewise.
10947
3f7f0cd0 109482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10949
10950 Fix grub-emu build on sparc64-ieee1275.
10951
75421ca9 10952 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 10953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10954
211d06b5 109552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10956
10957 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10958 (grub_reboot, grub_halt): New functions.
10959
10960 * util/i386/pc/misc.c: Delete. Update all users.
10961 * util/sparc64/ieee1275/misc.c: Likewise.
10962 * util/powerpc/ieee1275/misc.c: Likewise.
10963
aaf53e3c 109642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10965
10966 * conf/i386.rmk (setjmp_mod_SOURCES)
10967 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10968 * conf/common.rmk (setjmp_mod_SOURCES)
10969 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10970 to use $(target_cpu).
10971 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10972 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10973 * conf/powerpc-ieee1275.rmk: Likewise.
10974 * conf/sparc64-ieee1275.rmk: Likewise.
10975
10976 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10977 $(target_cpu) for kern/$(target_cpu)/dl.c.
10978 * conf/i386-efi.rmk: Likewise.
10979 * conf/i386-ieee1275.rmk: Likewise.
10980 * conf/x86_64-efi.rmk: Likewise.
10981 * conf/i386-coreboot.rmk: Likewise.
10982 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10983 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10984 kern/$(target_cpu)/cache.S.
10985 * conf/sparc64-ieee1275.rmk: Likewise.
10986
a337130b 109872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10988
10989 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10990 type to `grub_uint8_t', and adjust `padding9' accordingly.
10991
c6fe4d53 109922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10993
b09db61d 10994 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10995
c6fe4d53 10996 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10997 assembly in final jump, using register constraints.
10998
b09db61d 10999 (grub_linux_boot): For text mode, initialize `have_vga' using
11000 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11001
11002 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11003 right before the final jump.
11004
11005 Set `video_mode' to 0x3.
11006
11007 Document initialization of `video_page', `video_mode' and
11008 `video_ega_bx'.
11009
28333ad0 110102009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11011
11012 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11013 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 11014 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 11015
02164e1b 110162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11017
11018 Fix build on Debian / sparc.
11019
11020 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11021
18b6c557 110222009-06-28 Pavel Roskin <proski@gnu.org>
11023
85f2aab6 11024 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11025 fix a warning.
11026
18b6c557 11027 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11028
ad760f81 110292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11030
11031 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11032 `err'.
11033
87a4623b 110342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11035
11036 Revert r2338.
11037
11038 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11039 file can't be opened. grub_file_open() is already supposed to set
75421ca9 11040 grub_errno / grub_errmsg appropriately.
87a4623b 11041 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11042
8231fb77 110432009-06-27 Pavel Roskin <proski@gnu.org>
110442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11045
11046 * include/grub/dl.h: Include grub/elf.h.
11047 (struct grub_dl): Add symtab field.
11048 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11049 GRUB_MODULES_MACHINE_READONLY.
11050 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11051 of the header for read-only modules.
11052 (grub_dl_unload): Free mod->symtab for read-only modules.
11053 * kern/i386/dl.c: Use mod->symtab.
11054 * kern/powerpc/dl.c: Likewise.
11055 * kern/sparc64/dl.c: Likewise.
11056 * kern/x86_64/dl.c: Likewise.
11057
11058 * conf/i386-qemu.rmk: New file.
11059 * kern/i386/qemu/startup.S: Likewise.
11060 * kern/i386/qemu/mmap.c: Likewise.
11061 * boot/i386/qemu/boot.S: Likewise.
11062 * include/grub/i386/qemu/time.h: Likewise.
11063 * include/grub/i386/qemu/serial.h: Likewise.
11064 * include/grub/i386/qemu/kernel.h: Likewise.
11065 * include/grub/i386/qemu/console.h: Likewise.
11066 * include/grub/i386/qemu/boot.h: Likewise.
11067 * include/grub/i386/qemu/init.h: Likewise.
11068 * include/grub/i386/qemu/machine.h: Likewise.
11069 * include/grub/i386/qemu/loader.h: Likewise.
11070 * include/grub/i386/qemu/memory.h: Likewise.
11071
11072 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11073 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11074 [qemu] (pkglib_IMAGES): Add `boot.img'.
11075 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11076 [qemu] (boot_img_FORMAT): New variables.
11077 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11078 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11079 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11080 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11081 [qemu] (kernel_img_FORMAT): New variables.
11082
11083 * configure.ac: Recognise `i386-qemu'.
11084
11085 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11086 (for no compression).
11087 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11088 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11089 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11090 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11091 ifdefs).
11092
97fe384e 110932009-06-27 Pavel Roskin <proski@gnu.org>
11094
11095 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11096 read.
11097 * efiemu/prepare32.c: Likewise.
11098 * efiemu/prepare64.c: Likewise.
11099
c402ab17 111002009-06-26 Pavel Roskin <proski@gnu.org>
11101
11102 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11103 * include/grub/elf.h: Define symbols without "32" or "64" based
11104 on GRUB_TARGET_WORDSIZE.
11105 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11106 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11107 ELF definitions.
11108 * efiemu/loadcore64.c: Likewise.
11109 * loader/i386/bsd32.c: Likewise.
11110 * loader/i386/bsd64.c: Likewise.
11111 * kern/dl.c: Remove own ELF definitions.
11112 * util/i386/efi/grub-mkimage.c: Likewise.
11113
9bbdfd4d 111142009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11115
11116 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11117 segment 0x0 unconditionally, because the reference generated by
11118 GAS is an absolute address.
11119
a42ce6e9 111202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11121
11122 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11123 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11124
c952cf92 111252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11126
11127 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11128 indexes. Check for -f explicitly.
cc3752ad 11129 (search_file): Improve error message.
11130 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 11131
132a0a59 111322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11133
11134 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11135 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11136
387a140c 111372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11138
11139 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11140 * conf/i386-ieee1275.rmk: Likewise.
11141 * conf/i386-coreboot.rmk: Likewise.
11142
11143 * kern/i386/pc/startup.S (grub_stop): Remove function.
11144 * kern/i386/ieee1275/startup.S: Likewise.
11145 * kern/i386/coreboot/startup.S: Likewise.
11146 * kern/i386/misc.S (grub_stop): New function.
11147
41da9665 111482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11149
11150 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11151 * kern/i386/realmode.S (real_to_prot): ... to here.
11152
bf337234 111532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11154
11155 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11156 with `kernel.img'.
11157 (kernel_elf_SOURCES): Rename to ...
11158 (kernel_img_SOURCES): ... this.
11159 (kernel_elf_HEADERS): Rename to ...
11160 (kernel_img_HEADERS): ... this. Update all users.
11161 (kernel_elf_ASFLAGS): Rename to ...
11162 (kernel_img_ASFLAGS): ... this.
11163 (kernel_elf_CFLAGS): Rename to ...
11164 (kernel_img_CFLAGS): ... this.
11165 (kernel_elf_LDFLAGS): Rename to ...
11166 (kernel_img_LDFLAGS): ... this.
11167 * conf/i386-coreboot.rmk: Likewise.
11168 * conf/powerpc-ieee1275.rmk: Likewise.
11169
11170 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11171 with "kernel.img".
11172
f52196ff 111732009-06-21 Pavel Roskin <proski@gnu.org>
11174
c3cee413 11175 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11176 to match nested functions.
11177 * loader/sparc64/ieee1275/linux.c: Likewise.
11178
f52196ff 11179 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11180
58750afc 111812009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11182
11183 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11184 all i386 platforms.
11185
15355c7d 111862009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11187
11188 Fix asm file handling on ELF, and remove workarounds.
11189
11190 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 11191 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 11192 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11193 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11194
3f3ec72b 111952009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 Load BSD ELF modules
11198
11199 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11200 and loader/i386/bsd64.c
11201 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11202 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11203 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11204 (grub_freebsd_load_elfmodule32): New declaration
11205 (grub_freebsd_load_elfmoduleobj64): Likewise
11206 (grub_freebsd_load_elf_meta32): Likewise
11207 (grub_freebsd_load_elf_meta64): Likewise
11208 (grub_freebsd_add_meta): Likewise
11209 (grub_freebsd_add_meta_module): Likewise
11210 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11211 (grub_freebsd_add_meta_module): Likewise and move module-specific
11212 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11213 (grub_cmd_freebsd): Add elf-kernel specific parts
11214 based on grub_freebsd_add_meta_module
11215 (grub_cmd_freebsd_module): Add type parsing moved from
11216 grub_freebsd_add_meta_module
11217 (grub_cmd_freebsd_module_elf): New function
11218 (cmd_freebsd_module_elf): New variable
11219 (GRUB_MOD_INIT): Register freebsd_module_elf
11220 * loader/i386/bsd32.c: New file
11221 * loader/i386/bsd64.c: Likewise
11222 * loader/i386/bsdXX.c: Likewise
11223 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11224 (grub_elf64_load): Likewise
11225 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11226 All users updated
11227 (grub_elf64_load_hook_t): Likewise
11228
0db15301 112292009-06-21 Colin Watson <cjwatson@ubuntu.com>
11230
11231 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11232 variable.
11233 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11234 don't write a menu entry for recovery mode.
11235
546796c1 112362009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11237
11238 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11239 after it's no longer needed.
11240
cd7310d5 112412009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11242
11243 * include/grub/i386/loader.h (grub_linux_prot_size)
11244 (grub_linux_tmp_addr, grub_linux_real_addr)
11245 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11246 GRUB_MACHINE_PCBIOS.
11247 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11248 common grub_util_info() call to ...
11249 (generate_image): ... here.
11250 Fix use of uninitialized memory, comparison of signed with
11251 unsigned integers and memory leak.
11252 Remove bogus module address message.
11253
ab32d3b5 112542009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11257 grub_raid_register
11258 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11259
024ef597 112602009-06-19 Pavel Roskin <proski@gnu.org>
11261
11262 * configure.ac: Remove stray AC_MSG_CHECKING.
11263
3ac72b51 112642009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 11267
e14cd814 112682009-06-18 Pavel Roskin <proski@gnu.org>
11269
11270 * conf/common.rmk: Add fs_file.mod.
11271 * disk/fs_file.c: New file.
11272 * include/grub/disk.h (enum grub_disk_dev_id): Add
11273 GRUB_DISK_DEVICE_FILE_ID.
11274
26586d98 112752009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 Fix build with Apple's toolchain. Part 2
11278
11279 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11280 a fake start
11281
26de2bcd 112822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 Fix build with Apple's toolchain. Part 1
11285
11286 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11287 for long calls
11288 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 11289 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 11290 Apple's toolchain
11291
09b3490b 112922009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 Fix warnings
11295
11296 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11297 (decomp_block): initialize ch
11298 use grub_memcpy instead of memcpy
11299
c22a006a 113002009-06-17 Pavel Roskin <proski@gnu.org>
11301
d3638678 11302 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11303 version, use declarations needed to use vga_text as the startup
11304 console.
11305
c22a006a 11306 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11307 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11308 the kernel.
11309 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11310 and grub_at_keyboard_fini(), it's done on module load and
11311 unload.
11312
05b129e0 113132009-06-17 Felix Zielcke <fzielcke@z-51.de>
11314
11315 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11316 file can't be found.
11317 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11318
cf24ed9e 113192009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 Fix newline handling
11322
11323 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 11324 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 11325 (grub_script_yylex): don't segfault on unterminated script
11326 newline terminates command and variable
11327
74aa8e4b 113282009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 avoid double grub_adjust_range call. Bug reported by David Simner
11331
11332 * kern/disk.c (grub_disk_write): change to raw disk access before
11333 calling disk_read
11334
1bd265f3 113352009-06-17 Colin Watson <cjwatson@ubuntu.com>
11336
11337 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11338 spaces, for the benefit of help2man.
11339 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11340
a2d08c06 113412009-06-16 Pavel Roskin <proski@gnu.org>
11342
11343 * kern/i386/halt.c: Include grub/machine/init.h.
11344 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11345
b97bcb19 113462009-06-16 Felix Zielcke <fzielcke@z-51.de>
11347
11348 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11349 drivemap menuentry.
11350
0644f96c 113512009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11352
11353 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11354 `echo' command.
11355
3ef17a2e 113562009-06-16 Pavel Roskin <proski@gnu.org>
11357
11358 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11359 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11360 save %dx, we only need %dl and we never change it.
11361 * boot/i386/pc/cdboot.S: Don't set the root drive.
11362 * boot/i386/pc/pxeboot.S: Likewise.
11363 * include/grub/i386/pc/boot.h: Remove
11364 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11365 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11366 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11367 * kern/i386/pc/init.c (make_install_device): Remove references
11368 to grub_root_drive.
11369 * kern/i386/pc/startup.S: Likewise.
11370 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11371
693fe637 113722009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 xnu_uuid command
11375
11376 * commands/xnu_uuid.c: new file
11377 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11378 (xnu_uuid_mod_SOURCES): new variable
11379 (xnu_uuid_mod_CFLAGS): likewise
11380 (xnu_uuid_mod_LDFLAGS): likewise
11381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11382 * conf/i386-ieee1275.rmk: likewise
11383 * conf/i386-pc.rmk: likewise
11384 * conf/powerpc-ieee1275.rmk: likewise
11385 * conf/sparc64-ieee1275.rmk: likewise
11386 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11387
c9da87d0 113882009-06-16 Pavel Roskin <proski@gnu.org>
11389
11390 * configure.ac: Avoid '==' in test command, it's not portable.
11391
9c6f4596 113922009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 Probe command
11395
11396 * commands/probe.c: new file
11397 * conf/common.rmk (pkglib_MODULES): add probe.mod
11398 (probe_mod_SOURCES): new variable
11399 (probe_mod_CFLAGS): likewise
11400 (probe_mod_LDFLAGS): likewise
11401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11402 * conf/i386-ieee1275.rmk: likewise
11403 * conf/i386-pc.rmk: likewise
11404 * conf/powerpc-ieee1275.rmk: likewise
11405 * conf/sparc64-ieee1275.rmk: likewise
11406
70b7f9fd 114072009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Fix handling of string like \"hello\" and "a
11410 b"
11411
11412 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11413 (grub_script_yylex): fix parsing of quoting, escaping and newline
11414
71c79a6b 114152009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11416
dd74360c 11417 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 11418 handling
dd74360c 11419
0644f96c 114202009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 11421
11422 * util/grub-mkconfig.in: Fix parsing of --output option.
11423
e40893c3 114242009-06-12 Pavel Roskin <proski@gnu.org>
11425
11426 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11427 genmk.rb don't need to be generated or installed.
11428
3a1acfe2 114292009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * commands/i386/pc/drivemap_int13h.S: add more comments
11432
3a4575d4 114332009-06-11 Pavel Roskin <proski@gnu.org>
11434
0658e928 11435 * Makefile.in (uninstall): Uninstall manuals.
11436
ca0388f0 11437 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11438 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11439 and update-grub_lib in two places.
11440 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11441
e3b27c39 11442 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11443 a compiler warning.
11444
3a4575d4 11445 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11446 `entry_lo' to fix variable shadowing.
11447
af1f4f55 114482009-06-11 Christian Franke <franke@computer.org>
11449
11450 * kern/misc.c (__enable_execute_stack): Add missing return type
11451 to prevent gcc warning.
11452
5225e649 114532009-06-11 Felix Zielcke <fzielcke@z-51.de>
11454
11455 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11456
7d83bd47 114572009-06-11 Pavel Roskin <proski@gnu.org>
11458
c1cb63ba 11459 * Makefile.in: Don't rely on any scripts being executable.
11460 Always use $(SHELL) to run shell scripts.
11461
7d83bd47 11462 * configure.ac: Always define ___main if using -nostdlib. This
11463 fixes tests on Cygwin.
11464
948f48e7 114652009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11466
11467 UDF fix
11468
7d83bd47 11469 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 11470 is in bytes and not in blocks
7d83bd47 11471
8ada9bc1 114722009-06-11 Pavel Roskin <proski@gnu.org>
11473
11474 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11475 warning.
11476
25ad2323 114772009-06-11 Felix Zielcke <fzielcke@z-51.de>
11478
11479 * util/grub.d/30_os-prober.in: Fix a comment. Source
11480 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11481 to set the root device. Place drivemap command in the generated
11482 chain entry.
11483
e65acb0c 114842009-06-11 Pavel Roskin <proski@gnu.org>
11485
11486 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11487 have long been resolved.
11488
f285fe2d 114892009-06-11 Colin Watson <cjwatson@ubuntu.com>
11490
bd47b0b5 11491 * util/grub.d/10_linux.in: Capitalise "Linux".
11492
f285fe2d 11493 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11494
a0c62e4e 114952009-06-11 Pavel Roskin <proski@gnu.org>
11496
b6783cb2 11497 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11498 fix a gcc warning and ensure that the function won't ever exit.
11499
dde032e8 11500 * kern/i386/ieee1275/init.c: Add missing prototype for
11501 grub_stop_floppy().
11502
22cd079d 11503 * loader/ieee1275/multiboot2.c [__i386__]: Include
11504 grub/cpu/multiboot.h.
11505
a0c62e4e 11506 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11507 casts to short - they are not portable and cause warnings. Fix
11508 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11509
63963d17 115102009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 Drivemap fixes
11513
11514 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11515 new function
11516 (grub_get_root_biosnumber_saved): new variable
11517 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11518 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 11519 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 11520 %dx after the call if necessary
11521 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11522 (boot_mod_SOURCES): remove
11523 (boot_mod_CFLAGS): remove
11524 (boot_mod_LDFLAGS): remove
11525 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11526 (boot_mod_SOURCES): new variable
11527 (boot_mod_CFLAGS): likewise
11528 (boot_mod_LDFLAGS): likewise
11529 * conf/i386-efi.rmk: likewise
11530 * conf/i386-ieee1275.rmk: likewise
11531 * conf/i386-pc.rmk: likewise
11532 * conf/powerpc-ieee1275.rmk: likewise
11533 * conf/sparc64-ieee1275.rmk: likewise
11534 * conf/x86_64-efi.rmk: likewise
11535 * include/grub/i386/pc/biosnum.h: new file
11536 * lib/i386/pc/biosnum.c: likewise
11537 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11538 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11539 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 11540
33abf7ae 115412009-06-10 Pavel Roskin <proski@gnu.org>
11542
5ac35b35 11543 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11544 Use separate variables. Read only the file size at the end, but
11545 not the checksum that we don't use.
11546
5c5215d5 11547 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11548 Adjust all callers.
11549
27d5fef7 11550 * kern/ieee1275/openfw.c: Remove libc includes.
11551 * kern/ieee1275/cmain.c: Likewise.
11552 * include/grub/ieee1275/ieee1275.h: Likewise.
11553
33abf7ae 11554 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11555 compiler warnings.
11556
19d50c2b 115572009-06-10 Felix Zielcke <fzielcke@z-51.de>
11558
11559 * Makefile.in: Remove all trailing whitespace.
11560 * conf/i386-pc.rmk: Likewise.
11561 * conf/powerpc-ieee1275.rmk: Likewise.
11562 * conf/sparc64-ieee1275.rmk: Likewise.
11563 * docs/grub.texi: Likewise.
11564 * docs/texinfo.tex: Likewise.
11565 * disk/fs_uuid.c: Likewise.
11566 * disk/lvm.c: Likewise.
11567 * disk/scsi.c: Likewise.
11568 * disk/ata.c: Likewise.
11569 * disk/ieee1275/ofdisk.c: Likewise.
11570 * disk/i386/pc/biosdisk.c: Likewise.
11571 * disk/host.c: Likewise.
11572 * disk/raid.c: Likewise.
11573 * disk/efi/efidisk.c: Likewise.
11574 * disk/usbms.c: Likewise.
11575 * disk/memdisk.c: Likewise.
11576 * disk/loopback.c: Likewise.
11577 * kern/powerpc/dl.c: Likewise.
11578 * kern/device.c: Likewise.
11579 * kern/dl.c: Likewise.
11580 * kern/sparc64/dl.c: Likewise.
11581 * kern/ieee1275/ieee1275.c: Likewise.
11582 * kern/term.c: Likewise.
11583 * kern/fs.c: Likewise.
11584 * kern/i386/dl.c: Likewise.
11585 * kern/i386/pc/startup.S: Likewise.
11586 * kern/i386/pc/init.c: Likewise.
11587 * kern/i386/pc/mmap.c: Likewise.
11588 * kern/i386/pc/lzo1x.S: Likewise.
11589 * kern/i386/ieee1275/init.c: Likewise.
11590 * kern/i386/realmode.S: Likewise.
11591 * kern/i386/tsc.c: Likewise.
11592 * kern/partition.c: Likewise.
11593 * kern/corecmd.c: Likewise.
11594 * kern/file.c: Likewise.
11595 * kern/efi/efi.c: Likewise.
11596 * kern/efi/init.c: Likewise.
11597 * kern/efi/mm.c: Likewise.
11598 * kern/main.c: Likewise.
11599 * kern/err.c: Likewise.
11600 * kern/env.c: Likewise.
11601 * kern/disk.c: Likewise.
11602 * kern/generic/millisleep.c: Likewise.
11603 * kern/generic/rtc_get_time_ms.c: Likewise.
11604 * kern/misc.c: Likewise.
11605 * kern/parser.c: Likewise.
11606 * genmk.rb: Likewise.
11607 * configure.ac: Likewise.
11608 * boot/i386/pc/diskboot.S: Likewise.
11609 * boot/i386/pc/pxeboot.S: Likewise.
11610 * boot/i386/pc/boot.S: Likewise.
11611 * boot/i386/pc/lnxboot.S: Likewise.
11612 * boot/i386/pc/cdboot.S: Likewise.
11613 * parttool/pcpart.c: Likewise.
11614 * video/readers/tga.c: Likewise.
11615 * video/video.c: Likewise.
11616 * video/bitmap.c: Likewise.
11617 * lib/envblk.c: Likewise.
11618 * lib/i386/setjmp.S: Likewise.
11619 * fs/xfs.c: Likewise.
11620 * fs/afs.c: Likewise.
11621 * fs/fat.c: Likewise.
11622 * fs/ntfs.c: Likewise.
11623 * fs/udf.c: Likewise.
11624 * fs/affs.c: Likewise.
11625 * fs/iso9660.c: Likewise.
11626 * fs/hfs.c: Likewise.
11627 * fs/fshelp.c: Likewise.
11628 * fs/ext2.c: Likewise.
11629 * fs/jfs.c: Likewise.
11630 * fs/reiserfs.c: Likewise.
11631 * fs/hfsplus.c: Likewise.
11632 * fs/minix.c: Likewise.
11633 * fs/cpio.c: Likewise.
11634 * fs/sfs.c: Likewise.
11635 * fs/ufs.c: Likewise.
11636 * efiemu/prepare.c: Likewise.
11637 * efiemu/loadcore_common.c: Likewise.
11638 * efiemu/runtime/efiemu.sh: Likewise.
11639 * efiemu/runtime/efiemu.S: Likewise.
11640 * efiemu/runtime/efiemu.c: Likewise.
11641 * efiemu/pnvram.c: Likewise.
11642 * efiemu/main.c: Likewise.
11643 * efiemu/i386/pc/cfgtables.c: Likewise.
11644 * efiemu/i386/loadcore64.c: Likewise.
11645 * efiemu/i386/loadcore32.c: Likewise.
11646 * efiemu/loadcore.c: Likewise.
11647 * efiemu/symbols.c: Likewise.
11648 * efiemu/mm.c: Likewise.
11649 * include/grub/autoefi.h: Likewise.
11650 * include/grub/datetime.h: Likewise.
11651 * include/grub/term.h: Likewise.
11652 * include/grub/hfs.h: Likewise.
11653 * include/grub/lvm.h: Likewise.
11654 * include/grub/i386/tsc.h: Likewise.
11655 * include/grub/i386/linux.h: Likewise.
11656 * include/grub/i386/xnu.h: Likewise.
11657 * include/grub/i386/efiemu.h: Likewise.
11658 * include/grub/i386/pc/biosdisk.h: Likewise.
11659 * include/grub/i386/pc/memory.h: Likewise.
11660 * include/grub/i386/pc/vbe.h: Likewise.
11661 * include/grub/parttool.h: Likewise.
11662 * include/grub/video.h: Likewise.
11663 * include/grub/memory.h: Likewise.
11664 * include/grub/fs.h: Likewise.
11665 * include/grub/partition.h: Likewise.
11666 * include/grub/xnu.h: Likewise.
11667 * include/grub/efi/api.h: Likewise.
11668 * include/grub/efi/pe32.h: Likewise.
11669 * include/grub/efi/memory.h: Likewise.
11670 * include/grub/multiboot.h: Likewise.
11671 * include/grub/usbdesc.h: Likewise.
11672 * include/grub/multiboot2.h: Likewise.
11673 * include/grub/acpi.h: Likewise.
11674 * include/grub/efiemu/efiemu.h: Likewise.
11675 * include/grub/disk.h: Likewise.
11676 * include/grub/ieee1275/ieee1275.h: Likewise.
11677 * include/grub/net.h: Likewise.
11678 * include/grub/machoload.h: Likewise.
11679 * include/grub/macho.h: Likewise.
11680 * include/multiboot.h: Likewise.
11681 * genmoddep.awk: Likewise.
11682 * normal/main.c: Likewise.
11683 * normal/menu_entry.c: Likewise.
11684 * normal/menu_viewer.c: Likewise.
11685 * normal/completion.c: Likewise.
11686 * normal/cmdline.c: Likewise.
11687 * normal/misc.c: Likewise.
11688 * normal/datetime.c: Likewise.
11689 * bus/usb/usbtrans.c: Likewise.
11690 * bus/usb/ohci.c: Likewise.
11691 * bus/usb/uhci.c: Likewise.
11692 * bus/usb/usb.c: Likewise.
11693 * mmap/efi/mmap.c: Likewise.
11694 * mmap/i386/pc/mmap_helper.S: Likewise.
11695 * mmap/i386/pc/mmap.c: Likewise.
11696 * mmap/i386/mmap.c: Likewise.
11697 * mmap/i386/uppermem.c: Likewise.
11698 * mmap/mmap.c: Likewise.
11699 * commands/acpi.c: Likewise.
11700 * commands/echo.c: Likewise.
11701 * commands/blocklist.c: Likewise.
11702 * commands/loadenv.c: Likewise.
11703 * commands/usbtest.c: Likewise.
11704 * commands/boot.c: Likewise.
11705 * commands/parttool.c: Likewise.
11706 * commands/search.c: Likewise.
11707 * commands/cat.c: Likewise.
11708 * commands/i386/pc/play.c: Likewise.
11709 * commands/i386/pc/drivemap.c: Likewise.
11710 * commands/i386/pc/vbeinfo.c: Likewise.
11711 * commands/i386/pc/acpi.c: Likewise.
11712 * commands/i386/pc/vbetest.c: Likewise.
11713 * commands/ls.c: Likewise.
11714 * commands/cmp.c: Likewise.
11715 * commands/test.c: Likewise.
11716 * commands/efi/acpi.c: Likewise.
11717 * commands/gptsync.c: Likewise.
11718 * commands/help.c: Likewise.
11719 * partmap/amiga.c: Likewise.
11720 * partmap/apple.c: Likewise.
11721 * partmap/acorn.c: Likewise.
11722 * partmap/pc.c: Likewise.
11723 * partmap/sun.c: Likewise.
11724 * partmap/gpt.c: Likewise.
11725 * script/sh/lexer.c: Likewise.
11726 * script/sh/function.c: Likewise.
11727 * font/font.c: Likewise.
11728 * font/font_cmd.c: Likewise.
11729 * loader/powerpc/ieee1275/linux.c: Likewise.
11730 * loader/efi/chainloader.c: Likewise.
11731 * loader/multiboot_loader.c: Likewise.
11732 * loader/macho.c: Likewise.
11733 * loader/i386/multiboot.c: Likewise.
11734 * loader/i386/linux.c: Likewise.
11735 * loader/i386/pc/linux.c: Likewise.
11736 * loader/i386/pc/multiboot2.c: Likewise.
11737 * loader/i386/pc/chainloader.c: Likewise.
11738 * loader/i386/pc/xnu.c: Likewise.
11739 * loader/i386/bsd_trampoline.S: Likewise.
11740 * loader/i386/efi/linux.c: Likewise.
11741 * loader/i386/multiboot_elfxx.c: Likewise.
11742 * loader/i386/bsd_helper.S: Likewise.
11743 * loader/i386/bsd.c: Likewise.
11744 * loader/i386/linux_trampoline.S: Likewise.
11745 * loader/i386/xnu_helper.S: Likewise.
11746 * loader/i386/xnu.c: Likewise.
11747 * loader/i386/bsd_pagetable.c: Likewise.
11748 * loader/i386/multiboot_helper.S: Likewise.
11749 * loader/xnu.c: Likewise.
11750 * loader/xnu_resume.c: Likewise.
11751 * io/gzio.c: Likewise.
11752 * term/efi/console.c: Likewise.
11753 * term/terminfo.c: Likewise.
11754 * term/ieee1275/ofconsole.c: Likewise.
11755 * term/i386/pc/serial.c: Likewise.
11756 * term/i386/pc/vesafb.c: Likewise.
11757 * term/i386/pc/vga.c: Likewise.
11758 * term/usb_keyboard.c: Likewise.
11759 * term/gfxterm.c: Likewise.
11760 * aclocal.m4: Likewise.
11761 * util/lvm.c: Likewise.
11762 * util/grub.d/30_os-prober.in: Likewise.
11763 * util/grub.d/10_hurd.in: Likewise.
11764 * util/console.c: Likewise.
11765 * util/grub-macho2img.c: Likewise.
11766 * util/grub-probe.c: Likewise.
11767 * util/hostfs.c: Likewise.
11768 * util/i386/pc/grub-mkimage.c: Likewise.
11769 * util/i386/pc/grub-setup.c: Likewise.
11770 * util/i386/efi/grub-mkimage.c: Likewise.
11771 * util/grub-mkconfig.in: Likewise.
11772 * util/raid.c: Likewise.
11773 * util/resolve.c: Likewise.
11774 * util/grub-mkdevicemap.c: Likewise.
11775 * util/grub-emu.c: Likewise.
11776 * util/getroot.c: Likewise.
11777 * util/hostdisk.c: Likewise.
11778 * util/usb.c: Likewise.
11779 * util/grub-editenv.c: Likewise.
11780 * util/misc.c: Likewise.
11781
d2d49665 117822009-06-10 Felix Zielcke <fzielcke@z-51.de>
11783
11784 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11785 `genparttoollist.sh'.
11786 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11787 Add `*.sh' to the list find searches for and change `mdate.sh'
11788 to `mdate-sh'.
11789
fe052e37 117902009-06-10 Pavel Roskin <proski@gnu.org>
11791
2763ac18 11792 * include/grub/multiboot2.h: Provide compatibility defines for
11793 multiboot2.h.
11794 * include/multiboot2.h: Include stdint.h only if needed, using
11795 angle brackets.
11796 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11797 grub/multiboot2.h.
11798 * loader/ieee1275/multiboot2.c: Likewise.
11799 * loader/multiboot2.c: Likewise.
11800 * loader/multiboot_loader.c: Likewise.
11801
437e6adc 11802 * configure.ac: Use -nostdlib when probing for the target. It
11803 should not be required to have libc for the target.
11804
06a6836c 11805 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11806 they fail without libc headers for the target.
11807 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11808 exports.
11809 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11810 preprocessor conditionals.
11811
fe052e37 11812 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11813 build system doesn't need to be aware of the tar.c internals.
11814
afd22553 118152009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 11816
afd22553 11817 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 11818
6b787c4f 118192009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11820
11821 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11822 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11823
118242009-06-09 Felix Zielcke <fzielcke@z-51.de>
11825
11826 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 11827 aren't available if ata.mod gets used.
6b787c4f 11828
473d1e45 118292009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 11830
473d1e45 11831 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 11832 initialising controller.
473d1e45 11833 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 11834
255a27d4 118352009-06-08 Felix Zielcke <fzielcke@z-51.de>
11836
11837 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11838 to choose between ata and biosdisk module on i386-pc.
11839
473d1e45 118402009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 11841
d55842d8 11842 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11843 Subclass and Programming Interface fields in terms of the 3 byte
11844 Class Code register.
11845 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11846
fa5db0b1 11847 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11848 interface is OHCI. Add grub_dprintf for symmetry with
11849 bus/usb/uhci.c.
11850 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11851 interface is UHCI. Add interf variable for programming
11852 interface. Print interface with class/subclass.
11853
c0947beb 11854 * bus/usb/ohci.c: Set interf with correct field.
11855
69da8877 11856 * bus/usb/uhci.c: Remove unneeded doubled lines.
11857 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11858 Remove whitespace inside comment.
11859
9e172e30 118602009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11861
11862 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11863 as fallback an equivalent option without depth.
11864
de65ee2b 118652009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 Not fail if unable to retrieve C/H/S on LBA disks
11868
473d1e45 11869 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 11870 if unable to retrieve C/H/S on LBA disks
11871
b57ea2c9 118722009-06-08 Pavel Roskin <proski@gnu.org>
11873
11874 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11875 about aliasing.
11876
af361263 118772009-06-08 Felix Zielcke <fzielcke@z-51.de>
11878
11879 * Makefile.in (uninstall): Remove all $lib_DATA files.
11880
4c9ec6b3 118812009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 Bugfix: install on partitionless device
11884
11885 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11886 is a whole disk
11887
e76fc924 118882009-06-08 Felix Zielcke <fzielcke@z-51.de>
11889
11890 * Makefile.in (uninstall): Remove all $include_DATA files.
11891
ba5a0d05 118922009-06-08 Felix Zielcke <fzielcke@z-51.de>
11893
11894 * commands/true.c: New file. Implement the true and false commands.
11895 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11896 (true_mod_SOURCES): New variable.
11897 (true_mod_CFLAGS): Likewise.
11898 (true_mod_LDFLAGS): Likewise.
11899
c8048e32 119002009-06-05 Colin D Bennett <colin@gibibit.com>
11901
11902 Optimized font character lookup using binary search instead of linear
11903 search. Fonts now are required to have the character index ordered by
11904 code point.
11905
11906 * font/font.c (load_font_index): Verify that fonts have ordered
11907 character indices.
11908 (find_glyph): Use binary search instead of linear search to find a
11909 character in a font.
11910
408305be 119112009-06-05 Michael Scherer <misc@mandriva.org>
11912
11913 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11914 uses case sensitive btree.
11915 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11916 only for case insensitive filesystems.
11917
8ee1e0d9 119182009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11921 * conf/common.rmk (search_mod_CFLAGS): likewise
11922
a9966eb1 119232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11924
473d1e45 11925 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 11926 compensate a compiler bug
11927
9e7100fb 119282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11929
473d1e45 11930 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 11931 instead of '\b'
473d1e45 11932
ede21d71 119332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 Definitions for creating asm symbols with Apple's CC
11936
11937 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11938 [APPLE_CC] (VARIABLE): likewise
11939
9dbf7653 119402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 Disable lnxboot.img when compiled
11943 with Apple's CC
11944
11945 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11946 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11947 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11948 [! APPLE_CC] (CODE_LENG): skip
11949 [! APPLE_CC] (setup_sects): likewise
11950 [! APPLE_CC]: skip filling
473d1e45 11951
e93cdc3d 119522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 Address in trampolines based on 32-bit registers when compiled
11955 with Apple's CC
11956
473d1e45 11957 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 11958 for addresses
11959 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11960
6c688477 119612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11964
11965 * kern/misc.c [APPLE_CC] (memcpy): new function
11966 [APPLE_CC] (memmove): likewise
11967 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 11968 (memcpy): define alias conditionally on !APPLE_CC
6c688477 11969 (memset): likewise
11970 (abort): likewise
11971 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11972 APPLE_CC are defined
11973 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11974 (grub_assert_fail): make prototype conditional
11975
e37ffc5c 119762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11979
473d1e45 11980 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11981 grub-macho2img
e37ffc5c 11982 (CLEANFILES): add grub-macho2img
11983 (grub_macho2img_SOURCES): new variable
11984 * kern/i386/pc/startup.S (bss_start): new variable
11985 (bss_end): likewise
11986 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11987 * util/grub-macho2img.c: new file
11988
cf00df31 119892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Use objconv when compiling with Apple's CC
11992
11993 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11994 (efiemu64.o): likewise
11995 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11996 when compiling with Apple's CC
11997 (efiemu64_s.o): likewise
11998 * configure.ac: check for objconv when compiling with Apple's CC
11999 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 12000
d119a20c 120012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Define segment as well as section when compiling with
12004 Apple's CC
12005
12006 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12007 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12008 (efiemu_convert_pointer): likewise
12009 (efiemu_set_virtual_address_map): likewise
12010 (efiemu_convert_pointer): likewise
12011 (efiemu_getcrc32): likewise
12012 (init_crc32_table): likewise
12013 (reflect): likewise
12014 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12015 (GRUB_MOD_DEP): likewise
473d1e45 12016
c8600122 120172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Allow a compilation without -mcmodel=large
12020
12021 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12022 when compiled without -mcmodel=large
473d1e45 12023 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 12024 without -mcmodel=large
473d1e45 12025 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 12026 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 12027
e8df1d4e 120282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 Remove nested functions in efiemu core
12031
12032 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 12033
cc6c3ac1 120342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12037
12038 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12039 temporary storage
473d1e45 12040 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12041 using Apple's CC
cc6c3ac1 12042 (grub_cpu_is_tsc_supported): likewise
12043 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 12044
3e325901 120452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 Absolute addressing through constant with Apple's cc
12048
12049 * kern/i386/pc/startup.S: Define necessary constants
12050 and address through it when using ABS with Apple's CC
12051 * boot/i386/pc/diskboot.S: likewise
12052 * boot/i386/pc/boot.S: likewise
12053 * boot/i386/pc/lnxboot.S: likewise
12054 * boot/i386/pc/cdboot.S: likewise
12055 * mmap/i386/pc/mmap_helper.S: likewise
12056 * commands/i386/pc/drivemap_int13h.S: likewise
12057
2b167a72 120582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 Check if compiler is apple cc
12061
12062 * Makefile.in (ASFLAGS): new variable
12063 (TARGET_ASFLAGS): likewise
12064 (TARGET_MODULE_FORMAT): likewise
12065 (TARGET_APPLE_CC): likewise
12066 (OBJCONV): likewise
12067 (TARGET_IMG_CFLAGS): likewise
12068 (TARGET_CPPFLAGS): add includedir
12069 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12070 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12071 Check for linker script only if compiler isn't Apple's CC
12072 (TARGET_MODULE_FORMAT): set
12073 (TARGET_APPLE_CC): likewise
12074 (TARGET_ASFLAGS): likewise
12075 (ASFLAGS): likewise
12076 Check for objcopy only if compiler isn't Apple's CC
12077 Check for BSS symbol only if compiler isn't Apple's CC
12078 * genmk.rb: adapt nm options if we use Apple's utils
12079 * aclocal.m4 (grub_apple_cc): new test
12080 (grub_apple_target_cc): likewise
473d1e45 12081
fb14123e 120822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 Simplify sed expressions and improve awk
12085
12086 * Makefile.in (install-local): simplify sed expression
12087 * gencmdlist.sh: likewise
12088 * genmoddep.awk: avoid adding module as a dependency of itself
12089
5b889789 120902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 Add missing start symbols
12093
12094 * boot/i386/pc/boot.S: add start
fb14123e 12095 * boot/i386/pc/pxeboot.S: likewise
473d1e45 12096
fd2bf2e3 120972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 12100
12101 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 12102 (relocate_addresses): consider both r_addend and value at offset
12103 (make_mods_section): zerofill modinfo and header
12104 (convert_elf): write prefix here
473d1e45 12105
5389763d 121062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 Use .asciz instead of .string
12109
12110 * i386/pc/diskboot.S: use .asciz instead of .string
12111 * i386/pc/boot.S: likewise
12112 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12113 (GRUB_MOD_NAME): likewise
473d1e45 12114
3eb5ed4e 121152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 gfxpayload support
12118
12119 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12120 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12121 (grub_video_setup): remove
12122 (grub_video_set_mode): new prototype
12123 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12124 (vid_mode): remove
12125 (linux_vesafb_res): compile only on PCBIOS
12126 (grub_linux_boot): support gfxpayload
12127 * loader/i386/pc/xnu.c (video_hook): new function
12128 (grub_xnu_set_video): support gfxpayload
12129 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12130 (DEFAULT_VIDEO_HEIGHT): likewise
12131 (DEFAULT_VIDEO_FLAGS): likewise
12132 (DEFAULT_VIDEO_MODE): new definition
12133 (video_hook): new function
12134 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 12135 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 12136 loading xnu
12137 * video/video.c (grub_video_setup): removed
473d1e45 12138 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 12139 grub_video_setup
12140
4b0e1143 121412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 Avoid calling biosdisk in drivemap
12144
12145 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12146 (revparse_biosdisk): likewise
12147 (list_mappings): derive name from id directly
12148 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 12149
fda6cb98 121502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 Script fixes
12153
12154 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12155 (grub_lexer_param): add tokenonhold
12156 (grub_script_create_cmdline): remove cmdline. All callers updated
12157 (grub_script_function_create): make functionname
12158 grub_script_arg. All callers updated
12159 (grub_script_execute_argument_to_string): new prototype
12160 * kern/parser.c (state_transitions): reorder
12161 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 12162 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 12163 make global
12164 (grub_script_execute_cmdline): use new format
12165 * script/sh/function.c (grub_script_function_create): make functionname
12166 grub_script_arg. All callers updated
473d1e45 12167 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 12168 (grub_script_yylex): remove
12169 (grub_script_yylex2): renamed to ...
12170 (grub_script_yylex): ...renamed
12171 parse the expressions like a${b}c
12172 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12173 (GRUB_PARSER_TOKEN_VAR): remove
12174 (GRUB_PARSER_TOKEN_NAME): likewise
12175 ("if"): declare as typeless
12176 ("while"): likewise
12177 ("function"): likewise
12178 ("else"): likewise
12179 ("then"): likewise
12180 ("fi"): likewise
12181 (text): remove
12182 (argument): likewise
12183 (script): accept empty scripts and make exit on error
12184 (arguments): use GRUB_PARSER_TOKEN_ARG
12185 (function): likewise
12186 (command): move error handling to script
12187 (menuentry): move grub_script_lexer_ref before
473d1e45 12188 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 12189 argument. All callers updated
12190
f4448a07 121912009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12192
12193 Prevent GRUB from probing floppies during boot.
12194
12195 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12196 * commands/search.c (options): Add --no-floppy.
12197 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12198 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12199 --no-floppy when searching for UUIDs.
12200
2bf5885a 122012009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12202
12203 Simplify the code duplication in commands/search.c.
12204
12205 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12206 (search_fs): ... this. Update all users.
12207
f6fd460a 122082009-06-03 Felix Zielcke <fzielcke@z-51.de>
12209
12210 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12211
cbb3c83e 122122009-05-28 Pavel Roskin <proski@gnu.org>
12213
57788cfd 12214 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12215 Remove the original symlink explicitly.
12216
cbb3c83e 12217 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12218 just one slash. That's how grub_fshelp_find_file() does it.
12219
cd0d5e30 122202009-05-26 Pavel Roskin <proski@gnu.org>
12221
f0f8bbe2 12222 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12223 to `str'.
12224
cd0d5e30 12225 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12226 possibly unused.
12227
8c2cab51 122282009-05-25 Christian Franke <franke@computer.org>
12229
12230 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12231 register.
12232 (grub_atapi_identify): Add wait after drive select.
12233 (grub_ata_identify): Do more strict status register check before
12234 calling grub_atapi_identify (). Suppress error message if status
12235 register is 0x00 after command failure. Add status register
12236 check after PIO read to avoid bogus identify due to stuck DRQ.
12237 Thanks to Pavel Roskin for testing.
12238 (grub_device_initialize): Remove unsafe status register check.
12239 Thanks to 'phcoder' for problem report and patch.
12240 Prevent sign extension in debug message.
12241
230c0ad6 122422009-05-23 Colin D Bennett <colin@gibibit.com>
12243
12244 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12245 definition file, and functions defined in `normal/menu.c' have had
12246 their prototypes moved to `include/grub/menu.h' for consistency.
12247
12248 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12249 from normal.h.
12250 (grub_menu_get_entry): Likewise.
12251 (grub_menu_get_timeout): Likewise.
12252 (grub_menu_set_timeout): Likewise.
12253 (grub_menu_execute_entry): Likewise.
12254 (grub_menu_execute_with_fallback): Likewise.
12255 (grub_menu_entry_run): Likewise.
12256
12257 * include/grub/normal.h: Re-ordered and grouped function
12258 prototypes by file that the function is defined in.
12259 (grub_menu_execute_callback): Removed; moved to menu.h.
12260 (grub_menu_get_entry): Likewise.
12261 (grub_menu_get_timeout): Likewise.
12262 (grub_menu_set_timeout): Likewise.
12263 (grub_menu_execute_entry): Likewise.
12264 (grub_menu_execute_with_fallback): Likewise.
12265 (grub_menu_entry_run): Likewise.
12266 (grub_menu_addentry): Renamed from this ...
12267 (grub_normal_add_menu_entry): ... to this.
12268
12269 * normal/main.c (grub_menu_addentry): Renamed from this ...
12270 (grub_normal_add_menu_entry): ... to this.
12271
12272 * script/sh/execute.c (grub_script_execute_menuentry): Update
12273 reference to renamed grub_menu_addentry function.
12274
861f03a5 122752009-05-23 Felix Zielcke <fzielcke@z-51.de>
12276
12277 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12278
96b1619a 122792009-05-22 Pavel Roskin <proski@gnu.org>
12280
bf6a5fb2 12281 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12282 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12283 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12284 compiling for the i386 targets, but not for the utilities.
12285
96b1619a 12286 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12287 to grub_uint8_t.
12288 (grub_root_drive): Likewise.
12289 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12290 remove alignment.
12291 (grub_root_drive): Change size to byte.
12292 (grub_start_addr): Remove.
12293 (grub_end_addr): Likewise.
12294 (grub_apm_bios_info): Likewise.
12295
b729776b 122962009-05-21 Felix Zielcke <fzielcke@z-51.de>
12297
12298 * normal/i386: Remove.
12299 * normal/powerpc: Likewise.
12300 * normal/sparc64: Likewise.
12301 * normal/x86_64: Likewise.
12302
0a15ce80 123032009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 12306 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 12307 * loader/i386/xnu_helper.S: Likewise
d6da58e6 12308
33db9015 123092009-05-18 Colin D Bennett <colin@gibibit.com>
12310
d6da58e6 12311 Display error messages when parsing a Lua statement fails.
12312 Previously, executing a syntactically invalid statement like
12313 ")foo" or "bar;" would silently fail.
33db9015 12314
12315 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 12316 (grub_lua_parse_line): Improved reporting of Lua parser and
12317 execution errors.
33db9015 12318
46422c89 123192009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 Remove -Werror which causes build to fail on some systems
12322
12323 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12324 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12325 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 12326
22f53a96 123272009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 trampoline for linux on 64-bit platform
12330
18f547ad 12331 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12332 loader/i386/efi/linux_trampoline.S
12333 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 12334 declaration
d6da58e6 12335 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12336 here
22f53a96 12337 * loader/i386/linux_trampoline.S: moved here
d6da58e6 12338 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12339 trampoline
22f53a96 12340 (jumpvector): removed
12341 (grub_linux_trampoline_start): new declaration
12342 (grub_linux_trampoline_end): likewise
12343 (grub_linux_boot): use trampoline when on 64-bit platform
12344 * loader/i386/linux.c: likewise
12345
cb5a0f40 123462009-05-16 Pavel Roskin <proski@gnu.org>
12347
12348 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12349 const to avoid a warning.
12350 (grub_lua_setenv): Likewise.
12351 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12352 lmsg to fix a warning.
12353
334f2c28 123542009-05-16 Felix Zielcke <fzielcke@z-51.de>
12355
12356 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 12357 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12358 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12359 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12360 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12361 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12362 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12363 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 12364
59e5d3ec 123652009-05-16 Felix Zielcke <fzielcke@z-51.de>
12366
12367 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12368
9d87a1ba 123692009-05-16 Bean <bean123ch@gmail.com>
12370
12371 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12372 (lua_mod_SOURCES): New variable.
12373 (lua_mod_CFLAGS): Likewise.
12374 (lua_mod_LDFLAGS): Likewise.
12375
12376 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12377 (setjmp_mod_SOURCES): New variable.
12378 (setjmp_mod_CFLAGS): Likewise.
12379 (setjmp_LDFLAGS): Likewise.
12380
12381 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12382 (setjmp_mod_SOURCES): New variable.
12383 (setjmp_mod_CFLAGS): Likewise.
12384 (setjmp_LDFLAGS): Likewise.
12385
12386 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12387 (setjmp_mod_SOURCES): New variable.
12388 (setjmp_mod_CFLAGS): Likewise.
12389 (setjmp_LDFLAGS): Likewise.
12390
12391 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12392 (setjmp_mod_SOURCES): New variable.
12393 (setjmp_mod_CFLAGS): Likewise.
12394 (setjmp_LDFLAGS): Likewise.
12395
12396 * normal/i386/setjmp.S: Moved from here ...
12397 * lib/i386/setjmp.S: ... Moved here
12398 * normal/x86_64/setjmp.S: Moved from here ...
12399 * lib/x86_64/setjmp.S: ... Moved here
12400 * normal/powerpc/setjmp.S: Moved from here ...
12401 * lib/powerpc/setjmp.S: ... Moved here
12402 * normal/sparc64/setjmp.S: Moved from here ...
12403 * lib/sparc64/setjmp.S: ... Moved here
12404
12405 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12406 returns_twice in mingw.
12407
12408 * script/lua/grub_lib.c: New file.
12409 * script/lua/grub_lib.h: Likewise.
12410 * script/lua/grub_lua.h: Likewise.
12411 * script/lua/grub_main.c: Likewise.
12412 * script/lua/lapi.c: Likewise.
12413 * script/lua/lapi.h: Likewise.
12414 * script/lua/lauxlib.c: Likewise.
12415 * script/lua/lauxlib.h: Likewise.
12416 * script/lua/lbaselib.c: Likewise.
12417 * script/lua/lcode.c: Likewise.
12418 * script/lua/lcode.h: Likewise.
12419 * script/lua/ldblib.c: Likewise.
12420 * script/lua/ldebug.c: Likewise.
12421 * script/lua/ldebug.h: Likewise.
12422 * script/lua/ldo.c: Likewise.
12423 * script/lua/ldo.h: Likewise.
12424 * script/lua/ldump.c: Likewise.
12425 * script/lua/lfunc.c: Likewise.
12426 * script/lua/lfunc.h: Likewise.
12427 * script/lua/lgc.c: Likewise.
12428 * script/lua/lgc.h: Likewise.
12429 * script/lua/linit.c: Likewise.
12430 * script/lua/liolib.c: Likewise.
12431 * script/lua/llex.c: Likewise.
12432 * script/lua/llex.h: Likewise.
12433 * script/lua/llimits.h: Likewise.
12434 * script/lua/lmathlib.c: Likewise.
12435 * script/lua/lmem.c: Likewise.
12436 * script/lua/lmem.h: Likewise.
12437 * script/lua/loadlib.c: Likewise.
12438 * script/lua/lobject.c: Likewise.
12439 * script/lua/lobject.h: Likewise.
12440 * script/lua/lopcodes.c: Likewise.
12441 * script/lua/lopcodes.h: Likewise.
12442 * script/lua/loslib.c: Likewise.
12443 * script/lua/lparser.c: Likewise.
12444 * script/lua/lparser.h: Likewise.
12445 * script/lua/lstate.c: Likewise.
12446 * script/lua/lstate.h: Likewise.
12447 * script/lua/lstring.c: Likewise.
12448 * script/lua/lstring.h: Likewise.
12449 * script/lua/lstrlib.c: Likewise.
12450 * script/lua/ltable.c: Likewise.
12451 * script/lua/ltable.h: Likewise.
12452 * script/lua/ltablib.c: Likewise.
12453 * script/lua/ltm.c: Likewise.
12454 * script/lua/ltm.h: Likewise.
12455 * script/lua/lua.h: Likewise.
12456 * script/lua/luaconf.h: Likewise.
12457 * script/lua/lualib.h: Likewise.
12458 * script/lua/lundump.c: Likewise.
12459 * script/lua/lundump.h: Likewise.
12460 * script/lua/lvm.c: Likewise.
12461 * script/lua/lvm.h: Likewise.
12462 * script/lua/lzio.c: Likewise.
12463 * script/lua/lzio.h: Likewise.
12464
5e898c9d 124652009-05-16 Bean <bean123ch@gmail.com>
12466
12467 * include/grub/kernel.h (grub_module_header_types): Add type
12468 OBJ_TYPE_CONFIG.
12469
12470 * kern/main.c (grub_load_config): New function.
12471 (grub_main): Call grub_load_config to read boot config.
12472
12473 * grub-mkimage (generate_image): New parameter config_path.
12474 (options): New option --config.
12475 (main): Parse --config option, and pass it to generate_image.
12476
cf353a47 124772009-05-14 Christian Franke <franke@computer.org>
12478
12479 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12480 This fixes build on Cygwin.
12481
3834887f 124822009-05-14 Pavel Roskin <proski@gnu.org>
12483
12484 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12485 jump. This saves two bytes, so the typical case of 2 swapped
12486 drives would fit 32 bytes.
12487
8090fc01 124882009-05-13 Pavel Roskin <proski@gnu.org>
12489
ac963883 12490 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12491 grub_uint32_t to avoid a warning.
12492
8090fc01 12493 * loader/i386/linux.c (allocate_pages): When assigning
12494 real_mode_mem, cast through grub_size_t to fix a warning. The
12495 code already makes sure that the value would fit a pointer.
12496 (grub_linux_setup_video): Cast render_target->data to
12497 grub_size_t to fix a warning.
12498
18f547ad 124992009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 12500
12501 * commands/i386/pc/drivemap.c: New file - implement drivemap
12502 command.
12503 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12504 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12505
6f6a8b28 125062009-05-13 Pavel Roskin <proski@gnu.org>
12507
12508 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12509 embedding_area_exists.
12510
15fbf4c4 125112009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12512
12513 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12514 it easier to understand / work with.
59978c8a 12515 Improve warning messages for cases where there's no embedding area,
12516 or when it is too small (or core.img too large).
15fbf4c4 12517
238e871f 125182009-05-13 Pavel Roskin <proski@gnu.org>
12519
0ab3a9a4 12520 * loader/i386/pc/multiboot2.c: Add necessary includes for
12521 grub_multiboot2_real_boot().
12522
a2c8c5f8 12523 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12524 PX record is always little-endian. We only need the lower 2
12525 bytes of the mode.
12526
faec96af 12527 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12528 facilitate code reuse.
12529 (grub_cpio_mount): Use "struct head", not a char buffer. This
12530 fixes a warning reported by gcc 4.4.
12531
238e871f 12532 * kernel/disk.c (grub_disk_read): Use void pointer for the
12533 buffer.
12534 (grub_disk_write): Use const void pointer for the buffer.
12535 Adjust all callers. Remove unnecessary casts.
12536
901d2f0c 125372009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12538
12539 * util/i386/pc/grub-install.in: Update copyright year.
12540
18f547ad 125412009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 12542
12543 gptsync
12544
12545 * commands/gptsync.c: new file
12546 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12547 (gptsync_mod_SOURCES): new variable
12548 (gptsync_mod_CFLAGS): likewise
12549 (gptsync_mod_LDFLAGS): likewise
18f547ad 12550 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 12551 new definition
12552 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12554 * conf/i386-ieee1275.rmk: likewise
12555 * conf/i386-pc.rmk: likewise
12556 * conf/powerpc-ieee1275.rmk: likewise
12557
b4ba690a 125582009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Fixed grub-emu
12561
12562 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12563 (grub_dl_ref): likewise
12564
317e1a44 125652009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12566
12567 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12568 split in two functions (one for msdos and one for gpt).
12569
041b8094 125702009-05-08 Pavel Roskin <proski@gnu.org>
12571
752473c2 12572 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12573 not modified.
12574
041b8094 12575 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12576 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12577 Initialize them with -1. Add sanity check for bad1. Eliminate
12578 nerr variable.
12579
172800ce 125802009-05-08 David S. Miller <davem@davemloft.net>
12581
12582 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12583
29aa5e81 125842009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12585
12586 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 12587 existence.
29aa5e81 12588
96613b62 125892009-05-05 Felix Zielcke <fzielcke@z-51.de>
12590
12591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 12592 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 12593
eef73c8a 125942009-05-05 David S. Miller <davem@davemloft.net>
12595
12596 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12597
119494b5 125982009-05-05 Pavel Roskin <proski@gnu.org>
12599
12600 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12601 of grub_dl_ref() and grub_dl_unref().
12602 * commands/parttool.c: Remove preprocessor conditionals around
12603 grub_dl_ref() and grub_dl_unref().
12604 * fs/affs.c: Likewise.
12605 * fs/afs.c: Likewise.
12606 * fs/cpio.c: Likewise.
12607 * fs/ext2.c: Likewise.
12608 * fs/fat.c: Likewise.
12609 * fs/hfs.c: Likewise.
12610 * fs/hfsplus.c: Likewise.
12611 * fs/iso9660.c: Likewise.
12612 * fs/jfs.c: Likewise.
12613 * fs/minix.c: Likewise.
12614 * fs/ntfs.c: Likewise.
12615 * fs/reiserfs.c: Likewise.
12616 * fs/sfs.c: Likewise.
12617 * fs/udf.c: Likewise.
12618 * fs/ufs.c: Likewise.
12619 * fs/xfs.c: Likewise.
12620 * include/grub/dl.h: Likewise.
12621 * loader/xnu.c: Likewise.
12622
de5fd76e 126232009-05-04 Pavel Roskin <proski@gnu.org>
12624
12625 * commands/acpi.c: Remove unused variable my_mod.
12626 * partmap/amiga.c: Likewise.
12627 * partmap/apple.c: Likewise.
12628 * partmap/gpt.c: Likewise.
12629 * partmap/pc.c: Likewise.
12630 * partmap/sun.c: Likewise.
12631 * term/gfxterm.c: Likewise.
12632 * term/i386/pc/vesafb.c: Likewise.
12633 * term/i386/pc/vga.c: Likewise.
12634
983598ad 126352009-05-04 David S. Miller <davem@davemloft.net>
12636
12637 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12638 pointer args to grub_ieee1275_get_property().
12639
8aadec43 12640 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12641
9554b15e 12642 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12643 devices, and do not traverse down under controller nodes.
12644
67e23c90 12645 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12646 (grub_ofdisk_open): Use it to un-escape "," characters.
12647 * kern/disk.c (find_part_sep): New.
12648 (grub_disk_open): Use it to find the first non-escaped ','
12649 character in the disk name.
12650 * util/ieee1275/devicemap.c (escape_of_path): New.
12651 (grub_util_emit_devicemap_entry): Use it.
12652 * util/sparc64/ieee1275/grub-install.in: Update script to
12653 strip partition specifiers properly by not triggering on
12654 '\' escaped ',' characters.
12655
74bfdd2f 126562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12657
12658 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12659 to 0x300.
12660 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12661 resolutions.
12662 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12663 on documentation from Wikipedia).
12664
4241d2b1 126652009-05-04 Pavel Roskin <proski@gnu.org>
12666
12667 * disk/ata.c: Spelling fixes.
12668 * disk/raid.c: Likewise.
12669 * disk/usbms.c: Likewise.
12670 * disk/dmraid_nvidia.c: Likewise.
12671 * kern/ieee1275/openfw.c: Likewise.
12672 * kern/ieee1275/init.c: Likewise.
12673 * kern/ieee1275/cmain.c: Likewise.
12674 * boot/i386/pc/cdboot.S: Likewise.
12675 * video/readers/png.c: Likewise.
12676 * video/i386/pc/vbe.c: Likewise.
12677 * fs/udf.c: Likewise.
12678 * fs/hfs.c: Likewise.
12679 * fs/reiserfs.c: Likewise.
12680 * efiemu/runtime/efiemu.c: Likewise.
12681 * efiemu/main.c: Likewise.
12682 * efiemu/mm.c: Likewise.
12683 * include/grub/elf.h: Likewise.
12684 * include/grub/xnu.h: Likewise.
12685 * include/grub/usbdesc.h: Likewise.
12686 * include/grub/usb.h: Likewise.
12687 * include/grub/script_sh.h: Likewise.
12688 * include/grub/lib/LzmaEnc.h: Likewise.
12689 * include/grub/efiemu/efiemu.h: Likewise.
12690 * include/grub/command.h: Likewise.
12691 * normal/menu.c: Likewise.
12692 * normal/main.c: Likewise.
12693 * normal/datetime.c: Likewise.
12694 * bus/usb/uhci.c: Likewise.
12695 * mmap/i386/uppermem.c: Likewise.
12696 * mmap/mmap.c: Likewise.
12697 * commands/acpi.c: Likewise.
12698 * commands/test.c: Likewise.
12699 * partmap/apple.c: Likewise.
12700 * font/font.c: Likewise.
12701 * loader/sparc64/ieee1275/linux.c: Likewise.
12702 * loader/macho.c: Likewise.
12703 * loader/i386/bsd_trampoline.S: Likewise.
12704 * loader/i386/bsd.c: Likewise.
12705 * loader/xnu.c: Likewise.
12706 * term/i386/pc/vesafb.c: Likewise.
12707 * term/usb_keyboard.c: Likewise.
12708 * util/resolve.c: Likewise.
12709 * util/getroot.c: Likewise.
12710
0cfc0083 127112009-05-04 Felix Zielcke <fzielcke@z-51.de>
12712
12713 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12714
7c1d00cd 127152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12716
12717 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12718 build error.
12719
b01f0548 127202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12721
12722 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12723 parameter only available on BIOS.
12724
ecc3eb22 127252009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 Removed wrong semicolon in declaration
12728
12729 * grub/misc.h (grub_dprintf): remove semicolon
12730
112972a9 127312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12732
12733 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12734 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12735 is done by grub_cmd_linux() now).
12736 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12737 restore video to text mode.
12738 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12739 indicates lack of "vga=" parameter. "vga=0" is mapped to
12740 `GRUB_LINUX_VID_MODE_NORMAL'.
12741
afd5c115 127422009-05-04 Felix Zielcke <fzielcke@z-51.de>
12743
12744 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12745 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12746 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 12747 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 12748 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12749 `grub_script.tab.c'.
12750
12751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12752 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12755 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12756
faa517ce 12757 * Makefile.in: Remove duplicated 2008 in Copyright line.
12758
ae0c0bdc 127592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12760
473d1e45 12761 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 12762 unconditionally.
12763 * include/grub/util/misc.h (grub_util_warn): New declaration.
12764
12765 * util/i386/pc/grub-install.in: Understand --force and pass it down
12766 to grub-setup.
12767
12768 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12769 down to setup().
12770 (setup): Improve error messages and add warnings when requested to
12771 install in odd layouts. Refuse to install using blocklists unless
12772 --force was set.
12773
18f547ad 127742009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 12775
12776 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12777
6d260daa 127782009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 Updated copyright year
12781
12782 * fs/hfsplus.c: updated copyright year
18f547ad 12783
69f853f8 127842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 HFS+ UUID
12787
18f547ad 12788 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 12789 in the space previously used by unused3
12790 (grub_hfsplus_uuid): new function
12791 (grub_hfsplus_fs): added uuid field
12792
4c402e73 127932009-05-03 Pavel Roskin <proski@gnu.org>
12794
12795 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12796 suppress warnings. It's no longer needed.
12797 * disk/host.c: Likewise.
12798 * disk/ata_pthru.c: Likewise.
12799 * disk/loopback.c: Likewise.
12800 * hook/datehook.c: Likewise.
12801 * parttool/pcpart.c: Likewise.
12802 * fs/i386/pc/pxe.c: Likewise.
12803 * fs/ntfscomp.c: Likewise.
12804 * efiemu/main.c: Likewise.
12805 * mmap/mmap.c: Likewise.
12806 * commands/crc.c: Likewise.
12807 * commands/hexdump.c: Likewise.
12808 * commands/hdparm.c: Likewise.
12809 * commands/acpi.c: Likewise.
12810 * commands/echo.c: Likewise.
12811 * commands/minicmd.c: Likewise.
12812 * commands/blocklist.c: Likewise.
12813 * commands/memrw.c: Likewise.
12814 * commands/loadenv.c: Likewise.
12815 * commands/usbtest.c: Likewise.
12816 * commands/lsmmap.c: Likewise.
12817 * commands/boot.c: Likewise.
12818 * commands/parttool.c: Likewise.
12819 * commands/configfile.c: Likewise.
12820 * commands/search.c: Likewise.
12821 * commands/ieee1275/suspend.c: Likewise.
12822 * commands/cat.c: Likewise.
12823 * commands/i386/pc/pxecmd.c: Likewise.
12824 * commands/i386/pc/play.c: Likewise.
12825 * commands/i386/pc/halt.c: Likewise.
12826 * commands/i386/pc/vbeinfo.c: Likewise.
12827 * commands/i386/pc/vbetest.c: Likewise.
12828 * commands/lspci.c: Likewise.
12829 * commands/date.c: Likewise.
12830 * commands/handler.c: Likewise.
12831 * commands/ls.c: Likewise.
12832 * commands/test.c: Likewise.
12833 * commands/cmp.c: Likewise.
12834 * commands/efi/loadbios.c: Likewise.
12835 * commands/efi/fixvideo.c: Likewise.
12836 * commands/halt.c: Likewise.
12837 * commands/help.c: Likewise.
12838 * commands/reboot.c: Likewise.
12839 * hello/hello.c: Likewise.
12840 * script/sh/main.c: Likewise.
12841 * loader/xnu.c: Likewise.
12842 * term/terminfo.c: Likewise.
12843 * term/i386/pc/serial.c: Likewise.
12844 * term/usb_keyboard.c: Likewise.
12845
515b5079 128462009-05-03 David S. Miller <davem@davemloft.net>
12847
12848 * normal/menu.c: Include grub/parser.h
12849
dfc31a22 128502009-05-03 Pavel Roskin <proski@gnu.org>
12851
2fee74f1 12852 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12853 not char*.
12854 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12855 Suggested by Javier Martín <lordhabbit@gmail.com>
12856
dfc31a22 12857 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12858 efiemu??.o doesn't exist.
12859 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12860 copying.
12861
18f547ad 128622009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 12863
12864 FreeBSD 64-bit support
12865
18f547ad 12866 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 12867 and loader/i386/bsd_trampoline.S
12868 (bsd_mod_ASFLAGS): new variable
12869 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12870 (FREEBSD_MODTYPE_KERNEL64): likewise
12871 (grub_bsd64_trampoline_start): likewise
12872 (grub_bsd64_trampoline_end): likewise
12873 (grub_bsd64_trampoline_selfjump): likewise
12874 (grub_bsd64_trampoline_gdt): likewise
12875 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12876 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12877 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12878 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 12879 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 12880 of "attrib" member
12881 * loader/i386/bsd_pagetable.c: new file
12882 * loader/i386/bsd_trampoline.S: likewise
12883 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12884 (ALIGN_VAR): likewise
12885 (entry_hi): new variable
12886 (kern_end_mdofs): likewise
12887 (is_64bit): likewise
12888 (grub_freebsd_add_meta): use ALIGN_VAR
12889 (grub_e820_mmap): new declaration
12890 (grub_freebsd_add_mmap): new function
12891 (grub_freebsd_add_meta_module): support 64 bit kernels
12892 (grub_freebsd_list_modules): use ALIGN_VAR
12893 (gdt_descriptor): new declaration
12894 (grub_freebsd_boot): support 64 bit kernels
12895 (grub_bsd_elf64_hook): new function
12896 (grub_bsd_load_elf): support elf64
12897
038c5720 128982009-05-03 Bean <bean123ch@gmail.com>
12899
12900 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12901 after we get the result of if statement.
12902
fc45fb58 129032009-05-03 Bean <bean123ch@gmail.com>
12904
12905 * Makefile.in (enable_efiemu): New variable.
12906
12907 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12908 set.
12909 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12910 path.
12911 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12912 path, add -mno-red-zone option.
12913 (efiemu64_s.o): Likewise.
12914 (efiemu64.o): Use macro $^ for source file.
12915
12916 * configure.ac (--enable-efiemu): New option.
12917
bbee0f2b 129182009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 xnu support
12921
12922 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12923 (pkglib_MODULES): add xnu.mod
12924 (xnu_mod_SOURCES): new variable
12925 (xnu_mod_CFLAGS): likewise
12926 (xnu_mod_LDFLAGS): likewise
12927 (xnu_mod_ASFLAGS): likewise
12928 * conf/i386-pc.rmk: likewise
12929 * conf/x86_64-efi.rmk: likewise
7dd4a573 12930 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 12931 new declaration
12932 * include/grub/i386/macho.h: new file
12933 * include/grub/i386/xnu.h: likewise
12934 * include/grub/macho.h: likewise
12935 * include/grub/machoload.h: likewise
12936 * include/grub/x86_64/macho.h: likewise
12937 * include/grub/x86_64/xnu.h: likewise
12938 * include/grub/xnu.h: likewise
12939 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12940 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12941 * loader/i386/efi/xnu.c: new file
12942 * loader/i386/pc/xnu.c: likewise
12943 * loader/i386/xnu.c: likewise
12944 * loader/i386/xnu_helper.S: likewise
12945 * loader/macho.c: likewise
12946 * loader/xnu.c: likewise
12947 * loader/xnu_resume.c: likewise
12948 * util/grub-dumpdevtree: likewise
12949 * include/grub/i386/pit.h: include grub/err.h
12950 (grub_pit_wait): export
12951 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 12952
5caf964d 129532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Efiemu
7dd4a573 12956
5caf964d 12957 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 12958 _linux_efi, linux_efi.
12959 new files in grub-emu
5caf964d 12960 new targets efiemu32.o and efiemu64.o
12961 * loader/linux_normal_efiemu.c: likewise
12962 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 12963 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 12964 files to copy
12965 * include/grub/autoefi.h: new file
7dd4a573 12966 * include/grub/i386/efiemu.h: likewise
5caf964d 12967 * include/grub/i386/pc/efiemu.h: likewise
12968 * include/grub/efi/api.h: add LL suffix when necessary
12969 new definitions relating to tables
12970 * include/grub/efiemu/efiemu.h: new file
12971 * include/grub/efiemu/runtime.h: likewise
12972 * efiemu/prepare.c: likewise
12973 * efiemu/loadcore_common.c: likewise
12974 * efiemu/loadcore64.c: likewise
12975 * efiemu/runtime/efiemu.sh: likewise
12976 * efiemu/runtime/efiemu.S: likewise
12977 * efiemu/runtime/efiemu.c: likewise
12978 * efiemu/runtime/config.h: likewise
12979 * efiemu/prepare32.c: likewise
12980 * efiemu/main.c: likewise
12981 * efiemu/modules/pnvram.c: likewise
12982 * efiemu/modules/i386: likewise
12983 * efiemu/modules/i386/pc: likewise
12984 * efiemu/modules/acpi.c: likewise
12985 * efiemu/i386/pc/cfgtables.c: likewise
12986 * efiemu/i386/loadcore64.c: likewise
12987 * efiemu/i386/loadcore32.c: likewise
12988 * efiemu/prepare64.c: likewise
12989 * efiemu/loadcore.c: likewise
12990 * efiemu/symbols.c: likewise
12991 * efiemu/mm.c: likewise
12992 * efiemu/loadcore32.c: likewise
7dd4a573 12993
129942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 12995
12996 ACPI spoofing
12997
12998 * commands/acpi.c: new file
12999 * commands/i386/pc/acpi.c: likewise
13000 * commands/efi/acpi.c: likewise
13001 * include/grub/acpi.h: likewise
13002 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13003 (acpi_mod_SOURCES): new variable
13004 (acpi_mod_CFLAGS): likewise
13005 (acpi_mod_LDFLAGS): likewise
13006 * conf/i386-efi.rmk: likewise
13007 * conf/x86_64-efi.rmk: likewise
13008
7dd4a573 130092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 13010
13011 Missing part from mmap patch
13012
13013 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13014 (grub_mmap_unregister)
13015 (grub_mmap_free_and_unregister): use grub_mmap_register
13016
7dd4a573 130172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 13018
13019 Mmap services
13020
13021 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13022 * loader/i386/linux.c (find_mmap_size): likewise
13023 (allocate_pages): likewise
13024 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13025 (grub_fill_multiboot_mmap): likewise
13026 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13027 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13028 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13029 (OPENBSD_MMAP_RESERVED): likewise
13030 * include/grub/i386/pc/memory.h: include grub/memory.h
13031 (grub_lower_mem): removed
13032 (grub_upper_mem): likewise
13033 (GRUB_MACHINE_MEMORY_ACPI): new definition
13034 (GRUB_MACHINE_MEMORY_NVS): likewise
13035 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13036 (GRUB_MACHINE_MEMORY_HOLE): likewise
13037 (grub_machine_mmap_register): likewise
13038 (grub_machine_mmap_unregister): likewise
13039 (grub_machine_get_upper): likewise
13040 (grub_machine_get_lower): likewise
13041 (grub_machine_get_post64): likewise
13042 * include/grub/i386/efi/memory.h: new file
13043 * include/grub/x86_64/efi/memory.h: likewise
13044 * include/grub/efi/memory.h: likewise
13045 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13046 (mmap_mod_SOURCES): new variable
13047 (mmap_mod_LDFLAGS): likewise
13048 (mmap_mod_ASFLAGS): likewise
13049 * conf/i386-coreboot.rmk: likewise
13050 * conf/i386-ieee1275.rmk: likewise
13051 * conf/i386-efi.rmk: likewise
13052 * conf/x86_64-efi.rmk: likewise
13053 * include/grub/types.h (UINT_TO_PTR): new macro
13054 (PTR_TO_UINT32): likewise
13055 (PTR_TO_UINT64): likewise
13056 * include/grub/memory.h: new file
13057 * mmap/i386/pc/mmap.c: likewise
13058 * mmap/i386/pc/mmap_helper.S: likewise
13059 * mmap/i386/uppermem.c: likewise
13060 * mmap/mmap.c: likewise
13061 * mmap/efi/mmap.c: likewise
7dd4a573 13062 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 13063 grub_upper_mem
13064 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13065 (grub_upper_mem): likewise
13066 (grub_machine_init): don't use grub_upper_mem,
13067 make grub_lower_mem local
13068 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13069 grub_mmap_iterate and grub_mmap_get_upper
13070 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13071
d558e6b5 130722009-05-02 Bean <bean123ch@gmail.com>
13073
13074 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13075 script/sh/parser.y.
13076 (pkglib_MODULES): Add normal.mod and sh.mod.
13077 (normal_SOURCES): New variable.
13078 (normal_mod_CFLAGS): Likewise.
13079 (normal_mod_LDFLAGS): Likewise.
13080 (sh_mod_SOURCES): Likewise.
13081 (sh_mod_CFLAGS): Likewise.
13082 (sh_mod_LDFLAGS): Likewise.
13083
13084 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13085 script/sh/lexer.c_DEPENDENCIES.
13086 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13087 kern/rescue_reader.c and kern/rescue_parser.c.
13088 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13089 (grub_emu_SOURCES): Change source files.
13090 (pkglib_MODULES): Remove normal.mod.
13091 (normal_SOURCES): Removed.
13092 (normal_mod_CFLAGS): Likewise.
13093 (normal_mod_LDFLAGS): Likewise.
13094 * conf/i386-coreboot.rmk: Likewise.
13095 * conf/i386-efi.rmk: Likewise.
13096 * conf/i386-ieee1276.rmk: Likewise.
13097 * conf/powerpc-ieee1275.rmk: Likewise.
13098 * conf/sparc64-ieee1275.rmk: Likewise.
13099 * conf/x86_64-efi.rmk: Likewise.
13100
13101 * include/grub/command.h (grub_command_execute): New inline function.
13102
13103 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13104
13105 * include/grub/normal.h: Remove <grub/setjmp.h>.
13106 (grub_fs_module_list): Moved to normal/autofs.c.
13107 (grub_exit_env): Removed.
13108 (grub_command_execute): Likewise.
13109 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13110 parameter script.
13111 (read_command_list): New function declaration.
13112 (read_fs_list): Likewise.
13113
13114 * include/parser.h: Include <grub/reader.h>.
13115 (grub_parser_split_cmdline): Change type of getline parameter.
13116 (grub_parser): New structure.
13117 (grub_parser_class): New variable.
13118 (grub_parser_execute): New function declaration.
13119 (grub_register_rescue_parser): Likewise.
13120 (grub_parser_register): New inline function.
13121 (grub_parser_unregister): Likewise.
13122 (grub_parser_get_current): Likewise.
13123 (grub_parser_set_current): Likewise.
13124
13125 * include/grub/reader.h: New file.
13126 * kern/reader.c: Likewise.
13127 * kern/rescue_parser.c: Likewise.
13128 * kern/rescue_reader.c: Likewise.
13129 * normal/autofs.c: Likewise.
13130 * normal/dyncmd.c: Likewise.
13131
13132 * include/grub/rescue.h: Removed.
13133 * normal/command.h: Likewise.
13134
13135 * include/grub/script.h: Moved to ...
13136 * include/grub/script_sh.h: ... Moved here.
13137 * normal/execute.c: Moved to ...
13138 * script/sh/execute.c: ... Moved here.
13139 * normal/function.c: Moved to ...
13140 * script/sh/function.c: ... Moved here.
13141 * normal/lexer.c: Moved to ...
13142 * script/sh/lexer.c: ... Moved here.
13143 * normal/parser.y: Moved to ...
13144 * script/sh/parser.y: ... Moved here.
13145 * normal/script.c: Moved to ...
13146 * script/sh/script.c: ... Moved here.
13147
13148 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13149 <grub/reader.h>.
13150 (grub_exit_env): Removed.
13151 (fs_module_list): Moved to normal/autofs.c.
13152 (grub_file_getline): Don't handle comment here.
13153 (free_menu): Skip removed field entry->commands.
13154 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13155 script parameter.
13156 (read_config_file): Removed nested parameter, change getline function.
13157 (grub_enter_normal_mode): Removed.
13158 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13159 (read_command_list): Likewise.
13160 (autoload_fs_module): Moved to normal/autofs.c.
13161 (read_fs_list): Likewise.
13162 (reader_nested): New variable.
13163 (grub_normal_execute): Run parser.sh to switch to sh parser.
13164 (grub_cmd_rescue): Removed.
13165 (cmd_normal): Removed.
13166 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13167 rescue command.
13168 (grub_cmdline_run): New function.
13169 (grub_normal_reader_init): Likewise.
13170 (grub_normal_read_line): Likewise.
13171 (grub_env_write_pager): Likewise.
13172 (cmdline): New variable.
13173 (grub_normal_reader): Likewise.
13174 (GRUB_MOD_INIT): Register normal reader and set as current, register
13175 pager hook, register normal command with grub_register_command_prio,
13176 so that it won't show up in command.lst.
13177 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13178 grub_fs_autoload_hook.
13179
13180 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13181 (grub_menu_execute_entry): Replace grub_script_execute with
13182 grub_parser_execute, change parameter to grub_command_execute.
13183
13184 * normal/menu_text.c: Remove <grub/script.h>.
13185
13186 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13187 and <grub/parser.h>.
13188 (run): Change editor_getline to use new parser interface. Change
13189 parameter to grub_command_execute.
13190
13191 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13192 <grub/reader.h> and <grub/parser.h>.
13193 (grub_load_normal_mode): Execute normal command.
13194 (grub_main): Call grub_register_core_commands,
13195 grub_register_rescue_parser and grub_register_rescue_reader, use
13196 grub_reader_loop to enter input loop.
13197
7dd4a573 13198 * kern/parser.c (grub_parser_split_cmdline): Change type of
13199 getline parameter.
d558e6b5 13200 (grub_parser_class): New variable.
13201 (grub_parser_execute): New function.
13202
13203 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13204 * loader/multiboot2.c: Likewise.
13205 * loader/sparc64/ieee1275/linux.c: Likewise.
13206
13207 * util/grub-emu.c (read_command_list): New dummy function.
13208
18db813d 132092009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13210
13211 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13212 count to 16 for CCISS and IDA.
13213
6c67de15 132142009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13215
13216 * normal/menu_text.c (grub_wait_after_message): Print a newline
13217 after waiting for user input.
13218
13219 * loader/i386/linux.c: Include `<grub/normal.h>'.
13220 (grub_cmd_linux): Improve the error message about `ask' mode, by
13221 waiting for user input so it's not missed (we can do this, since
13222 user requested interaction).
13223
d9dc87b0 132242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 Added missing lst to grub-mkrescue
13227
13228 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13229 and ${input_dir}/parttool.lst
13230
ac8a2baa 132312009-04-30 David S. Miller <davem@davemloft.net>
13232
ad22a610 13233 * util/hostdisk.c (device_is_wholedisk): New function.
13234 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13235 zero only if device_is_wholedisk() returns true.
13236
6966215d 13237 * util/hostdisk.c (convert_system_partition_to_system_disk):
13238 Handle virtual disk devices named /dev/vdiskX as found on sparc
13239 and powerpc.
13240
ac8a2baa 13241 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13242 lettered partition specifier is found, convert to numbered.
13243
979b4fb4 132442009-04-29 David S. Miller <davem@davemloft.net>
13245
e2bf39b2 13246 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13247 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13248
3c64e104 13249 * normal/command.c: Add missing newline at end of file.
13250
979b4fb4 13251 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13252 warnings.
13253 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13254 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13255 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13256 ihandles have a 32-bit type but need to be stored in a "void *".
13257
136d9f82 132582009-04-28 Pavel Roskin <proski@gnu.org>
13259
9459c306 13260 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13261 not disk. Adjust all dependencies.
2e08a26a 13262 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 13263 grub_disk_close().
13264
136d9f82 13265 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13266 parent's partition, don't copy it by reference, as it gets freed
13267 on close.
13268
7dd4a573 132692009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 13270
13271 Preboot hooks support
13272
13273 * commands/boot.c (struct grub_preboot_t): new declaration
13274 (preboots_head): new variable
13275 (preboots_tail): likewise
13276 (grub_loader_register_preboot_hook): new function
13277 (grub_loader_unregister_preboot_hook): likewise
13278 (grub_loader_set): launch preboot hooks
13279 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13280 (grub_loader_register_preboot_hook): new declaration
13281 (grub_loader_unregister_preboot_hook): likewise
13282
5af922b5 132832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Warning fix
13286
7dd4a573 13287 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 13288 calling grub_dprintf
13289
a5562c30 132902009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 Bug and warning fixes
13293
7dd4a573 13294 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 13295 declaration
13296 * commands/test.c (test_parse): fixed bug with file tests and corrected
13297 declaration of find_file
13298
4006f85c 132992009-04-26 Pavel Roskin <proski@gnu.org>
13300
13301 * Makefile.in: Don't install empty manual pages if help2man is
13302 missing. Use help2man option for output, not shell redirection.
13303
5c77c3de 133042009-04-26 David S. Miller <davem@davemloft.net>
13305
13306 * util/grub-mkdevicemap.c (make_device_map): Add missing
13307 NESTED_FUNC_ATTR to process_device().
13308
033b10a8 133092009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 Test command
13312
13313 * commands/test.c: rewritten to use bash-like test
13314
e4343593 133152009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 Parttool autoloading and improvements
13318
7dd4a573 13319 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 13320 (parttool.lst): new target
13321 * genmk.rb: generate parttool-*
13322 (CLEANFILES): add #{parttool}
13323 (PARTTOOLFILES): new variable
13324 * genparttoollist.sh: new file
7dd4a573 13325 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 13326 (grub_pcpart_type): likewise
13327 * commands/parttool.c (helpmsg): new variable
13328 (grub_cmd_parttool): output help if not enough arguments are supplied
13329 autoload modules
13330 (GRUB_MOD_INIT(parttool)): use helpmsg
13331
0d312500 133322009-04-24 David S. Miller <davem@davemloft.net>
13333
7dd4a573 13334 Avoiding opening same device multiple times in device iterator.
0d312500 13335
13336 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 13337 and use it to build a list of partitions in iterate_disk() and
0d312500 13338 iterate_partition().
13339
ac20caff 13340 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13341 on disk->data.
13342
0dcf7495 13343 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13344 grub_devalias_iterate() result instead of unconditional 0.
13345 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13346 Also, capture hook return value, either directly or via
13347 grub_children_iterate(), and propagate to caller.
13348 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13349 grub_children_iterate): Return value is now 'int' instead of
13350 'grub_err_t'.
13351 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13352 like a proper iterator, stopping when hooks return non-zero.
13353 (grub_devalias_iterate): Likewise.
13354
c8c08833 133552009-04-23 David S. Miller <davem@davemloft.net>
13356
13357 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13358
f01005a8 133592009-04-22 David S. Miller <davem@davemloft.net>
13360
13361 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13362 is larger than address_cells, use that value for address_cells too.
13363
4e8269da 13364 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13365 IEEE1275_MAX_PATH_LEN): Define.
13366 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13367 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13368 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13369 'devtype'. Explicitly NULL terminate devalias expansion.
13370
a1447506 13371 * util/sparc64/ieee1275/misc.c: New file.
13372 * util/sparc64/ieee1275/grub-setup.c: New file.
13373 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13374 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13375 * util/sparc64/ieee1275/grub-install.in: New file.
13376 * util/ieee1275/ofpath.c: New file.
13377 * util/ieee1275/devicemap.c: New file.
13378 * util/devicemap.c: New file.
13379 * util/deviceiter.c: New file.
13380 * kern/sparc64/ieee1275/init.c: New file.
13381 * include/grub/util/ofpath.h: New file.
13382 * include/grub/util/deviceiter.h: New file.
13383 * util/grub-mkdevicemap.c: Include deviceiter.h.
13384 Implement using grub_util_emit_devicemap_entry and
13385 grub_util_iterate_devices.
13386 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13387 util/devicemap.c into grub-mkdevicemap
13388 * conf/i386-efi.rmk: Likewise.
13389 * conf/i386-ieee1275.rmk: Likewise.
13390 * conf/i386-pc.rmk: Likewise.
13391 * conf/powerpc-ieee1275.rmk: Likewise.
13392 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13393 images and installation utilities. Build kernel as image
13394 instead of as elf binary. Use common rules as much as possible.
13395
7dd4a573 133962009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 13397
13398 Correct GPT definition
13399
7dd4a573 13400 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 13401 of "attrib" member
13402
c6c5219f 134032009-04-19 Felix Zielcke <fzielcke@z-51.de>
13404
13405 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13406
0552ff9f 134072009-04-19 David S. Miller <davem@davemloft.net>
13408
13409 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13410 (grub_rescue_cmd_linux): Rename to...
13411 (grub_cmd_linux): and fix prototype.
13412 (grub_rescue_cmd_initrd): Rename to...
13413 (grub_cmd_initrd): and fix prototype.
13414 (cmd_linux, cmd_initrd): New.
13415 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13416 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13417
d1a282fc 134182009-04-17 Pavel Roskin <proski@gnu.org>
13419
07c5039f 13420 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13421 format.
13422 (grub_ohci_transfer): Likewise.
13423
b012002d 13424 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13425
1bc09c35 13426 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13427 return without a value. Fix inconsistent indentation.
13428
e0ff9126 13429 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13430 match struct grub_fs.
13431
d1a282fc 13432 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13433 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13434 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13435 * commands/lspci.c (grub_lspci_iter): Likewise.
13436
a96df3f2 134372009-04-16 Bean <bean123ch@gmail.com>
13438
13439 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13440 value.
13441
41bb0fe9 134422009-04-15 Pavel Roskin <proski@gnu.org>
13443
13444 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13445 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13446 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13447 definitions.
13448
596c6970 134492009-04-15 Felix Zielcke <fzielcke@z-51.de>
13450
13451 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 13452 that no multiple data or metadata areas are supported and `Unknown
596c6970 13453 metadata header'.
13454
7dd4a573 134552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 13456
13457 Move loader out of the kernel
13458
13459 * kern/loader.c: moved to ...
13460 * commands/boot.c: ... moved here
13461 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13462 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13463 * include/grub/kernel.h (grub_machine_fini): export
13464 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13465 (grub_loader_set): likewise
13466 (grub_loader_unset): likewise
13467 (grub_loader_boot): likewise
13468 * conf/common.rmk: new module boot.mod
13469 (pkglib_MODULES): add boot.mod
13470 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13471 (grub_emu_SOURCES): likewise
13472 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13473 (grub_emu_SOURCES): likewise
13474 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13475 (grub_emu_SOURCES): likewise
13476 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13477 (grub_emu_SOURCES): likewise
13478 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13479 (grub_emu_SOURCES): likewise
7dd4a573 13480 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13481 (grub_emu_SOURCES): likewise
0d5d5653 13482 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 13483 (grub_emu_SOURCES): likewise
0d5d5653 13484
7dd4a573 134852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 13486
13487 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 13488
5999d619 13489 * kern/misc.c (grub_itoa): Removed function
13490 (grub_ltoa): likewise
13491 (grub_vsprintf): use grub_lltoa
13492
7dd4a573 134932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 13494
13495 Restore grub-emu
13496
13497 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13498 * conf/i386-coreboot.rmk: likewise
13499 * conf/i386-ieee1275.rmk: likewise
13500 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13501
20318222 135022009-04-15 Felix Zielcke <fzielcke@z-51.de>
13503
13504 * INSTALL: Add that `./autogen.sh' needs to be run before
13505 `./configure.'.
13506
d05f0df3 135072009-04-14 Bean <bean123ch@gmail.com>
13508
13509 * Makefile.in (pkglib_DATA): Add handler.lst.
13510 (handler.lst): New rule.
13511
13512 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13513 * conf/i386-coreboot.rmk: Likewise.
13514 * conf/i386-ieee1275.rmk: Likewise.
13515 * conf/i386-efi.rmk: Likewise.
13516 * conf/x86_64-efi.rmk: Likewise.
13517 * conf/powerpc-ieee1275.rmk: Likewise.
13518 * conf/sparc64-ieee1275.rmk: Likewise.
13519
13520 * genhandlerlist.sh: New file.
13521
13522 * genmk.rb: Add rules to generate handler.lst.
13523
13524 * include/grub/normal.h (grub_file_getline): New function definition.
13525 (read_handler_list): Likewise.
13526 (free_handler_list): Likewise.
13527
13528 * include/grub/term.h (grub_term_register_input): Add name parameter
13529 for auto generation of handler.lst.
13530 (grub_term_register_output): Likewise.
13531
13532 * normal/handler.c: New file.
13533
13534 * normal/main.c (get_line): Renamed to grub_file_getline.
13535 (read_config_file): Use the newly renamed grub_file_getline.
13536 (read_command_list): Likewise.
13537 (read_fs_list): Likewise.
13538 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13539 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13540
13541 * term/efi/console.c (grub_console_init): Add name parameter for auto
13542 generation of handler.lst.
13543 * term/gfxterm.c: Likewise.
13544 * term/i386/pc/at_keyboard.c: Likewise.
13545 * term/i386/pc/console.c: Likewise.
13546 * term/i386/pc/serial.c: Likewise.
13547 * term/i386/pc/vesafb.c: Likewise.
13548 * term/i386/pc/vga.c: Likewise.
13549 * term/i386/pc/vga_text.c: Likewise.
13550 * term/ieee1275/ofconsole.c: Likewise.
13551 * term/usb_keyboard.c: Likewise.
13552
33c846be 135532009-04-14 Bean <bean123ch@gmail.com>
13554
13555 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13556 properly with null character.
13557
4484e01e 135582009-04-14 Felix Zielcke <fzielcke@z-51.de>
13559
13560 * configure: Remove.
13561 * config.h.in: Likewise.
f93d668e 13562 * stamp-h.in: Likewise.
4484e01e 13563 * DISTLIST: Likewise.
13564 * conf/common.mk: Likewise.
13565 * conf/i386-coreboot.mk: Likewise.
13566 * conf/i386-efi.mk: Likewise.
13567 * conf/i386-ieee1275.mk: Likewise.
13568 * conf/i386.mk: Likewise.
13569 * conf/i386-pc.mk: Likewise.
13570 * conf/powerpc-ieee1275.mk: Likewise.
13571 * conf/sparc64-ieee1275.mk: Likewise.
13572 * conf/x86_64-efi.mk: Likewise.
13573
13574 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13575 develop on GRUB.
13576
7dd4a573 135772009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 13578 David S. Miller <davem@davemloft.net>
13579
13580 * util/hostdisk.c (make_device_name): Fix buffer length
13581 calculations.
13582
e25b5a8c 135832009-04-14 Felix Zielcke <fzielcke@z-51.de>
13584
13585 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13586 <sys/param.h> and <sys/sysctl.h>.
13587 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13588 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13589 opening the device and reset them afterwards.
13590
1f1f580c 135912009-04-13 Pavel Roskin <proski@gnu.org>
13592
13593 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13594 Reported by John Stanley <jpsinthemix@verizon.net>
13595
7ebc2d6b 135962009-04-13 Robert Millan <rmh@aybabtu.com>
13597
13598 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 13599 that name for menuentries when appropriate.
7ebc2d6b 13600
d8ba3667 136012009-04-13 Felix Zielcke <fzielcke@z-51.de>
13602
13603 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13604
cba416eb 136052009-04-13 Robert Millan <rmh@aybabtu.com>
13606
13607 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13608 to Linux, simply abort telling the user it's no longer supported.
13609
a547a745 136102009-04-13 Felix Zielcke <fzielcke@z-51.de>
13611
13612 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 13613 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 13614 `freebsd_loadenv' only when devices.hints exist.
13615
232a769c 136162009-04-13 Pavel Roskin <proski@gnu.org>
13617
13618 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13619
c3012039 136202009-04-13 Felix Zielcke <fzielcke@z-51.de>
13621
13622 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13623 partition number.
13624 (grub_drive): Likewise.
13625
234022fe 136262009-04-13 David S. Miller <davem@davemloft.net>
13627
13628 * kern/sparc64/ieee1275/ieee1275.c: New file.
13629 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13630 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13631 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13632 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13633 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13634 grub_ieee1275_alloc_physmem): Declare new exported functions.
13635
d8e1836c 13636 * include/grub/sparc64/ieee1275/loader.h: New file.
13637 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13638 * include/grub/sparc64/kernel.h: Likewise.
13639 * loader/sparc64/ieee1275/linux.c: Likewise.
13640
96bd81ec 13641 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13642 (grub_fstest_SOURCES): Likewise.
13643
6a4737e5 13644 * util/hostdisk.c (make_device_name): Do not make any assumptions
13645 about the length of drive names.
13646
1d7a72fd 13647 * kern/dl.c (grub_dl_load_file): Close file immediately when
13648 we are done using it.
13649
56bc2471 136502009-04-12 David S. Miller <davem@davemloft.net>
13651
13652 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13653 values. Noticed by Pavel Roskin.
13654
df38d0bb 13655 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13656 target compiler.
7dd4a573 13657
e382e93a 13658 * genmk.rb: Add more flexible image type specification, also
13659 pass --strip-unneeded to objcopy.
13660 * conf/i386-pc.rmk: Use *_FORMAT.
13661 * conf/i386-pc.mk: Rebuilt.
13662
f5dbbca9 13663 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13664 (OFDISK_HASH_SZ): Define.
13665 (ofdisk_hash): New hash table.
13666 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13667 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13668 instead of device phandle which is not unique.
13669
91c88b12 13670 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13671 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13672 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13673 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13674 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13675 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13676 GRUB_KERNEL_MACHINE_DATA_END): Define.
13677 (grub_kernel_image_size, grub_total_module_size): Declare.
13678
5b5d4aa5 136792009-04-12 Pavel Roskin <proski@gnu.org>
13680
7dd4a573 13681 * configure.ac: Change the logic when we check for target tools.
13682 Do it when the target is specified and it's different from the
13683 specified value of the host.
5b5d4aa5 13684
c91e1793 136852009-04-11 Felix Zielcke <fzielcke@z-51.de>
13686
13687 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13688 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13689 GNU/kFreeBSD. Check if a device is a character device. Use
13690 DIOCGMEDIASIZE to get the size.
13691 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13692 support for GNU/kFreeBSD.
13693 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13694 is a character device instead of a block device. Add support for
13695 FreeBSD device names.
13696
13697 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13698 is a character device instead of a block device.
13699
13700 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13701 is a character device instead of a block device.
13702
b1ac8644 137032009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13704
13705 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13706 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13707 FreeBSD. Check if a device is a character device. Use
13708 DIOCGMEDIASIZE to get the size.
13709 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13710 support for FreeBSD.
13711 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13712 is a character device instead of a block device. Add support for
13713 FreeBSD device names.
13714
13715 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13716 a character device instead of a block device.
13717 (grub_util_check_char_device): New function.
13718
13719 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13720 a character device instead of a block device.
13721
13722 * include/grub/util/getroot.h (grub_util_check_char_device): New
13723 prototype.
13724
a3f7515a 137252009-04-11 David S. Miller <davem@davemloft.net>
13726
13727 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13728 static libgcc.
13729 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13730 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13731 function, if present.
13732 (__bswapdi2): Likewise.
13733
0d44993d 13734 * include/grub/sparc64/ieee1275/boot.h: New file.
13735 * boot/sparc64/ieee1275/boot.S: Likewise.
13736 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13737
ed3d2bc2 13738 * kern/misc.c (grub_ltoa): New function.
13739 (grub_vsprintf): Use it to format 'long' integers.
13740
d3bfb59c 137412009-04-10 David S. Miller <davem@davemloft.net>
13742
13743 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13744 slots are of type grub_ieee1275_cell_t.
13745 (grub_nand_read): Likewise.
13746 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13747 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13748 macros are used to compare values in arg/ret block of the call.
13749 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13750 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13751 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13752 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13753 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13754 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13755 grub_ieee1275_close, grub_ieee1275_set_property,
13756 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13757 grub_ieee1275_cell_t.
13758 * kern/ieee1275/openfw.c (grub_map): Likewise.
13759 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13760 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13761
450e2238 13762 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13763 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13764 (grub_devalias_iterate): Likewise.
13765
7dd4a573 137662009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 13767
13768 UFS improvements
13769
13770 * fs/ufs.c (INODE_NBLOCKS): new definition
13771 (struct grub_ufs_dirent): added fields for non-BSD dirents
13772 (grub_ufs_get_file_block): fixed double indirect handling
13773 (grub_ufs_lookup_symlink): use more robust way to determine whether
13774 symlink is inline
13775 (grub_ufs_find_file): support for non-BSD dirents
13776 (grub_ufs_dir): support for non-BSD dirents
13777
e7e6862a 137782009-04-10 Bean <bean123ch@gnail.com>
13779
13780 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13781 attribute, otherwise the size would be wrong for i386 platform.
13782
13783 * include/grub/pci.h (grub_pci_read_word): New inline function.
13784 (grub_pci_read_byte): Likewise.
13785 (grub_pci_write): Likewise.
13786 (grub_pci_write_word): Likewise.
13787 (grub_pci_write_byte): Likewise.
13788
13789 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13790
13791 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13792 (find_framebuf): Scan pci to locate the frame buffer address.
13793
13794 * commands/efi/fixvideo.c: New file.
13795
13796 * commands/efi/loadbios.c: Likewise.
13797
13798 * commands/memrw.c: Likewise.
13799
13800 * util/grub-dumpbios.in: Likewise.
13801
13802 * conf/common.rmk (grub-dumpbios): New utility.
13803 (pkglib_MODULES): New module memrw.mod.
13804 (memrw_mod_SOURCE): New macro.
13805 (memrw_mod_CFLAGS): Likewise.
13806 (memrw_mod_LDFLAGS): Likewise.
13807
7dd4a573 13808 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 13809 fixvideo.mod.
13810 (loadbios_mod_SOURCE): New macro.
13811 (loadbios_mod_CFLAGS): Likewise.
13812 (loadbios_mod_LDFLAGS): Likewise.
13813 (fixvideo_mod_SOURCE): Likewise.
13814 (fixvideo_mod_CFLAGS): Likewise.
13815 (fixvideo_mod_LDFLAGS): Likewise.
13816
7dd4a573 13817 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 13818 fixvideo.mod.
13819 (loadbios_mod_SOURCE): New macro.
13820 (loadbios_mod_CFLAGS): Likewise.
13821 (loadbios_mod_LDFLAGS): Likewise.
13822 (fixvideo_mod_SOURCE): Likewise.
13823 (fixvideo_mod_CFLAGS): Likewise.
13824 (fixvideo_mod_LDFLAGS): Likewise.
13825
af63ada2 138262009-04-08 Felix Zielcke <fzielcke@z-51.de>
13827
13828 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13829
c2cdde70 138302009-04-07 David S. Miller <davem@davemloft.net>
13831
13832 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13833 support for R_SPARC_OLO10 relocations. Fix compile warning for
13834 R_SPARC_WDISP30 case.
ea3f72cf 13835 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 13836
761319cf 138372009-04-06 Pavel Roskin <proski@gnu.org>
13838
1007d1f5 13839 * include/grub/misc.h (ARRAY_SIZE): New macro.
13840 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13841 New macro.
13842 * loader/i386/linux.c (allocate_pages): Use free_pages().
13843 (grub_linux_unload): Don't use free_pages().
13844 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13845 wrong index. Treat all other modes as text modes.
13846 (grub_cmd_linux): Initialize vid_mode unconditionally to
13847 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13848
761319cf 13849 * commands/help.c (print_command_help): Use cmd->prio, not
13850 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13851
ea761d40 138522009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 13853
ea761d40 13854 Parttool
13855
13856 * parttool/pcpart.c: new file
13857 * commands/parttool.c: likewise
13858 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13859 (parttool_mod_SOURCES): new variable
13860 (parttool_mod_CFLAGS): likewise
13861 (parttool_mod_LDFLAGS): likewise
13862 (pcpart_mod_SOURCES): likewise
13863 (pcpart_mod_CFLAGS): likewise
13864 (pcpart_mod_LDFLAGS): likewise
7dd4a573 13865 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 13866 and parttool/pcpart.c
13867 * conf/i386-efi.rmk: likewise
13868 * conf/i386-ieee1275.rmk: likewise
13869 * conf/i386-pc.rmk: likewise
13870 * conf/powerpc-ieee1275.rmk: likewise
13871 * conf/sparc64-ieee1275.rmk: likewise
13872 * conf/x86_64-ieee1275.rmk: likewise
13873
05aaebfb 138742009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Support for mtime and further expandability of dir command
13877
13878 * include/grub/lib/datetime.h: moved to ...
7dd4a573 13879 * include/grub/datetime.h: ... moved here and added
05aaebfb 13880 declaration of grub_unixtime2datetime. All users updated
7dd4a573 13881 * include/grub/fs.h: new syntax for dir and mtime functions in
13882 struct grub_fs
05aaebfb 13883 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13884 and GRUB_FSHELP_FLAGS_MASK
13885 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13886 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13887 (grub_ext2_mtime): new function
13888 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13889 (grub_hfsplus_mtime): new function
13890 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13891 (GRUB_UFS_ATTR_FILE): likewise
13892 (GRUB_UFS_ATTR_LNK): likewise
13893 (struct grub_ufs_sblock): new fields mtime
13894 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13895 all users updated
13896 (grub_ufs_dir): mtime support
13897 (grub_ufs_mtime): new function
13898 * fs/affs.c (grub_affs_dir): use new dir syntax
13899 * fs/afs.c (grub_afs_dir): likewise
13900 * fs/cpio.c (grub_cpio_dir): likewise
13901 * fs/fat.c (grub_fat_find_dir): likewise
13902 * fs/hfs.c (grub_hfs_dir): likewise
13903 * fs/iso9660.c (grub_iso9660_dir): likewise
13904 * fs/jfs.c (grub_jfs_dir): likewise
13905 * fs/minix.c (grub_minix_dir): likewise
13906 * fs/ntfs.c (grub_ntfs_dir): likewise
13907 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13908 * fs/sfs.c (grub_sfs_dir): likewise
13909 * fs/xfs.c (grub_xfs_dir): likewise
13910 * util/hostfs.c (grub_hostfs_dir): likewise
13911 * lib/datetime.c: moved to ...
13912 * normal/datetime.c: ... moved here
13913 (grub_unixtime2datetime): new function
13914 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 13915 * normal/completion.c (iterate_dir): use new dir syntax
13916 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 13917 last modification time of a volume
7dd4a573 13918 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 13919 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 13920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 13921 (normal_mod_SOURCES): likewise
13922 (datetime_mod_SOURCES): Removed lib/datetime.c
13923 * conf/i386-efi.rmk: likewise
7dd4a573 13924 * conf/i386-ieee1275.rmk: likewise
05aaebfb 13925 * conf/i386-pc.rmk: likewise
13926 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 13927 * conf/sparc64-ieee1275.rmk: likewise
13928 * conf/x86_64-efi.rmk: likewise
05aaebfb 13929
8a7e1a14 139302009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 13933
13934 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 13935 on grub_fat_find_dir
13936 (grub_fat_find_dir): use grub_fat_iterate_dir
13937 (grub_fat_label): likewise
13938
04186a9c 139392009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13940
7dd4a573 13941 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 13942 and command.h
13943 remove extraneous kernel_elf_HEADERS
13944
da4c0bb6 139452009-04-04 Bean <bean123ch@gnail.com>
13946
13947 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13948
13949 * util/misc.c: Likewise.
13950
54ad9555 139512009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13952
13953 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13954 instead of grub_printf.
13955
7a6bf9f2 139562009-04-03 Robert Millan <rmh@aybabtu.com>
13957
13958 * loader/i386/linux.c (grub_linux_setup_video): Fill
13959 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13960 values from `mode info' structure instead of hardcoded
13961 values.
13962
3fcc2083 139632009-04-01 Pavel Roskin <proski@gnu.org>
13964
13965 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13966 unused now.
13967 * genmk.rb: Likewise.
13968 * configure.ac: Likewise.
13969
5ec9740b 139702009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13971
13972 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13973 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13974
5270cec8 139752009-04-01 David S. Miller <davem@davemloft.net>
13976
13977 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 13978 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 13979 (grub_setjmp): Mark with 'returns_twice' attribute.
13980 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13981 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13982 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13983
9c3dd854 139842009-04-01 Robert Millan <rmh@aybabtu.com>
13985
13986 Reapply fix from 2008-07-28 which was accidentally reverted; also
13987 perform the same fix to a similar check in same function.
13988
13989 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13990 with the same number are found, just use issue a warning with
13991 grub_dprintf(), as this error has been reported to be non-fatal.
13992
0d818b7e 139932009-03-31 Pavel Roskin <proski@gnu.org>
13994
13995 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13996 for cross-compilation.
13997
95646d92 139982009-03-30 Robert Millan <rmh@aybabtu.com>
13999
14000 Fix i386-ieee1275 build.
14001
14002 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14003 Remove declaration.
14004
6a003ed1 140052009-03-30 Pavel Roskin <proski@gnu.org>
14006
14007 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14008 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14009 zero-terminated, rely only on the strlen value. Fix comparison
14010 of strings differing in length.
14011
92f33540 140122009-03-30 Robert Millan <rmh@aybabtu.com>
14013
14014 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14015 checking for abi version. Improve error messages on BIOS to notify
14016 user about `linux16' command.
14017
a8c48fd5 140182009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14019
f968172e 14020 Leak fixes
a8c48fd5 14021
f968172e 14022 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14023 in case of collision
14024 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 14025
9c323f09 140262009-03-29 Robert Millan <rmh@aybabtu.com>
14027
14028 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14029 set `vid_mode' accordingly.
14030 (grub_linux_boot): Process `vid_mode' and set video mode.
14031
ae68f423 140322009-03-29 Robert Millan <rmh@aybabtu.com>
14033
14034 * util/grub.d/10_linux.in (linux_entry): New function.
14035 Factorize generation of Linux boot entries.
14036
5709cfc4 140372009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14038
14039 Make the format of Environment Block plain text. The boot loader
14040 part is not tested well yet.
7dd4a573 14041
5709cfc4 14042 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14043 (buffer): Removed.
14044 (envblk): Likewise.
14045 (usage): Remove "info" and "clear". Add "unset". Update the
14046 description of "set", as this does not delete variables any
14047 longer.
14048 (create_envblk_file): Complete rewrite.
14049 (open_envblk_file): Likewise.
14050 (cmd_info): Removed.
14051 (cmd_list): Likewise.
14052 (cmd_set): Likewise.
14053 (cmd_clear): Likewise.
14054 (list_variables): New function.
14055 (write_envblk): Likewise.
14056 (set_variables): Likewise.
14057 (unset_variables): Likewise.
14058 (main): Complete rewrite.
14059
14060 * commands/loadenv.c (buffer): Removed.
14061 (envblk): Likewise.
14062 (open_envblk_file): New function.
14063 (read_envblk_file): Complete rewrite.
14064 (grub_cmd_load_env): Likewise.
14065 (grub_cmd_list_env): Likewise.
14066 (struct blocklist): New struct.
14067 (free_blocklists): New function.
14068 (check_blocklists): Likewise.
14069 (write_blocklists): Likewise.
14070 (grub_cmd_save_env): Complete rewrite.
14071
14072 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14073 a plain text signature.
14074 (GRUB_ENVBLK_MAXLEN): Removed.
14075 (struct grub_envblk): Complete rewrite.
14076 (grub_envblk_find): Removed.
14077 (grub_envblk_insert): Likewise.
14078 (grub_envblk_open): New prototype.
14079 (grub_envblk_set): Likewise.
14080 (grub_envblk_delete): Put const to VALUE.
14081 (grub_envblk_iterate): Put const to NAME and VALUE.
14082 (grub_envblk_close): New prototype.
14083 (grub_envblk_buffer): New inline function.
14084 (grub_envblk_size): Likewise.
14085
14086 * lib/envblk.c: Include grub/mm.h.
14087 (grub_env_find): Removed.
14088 (grub_envblk_open): New function.
14089 (grub_envblk_close): Likewise.
14090 (escaped_value_len): Likewise.
14091 (find_next_line): Likewise.
14092 (grub_envblk_insert): Removed.
14093 (grub_envblk_set): New function.
14094 (grub_envblk_delete): Complete rewrite.
14095 (grub_envblk_iterate): Likewise.
14096
a9368fd3 140972009-03-28 Robert Millan <rmh@aybabtu.com>
14098
14099 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14100 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14101 variables. Use 16-bit loader.
14102 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14103 loader.
14104 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14105 (grub_linux16_boot): ... this. Update all users.
14106 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14107 (grub_linux_boot): ... this. Update all users.
14108
14109 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14110 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14111 commands to `linux16' and `initrd16'.
14112 (GRUB_MOD_FINI(linux)): Rename to ...
14113 (GRUB_MOD_FINI(linux16)): ... this.
14114
e4dd5a7e 141152009-03-24 Pavel Roskin <proski@gnu.org>
14116
14117 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14118 not just for compilation.
14119
c04d6e05 141202009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Move multiboot helper out of kernel
14123
14124 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14125 `loader/i386/multiboot_helper.S'.
14126 * conf/i386-coreboot.rmk: Likewise
14127 * conf/i386-ieee1275.rmk: Likewise
14128
14129 * kern/i386/loader.S: Move multiboot helpers from here...
14130 * loader/i386/multiboot_helper.S: ...moved here
14131 * include/grub/i386/loader.h: Move declarations of multiboot
14132 helpers from here...
14133 * include/grub/i386/multiboot.h: ...moved here
14134 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14135
42a5b3fc 141362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14137
14138 * kern/env.c (grub_env_context_open): Added an argument to specify
14139 whether a new context inherits exported variables from current
14140 one. This is useful when making a sandbox to interpret a config
14141 file.
14142 All callers updated.
14143
14144 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14145
b28bbc4e 141462009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14147
14148 * kern/env.c (grub_env_context_close): Fix memory leaks.
14149
f04f02e4 141502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14151
14152 * normal/main.c (grub_normal_execute): Added an argument
14153 BATCH to specify if an interactive interface should be provided
14154 after reading a config file.
14155 All callers updated.
14156 (read_command_list): Prevent being executed twice.
14157 (read_fs_list): Likewise.
14158
42a5b3fc 14159 * include/grub/normal.h (grub_normal_execute): Updated the
14160 prototype.
f04f02e4 14161
41473ac2 141622009-03-22 Pavel Roskin <proski@gno.org>
14163
fbc00b0c 14164 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14165 _start.
14166 * kern/i386/pc/startup.S: Likewise.
14167 * kern/i386/efi/startup.S: Likewise.
14168 * kern/i386/ieee1275/startup.S: Likewise.
14169 * kern/i386/coreboot/startup.S: Likewise.
14170 * kern/x86_64/efi/startup.S: Likewise.
14171
41473ac2 14172 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14173 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14174 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14175
2274cc8f 141762009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14179
14180 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14181 limit detection.
14182 Use vaddr of correct segment for entry_point.
14183
b1b797cb 141842009-03-21 Bean <bean123ch@gmail.com>
14185
14186 * commands/blocklist.c: Add include file <grub/command.h>, remove
14187 <grub/normal.h> and <grub/arg.h>.
14188 (grub_cmd_blocklist): Use the new command interface.
14189 (GRUB_MOD_INIT): Likewise.
14190 (GRUB_MOD_FINI): Likewise.
14191 * commands/boot.c: Likewise.
14192 * commands/cat.c: Likewise.
14193 * commands/cmp.c: Likewise.
14194 * commands/configfile.c: Likewise.
14195 * commands/crc.c: Likewise.
14196 * commands/echo.c: Likewise.
14197 * commands/halt.c: Likewise.
14198 * commands/handler.c: Likewise.
14199 * commands/hdparm.c: Likewise.
14200 * commands/help.c: Likewise.
14201 * commands/hexdump.c: Likewise.
14202 * commands/loadenv.c: Likewise.
14203 * commands/ls.c: Likewise.
14204 * commands/lsmmap.c: Likewise.
14205 * commands/lspci.c: Likewise.
14206 * commands/loadenv.c: Likewise.
14207 * commands/read.c: Likewise.
14208 * commands/reboot.c: Likewise.
14209 * commands/search.c: Likewise.
14210 * commands/sleep.c: Likewise.
14211 * commands/test.c: Likewise.
14212 * commands/usbtest.c: Likewise.
14213 * commands/videotest.c: Likewise.
14214 * commands/i386/cpuid.c: Likewise.
14215 * commands/i386/pc/halt.c: Likewise.
14216 * commands/i386/pc/play.c: Likewise.
14217 * commands/i386/pc/pxecmd.c: Likewise.
14218 * commands/i386/pc/vbeinfo.c: Likewise.
14219 * commands/i386/pc/vbetest.c: Likewise.
14220 * commands/ieee1275/suspend.c: Likewise.
14221 * disk/loopback.c: Likewise.
14222 * font/font_cmd.c: Likewise.
14223 * hello/hello.c: Likewise.
14224 * loader/efi/appleloader.c: Likewise.
14225 * loader/efi/chainloader.c: Likewise.
14226 * loader/i386/bsd.c: Likewise.
14227 * loader/i386/efi/linux.c: Likewise.
14228 * loader/i386/ieee1275/linux.c: Likewise.
14229 * loader/i386/linux.c: Likewise.
14230 * loader/i386/pc/chainloader.c: Likewise.
14231 * loader/i386/pc/linux.c: Likewise.
14232 * loader/powerpc/ieee1275/linux.c: Likewise.
14233 * loader/multiboot_loader.c: Likewise.
14234 * term/gfxterm.c: Likewise.
14235 * term/i386/pc/serial.c: Likewise.
14236 * term/terminfo.c: Likewise.
14237
14238 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14239 * term/i386/pc/vga.c: Likewise.
14240 * video/readers/jpeg.c: Likewise.
14241 * video/readers/png.c: Likewise.
14242 * video/readers/tga.c: Likewise.
14243
14244 * util/grub-fstest (cmd_loopback): Removed.
14245 (cmd_blocklist): Likewise.
14246 (cmd_ls): Likewise.
14247 (grub_register_command): Likewise.
14248 (grub_unregister_command): Likewise.
14249 (execute_command): Use grub_command_find to locate command and execute
14250 it.
14251
14252 * include/grub/efi/chainloader.h: Removed.
14253 * loader/efi/chainloader_normal.c: Likewise.
14254 * loader/i386/bsd_normal.c: Likewise.
14255 * loader/i386/pc/chainloader_normal.c: Likewise.
14256 * loader/i386/pc/multiboot_normal.c: Likewise.
14257 * loader/linux_normal.c: Likewise.
14258 * loader/multiboot_loader_normal.c: Likewise.
14259 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14260
14261 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14262 and grub_register_command_p1.
14263
14264 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14265 kern/command.c, lib/arg.c and commands/extcmd.c.
14266 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14267 (minicmd_mod_SOURCES): New variable.
14268 (minicmd_mod_CFLAGS): Likewise.
14269 (minicmd_mod_LDFLAGS): Likewise.
14270 (extcmd_mod_SOURCES): Likewise.
14271 (extcmd_mod_CFLAGS): Likewise.
14272 (extcmd_mod_LDFLAGS): Likewise.
14273 (boot_mod_SOURCES): Removed.
14274 (boot_mod_CFLAGS): Likewise.
14275 (boot_mod_LDFLAGS): Likewise.
14276
14277 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14278 kern/corecmd.c.
14279 (kernel_img_HEADERS): Add command.h.
14280 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14281 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14282 and lib/arg.c.
14283 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14284 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14285 remove the corresponding normal mode command.
14286 (normal_mod_SOURCES): Remove normal/arg.c.
14287 * conf/i386-coreboot.rmk: Likewise.
14288 * conf/i386-efi.rmk: Likewise.
14289 * conf/i386-ieee1275.rmk: Likewise.
14290 * conf/powerpc-ieee1275.rmk: Likewise.
14291 * conf/x86_64-efi.rmk: Likewise.
14292
14293 * include/grub/arg.h: Move from here ...
14294 * include/grub/lib/arg.h: ... to here.
14295
14296 * normal/arg.c: Move from here ...
14297 * lib/arg.c: ... to here.
14298
14299 * commands/extcmd.c: New file.
14300 * commands/minicmd.c: Likewise.
14301 * include/grub/command.h: Likewise.
14302 * include/grub/extcmd.h: Likewise.
14303 * kern/command.c: Likewise.
14304 * kern/corecmd.c: Likewise.
14305
14306 * kern/list.c (grub_list_iterate): Return int instead of void.
14307 (grub_list_insert): New function.
14308 (grub_prio_list_insert): Likewise.
14309
14310 * kern/rescue.c (grub_rescue_command): Removed.
14311 (grub_rescue_command_list): Likewise.
14312 (grub_rescue_register_command): Likewise.
14313 (grub_rescue_unregister_command): Likewise.
14314 (grub_rescue_cmd_boot): Move to minicmd.c
14315 (grub_rescue_cmd_help): Likewise.
14316 (grub_rescue_cmd_info): Likewise.
14317 (grub_rescue_cmd_boot): Likewise.
14318 (grub_rescue_cmd_testload): Likewise.
14319 (grub_rescue_cmd_dump): Likewise.
14320 (grub_rescue_cmd_rmmod): Likewise.
14321 (grub_rescue_cmd_lsmod): Likewise.
14322 (grub_rescue_cmd_exit): Likewise.
14323 (grub_rescue_print_devices): Moved to corecmd.c.
14324 (grub_rescue_print_files): Likewise.
14325 (grub_rescue_cmd_ls): Likewise.
14326 (grub_rescue_cmd_insmod): Likewise.
14327 (grub_rescue_cmd_set): Likewise.
14328 (grub_rescue_cmd_unset): Likewise.
7d074e3c 14329 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 14330 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 14331 commands, remove grub_rescue_register_command calls.
b1b797cb 14332
7d074e3c 14333 * normal/command.c (grub_register_command): Removed.
b1b797cb 14334 (grub_unregister_command): Likewise.
14335 (grub_command_find): Likewise.
14336 (grub_iterate_commands): Likewise.
14337 (rescue_command): Likewise.
14338 (export_command): Moved to corecmd.c.
14339 (set_command): Removed.
14340 (unset_command): Likewise.
14341 (insmod_command): Likewise.
14342 (rmmod_command): Likewise.
14343 (lsmod_command): Likewise.
14344 (grub_command_init): Likewise.
14345
14346 * normal/completion.c (iterate_command): Use cmd->prio to check for
14347 active command.
14348 (complete_arguments): Use grub_extcmd_t structure to find options.
14349 (grub_normal_do_completion): Change function grub_iterate_commands to
14350 grub_command_iterate.
14351
14352 * normal/execute.c (grub_script_execute_cmd): No need to parse
14353 argument here.
14354
14355 * normal/main.c (grub_dyncmd_dispatcher): New function.
14356 (read_command_list): Register unload commands as dyncmd.
14357 (grub_cmd_normal): Use new command interface, register rescue,
14358 unregister normal at entry, register normal, unregister rescue at exit.
14359
14360 * include/grub/list.h (grub_list_test_t): New type.
14361 (grub_list_iterate): Return int instead of void.
14362 (grub_list_insert): New function.
14363 (GRUB_AS_NAMED_LIST_P): New macro.
14364 (GRUB_AS_PRIO_LIST): Likewise.
14365 (GRUB_AS_PRIO_LIST_P): Likewise.
14366 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14367 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14368 (grub_prio_list): New structure.
14369 (grub_prio_list_insert): New function.
14370 (grub_prio_list_remove): New inline function.
14371
14372 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14373 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14374 (GRUB_COMMAND_FLAG_MENU): Likewise.
14375 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14376 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14377 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14378 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14379 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14380 (grub_command): Likewise.
14381 (grub_register_command): Likewise.
14382 (grub_command_find): Likewise.
14383 (grub_iterate_commands): Likewise.
14384 (grub_command_init): Likewise.
14385 (grub_arg_parse): Likewise.
14386 (grub_arg_show_help): Likewise.
14387
14388 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14389 (grub_rescue_unregister_command): Likewise.
14390
14391 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14392 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14393 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14394
14395 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14396 grub_rescue_cmd_initrd.
14397 * include/grub/i386/loader.h: Likewise.
14398 * include/grub/x86_64/loader.h: Likewise.
14399
14400 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14401
1f4147aa 144022009-03-21 Bean <bean123ch@gmail.com>
14403
14404 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14405 instead of stat in mingw environment.
14406
14407 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14408
14409 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14410
14411 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14412 AC_CONFIG_LINKS.
14413
2156d5ba 144142009-03-21 Bean <bean123ch@gmail.com>
14415
14416 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14417 out of range error.
14418
177b82ca 144192009-03-18 Michel Dänzer <michel@daenzer.net>
14420
14421 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14422 checking inode flags for EXT4_EXTENTS_FLAG.
14423
14aad807 144242009-03-18 Robert Millan <rmh@aybabtu.com>
14425
14426 * loader/i386/linux.c: Include `<grub/video.h>' and
14427 `<grub/i386/pc/vbe.h>'..
14428 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14429 (grub_linux32_boot): Attempt to configure video settings with
14430 grub_linux_setup_video().
14431 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14432 to avoid grub_console_fini() which would step out of graphical mode
14433 unconditionally.
14434
8cf83a27 144352009-03-14 Robert Millan <rmh@aybabtu.com>
14436
14437 Fix build on powerpc.
14438 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14439
40164e75 144402009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14443 background image command.
14444
c58bc32a 144452009-03-12 Colin D Bennett <colin@gibibit.com>
14446
14447 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14448 (grub_gfxterm_putchar): Extract pairs of identical calls to
14449 draw_cursor out of conditional blocks.
14450
5415144a 144512009-03-11 Pavel Roskin <proski@gnu.org>
14452
14453 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14454 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14455
6394042e 144562009-03-11 Robert Millan <rmh@aybabtu.com>
14457
14458 * loader/i386/multiboot_elfxx.c
14459 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14460
b7b50e5f 144612009-03-11 Felix Zielcke <fzielcke@z-51.de>
14462
14463 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14464 `kern/handler.c'.
14465
1ca7fc96 144662009-03-11 Robert Millan <rmh@aybabtu.com>
14467
14468 * loader/i386/multiboot.c (code_size): New variable.
14469 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 14470 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 14471 4-byte alignment to MBI and others by increasing
7d074e3c 14472 `boot_loader_name_length' appropriately.
1ca7fc96 14473
14474 * loader/i386/multiboot_elfxx.c
14475 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14476
a83ea1d2 144772009-03-09 Felix Zielcke <fzielcke@z-51.de>
14478
14479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14480 `fs/ext2.c'.
14481
aa9f3bff 144822009-03-08 Robert Millan <rmh@aybabtu.com>
14483
14484 Make loader/i386/linux.c usable on i386-pc again.
14485
14486 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14487 memory to heap.
14488 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14489 `#error' stanza.
14490
d8b3b60e 144912009-03-07 Bean <bean123ch@gmail.com>
14492
14493 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14494 allocation.
14495
b362c9e9 144962009-03-06 Robert Millan <rmh@aybabtu.com>
14497
14498 Fix display issue on terminals with screen size other than 80x25
14499 (e.g. gfxterm with resolution higher than 640x480).
14500
14501 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 14502 position relative to the center of the terminal instead of relying
b362c9e9 14503 on a hardcoded offset.
14504
9304eef1 145052009-03-04 Robert Millan <rmh@aybabtu.com>
14506
14507 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14508 installed.
14509
14510 * Makefile.in (host_kernel): New variable.
14511 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14512 scripts instead of just the windows one.
14513 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14514
eabc95fb 145152009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 14516
14517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14518 `kern/handler.c'.
14519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14520 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14525
ceb1223c 145262009-03-04 Felix Zielcke <fzielcke@z-51.de>
14527
14528 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14529 or if there's no space for the disk label and print the partition number on a
14530 invalid magic.
14531
4910684a 145322009-03-04 Felix Zielcke <fzielcke@z-51.de>
14533
14534 * util/misc.c: Include <time.h>.
14535 (grub_millisleep): New function.
14536
7e9ca17a 145372009-03-04 Bean <bean123ch@gmail.com>
14538
14539 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14540 another option -mno-red-zone.
14541
14542 * commands/handler.c: Change module description.
14543
14544 * kern/handler.c: Add missing space at the end of description line.
14545
14546 * kern/list.c: Likewise.
14547
f501677c 145482009-03-03 Robert Millan <rmh@aybabtu.com>
14549
14550 Move more components to the relocation area, and fix mbi pointer
14551 handling to use the destination rather than the origin (thanks to
14552 Vladimir Serbinenko for spotting).
14553
14554 * loader/i386/multiboot.c (mbi_dest): New variable.
14555 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14556 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14557 relocation area.
14558
9902d047 145592009-03-01 Bean <bean123ch@gmail.com>
14560
50fb7002 14561 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 14562 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14563 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14564 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14565
14566 * loader/i386/efi/linux.c (acpi_guid): New variable.
14567 (acpi_guid): Likewise.
14568 (EBDA_SEG_ADDR): New constant.
14569 (LOW_MEM_ADDR): Likewise.
14570 (FAKE_EBDA_SEG): Likewise.
14571 (fake_bios_data): New function.
14572 (grub_linux_boot): Call fake_bios_data.
14573
71b9f361 145742009-03-01 Bean <bean123ch@gmail.com>
14575
14576 * commands/terminal.c: Removed.
14577
14578 * commands/handler.c: New file.
14579
14580 * include/grub/list.h: Likewise.
14581
14582 * include/grub/handler.h: Likewise.
14583
14584 * kern/list.c: Likewise.
14585
14586 * kern/handler.c: Likewise.
14587
14588 * kern/term.h: Include header file <grub/handler.h>.
14589 (grub_term_input): Move next field to the beginning.
14590 (grub_term_output): Likewise.
14591 (grub_term_input_class): New variable.
14592 (grub_term_output_class): Likewise.
14593 (grub_term_register_input): Changed to inline function.
14594 (grub_term_register_output): Likewise.
14595 (grub_term_unregister_input): Likewise.
14596 (grub_term_unregister_output): Likewise.
14597 (grub_term_set_current_input): Likewise.
14598 (grub_term_set_current_output): Likewise.
14599 (grub_term_get_current_input): Likewise.
14600 (grub_term_get_current_output): Likewise.
14601 (grub_term_iterate_input): Removed.
14602 (grub_term_iterate_output): Likewise.
14603
14604 * kern/term.c (grub_term_list_input): Removed.
14605 (grub_term_list_output): Likewise.
14606 (grub_term_input_class): New variable.
14607 (grub_term_output_class): Likewise.
50fb7002 14608 (grub_cur_term_input): Change variable as macro.
71b9f361 14609 (grub_cur_term_output): Likewise.
14610 (grub_term_register_input): Removed.
14611 (grub_term_register_output): Likewise.
14612 (grub_term_unregister_input): Likewise.
14613 (grub_term_unregister_output): Likewise.
14614 (grub_term_set_current_input): Likewise.
14615 (grub_term_set_current_output): Likewise.
14616 (grub_term_iterate_input): Likewise.
14617 (grub_term_iterate_output): Likewise.
14618 (grub_term_get_current_input): Likewise.
14619 (grub_term_get_current_output): Likewise.
14620
14621 * util/grub-editenv.c: Include header file <grub/handler.h>.
14622 (grub_term_get_current_input): Removed.
14623 (grub_term_get_current_output): Likewise.
14624 (grub_term_input_class): New variable.
50fb7002 14625 (grub_term_output_class): Likewise.
71b9f361 14626
14627 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14628 (grub_term_get_current_output): Likewise.
14629 (grub_term_input_class): New variable.
50fb7002 14630 (grub_term_output_class): Likewise.
71b9f361 14631
14632 * util/grub-probe.c (grub_term_get_current_input): Removed.
14633 (grub_term_get_current_output): Likewise.
14634 (grub_term_input_class): New variable.
50fb7002 14635 (grub_term_output_class): Likewise.
71b9f361 14636
14637 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14638 (grub_term_get_current_output): Likewise.
14639 (grub_term_input_class): New variable.
50fb7002 14640 (grub_term_output_class): Likewise.
71b9f361 14641
14642 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14643 (terminal_mod_SOURCES): Likewise.
14644 (terminal_mod_CFLAGS): Likewise.
14645 (terminal_mod_LDFLAGS): Likewise.
14646
14647 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14648 handler.c.
14649 (kernel_img_SOURCES): Add list.c and handler.c.
14650 (kernel_img_HEADERS): Add list.h and handler.h.
14651
14652 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14653 handler.c.
14654 (kernel_mod_SOURCES): Add list.c and handler.c.
14655 (kernel_mod_HEADERS): Add list.h and handler.h.
14656
14657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14658 handler.c.
14659 (kernel_elf_SOURCES): Add list.c and handler.c.
14660 (kernel_elf_HEADERS): Add list.h and handler.h.
14661
14662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14663 handler.c.
14664 (kernel_elf_SOURCES): Add list.c and handler.c.
14665 (kernel_elf_HEADERS): Add list.h and handler.h.
14666
14667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14668 handler.c.
14669 (kernel_mod_SOURCES): Add list.c and handler.c.
14670 (kernel_mod_HEADERS): Add list.h and handler.h.
14671
14672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14673 handler.c.
14674 (kernel_elf_SOURCES): Add list.c and handler.c.
14675 (kernel_elf_HEADERS): Add list.h and handler.h.
14676
8a31787f 146772009-02-27 Robert Millan <rmh@aybabtu.com>
14678
14679 Factorize elf32 / elf64 code in Multiboot loader. This will
14680 prevent it from getting out of sync again.
14681
14682 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14683 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14684 grub_multiboot_load_elf64): Move from here ...
14685 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14686 grub_multiboot_load_elf): ... to here (new file).
14687
51cd3dfc 146882009-02-27 Robert Millan <rmh@aybabtu.com>
14689
14690 * util/grub.d/10_linux.in: Rename "single-user mode" to
14691 "recovery mode".
14692
6e8c9c3a 146932009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 Don't leak in SCSI code.
14696 * disk/scsi.c (grub_scsi_close): free `scsi'.
14697
4b6bf4f9 146982009-02-27 Robert Millan <rmh@aybabtu.com>
14699
14700 * loader/i386/pc/multiboot.c: Move from here ...
14701 * loader/i386/multiboot.c: ... to here. Update all users.
14702
b9413424 147032009-02-27 Robert Millan <rmh@aybabtu.com>
14704
14705 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14706 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14707
50fb7002 147082009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 14709
14710 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14711 b-tree.
14712
8cc50345 147132009-02-27 Robert Millan <rmh@aybabtu.com>
14714
14715 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14716 `0x' qualifier as 0 when base is specified as parameter).
14717
6e09b8b7 147182009-02-24 Bean <bean123ch@gmail.com>
14719
14720 * configure.ac: Check for -mcmodel=large in x86_64 target.
14721
14722 * include/grub/efi/api.h (efi_call_10): New macro.
14723 (efi_wrap_10): New function.
14724
14725 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14726 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14727 (GRUB_PE32_REL_BASED_LOW): Likewise.
14728 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14729 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14730 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14731 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14732 (GRUB_PE32_REL_BASED_REL): Likewise.
14733 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14734 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14735 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14736
14737 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14738 issue.
14739
14740 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14741 (efi_wrap_10): New function.
14742
14743 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14744
14745 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14746 MB/MBP model (NV chipset).
14747 (devdata_devs): Add devpath_5 to the list.
14748
14749 * load/i386/efi/linux.c (video_base): Remove variable.
14750 (RGB_MASK): New macro.
14751 (RGB_MAGIC): Likewise.
14752 (LINE_MIN): Likewise.
14753 (LINE_MAX): Likewise.
14754 (FBTEST_STEP): Likewise.
14755 (FBTEST_COUNT): Likewise.
14756 (fb_list): New variable.
14757 (grub_find_video_card): Remove function.
14758 (find_framebuf): New function.
14759 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14760 line length.
14761
14762 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14763 problem for x86_64.
14764
74b21bee 147652009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14766
14767 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14768
14769 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14770 coding tool name.
14771
a455f472 147722009-02-22 Robert Millan <rmh@aybabtu.com>
14773
14774 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14775 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14776 in our relocation, instead of using it directly from heap. Also
14777 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14778
6374daf3 147792009-02-21 Robert Millan <rmh@aybabtu.com>
14780
14781 Implement USB keyboard support (based on patch by Marco Gerards)
14782
14783 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14784 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14785 (usb_keyboard_mod_LDFLAGS): New variables.
14786
14787 * term/usb_keyboard.c: New file.
14788
8fa4ea70 147892009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Corrected wrong declaration
14792
14793 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14794
353976ac 147952009-02-14 Christian Franke <franke@computer.org>
14796
14797 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14798 (grub_lspci_iter): Print class code and programming interface byte.
14799
6aa1169b 148002009-02-14 Christian Franke <franke@computer.org>
14801
14802 * gendistlist.sh: Ignore `.svn' directories.
14803
265372ca 148042009-02-14 Felix Zielcke <fzielcke@z-51.de>
14805
14806 * fs/fat.c: Add 2009 to Copyright line.
14807
9ff516f3 148082009-02-14 Christian Franke <franke@computer.org>
14809
14810 * commands/hdparm.c: New file. Provides `hdparm' command
14811 which sends ATA commands via grub_disk_ata_pass_through ().
14812
14813 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14814
14815 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14816 and <grub/cpu/io.h> to include/grub/ata.h.
14817 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14818 (GRUB_CDROM_SECTOR_SIZE): Remove.
14819 (GRUB_ATA_*): Move to include/grub/ata.h.
14820 (GRUB_ATAPI_*): Likewise.
14821 (enum grub_ata_commands): Likewise.
14822 (enum grub_ata_timeout_milliseconds): Likewise.
14823 (struct grub_ata_device): Likewise.
14824 (grub_ata_regset): Likewise.
14825 (grub_ata_regget): Likewise.
14826 (grub_ata_regset2): Likewise.
14827 (grub_ata_regget2): Likewise.
14828 (grub_ata_check_ready): Likewise.
14829 (grub_ata_wait_not_busy): Remove static, exported in
14830 include/grub/ata.h.
14831 (grub_ata_wait_drq): Likewise.
14832 (grub_ata_pio_read): Likewise.
14833
14834 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14835 function for hdparm.mod.
14836
14837 * include/grub/ata.h: New file, contains declarations from
14838 disk/ata.c.
14839 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14840
14841 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14842 (grub_disk_ata_pass_through): New exported variable.
14843
14844 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14845
772e23da 148462009-02-13 Colin D Bennett <colin@gibibit.com>
14847
14848 Support multiple fallback entries, and provide an API to support
14849 executing default+fallback menu entries. Renamed the `terminal' menu
14850 viewer to `text'.
14851
14852 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14853 variable declaration.
14854 (grub_menu_execute_callback): New structure declaration.
14855 (grub_menu_execute_callback_t): New typedef.
14856 (grub_menu_execute_with_fallback): New function declaration.
14857 (grub_menu_get_entry): Likewise.
14858 (grub_menu_get_timeout): Likewise.
14859 (grub_menu_set_timeout): Likewise.
14860
14861 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14862
14863 * normal/menu.c (grub_wait_after_message): Moved to
14864 `normal/menu_text.c'.
14865 (draw_border): Likewise.
14866 (print_message): Likewise.
14867 (print_entry): Likewise.
14868 (print_entries): Likewise.
14869 (grub_menu_init_page): Likewise.
14870 (get_entry_number): Likewise.
14871 (print_timeout): Likewise.
14872 (run_menu): Likewise.
14873 (grub_menu_execute_entry): Likewise.
14874 (show_text_menu): Likewise.
14875 (get_and_remove_first_entry_number): New function.
14876 (grub_menu_execute_with_fallback): Likewise.
14877 (get_entry): Renamed to ...
14878 (grub_menu_get_entry): .. this and made it global.
14879 (get_timeout): Renamed to ...
14880 (grub_menu_get_timeout): ... this and made it global.
14881 (set_timeout): Renamed to ...
14882 (grub_menu_set_timeout): ... this and made it global.
14883 (grub_normal_terminal_menu_viewer): Renamed to ...
14884 (grub_normal_text_menu_viewer): ... this.
14885
14886 * normal/menu_text.c: New file. Extracted text-menu-specific code
14887 from normal/menu.c.
14888
14889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14890 (normal_mod_SOURCES): Likewise.
14891
14892 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14893 (normal_mod_SOURCES): Likewise.
14894
14895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14896 (normal_mod_SOURCES): Likewise.
14897
14898 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14899 (normal_mod_SOURCES): Likewise.
14900
14901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14902 (normal_mod_SOURCES): Likewise.
14903
14904 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14905 (normal_mod_SOURCES): Likewise.
14906
14907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14908 (normal_mod_SOURCES): Likewise.
14909
16ac430e 149102009-02-11 Robert Millan <rmh@aybabtu.com>
14911
14912 * util/grub.d/00_header.in: Update old reference to `font' command.
14913
06ff20fc 149142009-02-10 Felix Zielcke <fzielcke@z-51.de>
14915
14916 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14917
14918 Based on patch from Javier Martín.
14919
96da9407 149202009-02-09 Felix Zielcke <fzielcke@z-51.de>
14921
14922 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 14923 to avoid false positives with FAT.
96da9407 14924 (grub_fstest_SOURCES): Likewise.
14925 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14928 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14929 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14931
6dca6fe4 149322009-02-09 Felix Zielcke <fzielcke@z-51.de>
14933
06ff20fc 14934 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 14935 bpb.version_specific.fat12_or_fat16.fstype and
14936 bpb.version_specific.fat32.fstype.
14937
2550c62f 149382009-02-08 Robert Millan <rmh@aybabtu.com>
14939
be110b30 14940 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 14941
56978920 149422009-02-08 Robert Millan <rmh@aybabtu.com>
14943
14944 * Makefile.in (host_os, host_cpu): New variables.
14945 (target_os): Remove. Update all users.
14946
d64399b5 149472009-02-08 Marco Gerards <marco@gnu.org>
14948
14949 * Makefile.in (enable_grub_emu_usb): New variable.
14950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14951 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14952 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14953 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14954 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14955 `usbtest.mod' and `usbms.mod'.
14956 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14957 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14958 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14959 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14960 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14961 variables.
14962
14963 * disk/usbms.c: New file.
14964
14965 * include/grub/usb.h: Likewise.
14966
14967 * include/grub/usbtrans.h: Likewise.
14968
14969 * include/grub/usbdesc.h: Likewise.
14970
14971 * bus/usb/usbtrans.c: Likewise.
14972
14973 * bus/usb/ohci.c: Likewise.
14974
14975 * bus/usb/uhci.c: Likewise.
14976
14977 * bus/usb/usbhub.c: Likewise.
14978
14979 * bus/usb/usb.c: Likewise.
14980
14981 * commands/usbtest.c: Likewise.
14982
14983 * util/usb.c: Likewise.
50fb7002 14984
d64399b5 14985 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14986
14987 * configure.ac: Test for libusb presence.
50fb7002 14988
d64399b5 14989 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14990
2b40d6bb 149912009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14992
14993 * kern/mm.c: Add more comments.
14994
73a4ce81 149952009-02-08 Robert Millan <rmh@aybabtu.com>
14996
14997 Patch from Javier Martín.
14998 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14999 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15000
f821ce59 150012009-02-08 Robert Millan <rmh@aybabtu.com>
15002
15003 * fs/cpio.c: Split tar functionality to ...
15004 * fs/tar.c: ... here (new file). Update all users.
15005
aebfc4b0 150062009-02-07 Robert Millan <rmh@aybabtu.com>
15007
15008 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15009 backward-incompatible features.
15010
15011 Based on patch from Javier Martín, with some adjustments.
15012
50fb7002 150132009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 15014
15015 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15016
0bb5115e 150172009-02-07 Robert Millan <rmh@aybabtu.com>
15018
15019 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15020 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15021 after the RAID stuff.
15022
38a0f8e7 150232009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15024
50fb7002 15025 Fixes problem when running vbetest command as reported by
38a0f8e7 15026 Vladimir Serbinenko <phcoder@gmail.com>.
15027
15028 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15029
3143cc1c 150302009-02-04 Felix Zielcke <fzielcke@z-51.de>
15031
15032 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15033 /dev/md/NpN style mdraid devices.
15034
9cba6fce 150352009-02-03 Felix Zielcke <fzielcke@z-51.de>
15036
15037 * util/unifont2pff.rb: Remove.
15038
e507a2c1 150392009-02-03 Felix Zielcke <fzielcke@z-51.de>
15040
15041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15042 `#'.
15043
d2c2b4cd 150442009-02-03 Felix Zielcke <fzielcke@z-51.de>
15045
15046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15053
b4315fb0 150542009-02-02 Christian Franke <franke@computer.org>
15055
15056 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15057
de3aa260 150582009-02-01 Felix Zielcke <fzielcke@z-51.de>
15059
7c3ff286 15060 * INSTALL: Note that we now require at least autoconf 2.59 and
15061 that LZO is optional.
de3aa260 15062
825a182b 150632009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15064
15065 Base on patch on bug #24154 created by Tomas Tintera
15066 <trosos@seznam.cz>.
15067
15068 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15069
a69ef770 150702009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15071
7c3ff286 15072 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 15073 <bero@arklinux.org>.
15074
15075 * normal/parser.y (script_init): Add missing semicolon.
15076
6fa42fa6 150772009-01-31 Colin D Bennett <colin@gibibit.com>
15078
7c3ff286 15079 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 15080 (free_menu_entry_classes): Added.
15081 (grub_normal_menu_addentry): Added class property handling.
15082 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15083 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15084
15085 * normal/menu_viewer.c: New file.
15086
15087 * normal/menu.c (run_menu_entry): Renamed to ...
15088 (grub_menu_execute_entry): ... this and made it as global.
15089 (grub_menu_run): Renamed to ...
15090 (show_text_menu): ... this and made it local.
15091 (show_text_menu): Adapt to new function names.
15092 (grub_normal_terminal_menu_viewer): New global variable.
15093
15094 * include/grub/menu.h: New file.
15095
15096 * include/grub/menu_viewer.h: New file.
15097
15098 * include/grub/normal.h: Added include to grub/menu.h.
15099 (grub_menu_entry): Moved to include/grub/menu.h.
15100 (grub_menu_entry_t): Likewise.
15101 (grub_menu): Likewise.
15102 (grub_menu_t): Likewise.
15103 (grub_normal_terminal_menu_viewer): Added.
15104 (grub_menu_execute_entry): Likewise.
15105 (grub_menu_run): Removed.
15106
15107 * DISTLIST: Added include/grub/menu.h.
15108 Added include/grub/menu_viewer.h.
15109 Added normal/menu_viewer.c.
15110
151112009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15112
15113 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15114 arglist for menutitle arguments.
15115
15116 * normal/main.c (grub_normal_menu_addentry): Likewise.
15117
15118 * normal/parser.y (menuentry): Likewise.
15119
15120 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15121
15122 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15123 (grub_script_create_cmdmenu): Likewise.
15124
15125 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15126
15127 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15128 changes.
15129
15130 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15131
15132 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15133
15134 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15135
15136 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15137
15138 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15139
15140 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15141
56192c23 151422009-01-30 Christian Franke <franke@computer.org>
15143
15144 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15145 in option help text.
15146
d72521b3 151472009-01-27 Pavel Roskin <proski@gnu.org>
15148
15149 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15150
994b5e84 151512009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15152
15153 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15154
15155 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15156
15157 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15158 unregister function.
15159
6a7eab2c 151602009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15161
15162 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15163
15164 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15165
15166 * util/grub-mkfont.c (usage): Fix typo.
15167
15168 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15169
1806b56e 151702009-01-26 Daniel Mierswa <impulze@impulze.org>
15171
3fb18f09 15172 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15173
336e1fb9 15174 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15175
1806b56e 15176 * kern/misc.c (grub_strcasecmp): New function.
15177 (grub_strcasecmp): Use grub_size_t instead of int for length.
15178 Fix return value.
15179 * include/grub/misc.h: Update function prototypes.
15180
580b2a0f 151812009-01-26 Robert Millan <rmh@aybabtu.com>
15182
15183 * configure.ac: Fix cross-compilation check.
ef257b36 15184
d31c24f1 151852009-01-22 Christian Franke <franke@computer.org>
15186
15187 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15188 (precision) digit string. Allow `.format2' without `format1' (width).
15189 Limit input chars for `%s' output to `format2' if specified. This is
15190 compatible with standard printf ().
15191
3138b44c 151922009-01-22 Christian Franke <franke@computer.org>
15193
15194 * disk/ata.c (grub_ata_wait_status): Replace by ...
15195 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15196 other status bits may be invalid while BSY is asserted.
15197 (grub_ata_check_ready): New function.
15198 (grub_ata_cmd): Removed.
15199 (grub_ata_wait_drq): New function.
15200 (grub_ata_strncpy): Remove inline.
15201 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15202 and error check now done by grub_ata_wait_drq ().
15203 (grub_ata_pio_write): Likewise.
15204 (grub_atapi_identify): Set DEV before check for !BSY. Use
15205 grub_ata_wait_drq () to wait for data.
15206 (grub_ata_device_initialize): Add status register check to
15207 detect missing SATA slave devices. Add debug messages.
15208 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15209 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15210 transfer loop by grub_ata_pio_write ().
15211 (grub_ata_identify): Set DEV before check for !BSY. Use
15212 grub_ata_wait_drq () to wait for data.
ef257b36 15213 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 15214 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15215 read/write in one loop. Fix invalid command on write. Fix incomplete
15216 command on (size % batch) == 0. Add missing error check after write of
15217 last block. Add debug messages.
15218 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15219
59a64ef6 152202009-01-19 Christian Franke <franke@computer.org>
15221
15222 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15223 (GRUB_ATAPI_IREASON_*): Likewise.
15224 (grub_ata_pio_write): Fix timeout error return.
15225 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15226 (grub_atapi_wait_drq): New function.
15227 (grub_atapi_packet): New parameter `size'.
15228 Use grub_atapi_wait_drq () and direct write instead of
15229 grub_ata_pio_write ().
15230 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15231 reads the number of bytes requested by the device for each DRQ
15232 assertion.
15233 (grub_atapi_write): Remove old implementation, return not
15234 implemented instead.
15235
1cfe20b3 152362009-01-19 Christian Franke <franke@computer.org>
15237
15238 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15239 of 512 to calculate data size.
15240 (grub_scsi_read12): Likewise.
15241 (grub_scsi_write10): Likewise.
15242 (grub_scsi_write12): Likewise.
15243 (grub_scsi_read): Adjust size according to blocksize.
15244 Add checks for invalid blocksize and unaligned transfer.
15245
bee5fe5d 152462009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15247
15248 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15249
ef257b36 15250 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 15251 width glyphs.
15252
3e643f8c 152532009-01-19 Robert Millan <rmh@aybabtu.com>
15254
15255 * config.guess: Update to latest version from config git.
15256 * config.sub: Likewise.
15257
4fa80998 152582009-01-17 Felix Zielcke <fzielcke@z-51.de>
15259
15260 * Makefile.in: Change font compilation to use new grub-mkfont instead
15261 of java version.
15262
15263 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15264 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15265 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15266 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15267 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15268 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15269 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15270 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15271 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15272
7086085b 152732009-01-16 Christian Franke <franke@computer.org>
15274
15275 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15276 (enum grub_ata_timeout_milliseconds): New enum.
15277 (grub_ata_wait_status): Add parameter milliseconds.
15278 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15279 recovery from timed-out commands.
15280 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15281 return grub_errno instead of REG_ERROR.
15282 (grub_ata_pio_write): Add parameter milliseconds.
15283 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15284 Pass milliseconds to grub_ata_wait_status () and
15285 grub_ata_pio_read ().
15286 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15287 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15288 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15289 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15290 It is not suitable for device detection, because DEV bit is ignored,
15291 the command may run too long, and not all devices set the signature
15292 properly.
15293 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15294 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15295 Fix device selection, DEV bit must be set first to address the registers
15296 of the correct device.
15297 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15298 grub_ata_pio_read/write ().
15299 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15300 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15301
4a412913 153022009-01-13 Carles Pina i Estany <carles@pina.cat>
15303
15304 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15305
7795c55e 153062009-01-13 Bean <bean123ch@gmail.com>
d913988c 15307
15308 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15309
7795c55e 153102009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 15311
15312 * Makefile.in: (enable_grub_mkfont): New variable.
15313 (freetype_cflags): Likewise.
15314 (freetype_libs): Likewise.
15315
15316 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15317 (grub_mkfont_SOURCES): New variable.
15318 (grub_mkfont_CFLAGS): Likewise.
15319 (grub_mkfont_LDFLAGS): Likewise.
15320
15321 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15322 library if `--enable-grub-mkfont' is requested.
15323 (enable_grub_mkfont): New variable.
15324 (freetype_cflags): Likewise.
15325 (freetype_libs): Likewise.
15326
15327 * util/grub-mkfont.c: New file.
15328
093af1fe 153292009-01-12 Christian Franke <franke@computer.org>
15330
15331 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15332 mode check. Fix setting of compat_use[].
15333
f36cc108 153342009-01-10 Robert Millan <rmh@aybabtu.com>
15335
15336 Update a few copyright years which we forgot to do in 2008 (only for
15337 files whose changes made in 2008 were copyright-significant)
15338
15339 * Makefile.in: Add 2008 to Copyright line.
15340 * disk/ieee1275/ofdisk.c: Likewise.
15341 * disk/efi/efidisk.c: Likewise.
15342 * kern/dl.c: Likewise.
15343 * kern/sparc64/ieee1275/init.c: Likewise.
15344 * kern/mm.c: Likewise.
15345 * kern/efi/mm.c: Likewise.
15346 * boot/i386/pc/boot.S: Likewise.
15347 * genfslist.sh: Likewise.
15348 * fs/iso9660.c: Likewise.
15349 * fs/hfs.c: Likewise.
15350 * fs/jfs.c: Likewise.
15351 * fs/minix.c: Likewise.
15352 * fs/ufs.c: Likewise.
15353 * gensymlist.sh.in: Likewise.
15354 * genkernsyms.sh.in: Likewise.
15355 * include/grub/misc.h: Likewise.
15356 * include/grub/types.h: Likewise.
15357 * include/grub/symbol.h: Likewise.
15358 * include/grub/elf.h: Likewise.
15359 * include/grub/kernel.h: Likewise.
15360 * include/grub/disk.h: Likewise.
15361 * include/grub/dl.h: Likewise.
15362 * include/grub/i386/linux.h: Likewise.
15363 * include/grub/i386/pc/biosdisk.h: Likewise.
15364 * include/grub/efi/api.h: Likewise.
15365 * include/grub/efi/pe32.h: Likewise.
15366 * include/grub/util/misc.h: Likewise.
15367 * normal/execute.c: Likewise.
15368 * normal/arg.c: Likewise.
15369 * normal/completion.c: Likewise.
15370 * normal/lexer.c: Likewise.
15371 * normal/parser.y: Likewise.
15372 * normal/misc.c: Likewise.
15373 * commands/i386/pc/vbeinfo.c: Likewise.
15374 * commands/hexdump.c: Likewise.
15375 * commands/terminal.c: Likewise.
15376 * commands/ls.c: Likewise.
15377 * commands/help.c: Likewise.
15378 * partmap/pc.c: Likewise.
15379 * loader/efi/chainloader.c: Likewise.
15380 * loader/multiboot_loader.c: Likewise.
15381 * loader/i386/pc/multiboot2.c: Likewise.
15382 * term/efi/console.c: Likewise.
15383 * term/i386/pc/serial.c: Likewise.
15384 * util/lvm.c: Likewise.
15385 * util/console.c: Likewise.
15386 * util/i386/efi/grub-mkimage.c: Likewise.
15387 * util/raid.c: Likewise.
15388
7f02114b 153892009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15390
15391 * commands/videotest.c: Removed include to grub/machine/memory.h.
15392
15393 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15394 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15395 (video_mod_SOURCES): Removed.
15396 (video_mod_CFLAGS): Likewise.
15397 (video_mod_LDFLAGS): Likewise.
15398 (gfxterm_mod_SOURCES): Likewise.
15399 (gfxterm_mod_CFLAGS): Likewise.
15400 (gfxterm_mod_LDFLAGS): Likewise.
15401 (videotest_mod_SOURCES): Likewise.
15402 (videotest_mod_CFLAGS): Likewise.
15403 (videotest_mod_LDFLAGS): Likewise.
15404 (bitmap_mod_SOURCES): Likewise.
15405 (bitmap_mod_CFLAGS): Likewise.
15406 (bitmap_mod_LDFLAGS): Likewise.
15407 (tga_mod_SOURCES): Likewise.
15408 (tga_mod_CFLAGS): Likewise.
15409 (tga_mod_LDFLAGS): Likewise.
15410 (jpeg_mod_SOURCES): Likewise.
15411 (jpeg_mod_CFLAGS): Likewise.
15412 (jpeg_mod_LDFLAGS): Likewise.
15413 (png_mod_SOURCES): Likewise.
15414 (png_mod_CFLAGS): Likewise.
15415 (png_mod_LDFLAGS): Likewise.
15416
15417 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15418 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15419 (video_mod_SOURCES): Added.
15420 (video_mod_CFLAGS): Likewise.
15421 (video_mod_LDFLAGS): Likewise.
15422 (videotest_mod_SOURCES): Likewise.
15423 (videotest_mod_CFLAGS): Likewise.
15424 (videotest_mod_LDFLAGS): Likewise.
15425 (bitmap_mod_SOURCES): Likewise.
15426 (bitmap_mod_CFLAGS): Likewise.
15427 (bitmap_mod_LDFLAGS): Likewise.
15428 (tga_mod_SOURCES): Likewise.
15429 (tga_mod_CFLAGS): Likewise.
15430 (tga_mod_LDFLAGS): Likewise.
15431 (jpeg_mod_SOURCES): Likewise.
15432 (jpeg_mod_CFLAGS): Likewise.
15433 (jpeg_mod_LDFLAGS): Likewise.
15434 (png_mod_SOURCES): Likewise.
15435 (png_mod_CFLAGS): Likewise.
15436 (png_mod_LDFLAGS): Likewise.
15437 (gfxterm_mod_SOURCES): Likewise.
15438 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 15439 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 15440
15441 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15442 grub/machine/console.h.
15443
644fff97 154442009-01-04 Jerone Young <jerone@gmail.com>
15445
15446 Make on screen instructions clearer
15447
15448 Based on patch created by Jidanni <jidanni@jidanni.org>
15449
15450 * normal/menu.c: print clearer instructions on the screen
15451
1e901a75 154522009-01-02 Colin D Bennett <colin@gibibit.com>
15453
15454 New font engine.
34c44600 15455
1e901a75 15456 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15457 build system and fixed gfxterm.c to work with different sized fonts.
15458
15459 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 15460
1e901a75 15461 * configure: Re-generated.
34c44600 15462
1e901a75 15463 * DISTLIST: Removed font/manager.c.
15464 Added font/font.c.
15465 Added font/font_cmd.c.
34c44600 15466
1e901a75 15467 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15468 compilation.
34c44600 15469
1e901a75 15470 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 15471
15472 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 15473
15474 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 15475
1e901a75 15476 * normal/menu.c: Likewise.
34c44600 15477
1e901a75 15478 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15479 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 15480
1e901a75 15481 * include/grub/font.h: Replaced with new file.
34c44600 15482
1e901a75 15483 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15484 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15485 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15486 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15487 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 15488 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 15489 fg_red, fg_green, fg_blue, fg_alpha.
15490 (grub_video_adapter): Removed blit_glyph.
34c44600 15491 (grub_video_blit_glyph): Removed.
15492
1e901a75 15493 * font/manager.c: Removed file.
34c44600 15494
15495 * font/font.c: New file.
15496
1e901a75 15497 * font/font_cmd.c: Likewise.
34c44600 15498
1e901a75 15499 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 15500
1e901a75 15501 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15502 (grub_video_vbe_map_rgba): Likewise.
15503 (grub_video_vbe_unmap_color_int): Likewise.
15504 (grub_video_vbe_blit_glyph): Removed.
15505 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 15506
1e901a75 15507 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15508 (get_pixel): Likewise.
34c44600 15509 (set_pixel): Likewise.
15510
1e901a75 15511 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 15512
1e901a75 15513 * term/gfxterm.c: Adapted to new font engine.
34c44600 15514
1e901a75 15515 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 15516
1e901a75 15517 * term/i386/pc/vga.c: Likewise.
34c44600 15518
1e901a75 15519 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 15520
1e901a75 15521 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 15522
1e901a75 15523 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15524
1e901a75 15525 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 15526
1e901a75 15527 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 15528
1e901a75 15529 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 15530
1e901a75 15531 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 15532
1e901a75 15533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 15534
1e901a75 15535 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15536
15537 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 15538
1e901a75 15539 * util/grub-mkconfig_lib.in: Changed font extension.
15540
278922e8 155412008-12-28 Felix Zielcke <fzielcke@z-51.de>
15542
15543 * util/getroot.c (grub_util_get_grub_dev): Add support for
15544 /dev/md/dNNpNN style partitionable mdraid devices.
15545
3ced05cf 155462008-12-12 Alex Smith <alex@alex-smith.me.uk>
15547
15548 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15549 at a time limit of the PXE TFTP API correctly.
15550 (grub_pxefs_close): Likewise.
15551
7fd0ee30 155522008-11-29 Robert Millan <rmh@aybabtu.com>
15553
34c44600 15554 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 15555 grub_ata_device_initialize() calls.
15556
34c44600 155572008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 15558
15559 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15560 iteration failed.
15561 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15562
89313780 155632008-11-28 Robert Millan <rmh@aybabtu.com>
15564
15565 Fix build on powerpc-ieee1275. Based on patch created by
15566 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15567 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15568 `kern/ieee1275/mmap.c'.
15569 * include/grub/powerpc/ieee1275/memory.h: New file.
15570
15257703 15571 Provide grub-install on coreboot.
15572 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15573 (grub_install_SOURCES): New variable.
15574 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15575 usable on coreboot.
15576
9fc5388a 155772008-11-25 Felix Zielcke <fzielcke@z-51.de>
15578
15579 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15580 to `grub_term_input_t'.
15581 (grub_term_get_current_output): Change return type to
15582 `grub_term_output_t'.
15583
bc3a2f31 155842008-11-22 Robert Millan <rmh@aybabtu.com>
15585
34c44600 15586 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 15587 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15588 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15589 grub_vga_text_cls().
15590
80fc88f2 15591 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 15592 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 15593
cbf36fd3 15594 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15595 to 0x200000 (avoids trouble with some OFW implementations, and matches
15596 with the one in Yaboot).
15597 Reported by Manoel Abranches
15598
73e8e268 155992008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 15600
15601 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15602 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15603
73e8e268 15604 * util/grub-mkconfig_lib.in (grub_warn): New function.
15605 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15606 warnings, to obtain consistent formatting.
15607 * util/grub.d/00_header.in: Likewise.
15608 * util/update-grub_lib.in: Likewise.
15609
e94045a1 15610 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 15611 Move comment text to `#error' stanza.
e94045a1 15612
79d29fd7 15613 Harmonize ieee1275's grub_available_iterate() with the generic
15614 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15615 build problem on i386-ieee1275):
15616 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15617 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15618 parameter `type'. Update all users of this function.
15619 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15620 `kern/ieee1275/mmap.c'.
15621 * kern/ieee1275/init.c
15622 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15623 with ...
15624 (grub_machine_mmap_iterate): ... this.
15625 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15626 return type to `grub_err_t'. Update all implementations of this
15627 function prototype.
15628 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15629 Likewise.
15630
60d6b16e 15631 Add `lsmmap' command (lists firmware-provided memory map):
15632 * commands/lsmmap.c: New file.
15633 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15634 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15635 variables.
15636 * conf/powerpc-ieee1275.rmk: Likewise.
15637 * conf/i386-coreboot.rmk: Likewise.
15638 * conf/i386-ieee1275.rmk: Likewise.
15639
ebaaf49b 156402008-11-19 Robert Millan <rmh@aybabtu.com>
15641
15642 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 15643 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15644 constraints to initrd allocation (based on code from
15645 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15646 for Linux to find it.
ebaaf49b 15647
dfab719f 156482008-11-14 Robert Millan <rmh@aybabtu.com>
15649
15650 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15651 order to cope with duplicate slashes.
15652
10fc3eb9 156532008-11-14 Robert Millan <rmh@aybabtu.com>
15654
15655 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15656 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15657 don't want to mess with lower memory, because it is used in the Linux
15658 loader.
15659
15660 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 15661 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 15662 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15663 is in our heap (probably as a result of it being corrupted during
2f2a3442 15664 decompression). Add #error instance with comment to explain why this
15665 loader isn't currently usable on PC/BIOS.
10fc3eb9 15666
e2e07847 156672008-11-14 Robert Millan <rmh@aybabtu.com>
15668
15669 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 15670 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 15671
fe8e8d69 156722008-11-12 Robert Millan <rmh@aybabtu.com>
15673
15674 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15675
15676 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15677 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15678 from here ...
15679 * include/grub/i386/pc/memory.h: ... to here.
15680
976b07d0 156812008-11-12 Robert Millan <rmh@aybabtu.com>
15682
15683 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15684 split).
15685
15686 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15687 (grub_console_cur_color, grub_console_real_putchar)
15688 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15689 (grub_console_setcolorstate, grub_console_setcolor)
15690 (grub_console_getcolor): Move from here ...
15691 * include/grub/i386/vga_common.h: ... to here (new file).
15692
15693 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15694 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15695 `<grub/i386/io.h>'.
15696 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15697 `<grub/i386/vga_common.h>'.
15698
76679cd3 156992008-11-12 Robert Millan <rmh@aybabtu.com>
15700
15701 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15702 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15703 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15704 variables.
15705 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15706 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15707
15708 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15709 grub_console_init() with call to grub_vga_text_init().
15710 (grub_machine_fini): Replace call to
15711 grub_console_fini() with call to grub_vga_text_fini() and
15712 grub_at_keyboard_fini().
15713
15714 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15715 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15716 (grub_console_setcolorstate, grub_console_setcolor)
15717 (grub_console_getcolor): New function prototypes.
15718
15719 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15720 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15721 (grub_vga_text_setcursor): Static-ize.
15722 (grub_vga_text_term): New structure.
15723 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15724
15725 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15726 (grub_console_cur_color, grub_console_standard_color)
15727 (grub_console_normal_color, grub_console_highlight_color)
15728 (map_char, grub_console_putchar, grub_console_getcharwidth)
15729 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15730 (grub_console_getcolor): Move from here ...
15731 * term/i386/vga_common.c: ... to here (same function names).
15732
95b841d3 157332008-11-12 Robert Millan <rmh@aybabtu.com>
15734
15735 Use newly-added Multiboot support in coreboot.
15736
15737 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15738 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15739
15740 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15741 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15742 (codestart): Store the MBI in `startup_multiboot_info' when we're
15743 being loaded using Multiboot.
15744
15745 * kern/i386/coreboot/init.c (grub_machine_init): Move
15746 grub_at_keyboard_init() call to beginning of function (useful for
15747 debugging). Call grub_machine_mmap_init() before attempting to use
15748 grub_machine_mmap_iterate().
15749 (grub_lower_mem, grub_upper_mem): Move from here ...
15750 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15751 here (new file).
15752
15753 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15754 function prototype.
15755
761ca975 157562008-11-12 Robert Millan <rmh@aybabtu.com>
15757
15758 Fix a regression introduced by the at_keyboard.mod split. Because
15759 some terminals are default on some platforms and non-default on
15760 others, the first terminal being registered determines which is
15761 going to be default.
15762
15763 * kern/term.c (grub_term_register_input): If this is the first
15764 terminal being registered, set it as the current one.
15765 (grub_term_register_output): Likewise.
15766
15767 * term/efi/console.c (grub_console_init): Do not call
15768 grub_term_set_current_output() or grub_term_set_current_input().
15769 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15770 * term/i386/pc/console.c (grub_console_init): Likewise.
15771 (grub_console_fini): Do not call grub_term_set_current_input()
15772 (but leave grub_term_set_current_output() to restore text mode).
15773
6c529df7 157742008-11-10 Robert Millan <rmh@aybabtu.com>
15775
15776 * util/grub.d/00_header.in: Add backward compatibility check for
15777 versions of terminal.mod that don't understand `terminal_input' or
15778 `terminal_output'.
15779
132e4113 157802008-11-09 Robert Millan <rmh@aybabtu.com>
15781
15782 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15783 `terminal_input' / `terminal_output', not `terminal'.
15784
ac293d50 157852008-11-08 Robert Millan <rmh@aybabtu.com>
15786
15787 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 15788 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 15789
0025933a 157902008-11-08 Robert Millan <rmh@aybabtu.com>
15791
15792 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 15793 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 15794 members. Update all users.
15795 * util/console.c (grub_ncurses_term): Split in ...
15796 (grub_ncurses_term_input): ... this, and ...
15797 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 15798 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 15799
37c86336 158002008-11-08 Robert Millan <rmh@aybabtu.com>
15801
15802 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15803 (PKGDATA): Add $(pkgdata_SRCDIR).
15804 (pkglib_BUILDDIR): New variable.
15805 (pkgdata_SRCDIR): New variable.
15806 (build_env.mk): New target.
15807 (include_DATA): New variable.
15808 (install-local): Install $(include_DATA) files in $(includedir).
15809
b6c15a2d 158102008-11-07 Pavel Roskin <proski@gnu.org>
15811
d99d46f1 15812 * gendistlist.sh: Use C locale for sorting to ensure consistent
15813 output on all systems.
15814
b6c15a2d 15815 * util/grub.d/00_header.in: Remove incorrect space before
15816 "serial".
15817
c32ee8c9 158182008-11-07 Robert Millan <rmh@aybabtu.com>
15819
15820 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15821 per specification.
15822 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15823 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15824 (based on find_multi_boot1_header).
15825 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15826 using find_multi_boot2_header(), and abort if neither Multiboot or
15827 Multiboot headers were found.
15828
651c29b7 158292008-11-07 Robert Millan <rmh@aybabtu.com>
15830
15831 Modularize at_keyboard.mod:
15832
15833 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15834 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15835 (at_keyboard_mod_LDFLAGS): New variables.
15836
15837 Actual terminal split:
15838
15839 * include/grub/term.h (struct grub_term): Split in ...
15840 (struct grub_term_input): ... this, and ...
15841 (struct grub_term_output): ... this. Update all users.
15842 (grub_term_set_current): Split in ...
15843 (grub_term_set_current_input): ... this, and ...
15844 (grub_term_set_current_output): ... this.
15845 (grub_term_get_current): Split in ...
15846 (grub_term_get_current_input): ... this, and ...
15847 (grub_term_get_current_output): ... this.
15848 (grub_term_register): Split in ...
15849 (grub_term_register_input): ... this, and ...
15850 (grub_term_register_output): ... this.
15851 (grub_term_unregister): Split in ...
15852 (grub_term_unregister_input): ... this, and ...
15853 (grub_term_unregister_output): ... this.
15854 (grub_term_iterate): Split in ...
15855 (grub_term_iterate_input): ... this, and ...
15856 (grub_term_iterate_output): ... this.
15857
15858 * kern/term.c (grub_term_list): Split in ...
15859 (grub_term_list_input): ... this, and ...
15860 (grub_term_list_output): ... this. Update all users.
15861 (grub_cur_term): Split in ...
15862 (grub_cur_term_input): ... this, and ...
15863 (grub_cur_term_output): ... this. Update all users.
15864 (grub_term_set_current): Split in ...
15865 (grub_term_set_current_input): ... this, and ...
15866 (grub_term_set_current_output): ... this.
15867 (grub_term_get_current): Split in ...
15868 (grub_term_get_current_input): ... this, and ...
15869 (grub_term_get_current_output): ... this.
15870 (grub_term_register): Split in ...
15871 (grub_term_register_input): ... this, and ...
15872 (grub_term_register_output): ... this.
15873 (grub_term_unregister): Split in ...
15874 (grub_term_unregister_input): ... this, and ...
15875 (grub_term_unregister_output): ... this.
15876 (grub_term_iterate): Split in ...
15877 (grub_term_iterate_input): ... this, and ...
15878 (grub_term_iterate_output): ... this.
15879
15880 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15881 a check for input and one for output (and only attempt to get keys
15882 from user when input works).
15883
15884 * util/grub-probe.c (grub_term_get_current): Split in ...
15885 (grub_term_get_current_input): ... this, and ...
15886 (grub_term_get_current_output): ... this.
15887 * util/grub-fstest.c: Likewise.
15888 * util/i386/pc/grub-setup.c: Likewise.
15889 * util/grub-editenv.c: Likewise.
15890
15891 Portability adjustments:
15892
15893 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15894 `term/i386/pc/at_keyboard.c'.
15895 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15896 grub_keyboard_controller_init() (now handled by terminal .init).
15897 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15898 grub_at_keyboard_init().
15899 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15900 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15901 at_keyboard.mod via input terminal interface).
15902 * include/grub/i386/coreboot/console.h: Convert into a stub for
15903 `<grub/i386/pc/console.h>'.
15904
15905 Migrate full terminals to new API:
15906
15907 * term/efi/console.c (grub_console_term): Split into ...
15908 (grub_console_term_input): ... this, and ...
15909 (grub_console_term_output): ... this. Update all users.
15910 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15911 (grub_ofconsole_init): Split into ...
15912 (grub_ofconsole_init_input): ... this, and ...
15913 (grub_ofconsole_init_output): ... this.
15914 (grub_ofconsole_term): Split into ...
15915 (grub_ofconsole_term_input): ... this, and ...
15916 (grub_ofconsole_term_output): ... this. Update all users.
15917 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15918 (grub_serial_term_input): ... this, and ...
15919 (grub_serial_term_output): ... this. Update all users.
15920 * term/i386/pc/console.c (grub_console_term): Split into ...
15921 (grub_console_term_input): ... this, and ...
15922 (grub_console_term_output): ... this. Update all users.
15923 (grub_console_term_input): Only enable it on PC/BIOS platform.
15924 (grub_console_init): Remove grub_keyboard_controller_init() call.
15925
15926 Migrate input terminals to new API:
15927
15928 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15929 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15930 i386-specific anyway).
15931 (grub_console_checkkey): Rename to ...
15932 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15933 users.
15934 (grub_keyboard_controller_orig): New variable.
15935 (grub_console_getkey): Rename to ...
15936 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15937 users.
15938 (grub_keyboard_controller_init): Static-ize. Save original
15939 controller value so that it can be restored ...
15940 (grub_keyboard_controller_fini): ... here (new function).
15941 (grub_at_keyboard_term): New structure.
15942 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15943 functions.
15944
15945 Migrate output terminals to new API:
15946
15947 * term/i386/pc/vga.c (grub_vga_term): Change type to
15948 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15949 members. Update all users.
15950 * term/gfxterm.c (grub_video_term): Change type to
15951 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15952 members. Update all users.
15953 * include/grub/i386/pc/console.h (grub_console_checkkey)
15954 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15955 etc).
15956
15957 Migrate `terminal' command and userland tools to new API:
15958
15959 * commands/terminal.c (grub_cmd_terminal): Split into ...
15960 (grub_cmd_terminal_input): ... this, and ...
15961 (grub_cmd_terminal_output): ... this.
15962 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15963 `terminal_input' and `terminal_output'.
15964 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15965 `terminal_input' / `terminal_output' API.
15966 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15967 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15968 provided ${GRUB_TERMINAL}, convert it).
15969
96e5d876 159702008-11-04 Robert Millan <rmh@aybabtu.com>
15971
15972 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15973 for FreeBSD.
15974 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15975
556f3775 159762008-11-03 Bean <bean123ch@gmail.com>
15977
15978 * kern/elf.c (grub_elf32_load): Revert to previous code.
15979 (grub_elf64_load): Likewise.
15980
15981 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15982
926b9823 159832008-11-01 Robert Millan <rmh@aybabtu.com>
15984
15985 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15986 (TARGET_CPPFLAGS): Likewise.
15987 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15988
1432e958 159892008-11-01 Carles Pina i Estany <carles@pina.cat>
15990
15991 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15992
dba3f844 159932008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 15994
15995 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15996 addition of objects until the code is not going to be able to fail.
15997
dba3f844 159982008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 15999
16000 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16001 (add a missing NULL check, and correct them by moving the pointer
16002 operations after the actual check).
16003
7ab28c21 160042008-10-29 Robert Millan <rmh@aybabtu.com>
16005
16006 * util/i386/pc/grub-install.in: Handle empty string as output from
16007 make_system_path_relative_to_its_root().
16008
1b7748eb 160092008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16010
16011 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16012 circular metadata worst case scenario. If the metadata is circular
16013 then copy the wrap in place.
16014 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16015 project lib/format_text/layout.h
16016 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16017
c9618ab2 160182008-10-03 Felix Zielcke <fzielcke@z-51.de>
16019
7a36edca 16020 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 16021
bf981c62 160222008-10-03 Felix Zielcke <fzielcke@z-51.de>
16023
16024 * util/update-grub_lib.in: Mention filename in warning message.
16025
6d994591 160262008-09-29 Felix Zielcke <fzielcke@z-51.de>
16027
16028 * NEWS: Update for rename of update-grub to grub-mkconfig.
16029
18ade780 160302008-09-29 Felix Zielcke <fzielcke@z-51.de>
16031
16032 * util/update-grub_lib.in: Copy to ...
16033 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 16034 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 16035 * util/update-grub.in: Rename to ...
16036 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16037 option. Add `--output' option to allow users to specify the generated
16038 configuration file. Default to stdout.
16039 (update_grub_dir): Rename to ...
16040 (grub_mkconfig_dir): ... this.
16041 (grub_cfg): Default to an empty string.
16042 * conf/common.rmk (update-grub): Rename to ...
16043 (grub-mkconfig): ... this.
16044 (update-grub_lib): Copy to ...
16045 (grub-mkconfig_lib): ... this.
16046 (update-grub_SCRIPTS): Copy to ...
16047 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16048 (update-grub_DATA): Rename to ...
16049 (grub-mkconfig_DATA): ... this.
16050
556ce6ac 160512008-09-28 Robert Millan <rmh@aybabtu.com>
16052
16053 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16054 to `modified'. Add the real `created' field.
16055 (grub_iso9660_uuid): Use `modified' rather than `created' for
16056 constructing the UUID.
16057
160582008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 16059
16060 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16061 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16062
92274e85 160632008-09-28 Bean <bean123ch@gmail.com>
16064
16065 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16066 Thanks to Christian Franke for finding this bug.
16067
add6f17a 160682008-09-25 Robert Millan <rmh@aybabtu.com>
16069
16070 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16071 instances of grub_util_get_disk_name() (see previous commit).
16072
d2a367b8 160732008-09-25 Robert Millan <rmh@aybabtu.com>
16074
16075 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16076 `util/i386/get_disk_name.c'.
16077 * conf/i386-efi.rmk: Likewise.
16078 * conf/x86_64-efi.rmk: Likewise.
16079 * conf/i386-coreboot.rmk: Likewise.
16080 * conf/i386-ieee1275.rmk: Likewise.
16081 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16082 `util/ieee1275/get_disk_name.c'.
16083 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16084 * util/ieee1275/get_disk_name.c: Remove file.
16085 * util/i386/get_disk_name.c: Remove file.
16086 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16087 "hd%d" for device.map entries, rather than using
16088 grub_util_get_disk_name().
16089
81a06771 160902008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 16091
16092 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16093 warning.
16094 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16095
5a004279 160962008-09-24 Carles Pina i Estany <carles@pina.cat>
16097
16098 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16099 Changed to 0x5100.
16100 (GRUB_TERM_PPAGE): Changed to 0x4900.
16101
397093d3 161022008-09-24 Robert Millan <rmh@aybabtu.com>
16103
16104 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16105 macros (they were i386-pc specific).
16106 * include/grub/sparc64/ieee1275/console.h: Likewise.
16107 * include/grub/efi/console.h: Likewise.
16108
a91b6c7c 161092008-09-22 Bean <bean123ch@gmail.com>
16110
16111 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16112 resident and in attribute list.
16113
16114 * include/grub/ntfs.h (BMP_LEN): Removed.
16115
c40fd116 161162008-09-22 Bean <bean123ch@gmail.com>
16117
81a06771 16118 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 16119 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16120
16121 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16122 error occurs, as grub_disk_open will call grub_disk_close, which will
16123 call p->close (scsi).
16124
81a06771 161252008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 16126
16127 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16128 (AC_PREREQ): Bumped to 2.59.
16129 (AC_TRY_COMPILE): Replace obsolete macro with ...
16130 (AC_COMPILE_IFELSE): ... this.
16131 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16132 (AC_LINK_IFELSE): ... this.
16133
5dc43410 161342008-09-21 Felix Zielcke <fzielcke@z-51.de>
16135
16136 * autogen.sh: Add a call to `gendistlist.sh'.
16137
9035dce4 161382008-09-19 Christian Franke <franke@computer.org>
16139
16140 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16141 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16142 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16143 Export __enable_execute_stack() to modules.
16144 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16145 New function.
16146
7fd75377 161472008-09-09 Felix Zielcke <fzielcke@z-51.de>
16148
040030b3 16149 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16150 Sort the list.
16151
161522008-09-09 Felix Zielcke <fzielcke@z-51.de>
16153
16154 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 16155 #include <grub/util/hostdisk.h>.
16156
89d5ffcf 161572008-09-08 Robert Millan <rmh@aybabtu.com>
16158
16159 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16160 segments when their filesz is zero (grub_file_read() interprets
81a06771 16161 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 16162 Use `lowest_segment' rather than 0 for calculating the current
16163 segment load address.
16164
40da438f 161652008-09-08 Robert Millan <rmh@aybabtu.com>
16166
16167 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16168 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16169 clobbered useful information.
16170
ddbf5556 161712008-09-08 Robert Millan <rmh@aybabtu.com>
16172
16173 * include/grub/util/biosdisk.h: Move to ...
16174 * include/grub/util/hostdisk.h: ... here. Update all users.
16175 * util/biosdisk.c: Move to ...
16176 * util/hostdisk.c: ... here. Update all users.
16177
783d0f48 161782008-09-07 Robert Millan <rmh@aybabtu.com>
16179
16180 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16181 variables.
16182 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16183 and length can be stored directly in the `mbi->mmap_addr' and
16184 `mbi->mmap_length' struct fields.
16185
548e2ea5 161862008-09-07 Robert Millan <rmh@aybabtu.com>
16187
16188 * conf/i386.rmk: New file. Provides declaration for building
16189 `cpuid.mod'.
16190 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16191 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16192 variables.
16193 Include `conf/i386.mk'.
16194 * conf/i386-efi.rmk: Likewise.
16195 * conf/x86_64-efi.rmk: Likewise.
16196 * conf/i386-coreboot.rmk: Likewise.
16197 * conf/i386-ieee1275.rmk: Likewise.
16198
0ea85a37 161992008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16200
16201 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16202 Adds optimization support for BGR based modes.
16203
16204 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16205 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16206 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16207 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16208 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16209 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16210 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16212 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16213 (grub_video_i386_vbeblit_index_index): Likewise.
16214 (grub_video_i386_vbeblit_replace_directN): Added.
16215 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16216 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16217 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16218 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16219 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16220 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 16221 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 16222 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16223 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16224 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16225 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16226 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16227 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16228
16229 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16230 (grub_video_i386_vbefill_R8G8B8): Likewise.
16231 (grub_video_i386_vbefill_index): Likewise.
16232 (grub_video_i386_vbefill_direct32): Added.
16233 (grub_video_i386_vbefill_direct24): Likewise.
16234 (grub_video_i386_vbefill_direct16): Likewise.
16235 (grub_video_i386_vbefill_direct8): Likewise.
16236
81a06771 16237 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 16238 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16239 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16240 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16241 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16242 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 16243
0ea85a37 16244 * video/video.c (grub_video_get_blit_format): Updated to use new
16245 blit formats. Added handling for 16 bit color modes.
81a06771 16246
16247 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 16248 fillers.
16249 (common_blitter): Updated to use new blitters.
16250
16251 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16252 Removed.
16253 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16254 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16255 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16256 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16257 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16258 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16259 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16260 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16261 (grub_video_i386_vbeblit_index_index): Likewise.
16262 (grub_video_i386_vbeblit_replace_directN): Added.
16263 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16264 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16265 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16266 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16267 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16268 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16269 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16270 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16271 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16272 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16273 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16274 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16275 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 16276
0ea85a37 16277 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16278 (grub_video_i386_vbefill_R8G8B8): Likewise.
16279 (grub_video_i386_vbefill_index): Likewise.
16280 (grub_video_i386_vbefill_direct32): Added.
16281 (grub_video_i386_vbefill_direct24): Likewise.
16282 (grub_video_i386_vbefill_direct16): Likewise.
16283 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 16284
0ea85a37 16285 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16286 types.
81a06771 16287
0ea85a37 16288 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16289 types.
81a06771 16290
0ea85a37 16291 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16292 blitter types.
81a06771 16293
0ea85a37 16294 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16295 types.
16296
e8a83df6 162972008-09-06 Felix Zielcke <fzielcke@z-51.de>
16298
16299 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16300 RAID level 1.
16301
6bcd8ee5 163022008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 16303
6bcd8ee5 16304 * fs/iso9660.c (grub_iso9660_date): New structure.
16305 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16306 (grub_iso9660_uuid): New function.
c375ae58 16307
59261157 163082008-09-05 Bean <bean123ch@gmail.com>
16309
16310 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16311
16312 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16313 insensitive bit for names in Win32 and Win32 & DOS namespace.
16314
16315 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16316
16317 * include/grub/types.h (LONG_MAX): Likewise.
16318
58b6645a 163192008-09-04 Felix Zielcke <fzielcke@z-51.de>
16320
4ee55921 16321 * util/getroot.c: Include <config.h>.
16322 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16323 add support for /dev/md/N devices and handle LVM double dash escaping.
16324
163252008-09-04 Felix Zielcke <fzielcke@z-51.de>
16326
16327 * config.guess: Update to latest version from config git.
16328 * config.sub: Likewise.
58b6645a 16329
9124f65d 163302008-09-03 Robert Millan <rmh@aybabtu.com>
16331
16332 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16333 `disk->total_sectors'.
16334
81a06771 163352008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 16336
16337 * include/grub/normal.h: Fixed incorrect comment for
16338 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16339
81a06771 163402008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 16341
16342 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16343 values with defines.
16344
16345 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16346 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16347 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16348 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16349 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16350 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16351 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16352 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16353 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16354 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16355 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16356 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16357 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16358 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16359 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16360 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16361 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16362 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16363 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16364
93d5cbf8 163652008-08-31 Robert Millan <rmh@aybabtu.com>
16366
16367 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16368 declaration.
16369 (grub_multiboot): Fix a few warnings.
16370
21751d50 163712008-08-31 Robert Millan <rmh@aybabtu.com>
16372
16373 * loader/i386/pc/multiboot.c: Update comment not to say that
16374 boot_device support is unimplemented.
16375
e27a75c5 163762008-08-31 Robert Millan <rmh@aybabtu.com>
16377
16378 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16379 or memory map support are unimplemented.
16380
81a06771 163812008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 16382
16383 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16384
81a06771 163852008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 16386
16387 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16388 total video memory in 'vbeinfo' output; show color format details for
16389 each video mode.
16390
7c5d8d95 163912008-08-30 Pavel Roskin <proski@gnu.org>
16392
16393 * util/genmoddep.c: Remove for real this time.
16394 * DISTLIST: Remove util/genmoddep.c.
16395
4cebd25a 163962008-08-30 Robert Millan <rmh@aybabtu.com>
16397
16398 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16399 as required by Multiboot spec (it was already 4-byte aligned, but
16400 only by chance).
16401
b497a269 164022008-08-29 Pavel Roskin <proski@gnu.org>
16403
e3925185 16404 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16405 * kern/powerpc/ieee1275/startup.S: ... this.
16406 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16407 * DISTLIST: Likewise.
16408
b497a269 16409 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16410 grub/cpu/kernel.h. Add start label for consistency with other
16411 platforms. Add grub_prefix immediately after start. Add jump
16412 to the code after grub_prefix.
16413 * include/grub/powerpc/kernel.h: Provide valid values for
16414 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16415
6e5a42fe 164162008-08-29 Bean <bean123ch@gmail.com>
16417
16418 * configure.ac: Change host_os to cygwin for mingw.
16419 (asprintf): New check for function.
16420
16421 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16422 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16423
16424 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 16425 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 16426 sync, sleep and grub_util_get_disk_size for mingw.
16427
16428 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16429 to get size in mingw.
16430 (open_device): Use flag O_BINARY if it's defined.
16431 (find_root_device): Add dummy code for mingw.
16432
16433 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16434 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16435 (get_scsi_disk_name): Return 0 for mingw.
16436
16437 * util/hostfs.c: #include <grub/util/misc.h>.
16438 (grub_hostfs_open): Use "rb" flag to open file, use
16439 grub_util_get_disk_size to get disk size for mingw.
16440
16441 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16442 (asprintf): New function if HAVE_ASPRINTF is not set.
16443 (sync): New function for mingw.
16444 (sleep): Likewise.
16445 (grub_util_get_disk_size): Likewise.
16446
ab3f2673 164472008-08-28 Pavel Roskin <proski@gnu.org>
16448
16449 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16450 kern/time.c.
16451
1c282483 164522008-08-28 Robert Millan <rmh@aybabtu.com>
16453
16454 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16455
678e849c 164562008-08-28 Robert Millan <rmh@aybabtu.com>
16457
16458 Change find_grub_drive() syntax so it doesn't prevent it from
16459 detecting NULL names as errors.
16460
16461 * util/biosdisk.c (find_grub_drive): Move free slot search code
16462 from here ...
16463 (find_free_slot): ... to here.
16464 (read_device_map): Use find_free_slot() to search for free slots.
16465
965c75ca 164662008-08-27 Marco Gerards <marco@gnu.org>
16467
16468 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16469 (scsi_mod_SOURCES): New variable.
16470 (scsi_mod_CFLAGS): Likewise
16471 (scsi_mod_LDFLAGS): Likewise.
16472
16473 * disk/scsi.c: New file.
16474
16475 * include/grub/scsi.h: Likewise.
16476
16477 * include/grub/scsicmd.h: Likewise.
16478
16479 * disk/ata.c: Include <grub/scsi.h>.
16480 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16481 instead.
16482 (grub_ata_iterate): Skip ATAPI devices.
16483 (grub_ata_open): Only handle ATAPI devices.
16484 (struct grub_atapi_read): Removed.
16485 (grub_atapi_readsector): Likewise.
16486 (grub_ata_read): No longer handle ATAPI devices.
16487 (grub_ata_write): Likewise.
16488 (grub_atapi_iterate): New function.
16489 (grub_atapi_read): Likewise.
16490 (grub_atapi_write): Likewise.
16491 (grub_atapi_open): Likewise.
16492 (grub_atapi_close): Likewise.
16493 (grub_atapi_dev): New variable.
16494 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16495 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16496
16497 * include/grub/disk.h (enum grub_disk_dev_id): Add
16498 `GRUB_DISK_DEVICE_SCSI_ID'.
16499
c07ae501 165002008-08-26 Robert Millan <rmh@aybabtu.com>
16501
16502 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16503 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16504 descriptive.
16505
5ed20adc 165062008-08-23 Bean <bean123ch@gmail.com>
16507
16508 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16509 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16510 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16511 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16512 dm_nv.mod.
16513 (raid5rec_mod_SOURCES): New macro.
16514 (raid5rec_mod_CFLAGS): Likewise.
16515 (raid5rec_mod_LDFLAGS): Likewise.
16516 (raid6rec_mod_SOURCES): Likewise.
16517 (raid6rec_mod_CFLAGS): Likewise.
16518 (raid6rec_mod_LDFLAGS): Likewise.
16519 (mdraid_mod_SOURCES): Likewise.
16520 (mdraid_mod_CFLAGS): Likewise.
16521 (mdraid_mod_LDFLAGS): Likewise.
16522 (dm_nv_mod_SOURCES): Likewise.
16523 (dm_nv_mod_CFLAGS): Likewise.
16524 (dm_nv_mod_LDFLAGS): Likewise.
16525
16526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16527 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16528 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16529
16530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16531 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16532
16533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16534
16535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16536
16537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16538
16539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16540
16541 * disk/raid5_recover.c: New file.
16542
16543 * disk/raid6_recover.c: Likewise.
16544
16545 * disk/mdraid_linux.c: Likewise.
16546
16547 * disk/dmraid_nvidia.c: Likewise.
16548
16549 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16550 ULONG_MAX.
16551
16552 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16553 calculate the size of raid device.
16554 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16555 different layout of raid5.
16556 (grub_raid_scan_device): Remove code specific to mdraid.
16557 (grub_raid_list): New variable.
16558 (free_array): New function.
16559 (grub_raid_register): Likewise.
16560 (grub_raid_unregister): Likewise.
16561 (grub_raid_rescan): Likewise.
16562 (GRUB_MOD_INIT): Don't iterate device here.
16563 (GRUB_MOD_FINI): Use free_array to release resource.
16564
16565 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16566 (grub_raid5_recover_func_t): New function variable type.
16567 (grub_raid6_recover_func_t): Likewise.
16568 (grub_raid5_recover_func): New variable.
16569 (grub_raid6_recover_func): Likewise.
16570 (grub_raid_register): New function.
16571 (grub_raid_unregister): Likewise.
16572 (grub_raid_rescan): Likewise.
16573 (grub_raid_block_xor): Likewise.
16574
16575 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16576 (CMD_CRC): New macro.
16577 (part): Removed.
16578 (read_file): Handle device as well as file.
16579 (cmd_crc): New function.
16580 (fstest): Handle multiple disks.
16581 (options): Remove part, raw and long, add root and diskcount.
16582 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 16583 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 16584 add handling for the new options, support multiple disks.
16585
16586 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16587
29c18915 165882008-08-23 Bean <bean123ch@gmail.com>
16589
16590 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16591
16592 * genfslist.sh: Ignore kernel.mod.
16593
16594 * genpartmaplist.sh: Likewise.
16595
8415f261 165962008-08-23 Robert Millan <rmh@aybabtu.com>
16597
16598 * util/getroot.c (find_root_device): Skip anything that starts with
16599 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16600
d5a7dc5b 166012008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 16602
d5a7dc5b 16603 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16604 * util/grub.d/00_header.in: Allow the administrator to change default
16605 gfxmode via ${GRUB_GFXMODE}.
16606
380cfbb4 166072008-08-21 Felix Zielcke <fzielcke@z-51.de>
16608
16609 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16610
c9baafe7 166112008-08-21 Robert Millan <rmh@aybabtu.com>
16612
16613 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16614 loader.
16615 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16616 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16617
e290bef2 166182008-08-20 Carles Pina i Estany <carles@pina.cat>
16619
16620 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16621 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16622
f9dbfc96 166232008-08-19 Robert Millan <rmh@aybabtu.com>
16624
16625 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16626 (struct grub_virtual_screen): Remove `cursor_color'.
16627 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16628 initialization.
16629 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16630
dd6bd6ab 166312008-08-18 Robert Millan <rmh@aybabtu.com>
16632
16633 Unify (identical) linux_normal.c files.
16634 * loader/i386/efi/linux_normal.c: Move from here ...
16635 * loader/linux_normal.c: ... to here. Update all users.
16636 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16637 * loader/i386/ieee1275/linux_normal.c: Likewise.
16638
7f42f83e 166392008-08-18 Robert Millan <rmh@aybabtu.com>
16640
16641 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16642 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16643 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16644 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16645 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16646 New macros.
16647 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16648 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16649 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16650 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16651 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16652 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16653 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16654 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16655 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16656 portably using grub_getxy().
16657 Replace `-EFI' with `-bzImage' in boot message.
16658
38487ddb 166592008-08-17 Robert Millan <rmh@aybabtu.com>
16660
16661 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16662
deceb3ec 166632008-08-17 Robert Millan <rmh@aybabtu.com>
16664
16665 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16666
16667 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16668 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16669 (grub_machine_mmap_iterate): New function declaration.
16670 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16671 structure.
16672 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16673 macros.
16674
16675 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16676 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16677 Move e820 parsing from here ...
16678 * kern/i386/pc/mmap.c: New file.
16679 (grub_machine_mmap_iterate): ... to here.
16680
16681 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16682 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16683 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16684 (grub_available_iterate): Redeclare to return `void', and redeclare
16685 its hook to use grub_uint64_t as addr and size parameters, and rename
16686 to ...
16687 (grub_machine_mmap_iterate): ... this. Update all users.
16688
16689 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16690 to make it more readable. Rename to ...
16691 (grub_machine_mmap_iterate): ... this.
16692
16693 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16694 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16695 (grub_multiboot): Allocate an extra region after the payload, and fill
16696 it with a Multiboot memory map. Adjust a.out loader to calculate size
16697 with the extra space.
16698 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16699 with the extra space.
16700
f8aa0f43 167012008-08-17 Carles Pina i Estany <carles@pina.cat>
16702
9807deb9 16703 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 16704
605f5bb6 167052008-08-17 Felix Zielcke <fzielcke@z-51.de>
16706
16707 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16708 mdate-sh to the list `find' searches for.
16709 * DISTLIST: Regenerated.
16710
210db6c6 167112008-08-16 Felix Zielcke <fzielcke@z-51.de>
16712
16713 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16714 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 16715 genmoddep.awk, gensymlist.sh.in.
16716 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 16717 * DISTLIST: Regenerated.
48cdbfd4 16718 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 16719
1082b929 167202008-08-16 Robert Millan <rmh@aybabtu.com>
16721
16722 * disk/raid.c (grub_raid_init): Handle/report errors set by
16723 grub_device_iterate().
16724 * disk/lvm.c (grub_lvm_init): Likewise.
16725
42ce5170 167262008-08-15 Bean <bean123ch@gmail.com>
16727
16728 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16729 and datehook.mod.
16730 (datetime_mod_SOURCES): New macro.
16731 (datetime_mod_CFLAGS): Likewise.
16732 (datetime_mod_LDFLAGS): Likewise.
16733 (date_mod_SOURCES): Likewise.
16734 (date_mod_CFLAGS): Likewise.
16735 (date_mod_LDFLAGS): Likewise.
16736 (datehook_mod_SOURCES): Likewise.
16737 (datehook_mod_CFLAGS): Likewise.
16738 (datehook_mod_LDFLAGS): Likewise.
16739
16740 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16741 and datehook.mod.
16742 (datetime_mod_SOURCES): New macro.
16743 (datetime_mod_CFLAGS): Likewise.
16744 (datetime_mod_LDFLAGS): Likewise.
16745 (date_mod_SOURCES): Likewise.
16746 (date_mod_CFLAGS): Likewise.
16747 (date_mod_LDFLAGS): Likewise.
16748 (datehook_mod_SOURCES): Likewise.
16749 (datehook_mod_CFLAGS): Likewise.
16750 (datehook_mod_LDFLAGS): Likewise.
16751
16752 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16753 and datehook.mod.
16754 (datetime_mod_SOURCES): New macro.
16755 (datetime_mod_CFLAGS): Likewise.
16756 (datetime_mod_LDFLAGS): Likewise.
16757 (date_mod_SOURCES): Likewise.
16758 (date_mod_CFLAGS): Likewise.
16759 (date_mod_LDFLAGS): Likewise.
16760 (datehook_mod_SOURCES): Likewise.
16761 (datehook_mod_CFLAGS): Likewise.
16762 (datehook_mod_LDFLAGS): Likewise.
16763
16764 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16765 and datehook.mod.
16766 (datetime_mod_SOURCES): New macro.
16767 (datetime_mod_CFLAGS): Likewise.
16768 (datetime_mod_LDFLAGS): Likewise.
16769 (date_mod_SOURCES): Likewise.
16770 (date_mod_CFLAGS): Likewise.
16771 (date_mod_LDFLAGS): Likewise.
16772 (datehook_mod_SOURCES): Likewise.
16773 (datehook_mod_CFLAGS): Likewise.
16774 (datehook_mod_LDFLAGS): Likewise.
16775
16776 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16777 and datehook.mod.
16778 (datetime_mod_SOURCES): New macro.
16779 (datetime_mod_CFLAGS): Likewise.
16780 (datetime_mod_LDFLAGS): Likewise.
16781 (date_mod_SOURCES): Likewise.
16782 (date_mod_CFLAGS): Likewise.
16783 (date_mod_LDFLAGS): Likewise.
16784 (datehook_mod_SOURCES): Likewise.
16785 (datehook_mod_CFLAGS): Likewise.
16786 (datehook_mod_LDFLAGS): Likewise.
16787
16788 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16789
16790 * commands/date.c: New file.
16791
16792 * hook/datehook.c: Likewise.
16793
16794 * include/grub/lib/datetime.h: Likewise.
16795
16796 * include/grub/i386/cmos.h: Likewise.
16797
16798 * lib/datetime.c: Likewise.
16799
16800 * lib/i386/datetime.c: Likewise.
16801
16802 * lib/efi/datetime.c: Likewise.
16803
0e9242da 168042008-08-14 Robert Millan <rmh@aybabtu.com>
16805
16806 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16807 (grub_mkelfimage_SOURCES): New variable.
16808 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16809
16810 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16811 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16812 * conf/powerpc-ieee1275.rmk: Likewise.
16813 * conf/i386-ieee1275.rmk: Likewise.
16814
16815 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16816 * kern/i386/coreboot/init.c: Likewise.
16817
16818 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16819 with `<grub/cpu/kernel.h>'.
16820 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16821 to ...
16822 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16823 * kern/i386/coreboot/startup.S: Likewise.
16824
16825 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16826 (GRUB_MOD_GAP): Remove.
16827 * include/grub/powerpc/kernel.h: New file.
16828 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16829 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16830 * include/grub/i386/kernel.h: New file.
16831 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16832 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16833 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16834
16835 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16836 `grub-mkelfimage'.
16837 Use --directory when invoking grub_mkimage.
16838
16839 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16840 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16841 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16842 and GRUB_KERNEL_CPU_PREFIX.
16843
b86408f8 168442008-08-14 Felix Zielcke <fzielcke@z-51.de>
16845
d5e619ca 16846 * include/grub/err.h (grub_err_printf): New function prototype.
16847 * util/misc.c (grub_err_printf): New function.
16848 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16849 grub_printf.
16850 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 16851
7161f0e0 168522008-08-13 Robert Millan <rmh@aybabtu.com>
16853
16854 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16855
a1967522 168562008-08-13 Robert Millan <rmh@aybabtu.com>
16857
16858 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16859 boot entry.
16860
371458b5 168612008-08-12 Robert Millan <rmh@aybabtu.com>
16862
16863 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16864 of the relocation code from here ...
16865 (grub_multiboot): ... to here.
16866 (forward_relocator, backward_relocator): Move from here ...
16867 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16868 (grub_multiboot_backward_relocator): ... to here.
16869 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16870 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16871 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16872 (grub_multiboot_forward_relocator_end)
16873 (grub_multiboot_backward_relocator)
16874 (grub_multiboot_backward_relocator_end): New variables.
16875
05f9452b 168762008-08-12 Bean <bean123ch@gmail.com>
16877
16878 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16879
20024ab0 168802008-08-11 Robert Millan <rmh@aybabtu.com>
16881
16882 * kern/i386/linuxbios/startup.S: Move from here ...
16883 * kern/i386/coreboot/startup.S: ... to here.
16884
16885 * kern/i386/linuxbios/init.c: Move from here ...
16886 * kern/i386/coreboot/init.c: ... to here.
16887
16888 * kern/i386/linuxbios/table.c: Move from here ...
16889 * kern/i386/coreboot/mmap.c: ... to here.
16890
16891 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16892
e352e9cd 168932008-08-11 Robert Millan <rmh@aybabtu.com>
16894
16895 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16896 errors. Leave it to the upper layer to handle them.
16897
2d05bc6a 168982008-08-09 Christian Franke <franke@computer.org>
16899
16900 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16901 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16902 Install `grub.d/10_windows' only on Cygwin.
16903 * configure.ac: Add subst of `target_os'.
16904 Check `target_os' also before setting TARGET_OBJ2ELF.
16905 Add `--enable-grub-pe2elf'.
16906
042bd419 169072008-08-08 Robert Millan <rmh@aybabtu.com>
16908
16909 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16910 (grub_last_time): Change type to grub_uint64_t.
16911 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16912 (grub_disk_close): Likewise.
16913
16914 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16915 (run_menu): Migrate code from to using grub_get_time_ms().
16916
16917 * util/misc.c (grub_get_time_ms): New function.
16918
7f280db5 169192008-08-08 Marco Gerards <marco@gnu.org>
16920
16921 * disk/ata.c (grub_ata_regget): Change return type to
16922 `grub_uint8_t'.
16923 (grub_ata_regget2): Likewise.
16924 (grub_ata_wait_status): New function.
16925 (grub_ata_wait_busy): Removed function, updated all users to use
16926 `grub_ata_wait_status'.
16927 (grub_ata_wait_drq): Likewise.
16928 (grub_ata_cmd): New function.
16929 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16930 error handling.
16931 (grub_ata_pio_write): Add error handling.
16932 (grub_atapi_identify): Likewise.
16933 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16934 handling.
16935 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16936 handling. Actually use the detected registers. Reorder the
16937 detection logic such that it is easier to read.
16938 (grub_ata_pciinit): Do not assign the same ID to each controller.
16939 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16940 handling.
16941 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16942
16943 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16944
1fbc5e66 169452008-08-08 Marco Gerards <marco@gnu.org>
16946
16947 * NEWS: Update.
16948
819ce6c0 169492008-08-07 Bean <bean123ch@gmail.com>
16950
16951 * include/grub/x86_64/pci.h: New file.
16952
5c41d44d 169532008-08-07 Christian Franke <franke@computer.org>
16954
16955 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16956 (TIMER2_GATE): Likewise.
16957 (grub_pit_wait): Add enable/disable of the timer2 gate
16958 bit of port 0x61. This fixes a possible infinite loop.
16959
5ebc275d 169602008-08-07 Bean <bean123ch@gmail.com>
16961
16962 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16963 kern/i386/tsc.c and kern/i386/pit.c.
16964
16965 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16966 x86_64 platform.
16967
16968 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16969 <grub/i386/tsc.h>.
16970
16971 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16972
e383b3d0 169732008-08-07 Bean <bean123ch@gmail.com>
16974
16975 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16976
16977 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16978
16979 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16980 multiple inclusion. Add #include <grub/types.h>.
16981
1cbb58ac 169822008-08-06 Christian Franke <franke@computer.org>
16983
16984 * conf/common.rmk: Build and install `10_windows'.
16985 * util/grub.d/10_windows.in: New script.
16986
337f5a1e 169872008-08-06 Pavel Roskin <proski@gnu.org>
16988
16989 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16990
057bc4ac 169912008-08-06 Robert Millan <rmh@aybabtu.com>
16992
16993 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16994 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16995
2b99f123 169962008-08-06 Bean <bean123ch@gmail.com>
16997
16998 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16999 (grub_pxefs_fs_int): Remove dummy definition.
17000 (grub_pxefs_open): Use data->block_size to store the current block
17001 size setting.
17002 (grub_pxefs_read): Use block size stored in data->block_size. As the
17003 value of grub_pxe_blksize can be changed after the file is opened.
17004
9f0234cb 170052008-08-06 Bean <bean123ch@gmail.com>
17006
17007 * fs/i386/pc/pxe.c (curr_file): new variable.
17008 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17009 require the dummy internal file system anymore.
17010 (grub_pxefs_read): Removed.
17011 (grub_pxefs_close): Likewise.
17012 (grub_pxefs_fs_int): Likewise.
17013 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17014 connection when we switch file.
17015 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17016
a55d42e0 170172008-08-06 Robert Millan <rmh@aybabtu.com>
17018
17019 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17020 `halt.mod'.
17021 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17022 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17023
17024 * kern/i386/halt.c: New file.
17025 * kern/i386/reboot.c: Likewise.
17026 * include/grub/i386/reboot.h: Likewise.
17027 * include/grub/i386/halt.h: Likewise.
17028
17029 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17030 Include `<grub/cpu/halt.h>'.
17031 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17032 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17033
17034 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17035 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17036 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17037 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17038 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17039 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17040 from here ...
17041 * include/grub/i386/at_keyboard.h: ... to here.
17042
24371d26 170432008-08-05 Robert Millan <rmh@aybabtu.com>
17044
17045 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17046 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17047 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17048 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17049 `kern/generic/millisleep.c'.
17050
17051 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17052 instead of grub_get_rtc().
17053 (grub_tsc_init): Initialize `tsc_boot_time'.
17054
17055 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17056 (grub_machine_init): Use grub_tsc_init() rather than
17057 installing an RTC-based handler via grub_install_get_time_ms().
17058
17059 * kern/i386/pit.c: New file.
17060 * include/grub/i386/pit.h: Likewise.
17061
9e7007b3 170622008-08-05 Bean <bean123ch@gmail.com>
17063
17064 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17065
17066 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17067 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17068 (pxe_mod_SOURCES): New macro.
17069 (pxe_mod_CFLAGS): Likewise.
17070 (pxe_mod_LDFLAGS): Likewise.
17071 (pxecmd_mod_SOURCES): Likewise.
17072 (pxecmd_mod_CFLAGS): Likewise.
17073 (pxecmd_mod_LDFLAGS): Likewise.
17074
17075 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17076 (grub_pxe_call): Likewise.
17077
17078 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17079
17080 * commands/i386/pc/pxecmd.c: New file.
17081
9f0234cb 17082 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 17083
17084 * include/grub/i386/pc/pxe.h: Likewise.
17085
6977d49f 170862008-08-05 Bean <bean123ch@gmail.com>
17087
17088 * util/console.c (grub_console_cur_color): New variable.
17089 (grub_console_standard_color): Likewise.
17090 (grub_console_normal_color): Likewise.
17091 (grub_console_highlight_color): Likewise.
17092 (color_map): Likewise.
17093 (use_color): Likewise.
17094 (NUM_COLORS): New macro.
17095 (grub_ncurses_setcolorstate): Handle color properly.
17096 (grub_ncurses_setcolor): Don't change color here, just remember the
17097 settings, color will be set in grub_ncurses_setcolorstate.
17098 (grub_ncurses_getcolor): New function.
17099 (grub_ncurses_init): Initialize color pairs.
17100 (grub_ncurses_term): New member grub_ncurses_getcolor.
17101
9c2ff3ee 171022008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 17103
9c2ff3ee 17104 High resolution timer support. Implemented for x86 CPUs using TSC.
17105 Extracted generic grub_millisleep() so it's linked in only as needed.
17106 This requires a Pentium compatible CPU; if the RDTSC instruction is
17107 not supported, then it falls back on the generic grub_get_time_ms()
17108 implementation that uses the machine's RTC.
17109
17110 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17111 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17112 `kern/generic/millisleep.c'.
17113
17114 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17115 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17116
17117 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17118 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17119
17120 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17121
17122 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17123 `kern/generic/millisleep.c'.
17124
17125 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17126
17127 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17128
17129 * kern/generic/rtc_get_time_ms.c: New file.
17130
17131 * kern/generic/millisleep.c: New file.
337f5a1e 17132
9c2ff3ee 17133 * kern/misc.c: Don't include
17134 <kern/time.h> anymore.
17135 (grub_millisleep_generic): Removed.
17136
17137 * commands/sleep.c (grub_interruptible_millisleep): Uses
17138 grub_get_time_ms() instead of grub_get_rtc().
17139
17140 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17141 function.
17142 (grub_cpu_is_cpuid_supported): New inline function.
17143 (grub_cpu_is_tsc_supported): New inline function.
17144 (grub_tsc_init): New function prototype.
17145 (grub_tsc_get_time_ms): New function prototype.
17146
17147 * kern/i386/tsc.c (grub_get_time_ms): New file.
17148
17149 * include/grub/time.h: Include <grub/types.h.
17150 (grub_millisleep_generic): Removed.
17151 (grub_get_time_ms): New prototype.
17152 (grub_install_get_time_ms): New prototype.
17153 (grub_rtc_get_time_ms): New prototype.
17154
17155 * kern/time.c (grub_get_time_ms): New function.
17156 (grub_install_get_time_ms): New function.
17157
17158 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17159 <grub/time.h> anymore.
17160 (grub_millisleep): Removed.
17161 (grub_machine_init): Call grub_tsc_init.
17162
17163 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17164 get_time_ms() implementation.
17165
17166 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17167 (ieee1275_get_time_ms): New function.
17168 (grub_machine_init): Install get_time_ms() implementation.
17169
17170 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17171 (grub_machine_init): Call grub_tsc_init().
17172 (grub_millisleep): Removed.
bf06a93f 17173
9c2ff3ee 17174 * kern/ieee1275/init.c (grub_millisleep): Removed.
17175 (grub_machine_init): Install ieee1275_get_time_ms()
17176 implementation.
17177 (ieee1275_get_time_ms): New function.
17178 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17179 real work.
17180
9ec92aaf 171812008-08-05 Marco Gerards <marco@gnu.org>
17182
17183 * disk/ata.c: Include <grub/pci.h>.
17184 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17185 (grub_ata_initialize): Rewritten.
17186 (grub_ata_device_initialize): New function.
17187
8d23f507 171882008-08-04 Pavel Roskin <proski@gnu.org>
17189
17190 * kern/main.c: Include grub/mm.h.
17191
5e15ee3d 171922008-08-04 Robert Millan <rmh@aybabtu.com>
17193
17194 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17195 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17196 corruption problem).
17197
a9053f8f 171982008-08-04 Robert Millan <rmh@aybabtu.com>
17199
17200 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17201 warnings introduced in my last commit.
17202
dd19c7d7 172032008-08-03 Robert Millan <rmh@aybabtu.com>
17204
17205 Make PCI available on all i386 architectures.
17206
17207 * include/grub/i386/pc/pci.h: Move from here ...
17208 * include/grub/i386/pci.h: ... to here.
17209
17210 * include/grub/i386/pc/pci.h: Remove.
17211 * include/grub/i386/efi/pci.h: Remove.
17212 * include/grub/x86_64/efi/pci.h: Remove.
17213
17214 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17215 `<grub/cpu/pci.h>'.
17216
17217 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17218 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17219 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17220
17221 * conf/i386-ieee1275.rmk: Likewise.
17222
e14a6184 172232008-08-03 Robert Millan <rmh@aybabtu.com>
17224
17225 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17226 (grub_console_setcursor): Make it possible to set cursor off.
17227
52768e37 172282008-08-03 Robert Millan <rmh@aybabtu.com>
17229
17230 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17231 of modules instead of assuming which platform provides what.
17232 * util/update-grub.in: Likewise.
17233
2d52f57f 172342008-08-03 Robert Millan <rmh@aybabtu.com>
17235
17236 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17237 instead of `grub_install_dos_part' to determine whether a drive needs
17238 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 17239 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 17240
2a5cd121 172412008-08-02 Robert Millan <rmh@aybabtu.com>
17242
17243 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17244
93808428 172452008-08-02 Robert Millan <rmh@aybabtu.com>
17246
17247 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17248 of informational grub_dprintf() calls.
17249
3bd0a12a 172502008-08-02 Robert Millan <rmh@aybabtu.com>
17251
17252 * disk/memdisk.c (memdisk_size): Don't initialize.
17253 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17254
17255 * include/grub/i386/pc/kernel.h
17256 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17257 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17258 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17259 (grub_arch_memdisk_size): Remove.
17260
17261 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17262 field (was only used to transfer a constant). Add `type' field to
17263 support multiple module types.
17264 (grub_module_iterate): New function.
17265
17266 * kern/device.c (grub_device_open): Do not hide error messages
17267 when grub_disk_open() fails. Use grub_print_error() instead.
17268
17269 * kern/i386/pc/init.c (grub_arch_modules_addr)
17270 (grub_arch_memdisk_size): Remove functions.
17271 (grub_arch_modules_addr): Return the module address in high memory
17272 (now that it isn't copied anymore).
17273
17274 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17275 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17276 decompression routine (grub_total_module_size already includes that
17277 now). Don't copy modules back to low memory.
17278
17279 * kern/main.c: Include `<grub/mm.h>'.
17280 (grub_load_modules): Split out (and use) ...
17281 (grub_module_iterate): ... this function, which iterates through
17282 module objects and runs a hook.
17283 Comment out grub_mm_init_region() call, as it would cause non-ELF
17284 modules to be overwritten.
17285
17286 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17287 the memdisk image in its own region, make it part of the module list.
17288 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17289 (main): Parse --memdisk|-m option, and pass user-provided path as
17290 parameter to generate_image().
17291 (add_segments): Pass `memdisk_path' down to load_modules().
17292 (load_modules): Embed memdisk image in module section when requested.
17293 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17294 `header.type' instead of `header.offset'.
17295
17296 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17297 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17298 (memdisk_mod_LDFLAGS): New variables.
17299 * conf/i386-coreboot.rmk: Likewise.
17300 * conf/i386-ieee1275.rmk: Likewise.
17301
a927cc73 173022008-08-02 Robert Millan <rmh@aybabtu.com>
17303
17304 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17305 (backward_relocator): New variables. Used to allocate and relocate
17306 the payload, respectively.
17307 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 17308 address, install the appropriate relocator code in each bound of
a927cc73 17309 the payload, and set the entry point such that
17310 grub_multiboot_real_boot() will jump to one of them.
17311
17312 * kern/i386/loader.S (grub_multiboot_payload_size)
17313 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17314 (grub_multiboot_payload_entry_offset): New variables.
17315 (grub_multiboot_real_boot): Set cpu context to what the relocator
17316 expects, and jump to the relocator instead of the payload.
17317
17318 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17319 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17320 (grub_multiboot_payload_entry_offset): Export.
17321
b15d8a0c 173222008-08-01 Bean <bean123ch@gmail.com>
17323
17324 * normal/menu_entry.c (editor_getline): Don't return the original
17325 string as result, as it will be released by lexer once it has done
17326 using it.
17327
cdfb3d22 173282008-08-01 Robert Millan <rmh@aybabtu.com>
17329
17330 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17331 within menuentries, not before them.
17332 util/grub.d/10_hurd.in: Likewise.
17333
9175e93d 173342008-08-01 Bean <bean123ch@gmail.com>
17335
17336 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17337 (bufio_mod_SOURCES): New macro.
17338 (bufio_mod_CFLAGS): Likewise.
17339 (bufio_mod_LDFLAGS): Likewise.
17340
17341 * include/grub/bufio.h: New file.
17342
17343 * io/bufio.c: Likewise.
17344
17345 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17346 (grub_video_reader_png): Use grub_buffile_open to open file.
17347
17348 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17349 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17350
17351 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17352 (grub_video_reader_tga): Use grub_buffile_open to open file.
17353
17354 * font/manager.c: Include <grub/bufio.h>.
17355 (add_font): Use grub_buffile_open to open file.
17356
3d8383e7 173572008-07-31 Robert Millan <rmh@aybabtu.com>
17358
17359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17360 ELF segments, use a macro for arbitrarily accessing any of them instead
17361 of preparing a pointer that allows access to one at a time.
17362 (grub_multiboot_load_elf64): Likewise.
17363
16e641b6 173642008-07-31 Bean <bean123ch@gmail.com>
17365
17366 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17367 GRUB_KERNEL_MACHINE_DATA_END.
17368
59198b72 173692008-07-30 Robert Millan <rmh@aybabtu.com>
17370
17371 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17372 Increase from 0x50 to 0x60.
17373 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17374 use UUIDs to identify the root drive for them. If that's not
17375 possible, abort.
17376 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17377 check, for cross-disk installs.
17378
ae88bca3 173792008-07-30 Robert Millan <rmh@aybabtu.com>
17380
17381 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17382 is non-empty, use it to set the `prefix' environment variable instead
17383 of the usual approach.
17384 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17385 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17386 environment variable instead of dummy make_install_device().
17387
17388 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17389 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 17390 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 17391
17392 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17393 New variable reference.
17394 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17395 New macro. Defines offset of `grub_prefix' within startup.S (relative
17396 to `start').
17397 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17398 section within startup.S (relative to `start').
17399 * include/grub/i386/coreboot/kernel.h: Likewise.
17400
17401 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17402 Overwrite grub_prefix with its contents, at the beginning of the
17403 first segment.
17404 (main): Understand -p|--prefix.
17405
14f41dd1 174062008-07-30 Robert Millan <rmh@aybabtu.com>
17407
17408 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17409
4ca049a3 174102008-07-30 Robert Millan <rmh@aybabtu.com>
17411
17412 * term/i386/pc/vga_text.c (grub_console_cls): Use
17413 grub_console_gotoxy() to go back to beginning of the screen.
17414 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17415
2921d337 174162008-07-29 Christian Franke <franke@computer.org>
17417
17418 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17419 Add conversion of emulated mount points on Cygwin.
17420
b609876d 174212008-07-29 Christian Franke <franke@computer.org>
17422
17423 * util/update-grub.in: Add a check for admin
17424 group on Cygwin.
17425 Remove old `grub.cfg.new' before creation.
17426 Add `-f' to `mv' to handle the different filesystem
17427 semantics of Windows.
17428
e93e4679 174292008-07-29 Bean <bean123ch@gmail.com>
17430
17431 * normal/main.c (get_line): Fix buffer overflow bug.
17432
41694fd0 174332008-07-28 Robert Millan <rmh@aybabtu.com>
17434
17435 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17436 (struct grub_apple_header): New struct. Describes the layout of
17437 the partmap header.
17438 (apple_partition_map_iterate): Check the header magic as well as the
17439 partition magic (which was already being checked).
17440
cfd0b4e6 174412008-07-28 Pavel Roskin <proski@gnu.org>
17442
17443 * genmk.rb: Add a warning to the beginning of the output that
17444 it's a generated file and should not be edited.
17445
93cce016 174462008-07-28 Robert Millan <rmh@aybabtu.com>
17447
17448 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17449 with the same number are found, just use issue a warning with
17450 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 17451
cd1df915 174522008-07-27 Robert Millan <rmh@aybabtu.com>
17453
17454 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17455 information.
17456
b70a8427 174572008-07-27 Bean <bean123ch@gmail.com>
17458
17459 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17460 (grub_fat_find_dir): Ignore case when comparing filename.
17461
8f5e379f 174622008-07-27 Bean <bean123ch@gmail.com>
17463
17464 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17465 smallino, as it's more descriptive, and i8count can be confused with
17466 the other field count.
17467 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17468 inode type.
17469
a85cd5a0 174702008-07-27 Bean <bean123ch@gmail.com>
17471
17472 * commands/crc.c: New file.
17473
17474 * lib/crc.c: Likewise.
17475
17476 * include/grub/lib/crc.h: Likewise.
17477
17478 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17479
17480 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17481 (hexdump): Move this function to ...
17482
17483 * lib/hexdump.c: ... here.
17484
17485 * include/grub/hexdump.h: Renamed to ...
17486
17487 * include/grub/lib/hexdump.h: ... this.
17488
17489 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17490
17491 * util/grub-editenv.c: Likewise.
17492
17493 * include/envblk.h: Renamed to ...
17494
17495 * include/lib/envblk.h: ... this.
17496
17497 * util/envblk.c: Renamed to ...
17498
17499 * lib/envblk.c: ... this.
17500
17501 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17502 lib/hexdump.c.
17503 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17504 (pkglib_MODULES): Add crc.mod.
17505 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17506 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17507 (crc_mod_SOURCES): New macro.
17508 (crc_mod_CFLAGS): Likewise.
17509 (crc_mod_LDFLAGS): Likewise.
17510
17511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17512
17513 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17514
17515 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17516
17517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17518
17519 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17520
c298def0 175212008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 17522
17523 * commands/help.c: Include <grub/term.h>.
17524 (TERM_WIDTH): Removed. Updated all users.
17525
cc349fb3 175262008-07-27 Pavel Roskin <proski@gnu.org>
17527
17528 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17529 spurious warnings about a comment within a comment.
17530
9051607e 175312008-07-25 Robert Millan <rmh@aybabtu.com>
17532
17533 * util/getroot.c (find_root_device): Skip devices that match
17534 /dev/dm-[0-9]. This lets the real device be found for any type of
17535 abstraction (LVM, EVMS, RAID..).
17536 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17537 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17538 device is found first, find_root_device() will now skip it.
17539
01453bfc 175402008-07-24 Pavel Roskin <proski@gnu.org>
17541
17542 * include/grub/types.h: Use __builtin_bswap32() and
17543 __builtin_bswap64() with gcc 4.3 and newer.
17544
6af9849f 175452008-07-24 Christian Franke <franke@computer.org>
17546
3a0fa256 17547 * util/i386/pc/grub-install.in: If `--debug' is specified,
17548 pass `--verbose' to grub-setup.
17549 Abort script if make_system_path_relative_to_its_root() fails.
17550
7810e747 175512008-07-24 Bean <bean123ch@gmail.com>
17552
17553 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17554 variable `target_platform' should be `platform'.
17555
42290e17 175562008-07-24 Bean <bean123ch@gmail.com>
17557
51cc5193 17558 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 17559 (grub_png_init_fixed_block): New function.
17560 (grub_png_decode_image_data): Handle fixed huffman code compression.
17561
2a8a80e4 175622008-07-24 Bean <bean123ch@gmail.com>
17563
17564 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17565 (grub_pe2elf_SOURCES): New macro.
17566 (CLEANFILES): Add grub-pe2elf.
17567
17568 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17569 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17570 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17571 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17572 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17573 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17574 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17575 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17576 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17577 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17578 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17579 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17580 (GRUB_PE32_DT_FUNCTION): Likewise.
17581 (GRUB_PE32_REL_I386_DIR32): Likewise.
17582 (GRUB_PE32_REL_I386_REL32): Likewise.
17583 (grub_pe32_symbol): New structure.
17584 (grub_pe32_reloc): Likewise.
17585
17586 * util/grub-pe2elf.c: New file.
17587
17588 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17589 start symbol in non pc platform.
17590
17591 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17592
17593 The following patches are from Christian Franke.
17594
17595 * include/grub/dl.h: Remove .previous, gas supports this only
17596 for ELF format.
17597
17598 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17599 Remove .type, gas supports this only for ELF format.
17600
17601 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17602 nullbytes in symbol table. This fixes an infinite loop if table is
17603 zero filled.
17604
17605 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17606 TARGET_IMG_LDFLAGS and EXEEXT.
17607
17608 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17609 TARGET_IMG_LDFLAGS_AC.
17610 (grub_CHECK_STACK_ARG_PROBE): New function.
17611
17612 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17613
17614 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17615
17616 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17617 to set TARGET_IMG_LD* accordingly.
17618 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17619 Add call to grub_CHECK_STACK_ARG_PROBE.
17620 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17621
17622 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17623
17624 * genmk.rb: Add EXEEXT to CLEANFILES.
17625
12ccdb75 176262008-07-23 Robert Millan <rmh@aybabtu.com>
17627
17628 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17629 define the codes for arrows and lines used for the menu).
17630 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17631 as well.
17632
17633 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17634 fonts, because the latter are too slow.
17635
18eeaf04 176362008-07-21 Bean <bean123ch@gmail.com>
17637
17638 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17639 a20. Run keyboard test last, as it will cause macbook to halt.
17640
b095e2ad 176412008-07-18 Pavel Roskin <proski@gnu.org>
17642
17643 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17644 load foreign architecture modules correctly anyway. Keep
17645 support for loading host architecture modules, whether we
17646 compile them or not.
17647
737feb35 176482008-07-17 Pavel Roskin <proski@gnu.org>
17649
3f4ce737 17650 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17651 change target_cpu. The compiler default can mismatch target_cpu
17652 in any case.
17653
4ad2d049 17654 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17655 * kern/efi/efi.c: Likewise.
17656
f6130a12 17657 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17658 target compiler is functional.
17659 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17660 are set up.
17661
58393a2d 17662 * configure.ac: Default to efi platform for x86_64-apple. Allow
17663 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17664 adjustments from the rest, only do them if target is not
17665 explicitly given. Merge other adjustments with the final sanity
17666 check. Remove an extraneous check for supported CPU. Be
17667 specific which CPU and which platform is not supported.
17668
737feb35 17669 * configure.ac: Default to pc platform for x86_64.
17670
546f966a 176712008-07-17 Robert Millan <rmh@aybabtu.com>
17672
17673 Partial LinuxBIOS -> Coreboot rename.
17674
17675 * conf/i386-linuxbios.rmk: Renamed to ...
17676 * conf/i386-coreboot.rmk: ... this.
17677 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17678 * configure.ac: Accept "coreboot" as input platform (but maintain
17679 compatibility with "linuxbios").
17680 * include/grub/i386/linuxbios: Renamed to ...
17681 * include/grub/i386/coreboot: ... this.
17682
20011694 176832008-07-17 Bean <bean123ch@gmail.com>
17684
17685 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 17686 (appleldr_mod_SOURCE): New variable.
20011694 17687 (appleldr_mod_CFLAGS): Likewise.
17688 (appleldr_mod_LDFLAGS): Likewise.
17689 (pci_mod_SOURCES): Likewise.
17690 (pci_mod_CFLAGS): Likewise.
17691 (pci_mod_LDFLAGS): Likewise.
17692 (lspci_mod_SOURCES): Likewise.
17693 (lspci_mod_CFLAGS): Likewise.
17694 (lspci_mod_LDFLAGS): Likewise.
17695
17696 * conf/x86_64-efi.rmk: New file.
17697
17698 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17699 macro.
17700 (grub_efidisk_write): Likewise.
17701
17702 * include/efi/api.h (efi_call_0): New macro.
17703 (efi_call_1): Likewise.
17704 (efi_call_2): Likewise.
17705 (efi_call_3): Likewise.
17706 (efi_call_4): Likewise.
17707 (efi_call_5): Likewise.
17708 (efi_call_6): Likewise.
17709
17710 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17711 grub_rescue_cmd_chainloader.
17712
17713 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17714 (grub_pe32_optional_header): Change some fields based on i386 or
17715 x86_64 platform.
17716 (GRUB_PE32_PE32_MAGIC): Likewise.
17717
17718 * include/grub/efi/uga_draw.h: New file.
17719
17720 * include/grub/elf.h (STN_ABS): New constant.
17721 (R_X86_64_NONE): Relocation constant for x86_64.
17722 (R_X86_64_64): Likewise.
17723 (R_X86_64_PC32): Likewise.
17724 (R_X86_64_GOT32): Likewise.
17725 (R_X86_64_PLT32): Likewise.
17726 (R_X86_64_COPY): Likewise.
17727 (R_X86_64_GLOB_DAT): Likewise.
17728 (R_X86_64_JUMP_SLOT): Likewise.
17729 (R_X86_64_RELATIVE): Likewise.
17730 (R_X86_64_GOTPCREL): Likewise.
17731 (R_X86_64_32): Likewise.
17732 (R_X86_64_32S): Likewise.
17733 (R_X86_64_16): Likewise.
17734 (R_X86_64_PC16): Likewise.
17735 (R_X86_64_8): Likewise.
17736 (R_X86_64_PC8): Likewise.
17737
17738 * include/grub/i386/efi/pci.h: New file.
17739
17740 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17741 Change it value based on platform.
17742 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17743 (GRUB_E820_RAM): Likewise.
17744 (GRUB_E820_RESERVED): Likewise.
17745 (GRUB_E820_ACPI): Likewise.
17746 (GRUB_E820_NVS): Likewise.
17747 (GRUB_E820_EXEC_CODE): Likewise.
17748 (GRUB_E820_MAX_ENTRY): Likewise.
17749 (grub_e820_mmap): New structure.
17750 (linux_kernel_header): Change the efi field according to different
17751 kernel version, also field from linux_kernel_header.
17752
17753 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17754
17755 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17756 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17757 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17758 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17759 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17760 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17761 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17762 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17763 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17764 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17765
17766 * include/grub/x86_64/efi/kernel.h: New file.
17767
17768 * include/grub/x86_64/efi/loader.h: Likewise.
17769
17770 * include/grub/x86_64/efi/machine.h: Likewise.
17771
17772 * include/grub/x86_64/efi/pci.h: Likewise.
17773
17774 * include/grub/x86_64/efi/time.h: Likewise.
17775
17776 * include/grub/x86_64/linux.h: Likewise.
17777
17778 * include/grub/x86_64/setjmp.h: Likewise.
17779
17780 * include/grub/x86_64/time.h: Likewise.
17781
17782 * include/grub/x86_64/types.h: Likewise.
17783
17784 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17785 GRUB_TARGET_SIZEOF_VOID_P.
17786
17787 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17788 (grub_efi_locate_handle): Likewise.
17789 (grub_efi_open_protocol): Likewise.
17790 (grub_efi_set_text_mode): Likewise.
17791 (grub_efi_stall): Likewise.
17792 (grub_exit): Likewise.
17793 (grub_reboot): Likewise.
17794 (grub_halt): Likewise.
17795 (grub_efi_exit_boot_services): Likewise.
17796 (grub_get_rtc): Likewise.
17797
17798 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17799 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17800 (grub_efi_allocate_pages): Wrap efi calls.
17801 (grub_efi_free_pages): Wrap efi calls.
17802 (grub_efi_get_memory_map): Wrap efi calls.
17803
17804 * kern/x86_64/dl.c: New file.
17805
17806 * kern/x86_64/efi/callwrap.S: Likewise.
17807
17808 * kern/x86_64/efi/startup.S: Likewise.
17809
17810 * loader/efi/appleloader.c: Likewise.
17811
17812 * loader/efi/chainloader.c (cmdline): New variable.
17813 (grub_chainloader_unload): Wrap efi calls.
17814 (grub_chainloader_boot): Likewise.
17815 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17816 command line.
17817
17818 * loader/efi/chainloader_normal.c (chainloader_command):
17819 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17820 command line.
17821
17822 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17823 method.
17824 (grub_e820_add_region): New function.
17825 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17826 booting.
17827 (grub_find_video_card): New function.
17828 (grub_linux_setup_video): New function.
17829 (grub_rescue_cmd_linux): Probe for video information.
17830
17831 * normal/x86_64/setjmp.S: New file.
17832
17833 * term/efi/console.c (map_char): New function.
17834 (grub_console_putchar): Map unicode char.
17835 (grub_console_checkkey): Wrap efi calls.
17836 (grub_console_getkey): Likewise.
17837 (grub_console_getwh): Likewise.
17838 (grub_console_gotoxy): Likewise.
17839 (grub_console_cls): Likewise.
17840 (grub_console_setcolorstate): Likewise.
17841 (grub_console_setcursor): Likewise.
17842
17843 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17844
59652a20 178452008-07-16 Pavel Roskin <proski@gnu.org>
17846
ef294055 17847 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17848 format strings.
17849
59652a20 17850 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17851 pointer, not an integer. This fixes a warning and prevents
17852 precision loss on 64-bit systems.
17853 (relocate_addresses): Remove unneeded cast.
17854
afc3b5d7 178552008-07-15 Pavel Roskin <proski@gnu.org>
17856
506b2b3e 17857 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17858
62ead89c 17859 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17860
c4cd51d7 17861 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17862 Fix comparison between signed and unsigned.
17863
0d3d8f28 17864 * include/grub/i386/ieee1275/console.h: Declare
17865 grub_console_init() and grub_console_fini().
17866
8804b286 17867 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17868 It's empty and unused.
17869
ee01cf35 17870 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17871 beginning to avoid warnings with some compilers.
17872
afc3b5d7 17873 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17874 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17875
e4e8eaa5 178762008-07-14 Pavel Roskin <proski@gnu.org>
17877
407aceb4 17878 * kern/env.c (grub_register_variable_hook): Don't copy empty
17879 string, it leaks memory. Pass "" to grub_env_set(), it should
17880 handle constant strings.
17881
e4e8eaa5 17882 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17883 * commands/cmp.c (grub_cmd_cmp): Likewise.
17884 * kern/dl.c (grub_dl_flush_cache): Likewise.
17885 (grub_dl_load_core): Likewise.
17886 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17887 (grub_elf64_load_phdrs): Likewise.
17888
d4e2dad3 178892008-07-13 Pavel Roskin <proski@gnu.org>
17890
17891 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17892 between signed and unsigned.
17893 (LzmaEnc_Finish): Fix warning about an unused parameter.
17894
aa24b516 178952008-07-13 Bean <bean123ch@gmail.com>
17896
17897 * Makefile.in (enable_lzo): New rule.
17898
17899 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17900
17901 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17902
17903 * boot/i386/pc/lnxboot.S: #include <config.h>.
17904
17905 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 17906 its value according to the compression algorithm used, lzo or lzma.
aa24b516 17907
17908 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17909 compression algorithm according to configure macro.
17910
17911 * kern/i386/pc/startup.S (codestart): Likewise.
17912
17913 * kern/i386/pc/lzma_decode.S: New file.
17914
17915 * include/grub/lib/LzFind.h: Likewise.
17916
17917 * include/grub/lib/LzHash.h: Likewise.
17918
17919 * include/grub/lib/LzmaDec.h: Likewise.
17920
17921 * include/grub/lib/LzmaEnc.h: Likewise.
17922
17923 * include/grub/lib/LzmaTypes.h: Likewise.
17924
17925 * lib/LzFind.c: Likewise.
17926
17927 * lib/LzmaDec.c: Likewise.
17928
17929 * lib/LzmaEnc.c: Likewise.
17930
4ae821ac 179312008-07-13 Bean <bean123ch@gmail.com>
17932
17933 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17934 (grub_ext4_extent_header): New structure.
17935 (grub_ext4_extent): Likewise.
17936 (grub_ext4_extent_idx): Likewise.
17937 (grub_ext4_find_leaf): New function.
17938 (grub_ext2_read_block): Handle extents.
17939
9a745147 179402008-07-12 Robert Millan <rmh@aybabtu.com>
17941
17942 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17943
d49a4cf6 179442008-07-11 Robert Millan <rmh@aybabtu.com>
17945
17946 * util/grub.d/40_custom.in: New file. Example on how to add custom
17947 entries to /etc/grub.d.
17948 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17949 40_custom (implicitly, by merging all the grub.d rules).
17950
947414b4 179512008-07-11 Pavel Roskin <proski@gnu.org>
17952
0059cf6f 17953 * commands/read.c (grub_getline): Fix invalid memory access.
17954 Don't add newline to the variable value.
17955
947414b4 17956 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17957 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17958 (serial_hw_get_port): Check validity of the port number.
17959 (grub_cmd_serial): Check return value of serial_hw_get_port().
17960
62a02d00 179612008-07-07 Pavel Roskin <proski@gnu.org>
17962
17963 * boot/i386/pc/diskboot.S (notification_string): Replace
17964 "Loading kernel" with just "loading". This is shorter, less
17965 confusing and saves a few bytes for possible future changes.
17966
3e5581b0 179672008-07-05 Pavel Roskin <proski@gnu.org>
17968
ea387a48 17969 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17970 size for ATAPI devices, they are undefined. Output sector
17971 number in decimal form.
17972
3e5581b0 17973 * disk/ata.c: Use named constants for status bits.
17974
fdecb8fd 179752008-07-04 Pavel Roskin <proski@gnu.org>
17976
bcd35b90 17977 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17978 grub_addr_t before casting it to the void pointer to fix a
17979 warning. Non-addressable regions are discarded earlier.
17980 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17981 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17982 (check_signature): Don't shadow table_header.
17983 (grub_linuxbios_table_iterate): Cast numeric constants to
17984 grub_linuxbios_table_header_t.
17985 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17986 grub_stop().
17987
af58ab3d 17988 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17989 prevent warnings.
17990
1759aa57 17991 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17992 pointer, which can cause warnings. Support 64-bit addresses.
17993
fdecb8fd 17994 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17995 of sizeof(long). This fixes PowerPC image generation on x86_64.
17996
8516d2a8 179972008-07-04 Robert Millan <rmh@aybabtu.com>
17998
17999 This fixes a performance issue when pc & gpt partmap iterators
18000 didn't abort iteration even after our hook found what it was
fe987087 18001 looking for (often causing expensive probes of non-existent drives).
8516d2a8 18002
18003 Some callers relied on previous buggy behaviour, since they would
34c44600 18004 raise an error when their own hooks caused early abortion of its
8516d2a8 18005 iteration.
18006
18007 * kern/device.c (grub_device_open): Improve error message.
18008 * disk/lvm.c (grub_lvm_open): Likewise.
18009 * disk/raid.c (grub_raid_open): Likewise.
18010
18011 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18012 when hook requests it, independently of grub_errno.
18013 (pc_partition_map_probe): Do not fail when find_func() caused
18014 early abortion of pc_partition_map_iterate().
18015
18016 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18017 when hook requests it, independently of grub_errno.
18018 (gpt_partition_map_probe): Do not fail when find_func() caused
18019 early abortion of gpt_partition_map_iterate().
18020
18021 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18022 when hook requests it, independently of grub_errno. Do not fail when
18023 part_map_iterate_hook() caused early abortion of p->iterate().
18024
18025 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18026 when grub_partition_iterate() returned with non-zero.
18027
277d0de9 180282008-07-03 Pavel Roskin <proski@gnu.org>
18029
18030 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18031 like we do in grub_ata_pio_read().
18032 (grub_ata_readwrite): Always write individual sectors. Fix the
18033 sector count for the remainder.
18034 (grub_ata_write): Enable writing to ATA devices. Correctly
18035 report error for ATAPI devices.
18036
d4c9b428 180372008-07-02 Pavel Roskin <proski@gnu.org>
18038
e43fc690 18039 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18040 warning.
18041
f707af42 18042 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18043 for every read sector, we already increment it for the whole
18044 batch. This fixes reading more than 256 sectors at once.
18045
11e16b15 18046 * util/grub-editenv.c (cmd_info): Cast argument to long
18047 explicitly. ptrdiff_t reduces to int on i386.
18048
cbabfdd4 18049 * util/grub-editenv.c (main): Be specific which parameter is
18050 missing.
18051
b8fbce0a 18052 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18053 (memdisk): Make memdisk_orig_addr a pointer.
18054
c9c8e606 18055 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18056 for file offsets, use grub_off_t instead. Fix printf format
18057 warnings.
18058
ca62e598 18059 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18060 there. Real unexpected warnings should not drown in the noise
18061 about known problems.
18062
ce8d1766 18063 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18064 grub_disk_addr_t for memory addresses.
18065
00c7a56a 18066 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18067 explicitly to fix a warning.
18068
08d3ef09 18069 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18070
cb71ba20 18071 * Makefile.in (MODULE_LDFLAGS): New variable.
18072 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18073 the linker accepts --build-id=none.
18074 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18075 MODULE_LDFLAGS.
18076 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18077
d4c9b428 18078 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18079 those in Linux XFS code. Provide a way to access 64-bit parent
18080 inode.
18081 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18082 the end of struct grub_xfs_dir_header.
18083
d4156eee 180842008-07-02 Bean <bean123ch@gmail.com>
18085
18086 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18087 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18088 and GRUB_IEEE1275_FLAG_NO_ANSI.
18089
18090 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18091 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18092 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18093
18094 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18095 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18096
18097 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18098 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18099
18100 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18101 esc sequence on non ANSI terminal.
18102 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18103
18104 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18105 beginning of file.
18106
2270f77b 181072008-07-02 Bean <bean123ch@gmail.com>
18108
18109 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18110 (grub_editenv_SOURCES): New variable.
18111 (pkglib_MODULES): Add loadenv.mod.
18112 (loadenv_mod_SOURCES): New variable.
18113 (loadenv_mod_CFLAGS): Likewise.
18114 (loadenv_mod_LDFLAGS): Likewise.
18115
18116 * include/grub/envblk.h: New file.
18117
18118 * util/envblk.c: New file.
18119
18120 * util/grub-editenv.c: New file.
18121
18122 * commands/loadenv.c: New file.
18123
0e9e51ec 181242008-07-01 Pavel Roskin <proski@gnu.org>
18125
d89b7634 18126 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18127 not unsigned char. This fixes warnings and is consistent with
18128 other tags.
18129
bf1835b1 18130 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18131
8222a04b 18132 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18133
6a42d99d 18134 * term/tparm.c (analyze): Always set *popcount.
18135
10b159d1 18136 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18137 cast to fix a warning.
18138
b8789f6c 18139 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18140 cast to suppress a warning.
18141
29d7e38a 18142 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18143 grub_fshelp_read_file() expects.
18144
f341f669 18145 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18146 write uuid as a 32-bit value in CPU byte order, so declare and
18147 use it as such.
18148
0e9e51ec 18149 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18150 long if the format specifier expects it.
18151 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18152 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18153 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18154 long to fix a warning.
18155 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18156 grub_dprintf() arguments to fix warnings.
18157
3aefa857 181582008-06-30 Pavel Roskin <proski@gnu.org>
18159
56c7668b 18160 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18161 install_bsd_part immediately before core.img is embedded or
18162 modified on disk. This fixes core.img verification if core.img
18163 cannot be embedded.
18164
3aefa857 18165 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18166 core_path to calculate the blocklist.
18167 Patch from Javier Martín <lordhabbit@gmail.com>
18168
5444088d 181692008-06-29 Robert Millan <rmh@aybabtu.com>
18170
18171 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18172 block to disk block.
18173 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18174 Patch from Niels Böhm <bitbucket@arcor.de>
18175
674835c8 181762008-06-29 Robert Millan <rmh@aybabtu.com>
18177
18178 * util/update-grub_lib.in (font_path): Search for fonts in
18179 /boot/grub first, which is more likely to be readable (we aren't
18180 deciding where fonts live, just looking for them).
18181
f527dbc8 181822008-06-26 Pavel Roskin <proski@gnu.org>
18183
6c2d8df6 18184 * util/biosdisk.c (read_device_map): Don't leave dead map
18185 entries for devices failing stat() check.
18186
f527dbc8 18187 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18188 core_path_dev for the core.img path on the target device.
18189
aebe3d13 181902008-06-26 Robert Millan <rmh@aybabtu.com>
18191
18192 * disk/fs_uuid.c: New file.
18193 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18194 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18195 (fs_uuid_mod_LDFLAGS): New variables.
18196 * include/grub/disk.h (grub_disk_dev_id): Add
18197 `GRUB_DISK_DEVICE_UUID_ID'.
18198 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18199 implement iterate().
18200
37aaf354 182012008-06-26 Robert Millan <rmh@aybabtu.com>
18202
18203 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18204 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18205 Linux image includes no initrd.
18206
25ff262a 182072008-06-21 Javier Martín <lordhabbit@gmail.com>
18208
18209 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18210 call to resolve the core image location that effectively appended the
18211 name twice.
18212
76a2bd44 182132008-06-21 Robert Millan <rmh@aybabtu.com>
18214
18215 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18216 call from here ...
18217
18218 * util/grub.d/10_hurd.in: ... to here ...
18219 * util/grub.d/10_linux.in: ... and here.
18220
650e1c79 182212008-06-19 Robert Millan <rmh@aybabtu.com>
18222
fe987087 18223 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 18224 after it has been set by grub_machine_set_prefix().
18225
6ce63911 182262008-06-19 Robert Millan <rmh@aybabtu.com>
18227
18228 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18229 search result when not saving to variable, not the other way around.
18230 When saving to variable, abort iteration as soon as a match is found.
18231
73940cec 182322008-06-19 Robert Millan <rmh@aybabtu.com>
18233
18234 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18235 check for partition that provides /boot/grub. Its logic is flawed,
18236 as it prevents prepare_grub_to_access_device() from being called
18237 multiple times.
18238
3c62a39d 182392008-06-19 Robert Millan <rmh@aybabtu.com>
18240
18241 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18242 "insmod" command directly when abstraction modules are needed,
fe987087 18243 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 18244 since it had already been processed).
18245
47395a42 182462008-06-19 Pavel Roskin <proski@gnu.org>
18247
18248 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18249 changed. This is needed in case GRUB_LIBDIR changes.
18250 * conf/i386-ieee1275.rmk: Likewise.
18251 * conf/i386-linuxbios.rmk: Likewise.
18252 * conf/i386-pc.rmk: Likewise.
18253 * conf/powerpc-ieee1275.rmk: Likewise.
18254
a145ac2d 182552008-06-18 Pavel Roskin <proski@gnu.org>
18256
18257 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18258 kernel_elf_symlist.c to symlist.c for consistency with other
18259 architectures. Update all users.
18260 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18261
7847c51e 182622008-06-18 Robert Millan <rmh@aybabtu.com>
18263
18264 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18265 it in prefix.
18266
18267 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18268 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18269 a RAID device, run setup() for all members independently on whether
18270 LVM abstraction is being used.
18271 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18272 If grub-mkimage has set `*install_dos_part == -2', don't override this
18273 value.
18274 Perform *install_dos_part adjustments independently on whether
18275 we're embedding or not.
18276 Clarify error message when image is too big for embedding.
18277 Remove duplicate *install_dos_part stanza.
18278
b23e5644 182792008-06-17 Robert Millan <rmh@aybabtu.com>
18280
18281 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18282 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18283 variables.
18284 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18285 values in grub_ofconsole_normal_color and
18286 grub_ofconsole_highlight_color (they're not directly related to
18287 background and foreground).
18288 (grub_ofconsole_setcolorstate): Extract background and foreground
18289 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18290
0aac2f79 182912008-06-17 Robert Millan <rmh@aybabtu.com>
18292
18293 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18294 /boot/grub for the check in last commit, not /boot (they could be
18295 different partitions).
18296
3cca7ef3 182972008-06-16 Robert Millan <rmh@aybabtu.com>
18298
18299 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18300 asked to setup access for the same partition that provides /boot,
18301 don't bother using UUIDs since our root already has the value we
18302 want.
18303
347396d8 183042008-06-16 Robert Millan <rmh@aybabtu.com>
18305
18306 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18307 I2O devices.
18308 Patch from Sven Mueller <sven@debian.org>.
18309
991477f8 183102008-06-16 Robert Millan <rmh@aybabtu.com>
18311
18312 * util/update-grub.in: Check for $EUID instead of $UID.
18313 Reported by Vincent Zweije.
18314
d31a32a1 183152008-06-16 Bean <bean123ch@gmail.com>
18316
fe987087 18317 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 18318 (grub_ext2_read_block): Likewise.
18319 (grub_ext2_read_inode): Likewise.
18320 (grub_ext2_mount): Likewise.
18321 (grub_ext2_close): Likewise.
18322 (grub_ext3_get_journal): Removed.
18323
fe987087 18324 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 18325 (grub_reiserfs_read_symlink): Likewise.
18326 (grub_reiserfs_mount): Likewise.
18327 (grub_reiserfs_open): Likewise.
18328 (grub_reiserfs_read): Likewise.
18329 (grub_reiserfs_close): Likewise.
18330 (grub_reiserfs_get_journal): Removed.
18331
18332 * fs/fshelp.c (grub_fshelp_read): Removed.
18333 (grub_fshelp_map_block): Likewise.
18334
18335 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18336 (grub_fshelp_journal): Likewise.
18337 (grub_fshelp_read): Likewise.
18338 (grub_fshelp_map_block): Likewise.
18339
3540a760 183402008-06-16 Pavel Roskin <proski@gnu.org>
18341
18342 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18343 floating point anymore.
18344 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18345
95614c84 183462008-06-15 Pavel Roskin <proski@gnu.org>
18347
18348 * commands/ls.c (grub_ls_list_files): Use integer calculations
18349 for human readable format, avoid floating point use.
18350 * kern/misc.c (grub_ftoa): Remove.
18351 (grub_vsprintf): Remove floating point support.
18352
50465dd6 183532008-06-15 Robert Millan <rmh@aybabtu.com>
18354
fe6b695a 18355 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 18356 devices.
18357 Reported by Max Vozeler.
18358
a9207284 183592008-06-15 Robert Millan <rmh@aybabtu.com>
18360
18361 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18362 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18363 skipped later.
18364 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18365 the beginning of the prefix.
18366
18367 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18368 It is assumed that if we have a memdisk, grub-mkimage has set
18369 grub_prefix to include the "(memdisk)" drive in it.
18370
a7cbd45a 183712008-06-15 Robert Millan <rmh@aybabtu.com>
18372
18373 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18374 Initialize keyboard controller after registering the terminal, so that
18375 grub_printf() can be called from grub_keyboard_controller_init().
18376
21cf716a 183772008-06-15 Robert Millan <rmh@aybabtu.com>
18378
18379 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18380 extent-btree which is written as big endian on disk.
18381 Reported by Alain Greppin <al@chilibi.org>.
18382
23a64d8e 183832008-06-14 Robert Millan <rmh@aybabtu.com>
18384
18385 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18386 * util/i386/pc/grub-install.in (modules): Likewise.
18387
d687651c 183882008-06-13 Pavel Roskin <proski@gnu.org>
18389
18390 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18391
dfe9ddd4 183922008-06-13 Bean <bean123ch@gmail.com>
18393
18394 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18395
18396 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18397
18398 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18399 to indicate sparse block.
18400
16ae7781 184012008-06-12 Pavel Roskin <proski@gnu.org>
18402
e6d1a308 18403 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18404 number, grub_fshelp_read() does it for us.
18405
16ae7781 18406 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18407 linear disk read with journal translation.
18408 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18409 * include/grub/fshelp.h: Declare grub_fshelp_read().
18410
40fd3a2b 184112008-06-09 Pavel Roskin <proski@gnu.org>
18412
18413 * fs/minix.c (grub_minix_mount): Handle error reading
18414 superblock.
18415
f5679726 184162008-06-08 Robert Millan <rmh@aybabtu.com>
18417
18418 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18419 don't append the RAID prefix afterwards.
18420 Reported by Clint Adams.
18421
ce525529 184222008-06-08 Robert Millan <rmh@aybabtu.com>
18423
18424 Based on description from Pavel:
18425 * kern/disk.c (grub_disk_check_range): Rename to ...
18426 (grub_disk_adjust_range): ... this. Add a comment explaining the
18427 tasks performed by this function.
18428
ad4936a0 184292008-06-08 Robert Millan <rmh@aybabtu.com>
18430
18431 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18432 `num_serial' (for consistency with other variables).
18433 (struct grub_ntfs_data): Add `uuid' member.
18434 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18435 (grub_ntfs_uuid): New function.
18436 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18437
dc20b0f9 184382008-06-07 Pavel Roskin <proski@gnu.org>
18439
18440 * util/biosdisk.c (open_device): Revert last change to the
18441 function, it broke installation. The sector needs to be
18442 different dependent on which device is opened.
18443
c5e3cfba 184442008-06-06 Robert Millan <rmh@aybabtu.com>
18445
18446 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18447 rest of GRUB, and breakage doesn't happen if its value were modified.
18448
18449 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18450 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18451 a constant (same value).
18452 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18453 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18454
26a1f8c4 184552008-06-06 Robert Millan <rmh@aybabtu.com>
18456
18457 * util/biosdisk.c (open_device): Do not modify sector offset when
18458 accessing a partition. kern/disk.c already handles this for us.
18459
25d6b327 184602008-06-06 Robert Millan <rmh@aybabtu.com>
18461
18462 * util/grub-emu.c (grub_machine_init): Move code in this function from
18463 here ...
18464 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18465 segfault in case grub_printf() is called).
18466
18467 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18468 grub_probe. Update all users not to explicitly add it again.
18469 (grub_device): New variable; contains corresponding device for grubdir.
18470 (fs_module, partmap_module, devabstraction_module): Pass
18471 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18472 every time.
18473
9ece62fb 184742008-06-05 Robert Millan <rmh@aybabtu.com>
18475
18476 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18477 is found, print it (same layout as with labels).
18478
1ad36d37 184792008-06-04 Robert Millan <rmh@aybabtu.com>
18480
18481 * util/biosdisk.c (get_drive): Rename to ...
18482 (find_grub_drive): ... this. Update all users.
18483
18484 (get_os_disk): Rename to ...
18485 (convert_system_partition_to_system_disk): ... this. Update all users.
18486
18487 (find_drive): Rename to ...
18488 (find_system_device): ... this. Update all users.
18489
e6a30859 184902008-06-04 Robert Millan <rmh@aybabtu.com>
18491
18492 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18493 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18494 (make_device_map): Likewise.
18495
00c108a4 184962008-06-01 Robert Millan <rmh@aybabtu.com>
18497
18498 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18499 before dereferencing it.
18500
18501 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18502 union with fat12/fat16-specific ones. Add some new fields, including
18503 `num_serial' for both versions.
18504 (struct grub_fat_data): Add `uuid' member.
18505 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18506 names. Initialize `data->uuid' using `num_serial'.
18507 (grub_fat_uuid): New function.
18508 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18509
18510 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18511 (grub_reiserfs_uuid): New function.
18512 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18513 member.
18514
18515 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18516 (grub_xfs_uuid): New function.
18517 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18518
1385c5bb 185192008-06-01 Robert Millan <rmh@aybabtu.com>
18520
18521 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18522 code that is backward compatible with pre-uuid search command.
18523
c682dfd7 185242008-05-31 Robert Millan <rmh@aybabtu.com>
18525
18526 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18527 floppies after everything else, to ensure floppy drive isn't accessed
18528 unnecessarily (patch from Bean).
18529
b7db5d47 185302008-05-31 Robert Millan <rmh@aybabtu.com>
18531
18532 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18533 not print device names when we were asked to set a variable.
18534
6e037aa9 185352008-05-31 Robert Millan <rmh@aybabtu.com>
18536
18537 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18538 using "cursor-on" and "cursor-off" commands (understood at least by
18539 the Open Firmware flavour on OLPC).
18540
41305bc8 185412008-05-31 Michael Gorven <michael@gorven.za.net>
18542
18543 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18544 on and off sequences.
18545
69ba137e 185462008-05-31 Robert Millan <rmh@aybabtu.com>
18547
18548 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18549 * util/update-grub.in: Likewise.
18550
520ae21b 185512008-05-30 Pavel Roskin <proski@gnu.org>
18552
18553 * util/biosdisk.c (linux_find_partition): Simplify logic and
18554 make the code more universal. Keep special processing for
18555 devfs, but use a simple rule for all other devices. If the
18556 device ends with a number, append 'p' and the partition number.
18557 Otherwise, append only the partition number.
18558
5786569b 185592008-05-30 Robert Millan <rmh@aybabtu.com>
18560
18561 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18562 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18563 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18564 the `root' parameter to Linux.
18565
51500452 185662008-05-30 Robert Millan <rmh@aybabtu.com>
18567
18568 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18569 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18570 --fs_uuid with --fs-uuid.
18571 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18572 all filesystems support them).
18573
811d3878 185742008-05-30 Robert Millan <rmh@aybabtu.com>
18575
18576 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 18577 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 18578
cab63c95 185792008-05-30 Robert Millan <rmh@aybabtu.com>
18580
18581 * util/grub.d/00_header.in: Remove obsolete comment referencing
18582 convert_system_path_to_grub_path().
18583 * util/update-grub.in: Likewise.
18584 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18585 (convert_system_path_to_grub_path): Add a warning message explaining
18586 that this function is deprecated. Rely on is_path_readable_by_grub()
18587 for the readability checks.
18588 (font_path): Use is_path_readable_by_grub() for the readability
18589 check rather than convert_system_path_to_grub_path().
18590
972e2f7a 185912008-05-30 Robert Millan <rmh@aybabtu.com>
18592
18593 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18594 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18595 converting it first.
18596 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18597 grub.cfg for access to font file, and afterwards call it again to set
18598 the root device.
18599
62191274 186002008-05-30 Robert Millan <rmh@aybabtu.com>
18601
18602 * commands/search.c (options): Add --fs_uuid option.
18603 (search_fs_uuid): New function.
18604 (grub_cmd_search): Fix --set argument passing.
18605 Use search_fs_uuid() when requested via --fs_uuid.
18606 (grub_search_init): Update help message.
18607 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18608 and redeclare it as an array of 16-bit words.
18609 (grub_ext2_uuid): New function.
18610 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18611 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18612 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18613 (GRUB_DEVICE_BOOT_UUID): New variables.
18614 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18615 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18616 whenever possible.
18617 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18618 just assume `root' variable has the right value.
18619 * util/grub.d/10_linux.in: Likewise.
18620 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18621 via PRINT_FS_UUID.
18622 (main): Recognise `-t fs_uuid' argument.
18623
01b73ec8 186242008-05-30 Robert Millan <rmh@aybabtu.com>
18625
18626 * util/biosdisk.c (map): Redefine structure to hold information
18627 about GRUB drive name.
fe6b695a 18628 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 18629 drive names.
18630 (call_hook): Remove.
18631 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18632 member. Assume drive has partitions.
18633 (grub_util_biosdisk_open): Access device names via `.device' struct
18634 member.
18635 (open_device): Likewise.
18636 (find_drive): Likewise.
18637 (read_device_map): Adjust map[] usage to match the new struct
18638 definition. Don't check for duplicates (still possible, but not cheap
18639 anymore).
18640 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18641 (make_device_name): Remove assumption of BIOS-like drive names.
18642
22f16596 186432008-05-30 Pavel Roskin <proski@gnu.org>
18644
18645 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18646 compiling execute.c doesn't need grub_script.tab.h anymore.
18647 (normal/command.c_DEPENDENCIES): Likewise.
18648 (normal/function.c_DEPENDENCIES): Likewise.
18649 * conf/i386-ieee1275.rmk: Likewise.
18650 * conf/i386-linuxbios.rmk: Likewise.
18651 * conf/i386-pc.rmk: Likewise.
18652 * conf/powerpc-ieee1275.rmk: Likewise.
18653 * conf/sparc64-ieee1275.rmk: Likewise.
18654
528ad8f2 186552008-05-29 Pavel Roskin <proski@gnu.org>
18656
d1dff95d 18657 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18658 when scanning metadata for volume group name.
18659
528ad8f2 18660 * include/grub/script.h: Don't include grub_script.tab.h. It's
18661 a generated file, which may only be included from the files with
18662 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18663 use union YYSTYPE, as the later allows forward declaration.
18664 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18665
47248e08 186662008-05-29 Robert Millan <rmh@aybabtu.com>
18667
18668 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18669 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18670 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18671 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18672 scan codes.
18673
ee632529 186742008-05-29 Robert Millan <rmh@aybabtu.com>
18675
18676 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18677 control key combinations.
18678
eee96e08 186792008-05-29 Robert Millan <rmh@aybabtu.com>
18680
18681 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18682 * util/ieee1275/grub-install.in: ... to here.
18683 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18684 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18685 (grub_install_SOURCES): Likewise.
18686
da9a6a94 186872008-05-29 Robert Millan <rmh@aybabtu.com>
18688
18689 * fs/affs.c: Update copyright year.
18690 * fs/ext2.c: Likewise.
18691 * fs/fshelp.c: Likewise.
18692 * fs/hfsplus.c: Likewise.
18693 * fs/ntfs.c: Likewise.
18694 * fs/xfs.c: Likewise.
18695 * include/grub/fshelp.h: Likewise.
18696 * util/grub-mkdevicemap.c: Likewise.
18697
12e65f3a 186982008-05-28 Robert Millan <rmh@aybabtu.com>
18699
18700 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18701 might need to be fatfs to support some firmware implementations
18702 (e.g. OFW or EFI).
18703
23023641 187042008-05-28 Robert Millan <rmh@aybabtu.com>
18705
18706 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18707 devices.
18708 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18709 (make_device_map): Likewise.
18710
887d2619 187112008-05-20 Bean <bean123ch@gmail.com>
18712
18713 * fs/fshelp.c (grub_fshelp_map_block): New function.
18714 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18715 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18716
18717 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18718 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18719 (grub_fshelp_journal): New structure.
18720 (grub_fshelp_map_block): New function prototype.
18721 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18722 (grub_fshelp_map_block): Likewise.
18723
18724 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18725 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18726 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18727 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18728 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18729 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18730 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18731 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18732 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18733 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18734 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18735 (grub_ext2_sblock): New members for journal support.
18736 (grub_ext3_journal_header): New structure.
18737 (grub_ext3_journal_revoke_header): Likewise.
18738 (grub_ext3_journal_block_tag): Likewise.
18739 (grub_ext3_journal_sblock): Likewise.
18740 (grub_fshelp_node): New members logfile and journal.
18741 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18742 grub_fshelp_map_block to get real block number.
18743 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18744 number.
18745 (grub_ext2_read_inode): Likewise.
18746 (grub_ext3_get_journal): New function.
18747 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18748 (grub_ext2_close): Release memory used by journal.
18749
18750 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18751 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18752 (grub_reiserfs_transaction_header): Renamed to
18753 grub_reiserfs_description_block, replace field data with real_blocks.
18754 (grub_reiserfs_commit_block): New structure.
18755 (grub_reiserfs_data): New member journal.
18756 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18757 number.
18758 (grub_reiserfs_read_symlink): Likewise.
18759 (grub_reiserfs_iterate_dir): Likewise.
18760 (grub_reiserfs_open): Likewise.
18761 (grub_reiserfs_read): Likewise.
18762 (grub_reiserfs_get_journal): New function.
18763 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18764 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18765 using grub_reiserfs_get_journal.
18766 (grub_reiserfs_close): Release memory used by journal.
18767
18768 * fs/affs.c (grub_affs_read_block): Change block type to
18769 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18770
18771 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18772
18773 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18774
18775 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18776
18777 * fs/udf.c (grub_udf_read_block): Change block type to
18778 grub_disk_addr_t. Use type cast to avoid warning.
18779
18780 * fs/xfs.c (grub_xfs_read_block): Likewise.
18781
b7c6bed5 187822008-05-16 Christian Franke <franke@computer.org>
18783
18784 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18785 to ensure that break with ESC will always work.
18786 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18787 Remove ESC from keyboard queue.
18788
eedf167f 187892008-05-16 Christian Franke <franke@computer.org>
18790
18791 * util/biosdisk.c: [__CYGWIN__] Add includes.
18792 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18793 (get_os_disk): Move variable declarations to OS specific
18794 parts to avoid warning.
18795 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18796 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18797 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18798 Cygwin.
18799 * util/getroot.c: [__CYGWIN__] Add includes.
18800 (strip_extra_slashes): Fix "/" case.
18801 [__CYGWIN__] (get_win32_path): New function.
18802 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18803 [__CYGWIN__] (find_root_device): Disable.
18804 [__CYGWIN__] (get_bootsec_serial): New function.
18805 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18806 [__linux__] (grub_guess_root_device): Add early returns to simplify
18807 structure.
18808 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18809 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18810 check for Linux only.
18811
a079699e 188122008-05-15 Bean <bean123ch@gmail.com>
18813
18814 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18815 keyboard hang problem in apple's intel mac.
18816
1cf4059a 188172008-05-09 Robert Millan <rmh@aybabtu.com>
18818
18819 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18820 devices.
18821 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18822 (make_device_map): Likewise.
18823 Reported by Aurelien Jarno <aurel32@debian.org>
18824
ed759390 188252008-05-07 Ian Campbell <ijc@hellion.org.uk>
18826
18827 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18828 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18829 (make_device_map): Output entries for xvd type disks.
18830
b56c4eaa 188312008-05-07 Robert Millan <rmh@aybabtu.com>
18832
18833 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18834 devices.
18835 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18836 (make_device_map): Likewise.
18837 Reported by Roland Dreier <rdreier@cisco.com>
18838
7f8866ed 188392008-05-07 Robert Millan <rmh@aybabtu.com>
18840
18841 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18842 grub_strstr() call. Correct a few mistakes in failure path handling.
18843
b0346e0f 188442008-05-06 Robert Millan <rmh@aybabtu.com>
18845
18846 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18847 Do not print a trailing slash (therefore, the root directory is an
18848 empty string).
18849 (convert_system_path_to_grub_path): Do not remove trailing slash
18850 from make_system_path_relative_to_its_root() output.
18851
18852 * util/i386/pc/grub-install.in: Add trailing slash to output from
18853 make_system_path_relative_to_its_root().
18854
6cf12cbd 188552008-05-06 Robert Millan <rmh@aybabtu.com>
18856
18857 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18858 ensures that output lines aren't intermangled with those sent to
18859 stderr (via grub_util_info()).
18860 * util/grub-probe.c (grub_refresh): Likewise.
18861 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18862
0fbb3117 188632008-05-05 Christian Franke <franke@computer.org>
18864
18865 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18866 Add Cygwin device names.
18867 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18868 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18869 (check_device): Return error instead of success on empty name.
18870 (make_device_map): Move label inside linux specific code to
18871 prevent compiler warning.
18872
8124cdb7 188732008-04-30 Robert Millan <rmh@aybabtu.com>
18874
18875 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18876 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18877 first boot option.
18878 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18879
094c01d0 188802008-04-29 Robert Millan <rmh@aybabtu.com>
18881
18882 * docs/grub.cfg: New file (example GRUB configuration).
18883
f4b1fc02 188842008-04-26 Robert Millan <rmh@aybabtu.com>
18885
329ce2a5 18886 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18887 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18888 and `disk/ieee1275/nand.c'.
f4b1fc02 18889
25f16ec1 188902008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 18891
25f16ec1 18892 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18893 i386-linuxbios.
18894
18895 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18896 change the buffer size to 4096 for cdrom device.
18897
18898 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18899 and nand.mod.
18900 (_linux_mod_SOURCES): New variable.
18901 (_linux_mod_CFLAGS): Likewise.
18902 (_linux_mod_LDFLAGS): Likewise.
18903 (linux_mod_SOURCES): Likewise.
18904 (linux_mod_CFLAGS): Likewise.
18905 (linux_mod_LDFLAGS): Likewise.
18906 (nand_mod_SOURCES): Likewise.
18907 (nand_mod_CFLAGS): Likewise.
18908 (nand_mod_LDFLAGS): Likewise.
18909
18910 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18911 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18912 type property. (nand device in olpc don't have this property)
18913
18914 * include/grub/disk.h (grub_disk_dev_id): New macro
18915 GRUB_DISK_DEVICE_NAND_ID.
18916
18917 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18918 function prototype.
18919 (grub_rescue_cmd_initrd): Likewise.
18920
18921 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18922 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18923 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 18924
25f16ec1 18925 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18926 GRUB_MACHINE_IEEE1275 is defined.
18927
18928 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18929 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18930
18931 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18932 on nested function heap_init.
18933 (grub_upper_mem): New variable for i386-ieee1275.
18934 (grub_get_extended_memory): New function for i386-ieee1275.
18935 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18936
18937 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18938 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18939 property.
f19dbdb7 18940
25f16ec1 18941 * loader/i386/ieee1275/linux.c: New file.
18942
18943 * loader/i386/ieee1275/linux_normal.c: New file.
18944
18945 * disk/ieee1275/nand.c: New file.
18946
e89d61e9 189472008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18948
18949 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18950 value.
18951 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18952
602566f6 189532008-04-18 Robert Millan <rmh@aybabtu.com>
18954
18955 Restructures early code path on ieee1275 to unify grub_main() as
18956 the first C function that is executed in every platform.
18957
18958 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18959 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18960 cmain().
18961 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18962 * kern/ieee1275/cmain.c (cmain): Rename to ...
18963 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18964 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18965 at the beginning.
18966
57490c2b 189672008-04-18 Robert Millan <rmh@aybabtu.com>
18968
18969 * util/update-grub.in: Fix syntax error when setting
18970 `GRUB_PRELOAD_MODULES'.
18971 Reported by Stephane Chazelas <stephane@artesyncp.com>
18972
1977517d 189732008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18974
18975 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18976 section into account, newer toolchains generate unique build ids
18977 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 18978 we want build ids to be preserved
1977517d 18979 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18980 far from other sections don't cause the raw binary images grow
18981 size
18982
bfb1f1a2 189832008-04-15 Robert Millan <rmh@aybabtu.com>
18984
18985 * disk/lvm.c: Update copyright year.
18986 * kern/misc.c: Likewise.
18987
01979850 189882008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18989
18990 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 18991 there is no memory left for physical volume name.
01979850 18992
0a1150e2 189932008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18994
18995 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18996 volume name mapping to support bigger than 9 character names properly.
18997
82ead3fe 189982008-04-13 Robert Millan <rmh@aybabtu.com>
18999
19000 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19001 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19002
e54a72f5 190032008-04-13 Christian Franke <franke@computer.org>
19004
19005 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19006 to create a floppy emulation boot CD when non emulation mode
19007 does not work.
19008 Enable Joliet CD filesystem extension.
19009
9fe86034 190102008-04-13 Robert Millan <rmh@aybabtu.com>
19011
19012 * kern/misc.c (grub_strncat): Fix off-by-one error.
19013 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19014
19015 * kern/env.c (grub_env_context_close): Clear current context, not
19016 previous one.
19017 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19018
19019 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19020
7ceeee39 190212008-04-13 Robert Millan <rmh@aybabtu.com>
19022
19023 Improve robustness when handling LVM.
19024
19025 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 19026 (and leave `*p' unmodified).
7ceeee39 19027 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19028 through it.
19029 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19030 iterating through it.
19031 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19032 through it.
fe6b695a 19033 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 19034 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19035 Don't assume `vg->pvs != NULL' when iterating through it.
19036
58cd3d85 190372008-04-13 Robert Millan <rmh@aybabtu.com>
19038
19039 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19040 * genmk.rb (partmap): New variable.
19041 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19042 (#{partmap}): New target rule.
19043 * genpartmaplist.sh: New file.
19044 * Makefile.in (pkglib_DATA): Add partmap.lst.
19045 (partmap.lst): New target rule.
19046 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19047 modules (including all partition maps), instead of preloading them.
19048
78b51059 190492007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19050
19051 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19052 `linux-boot-prober' (if installed) to detect other operating
19053 systems which are installed on the computer and add them to
19054 the boot menu.
19055 * conf/common.rmk: Build and install 30_os-prober.
19056
a91627b4 190572008-04-12 Robert Millan <rmh@aybabtu.com>
19058
19059 * kern/powerpc/ieee1275/init.c: Move from here ...
19060 * kern/ieee1275/init.c: ... to here. Update all users.
19061
19062 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19063 * kern/ieee1275/cmain.c: ... to here. Update all users.
19064
19065 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19066 * kern/ieee1275/openfw.c: ... to here. Update all users.
19067
19068 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19069 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19070
322562ea 190712008-04-10 Pavel Roskin <proski@gnu.org>
19072
19073 * configure.ac: Always use "_cv_" in cache variables for
19074 compatibility with Autoconf 2.62.
19075
a02a73c5 190762008-04-07 Robert Millan <rmh@aybabtu.com>
19077
19078 Revert grub/machine/init.h addition by Pavel (since it breaks on
19079 i386-ieee1275 and others):
19080 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19081 * util/powerpc/ieee1275/misc.c: Likewise.
19082
25c024b1 190832008-04-07 Robert Millan <rmh@aybabtu.com>
19084
19085 * util/grub-probe.c (probe): Improve error message.
19086
3cbd2f98 190872008-04-07 Robert Millan <rmh@aybabtu.com>
19088
19089 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19090 (this prevents the presence of a bogus entry from ruining the whole
19091 thing).
19092
87a297bf 190932008-04-06 Pavel Roskin <proski@gnu.org>
19094
36747a62 19095 * util/biosdisk.c: Include grub/util/biosdisk.h.
19096 * util/grub-fstest.c (execute_command): Make static.
19097 * util/grub-mkdevicemap.c (check_device): Likewise.
19098 * util/i386/pc/misc.c: Include grub/machine/init.h.
19099 * util/powerpc/ieee1275/misc.c: Likewise.
19100 * util/lvm.c: Include grub/util/lvm.h.
19101 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19102 grub/cache.h.
19103 * util/raid.c: Include grub/util/raid.h.
19104 (grub_util_getdiskname): Make static.
19105
87a297bf 19106 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19107 grub_hostfs_fini(), as they are called from grub_init_all() and
19108 grub_fini_all() respectively. This fixes an infinite loop in
19109 grub-fstest due to double registration of hostfs.
19110 Reported by Christian Franke <Christian.Franke@t-online.de>
19111
f6ce7629 191122008-04-05 Pavel Roskin <proski@gnu.org>
19113
19114 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19115 all 8 functions. Otherwise, probe function 0 only.
19116
070e49e4 191172008-04-04 Pavel Roskin <proski@gnu.org>
19118
8b088a4c 19119 * commands/lspci.c (grub_lspci_iter): Print the bus number
19120 correctly.
19121
4f657021 19122 * commands/lspci.c (grub_pci_classes): Fix typos.
19123 (grub_lspci_iter): Don't print func twice. Print vendor ID
19124 before device ID, as it's normally done.
19125
070e49e4 19126 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19127 Fix signedness warnings.
19128 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19129 Likewise.
19130 * util/ieee1275/get_disk_name.c: Include config.h so that
19131 _GNU_SOURCE is defined and getline() is declared. Mark an
19132 unused argument as such. Fix a signedness warning.
19133
ba7328dc 191342008-04-02 Pavel Roskin <proski@gnu.org>
19135
26887f22 19136 * genkernsyms.sh.in: Use more robust assignments for CC and
19137 srcdir. Quote srcdir.
19138 * gensymlist.sh.in: Likewise. Assert at the compile time that
19139 the symbol table is not empty.
19140
ba7328dc 19141 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19142 * fs/cpio.c (grub_cpio_read): Likewise.
19143
0f582c6b 191442008-04-01 Pavel Roskin <proski@gnu.org>
19145
4b6e1995 19146 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19147 * disk/host.c (grub_host_open): Likewise.
19148 * disk/loopback.c (grub_loopback_open): Likewise.
19149 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19150 disk->id as in disk/host.c, not a multi-character constant.
19151
828a2768 19152 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19153 later is obsolete, potentially dangerous and sets a bad example.
19154 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19155 * util/misc.c (grub_util_get_image_size): Likewise.
19156
2bb4fb47 19157 * disk/loopback.c (options): Improve help for "--partitions".
19158
0f582c6b 19159 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19160 options to align them with the short options, e.g. "echo -e".
19161
a33224e0 191622008-03-31 Bean <bean123ch@gmail.com>
19163
19164 * video/reader/png.c (grub_png_data): New member is_16bit and
19165 image_data.
19166 (grub_png_decode_image_header): Detect 16 bit png image.
19167 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19168 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19169 (grub_video_reader_png): Release memory occupied by image_data.
19170
19171 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19172 4096 bytes.
19173 (grub_nfs_mount): Skip the test for sector per cluster.
19174
19175 * include/grub/ntfs.h (MAX_SPC): Removed.
19176
86cb4f54 191772008-03-31 Bean <bean123ch@gmail.com>
19178
19179 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19180 (grub_probe_SOURCES): Add fs/afs.c.
19181 (grub_fstest_SOURCES): Likewise.
19182 (afs_mod_SOURCES): New variable.
19183 (afs_mod_CFLAGS): Likewise.
19184 (afs_mod_LDFLAGS): Likewise.
19185
19186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19187 (grub_emu_SOURCES): Likewise.
19188
19189 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19190
19191 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19192
19193 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19194
19195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19196
19197 * fs/afs.c: New file.
19198
17c74c21 191992008-03-30 Pavel Roskin <proski@gnu.org>
19200
4cb68e89 19201 * disk/host.c: Include grub/misc.h to fix a warning.
19202 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19203 warnings about implicit declarations.
19204
8790bb04 19205 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19206 variable.
19207 * include/grub/i386/loader.h: Change declaration of
19208 grub_linux_boot() to match what grub_loader_set() expects.
19209 * util/getroot.c (grub_guess_root_device): Return const char* to
19210 fix a warning.
19211 * util/grub-probe.c (probe): Fix a warning about uninitialized
19212 abstraction_name variable.
19213 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19214 second argument as unused to fix a warning.
19215
9a3f3296 19216 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19217 missing grub_error() call.
19218
0ecef90d 19219 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19220 2.60 and newer uses it to define datadir.
19221
0bf6d401 19222 * commands/sleep.c: Fix warning about implicit declaration.
19223 * disk/memdisk.c: Likewise.
19224 * loader/aout.c: Likewise.
19225 * loader/i386/bsd_normal.c: Likewise.
19226 * util/grub-probe.c: Likewise.
19227
7cdacf97 19228 * commands/i386/cpuid.c (has_longmode): Make static.
19229 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19230 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19231
17c74c21 19232 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19233 GDT. This is more robust, as %ds can change.
19234 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19235 calling real_to_prot().
19236 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19237
80a3e68b 192382008-03-28 Pavel Roskin <proski@gnu.org>
19239
19240 * kern/i386/pc/startup.S: Assert that uncompressed functions
19241 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19242 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19243 code, as they push parts of the code (error handlers) beyond
19244 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19245 code as correctness and size.
19246
77bcd272 192472008-03-28 Pavel Roskin <proski@gnu.org>
19248
19249 * kern/i386/pc/startup.S
19250 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19251 data block address to the real mode, keep offset minimal. This
19252 works around a bug in AWARD BIOS on old Athlon systems, which
19253 makes CD detection hang.
19254
c5dfd43b 192552008-03-26 Pavel Roskin <proski@gnu.org>
19256
19257 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19258 const.
19259 * include/grub/normal.h: Add grub_parse_color_name_pair()
19260 declaration.
19261
bf962df2 192622008-03-24 Bean <bean123ch@gmail.com>
19263
19264 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19265 (cd_count): Removed.
19266 (cd_drive): New variable.
19267 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19268 (grub_biosdisk_call_hook): Likewise.
19269 (grub_biosdisk_iterate): Change cdrom detection method.
19270 (grub_biosdisk_open): Replace cd_start with cd_drive.
19271 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19272 detect cdrom device.
19273
19274 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19275 Removed.
19276 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19277 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19278 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19279 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19280 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19281 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19282 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19283 (grub_biosdisk_cdrp): New structure.
19284 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19285
19286 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19287
19288 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19289 device.
19290
19291 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19292 New function.
19293
68e7fc7a 192942008-03-20 Robert Millan <rmh@aybabtu.com>
19295
19296 Remove 2 TiB limit in ata.mod.
19297 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19298 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19299 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19300 grub_uint64_t instead of grub_uint32_t.
19301
38ad2cf5 193022008-03-05 Bean <bean123ch@gmail.com>
19303
19304 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19305 (grub_multiboot): Set boot device.
19306
19307 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19308
2b89344e 193092008-03-02 Bean <bean123ch@gmail.com>
19310
19311 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19312 symlink_buffer.
19313
87a95d1f 193142008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19315
19316 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19317 texinfo.tex.
19318
19319 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19320 modified.
19321
19322 * docs/fdl.texi: New file.
f19dbdb7 19323
87a95d1f 19324 * docs/mdate-sh: New file. Copied from gnulib.
19325 * docs/texinfo.tex: Likewise.
19326
19327 * config.guess: Updated from gnulib.
19328 * install-sh: Likewise.
19329
7dc15d8e 193302008-02-28 Robert Millan <rmh@aybabtu.com>
19331
19332 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19333 (aout_mod_SOURCES): New variable.
19334 (aout_mod_CFLAGS): Likewise.
19335 (aout_mod_LDFLAGS): Likewise.
19336
19337 * conf/i386-ieee1275.rmk: Likewise.
19338
b00ab696 193392008-02-28 Robert Millan <rmh@aybabtu.com>
19340
19341 * util/update-grub.in: Reorganise terminal validity check. Accept
19342 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19343 Based on suggestion by Franklin PIAT.
19344
79ca2d78 193452008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19346
19347 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19348 function.
19349 * util/getroot.c (grub_util_check_block_device): New function that
19350 returns the given argument if it is a block device and returns NULL else.
19351 * util/grub-probe.c (argument_is_device): New variable.
19352 (probe): Promote device_name from a variable to an argument. Receive
19353 device_name from grub_util_check_block_device() if path is NULL and from
19354 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 19355 (options): Introduce new parameter '-d, --device'.
79ca2d78 19356 (main): Add description of the new parameter to the help screen.
19357 Rename path variable to argument. Set argument_is_device if the '-d'
19358 option is given. Pass argument to probe() depending on
19359 argument_is_device.
19360
0d16e571 193612008-02-24 Bean <bean123ch@gmail.com>
19362
19363 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19364 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19365 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19366 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19367 (GRUB_ISO9660_VOLDESC_END): Likewise.
19368 (grub_iso9660_primary_voldesc): New member escape.
19369 (grub_iso9660_data): New member joliet.
19370 (grub_iso9660_convert_string): New function.
19371 (grub_iso9660_mount): Detect joliet extension.
19372 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19373 (grub_iso9660_iso9660_label): Likewise.
19374
19375 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19376 (grub_setup_SOURCES): Add fs/udf.c.
19377 (grub_fstest_SOURCES): Likewise.
19378 (udf_mod_SOURCES): New variable.
19379 (udf_mod_CFLAGS): Likewise.
19380 (udf_mod_LDFLAGS): Likewise.
19381
19382 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19383 (grub_emu_SOURCES): Likewise.
19384
19385 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19386
19387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19388
19389 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19390
19391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19392
19393 * fs/udf.c: New file.
19394
8a594a17 193952008-02-24 Robert Millan <rmh@aybabtu.com>
19396
19397 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19398 (normal/lexer.c_DEPENDENCIES): New variables.
19399 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19400 (normal/lexer.c_DEPENDENCIES): Likewise.
19401 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19402 (normal/lexer.c_DEPENDENCIES): Likewise.
19403 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19404 (normal/lexer.c_DEPENDENCIES): Likewise.
19405 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19406 (normal/lexer.c_DEPENDENCIES): Likewise.
19407 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19408 (normal/lexer.c_DEPENDENCIES): Likewise.
19409
2dc33c03 194102008-02-23 Robert Millan <rmh@aybabtu.com>
19411
19412 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19413 since they were intended to be in hex. This didn't break previously
19414 because of a bug in gpt_partition_map_iterate() (see below).
19415
19416 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19417 when checking the validity of GPT header.
19418 Remove `partno', since it always provides the same information as `i'.
19419
f6f4cfb0 194202008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19421
19422 * include/grub/efi/time.h: Fix a wrong comment.
19423
79ff665f 194242008-02-19 Pavel Roskin <proski@gnu.org>
19425
19426 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19427 message.
19428
d38e24c2 194292008-02-19 Bean <bean123ch@gmail.com>
19430
19431 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19432 (aout_mod_SOURCES): New variable.
19433 (aout_mod_CFLAGS): Likewise.
19434 (aout_mod_LDFLAGS): Likewise.
19435 (_bsd_mod_SOURCES): New variable.
19436 (_bsd_mod_CFLAGS): Likewise.
19437 (_bsd_mod_LDFLAGS): Likewise.
19438 (bsd_mod_SOURCES): New variable.
19439 (bsd_mod_CFLAGS): Likewise.
19440 (bsd_mod_LDFLAGS): Likewise.
19441
19442 * include/grub/aout.h: New file.
19443
19444 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19445
19446 * include/grub/i386/bsd.h: New file.
19447
19448 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19449 to make it public.
19450
19451 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19452 function is called, so that it's possible to change it inside the hook.
19453 (grub_elf64_load): Likewise.
19454 (grub_elf_file): Don't close the file if elf header is not found.
19455 (grub_elf_close): Close the file if grub_elf_file fails (The new
19456 grub_elf_file won't close it).
19457 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19458 (grub_elf64_size): Likewise.
19459
19460 * kern/i386/loader.S (grub_unix_real_boot): New function.
19461
19462 * loader/aout.c: New file.
19463
19464 * loader/i386/bsd.c: New file.
19465
19466 * loader/i386/bsd_normal.c: New file.
19467
19468 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19469
19470 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 19471 can test other formats.
d38e24c2 19472
b93bdb0f 194732008-02-19 Robert Millan <rmh@aybabtu.com>
19474
19475 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19476 (grub_gpt_partition_type_empty): Redefine with macro from
19477 `<grub/gpt_partition.h>'.
19478 (gpt_partition_map_iterate): Adjust partition type comparison.
19479
19480 Export `entry' as partmap-specific `part.data' struct.
19481 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19482
19483 * include/grub/gpt_partition.h (grub_gpt_header)
19484 (grub_gpt_partentry): ... to here (new file).
19485
19486 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19487
19488 (grub_gpt_partition_type_bios_boot): New const variable, defined
19489 with macro from `<grub/gpt_partition.h>'.
19490
19491 (setup): Replace `first_start' with `embed_region', which keeps
19492 track of the embed region (and is partmap-agnostic).
19493
19494 Replace find_first_partition_start() with find_usable_region(),
19495 which finds a usable region for embedding using partmap-specific
19496 knowledge (supports PC/MSDOS and GPT).
19497
19498 Fix all assumptions that the embed region start at sector 1, using
19499 `embed_region.start' from now on. Similarly, use `embed_region.end'
19500 rather than `first_start' to calculate available size.
19501
19502 In grub_util_info() message, replace "into after the MBR" with an
19503 indication of the specific sector our embed region starts at.
19504
66cb40f6 195052008-02-19 Robert Millan <rmh@aybabtu.com>
19506
19507 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19508 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19509 `commands/reboot.c'.
19510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19511 (halt_mod_SOURCES): Likewise.
19512 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19513 (halt_mod_SOURCES): Likewise.
19514
b7202015 195152008-02-17 Christian Franke <franke@computer.org>
19516
19517 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19518
32b0fc49 195192008-02-17 Robert Millan <rmh@aybabtu.com>
19520
19521 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19522 set `first_start' to 0 for non-PC/MSDOS partition maps.
19523
aca63502 195242008-02-16 Robert Millan <rmh@aybabtu.com>
19525
19526 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19527 do not assume partition map is PC/MSDOS before performing checks that
19528 are specific to that layout.
19529
0de8be86 195302008-02-13 Robert Millan <rmh@aybabtu.com>
19531
19532 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19533 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19534 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19535
c3db8364 195362008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19537
19538 * configure.ac: Only a cosmetic change on the handling of
19539 -fno-stack-protector.
19540
f714229e 195412008-02-12 Alexandre Boeglin <alex@boeglin.org>
19542
c3db8364 19543 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19544 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19545 reboot.c.
f714229e 19546 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19547 (halt_mod_SOURCES): New variable.
19548 (halt_mod_CFLAGS): Likewise.
19549 (halt_mod_LDFLAGS): Likewise.
19550 (reboot_mod_SOURCES): Likewise.
19551 (reboot_mod_CFLAGS): Likewise.
19552 (reboot_mod_LDFLAGS): Likewise.
19553
c3db8364 19554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19555 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19556 reboot.c.
f714229e 19557 (halt_mod_SOURCES): Likewise.
19558 (reboot_mod_SOURCES): Likewise.
19559
c3db8364 19560 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19561 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 19562 (reboot_mod_SOURCES): Likewise.
19563
19564 * commands/i386/pc/reboot.c: merge this file ...
19565
19566 * commands/ieee1275/reboot.c: ... and this file ...
19567
19568 * commands/reboot.c: ... to this file.
c3db8364 19569 Add some precompiler directive to include the correct header for
19570 each machine.
f714229e 19571
19572 * commands/ieee1275/halt.c: move this file ...
19573
19574 * commands/halt.c: ... to here.
c3db8364 19575 Add some precompiler directive to include the correct header for
19576 each machine.
f714229e 19577
19578 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19579 (grub_halt): Likewise.
19580
19581 * kern/efi/efi.c (grub_reboot): New function.
19582 (grub_halt): Likewise.
19583
c74493e0 195842008-02-12 Robert Millan <rmh@aybabtu.com>
19585
19586 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19587 /dev (like it is done for /dev/mapper). This doesn't provide support
19588 for EVMS, but at least it is now easy to identify the problem when it
19589 arises.
19590
d0db4b04 195912008-02-11 Robert Millan <rmh@aybabtu.com>
19592
19593 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19594 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19595 comparing it with -1, not 0.
19596
bf748642 195972008-02-10 Robert Millan <rmh@aybabtu.com>
19598
19599 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19600 `disk/lvm.c'.
19601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19602 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19603
19604 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19605 `disk/lvm.c' to the end of the list.
19606 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19607 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19608
b5db202a 196092008-02-10 Robert Millan <rmh@aybabtu.com>
19610
19611 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19612 grub_print_error() instead. This will let user know why we're entering
19613 rescue mode.
19614 Based on suggestions from Sam Morris.
19615
83abee31 196162008-02-10 Alexandre Boeglin <alex@boeglin.org>
19617
19618 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19619 on remaining N args, instead of "--" arg N times.
19620
78d5a08b 196212008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19622
19623 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19624 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19625 pattern for unknown glyphs.
19626
68807e5f 196272008-02-09 Robert Millan <rmh@aybabtu.com>
19628
19629 * configure.ac: Probe for `help2man'.
19630 * Makefile.in (builddir): New variable.
19631 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19632 or otherwise add a few flags/options to it.
19633 (install-local): For every executable utility or script that is
19634 installed, invoke $(HELP2MAN) to install a manpage based on --help
19635 output.
19636
19637 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19638 that it doesn't prevent --help from working in build tree.
19639
19640 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19641 with `bug-grub@gnu.org'.
19642 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19643 * util/update-grub.in (usage): New function.
19644 Implement proper argument check, with support for --help and --version
19645 (as well as existing -y).
19646
196472008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 19648
19649 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19650 avoid overwriting previous output.
19651 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19652
c1962162 196532008-02-09 Robert Millan <rmh@aybabtu.com>
19654
19655 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19656 drawing the menu.
19657
3dac2e3f 196582008-02-09 Robert Millan <rmh@aybabtu.com>
19659
19660 * commands/sleep.c: New file.
19661 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19662 (sleep_mod_SOURCES): New variable.
19663 (sleep_mod_CFLAGS): Likewise.
19664 (sleep_mod_LDFLAGS): Likewise.
19665
7a634e08 196662008-02-09 Robert Millan <rmh@aybabtu.com>
19667
19668 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19669 situations in which we can deduce the RAID size and the superblock
19670 doesn't match it.
19671
b92f0c18 196722008-02-09 Robert Millan <rmh@aybabtu.com>
19673
19674 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19675 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19676 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19677
19678 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19679 and return a grub_diskmemberlist_t composed of physical array members.
19680 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19681
19682 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19683 prototype.
19684 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19685 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19686 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19687
19688 * util/grub-probe.c (probe): Move partmap probing code from here ...
19689 (probe_partmap): ... to here.
19690 (probe): Use probe_partmap() once for the disk we're probing, and
19691 additionally, when such disk contains a memberlist() struct member,
19692 once for each disk that is contained in the structure returned by
19693 memberlist().
19694
91a4bf68 196952008-02-09 Robert Millan <rmh@aybabtu.com>
19696
19697 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19698 environment variable to 'all' in order to obtain debug output from
19699 non-util/ code.
19700 * util/i386/pc/grub-setup.c (main): Likewise.
19701
a96f9caa 197022008-02-08 Robert Millan <rmh@aybabtu.com>
19703
19704 * disk/raid.c (grub_raid_scan_device): Check for
19705 `array->device[sb.this_disk.number]' rather than for
19706 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 19707 guaranteed to be accessible.
a96f9caa 19708
b37a9222 197092008-02-08 Robert Millan <rmh@aybabtu.com>
19710
19711 * disk/raid.c: Update copyright.
19712 * fs/cpio.c: Likewise.
19713 * include/grub/raid.h: Likewise.
19714 * loader/i386/pc/multiboot.c: Likewise.
19715 * util/hostfs.c: Likewise.
19716
5626aee1 197172008-02-08 Robert Millan <rmh@aybabtu.com>
19718
19719 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19720 to a grub_disk_t array.
19721 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19722 `device[x]'.
19723 (grub_raid_scan_device): Replace `device[x].name' accesses with
19724 `device[x]->name'. Simplify initialization of `array->device[x]'.
19725
554f0187 197262008-02-08 Robert Millan <rmh@aybabtu.com>
19727
19728 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19729 grub_dprintf() calls.
19730 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19731 error message.
19732
1ec8425d 197332008-02-07 Christian Franke <franke@computer.org>
19734
19735 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19736 instead of fseek and ftell to support large files.
19737 (grub_hostfs_read): Likewise.
19738
f2156fda 197392008-02-07 Robert Millan <rmh@aybabtu.com>
19740
19741 Patch from Jeroen Dekkers.
19742 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 19743 failure, since successfully reading all array members might not be
f2156fda 19744 required.
19745
9216e0e7 197462008-02-06 Robert Millan <rmh@aybabtu.com>
19747
19748 * util/grub-probe.c (probe): Simplify partmap probing (with the
19749 assumption that the first word up to the underscore equals to
19750 the module name).
19751
b0dfd29a 197522008-02-06 Christian Franke <franke@computer.org>
19753
19754 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19755 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19756 last block of a cpio or tar stream.
19757 Check for "TRAILER!!!" instead of any empty data
19758 block to detect last block of a cpio stream.
19759 (grub_cpio_dir): Fix constness of variable np.
19760 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19761 cpio or tar trailer is detected. This fixes a crash
19762 on open of a non existing file.
19763
c32865bf 197642008-02-05 Bean <bean123ch@gmail.com>
19765
19766 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19767 address of entry.
19768 (grub_multiboot_load_elf64): Likewise.
19769 (grub_multiboot): Initialize mbi structure.
19770
19771 * util/grub-fstest.c: Don't include unused header file script.h.
19772
fe6b695a 19773 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 19774 of file.
19775 (grub_fstest_SOURCES): Likewise.
19776
409480b7 197772008-02-05 Robert Millan <rmh@aybabtu.com>
19778
19779 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19780 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19781 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19782 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19783
19784 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19785 (translation_table): Replace hardcoded values with macros
19786 provided by `<grub/term.h>'.
19787
19788 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19789 (keyboard_map): Correct/add a few values, with macros provided
19790 by `<grub/term.h>'.
19791 (keyboard_map_shift): Zero values that don't differ from their
19792 `keyboard_map' equivalents.
19793 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19794 Discard the second scan code that is always sent by Caps lock.
19795 Only use `keyboard_map_shift' when it provides a non-zero value,
19796 otherwise fallback to `keyboard_map'.
19797
99fadbaa 197982008-02-04 Bean <bean123ch@gmail.com>
19799
19800 * Makefile.in (enable_grub_fstest): New variable.
19801
19802 * conf/common.rmk (grub_fstest_init.lst): New rule.
19803 (grub_fstest_init.h): Likewise.
19804 (grub_fstest_init.c): Likewise.
19805 (util/grub-fstest.c_DEPENDENCIES): New variable.
19806 (grub_fstest_SOURCES): Likewise.
19807
19808 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19809
19810 * util/grub-fstest.c: New file.
19811
bf567c50 198122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19813
19814 Make grub-setup handle a separate root device.
f19dbdb7 19815
bf567c50 19816 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19817 so that the root device can be compared with the destination
19818 device.
19819 When embedding the core image, if the root and destination devices
19820 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19821 0xFF.
19822 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 19823
9be6b98b 198242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19825
19826 Add support for having a grub directory in a different drive. This
19827 is still only the data handling part.
f19dbdb7 19828
9be6b98b 19829 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19830 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19831 (grub_root_drive): New variable.
19832
19833 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19834 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19835 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19836 as it was.
19837
19838 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19839
19840 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19841 macro.
19842 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19843
19844 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19845 is bogus, because PXE booting does not specify any drive
19846 correctly.
19847
19848 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19849 am not sure if this is really correct.
19850
19851 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19852 is always identical to the boot drive when booting from a CD.
19853
19854 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19855 longer.
19856 (root_drive): New variable.
19857 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19858 (setup_sectors): Push %dx right after popping it, because %dh will
19859 be modified later.
19860 (copy_buffer): Restore %dx.
19861
e0ca0677 198622008-02-03 Robert Millan <rmh@aybabtu.com>
19863
19864 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19865 use `cdboot.img' for cdrom images.
19866
3b3f6629 198672008-02-03 Robert Millan <rmh@aybabtu.com>
19868
19869 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19870 only setup gfxterm when `font' command has succeeded.
19871
d42b3672 198722008-02-03 Robert Millan <rmh@aybabtu.com>
19873
19874 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19875 (grub_rescue_cmd_multiboot_loader)
19876 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19877
fa370ea6 198782008-02-03 Pavel Roskin <proski@gnu.org>
19879
e0c5dacb 19880 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 19881 %edx and %esi from stack only after grub_gate_a20() is called.
19882 grub_gate_a20() clobbers %edx.
19883
f2a76e1d 198842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19885
19886 * configure.ac (AC_INIT): Bumped to 1.96.
19887
19888 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19889 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19890 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19891 video/readers/png.c.
19892
90fd32d1 198932008-02-03 Bean <bean123ch@gmail.com>
9be665dd 19894
19895 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19896 (cdboot_img_SOURCES): New variable.
19897 (cdboot_img_ASFLAGS): New variable.
19898 (cdboot_img_LDFLAGS): New variable.
19899
19900 * boot/i386/pc/cdboot.S: New file.
19901
19902 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19903 (cd_count): Likewise.
19904 (grub_biosdisk_get_drive): Add support for cd device.
19905 (grub_biosdisk_call_hook): Likewise.
19906 (grub_biosdisk_iterate): Likewise.
19907 (grub_biosdisk_open): Likewise.
19908 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19909 (grub_biosdisk_rw): Support reading from cd device.
19910 (GRUB_MOD_INIT): Iterate cd devices.
19911
19912 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19913 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19914 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19915
19916 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19917
4020aa53 199182008-02-02 Robert Millan <rmh@aybabtu.com>
19919
19920 * commands/read.c: New file.
19921 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19922 (read_mod_SOURCES): New variable.
19923 (read_mod_CFLAGS): Likewise.
19924 (read_mod_LDFLAGS): Likewise.
19925
e03a1132 199262008-02-02 Robert Millan <rmh@aybabtu.com>
19927
19928 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19929 determining whether menu has to be displayed.
19930
58c69220 199312008-02-02 Marco Gerards <marco@gnu.org>
19932
19933 * bus/pci.c: New file.
19934
19935 * include/grub/pci.h: Likewise.
19936
19937 * include/grub/i386/pc/pci.h: Likewise.
19938
19939 * commands/lspci.c: Likewise.
19940
19941 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19942 `lspci.mod'.
19943 (pci_mod_SOURCES): New variable.
19944 (pci_mod_CFLAGS): Likewise.
19945 (pci_mod_LDFLAGS): Likewise.
19946 (lspci_mod_SOURCES): Likewise.
19947 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 19948 (lspci_mod_LDFLAGS): Likewise.
58c69220 19949
c004e1b4 199502008-02-02 Bean <bean123ch@gmail.com>
19951
19952 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19953 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19954
19955 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19956 (grub_xfs_btree_node): New structure.
19957 (grub_xfs_btree_root): New structure.
19958 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19959 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19960 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19961 (GRUB_XFS_EXTENT_SIZE): Likewise.
19962 (grub_xfs_read_block): Support btree format type.
19963 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19964 Use directory block as basic unit.
19965
19966 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19967
19968 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19969 __attribute__ ((__regparm__ (1))).
19970
f95562bf 199712008-02-01 Robert Millan <rmh@aybabtu.com>
19972
19973 Correct a mistake in previous commit.
19974
19975 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19976 top.
19977 (normal/command.c_DEPENDENCIES): New variable.
19978
7d31f41f 199792008-02-01 Robert Millan <rmh@aybabtu.com>
19980
19981 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19982 top.
19983 (normal/command.c_DEPENDENCIES): New variable.
19984 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19985 * conf/i386-ieee1275.rmk: Likewise.
19986 * conf/i386-linuxbios.rmk: Likewise.
19987 * conf/i386-pc.rmk: Likewise.
19988 * conf/sparc64-ieee1275.rmk: Likewise.
19989 * conf/powerpc-ieee1275.rmk: Likewise.
19990 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19991
19992 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19993
60b6be74 199942008-02-01 Robert Millan <rmh@aybabtu.com>
19995
19996 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19997 call at beginning of function.
19998
078522ab 199992008-01-31 Pavel Roskin <proski@gnu.org>
20000
20001 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 20002 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20003 (grub_mkrescue_SOURCES): Likewise.
078522ab 20004 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20005
ccaa8a5f 200062008-01-30 Robert Millan <rmh@aybabtu.com>
20007
20008 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20009 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20010 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20011 (grub_probe_SOURCES): ... to here.
20012
20013 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20014 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20015 * conf/i386-ieee1275.rmk: Likewise.
20016 * conf/i386-linuxbios.rmk: Likewise.
20017 * conf/powerpc-ieee1275.rmk: Likewise.
20018
ae5a9cd7 200192008-01-30 Tristan Gingold <gingold@free.fr>
20020
20021 * kern/rescue.c: Silently accept empty lines.
20022
70bc2ef2 200232008-01-29 Bean <bean123ch@gmail.com>
20024
20025 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20026 (real_code_2): Code cleanup and change comment style.
20027 (move_memory): Avoid using 32-bit address mode.
20028
6a4d50ea 200292008-01-29 Bean <bean123ch@gmail.com>
20030
20031 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20032 (png_mod_SOURCES): New variable.
20033 (png_mod_CFLAGS): Likewise.
20034 (png_mod_LDFLAGS): Likewise.
20035
20036 * video/readers/png.c: New file.
20037
11cc30ac 200382008-01-28 Robert Millan <rmh@aybabtu.com>
20039
20040 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20041 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20042 `ifndef GRUB_MOD_GAP' hack.
20043 * util/elf/grub-mkimage.c (add_segments): Likewise.
20044
3abc589f 200452008-01-27 Robert Millan <rmh@aybabtu.com>
20046
20047 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20048 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 20049 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 20050
e1907778 200512008-01-27 Robert Millan <rmh@aybabtu.com>
20052
20053 Get grub-emu to build again (including parallel builds).
20054
20055 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20056 Split into ...
20057 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20058 (normal/execute.c_DEPENDENCIES): ... this, ...
20059 (grub-emu_DEPENDENCIES): ... and this.
20060
20061 * conf/i386-efi.rmk: Likewise.
20062 * conf/i386-linuxbios.rmk: Likewise.
20063 * conf/i386-ieee1275.rmk: Likewise.
20064 * conf/powerpc-ieee1275.rmk: Likewise.
20065 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20066
2216b101 200672008-01-27 Robert Millan <rmh@aybabtu.com>
20068
20069 * NEWS: Add a few items.
20070
f75172d9 200712008-01-27 Robert Millan <rmh@aybabtu.com>
20072
20073 Fix parallel builds with grub-emu. Based on earlier commit for
20074 grub-probe and grub-setup.
20075
20076 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20077 (util/grub-emu.c_DEPENDENCIES): ... this.
20078 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20079 (util/grub-emu.c_DEPENDENCIES): ... this.
20080 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20081 (util/grub-emu.c_DEPENDENCIES): ... this.
20082 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20083 (util/grub-emu.c_DEPENDENCIES): ... this.
20084 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20085 (util/grub-emu.c_DEPENDENCIES): ... this.
20086
3f51de77 200872008-01-27 Pavel Roskin <proski@gnu.org>
20088
20089 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20090 to create a gap between _end and the modules added to the image
20091 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20092 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20093 * util/elf/grub-mkimage.c (add_segments): Likewise.
20094
2033f53e 200952008-01-26 Pavel Roskin <proski@gnu.org>
20096
20097 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20098 just return an error.
20099
22da1f6f 201002008-01-26 Bean <bean123ch@gmail.com>
20101
20102 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20103 (grub_reiserfs_get_item): Save offset of the next item.
20104 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20105
2a9525e6 201062008-01-25 Robert Millan <rmh@aybabtu.com>
20107
20108 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20109 make all filesystem sources appear together (possibly fixing omissions
20110 while at it).
20111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20113 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20115
20116 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20117 add `kern/file.c'.
20118 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20119 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20120 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20121 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20122
20123 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20124 (probe): Add a sanity check to make sure of our ability to read
20125 requested files when probing for filesystem type.
20126
20127 * genmk.rb: Update copyright year (2007).
20128
20129 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20130 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20131 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20132 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20133 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20134 : Remove function prototypes.
20135
b95f71b5 201362008-01-25 Robert Millan <rmh@aybabtu.com>
20137
20138 Revert my previous commits (based on wrong assumption of how grub_errno
20139 works).
20140
fe6b695a 20141 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 20142 * kern/file.c (grub_file_open): Likewise.
20143
d08bbb49 201442008-01-24 Pavel Roskin <proski@gnu.org>
20145
20146 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20147 that hang if GRUB tries to setup colors.
20148 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20149 colors for firmwares that don't support it.
20150 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20151 Recognize Open Hack'Ware, set flags to work around its
20152 limitations.
20153
605e36ed 201542008-01-24 Robert Millan <rmh@aybabtu.com>
20155
20156 * kern/file.c (grub_file_open): Do not account previous failures of
20157 unrelated functions when grub_errno is checked for.
20158 Reported by Oleg Strikov.
20159
bac332a1 201602008-01-24 Bean <bean123ch@gmail.com>
20161
20162 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20163 (grub_ufs_sblock): New member volume name.
20164 (grub_ufs_find_file): Fix string copy bug.
20165 (grub_ufs_label): Implement this function properly.
20166
20167 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20168 (grub_hfs_iterate_records): Use the correct file number for extents
20169 and catalog file. Fix problem in next index calculation.
20170 (grub_hfs_find_node): Replace recursive function call with loop.
20171 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20172
15c80c09 201732008-01-23 Robert Millan <rmh@aybabtu.com>
20174
20175 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20176 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20177 (grub_multiboot2_real_boot): New function prototype.
20178
20179 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20180 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20181
20182 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20183 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20184
305338fd 201852008-01-23 Robert Millan <rmh@aybabtu.com>
20186
20187 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20188 #ifdef'ed out grub_printf().
20189
3ea52685 201902008-01-23 Robert Millan <rmh@aybabtu.com>
20191
20192 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20193 grub_dprintf calls, since they make "debug=all" mode unusable.
20194 (grub_console_checkkey): Likewise.
20195
5882ae4b 201962008-01-23 Robert Millan <rmh@aybabtu.com>
20197
20198 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20199 `term/i386/pc/at_keyboard.c'.
20200 (pkglib_MODULES): Add `serial.mod'.
20201 (serial_mod_SOURCES): New variable.
20202 (serial_mod_CFLAGS): Likewise.
20203 (serial_mod_LDFLAGS): Likewise.
20204
20205 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20206 `<grub/powerpc/ieee1275/console.h>'.
20207 (grub_keyboard_controller_init): New function prototype.
20208 (grub_console_checkkey): Likewise.
20209 (grub_console_getkey): Likewise.
20210
20211 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20212 keyboard on i386.
20213
20214 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20215 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20216
06ab5303 202172008-01-23 Robert Millan <rmh@aybabtu.com>
20218
20219 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20220 present, "(memdisk)/boot/grub" becomes the default prefix.
20221
20222 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20223 a memdisk tarball with all the modules. Add --overlay=DIR option that
20224 allows users to overlay additional files into the image.
20225
dbb475a4 202262008-01-23 Robert Millan <rmh@aybabtu.com>
20227
20228 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20229 and `machine/memory.h'.
20230 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20231 (_multiboot_mod_SOURCES): New variable.
20232 (_multiboot_mod_CFLAGS): Likewise.
20233 (_multiboot_mod_LDFLAGS): Likewise.
20234 (multiboot_mod_SOURCES): Likewise.
20235 (multiboot_mod_CFLAGS): Likewise.
20236 (multiboot_mod_LDFLAGS): Likewise.
20237
20238 * include/grub/i386/ieee1275/loader.h: New file.
20239
20240 * include/grub/i386/ieee1275/machine.h: Likewise.
20241
20242 * include/grub/i386/ieee1275/memory.h: Likewise.
20243
20244 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20245 variable declaration.
20246 (grub_os_area_size): Likewise.
20247
20248 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20249 (grub_lower_mem, grub_upper_mem): New variables.
20250 (grub_stop_floppy): New function (just to make
20251 grub_multiboot2_real_boot() happy).
20252
20253 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20254 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20255 (grub_stop): New function.
20256 Include `"../realmode.S"' and `"../loader.S"'.
20257
20258 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20259 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20260
20261 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20262 rely on grub_multiboot2_real_boot() for final boot.
20263
25638629 202642008-01-22 Robert Millan <rmh@aybabtu.com>
20265
20266 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20267 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20268 device that doesn't look like an SD card.
20269 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20270 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20271 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20272 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20273 found.
20274
9dad816d 202752008-01-22 Robert Millan <rmh@aybabtu.com>
20276
20277 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20278 avoid claiming over our own code.
20279
34842f2d 202802008-01-22 Bean <bean123ch@gmail.com>
20281
20282 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20283 (jpeg_mod_SOURCES): New variable.
20284 (jpeg_mod_CFLAGS): Likewise.
20285 (jpeg_mod_LDFLAGS): Likewise.
20286
20287 * video/readers/jpeg.c : New file.
20288
44023a28 202892008-01-22 Bean <bean123ch@gmail.com>
20290
20291 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20292 there are no more items.
20293
bc2d8ac6 202942008-01-21 Robert Millan <rmh@aybabtu.com>
20295
20296 * kern/mm.c (grub_mm_init_region): Improve debug message.
20297
261bd4bc 202982008-01-21 Robert Millan <rmh@aybabtu.com>
20299
20300 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20301 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20302 address.
20303 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20304 a C macro.
20305 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20306 Indicates start of upper memory.
20307 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20308 (generate_image): Abort when image size is big enough to corrupt
20309 upper memory.
20310
20311 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20312 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20313 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20314 instead of hardcoding 0xA0000.
20315 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20316 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20317 instead of hardcoding 0xA0000.
20318
f970b55e 203192008-01-21 Robert Millan <rmh@aybabtu.com>
20320
20321 * disk/memdisk.c (memdisk_size): New variable.
20322 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20323 `memdisk_size'.
20324 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20325 image to dynamic memory.
20326 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20327 `memdisk_size'. Free memdisk block.
20328
1a8b0526 203292008-01-21 Robert Millan <rmh@aybabtu.com>
20330
20331 Fix detection of very small filesystems (like tar).
20332
20333 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20334 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20335 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20336 a problem with this disk).
20337
6e9b4aab 203382008-01-21 Robert Millan <rmh@aybabtu.com>
20339
20340 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20341 on grub_biosdisk_rw_standard() error.
20342
0d8837b2 203432008-01-21 Robert Millan <rmh@aybabtu.com>
20344
20345 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20346 recent changes.
20347 * kern/elf.c: Likewise.
20348 * kern/ieee1275/ieee1275.c: Likewise.
20349 * kern/powerpc/ieee1275/openfw.c: Likewise.
20350 * term/ieee1275/ofconsole.c: Likewise.
20351
ffd36e34 203522008-01-21 Robert Millan <rmh@aybabtu.com>
20353
20354 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20355
3f0093d0 20356 * include/grub/kernel.h (grub_arch_memdisk_addr)
20357 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 20358
3f0093d0 20359 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20360 (grub_arch_memdisk_size): ... to here.
ffd36e34 20361
6c391b21 203622008-01-21 Robert Millan <rmh@aybabtu.com>
20363
20364 Mostly based on bugfix from Bean.
20365
20366 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20367 attribute with hook() parameter.
20368 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20369 declaration.
20370 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20371 attribute with hook() parameter.
20372 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20373 declaration.
20374
55a581dc 203752008-01-21 Robert Millan <rmh@aybabtu.com>
20376
20377 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20378 (pkglib_MODULES): Add `memdisk.mod'.
20379 (memdisk_mod_SOURCES): New variable.
20380 (memdisk_mod_CFLAGS): Likewise.
20381 (memdisk_mod_LDFLAGS): Likewise.
20382
20383 * disk/memdisk.c: New file.
20384
20385 * include/grub/disk.h (grub_disk_dev_id): Add
20386 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20387
20388 * include/grub/i386/pc/kernel.h
20389 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20390 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20391 (grub_kernel_image_size): New variable declaration.
20392 (grub_total_module_size): Likewise.
20393 (grub_memdisk_image_size): Likewise.
20394
20395 * include/grub/i386/pc/memory.h
20396 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20397
20398 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20399 (grub_arch_memdisk_addr): New variable declaration.
20400 (grub_arch_memdisk_size): Likewise.
20401
20402 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20403 (grub_arch_memdisk_size): Likewise.
20404
20405 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20406 (codestart): Replace hardcoded `0x100000' with
20407 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20408
20409 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20410 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20411 not NULL, append the contents of the file it refers to, at the end of
20412 the compressed kernel image. Initialize `grub_memdisk_image_size'
20413 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20414 (options): Add "memdisk"|'m' option.
20415 (main): Parse --memdisk|-m option, and pass user-provided path as
20416 parameter to generate_image().
20417
3d7f54c9 204182008-01-20 Robert Millan <rmh@aybabtu.com>
20419
20420 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20421 grub_dprintf() calls from here ...
20422 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20423
0bf74728 204242008-01-20 Robert Millan <rmh@aybabtu.com>
20425
20426 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20427
20428 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20429 declaration.
20430 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20431 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20432 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 20433 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 20434 property).
20435 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20436 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20437
33bf70a7 204382008-01-19 Robert Millan <rmh@aybabtu.com>
20439
fe6b695a 20440 Get rid of confusing function (superseded by
33bf70a7 20441 `grub_ieee1275_get_integer_property')
20442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20443 prototype.
20444 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20445 function.
20446 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20447 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 20448 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 20449
e2da7d26 204502008-01-19 Robert Millan <rmh@aybabtu.com>
20451
20452 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20453 command after "shut-down", since implementations differ on which
20454 the command for halt is.
20455
59f1fd8d 204562008-01-19 Robert Millan <rmh@aybabtu.com>
20457
20458 * include/grub/i386/linuxbios/console.h: Add header protection.
20459 (grub_keyboard_controller_init): New function prototype.
20460 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20461 (KEYBOARD_COMMAND_READ): Likewise.
20462 (KEYBOARD_COMMAND_WRITE): Likewise.
20463 (KEYBOARD_SCANCODE_SET1): Likewise.
20464 (grub_keyboard_controller_write): New function.
20465 (grub_keyboard_controller_read): Likewise.
20466 (grub_keyboard_controller_init): Likewise.
20467
20468 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20469 (grub_console_init): On coreboot/LinuxBIOS, call
20470 grub_keyboard_controller_init().
20471
5f5a7c15 204722008-01-19 Robert Millan <rmh@aybabtu.com>
20473
20474 PowerPC changes provided by Pavel Roskin.
20475
20476 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20477 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20478 don't rely on cmain() doing it.
20479 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20480 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20481
1210e168 204822008-01-16 Robert Millan <rmh@aybabtu.com>
20483
20484 * include/grub/i386/linuxbios/memory.h
20485 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20486 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20487 receive `table_header' as argument. Instead, probe for it in the
20488 known memory ranges where it can be present.
20489 (grub_available_iterate): Do not pass a fixed `table_header' address
20490 to grub_linuxbios_table_iterate().
20491
3d04eab8 204922008-01-15 Robert Millan <rmh@aybabtu.com>
20493
20494 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20495 * conf/i386-ieee1275.rmk: New file.
20496 * include/grub/i386/ieee1275/console.h: Likewise.
20497 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20498 * include/grub/i386/ieee1275/kernel.h: Likewise.
20499 * include/grub/i386/ieee1275/time.h: Likewise.
20500 * kern/i386/ieee1275/init.c: Likewise.
20501 * kern/i386/ieee1275/startup.S: Likewise.
20502
d1bc1b73 205032008-01-15 Robert Millan <rmh@aybabtu.com>
20504
20505 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20506 when pointers are 32-bit (but still do set it to one when they are
20507 64-bit).
20508
66a65807 205092008-01-15 Robert Millan <rmh@aybabtu.com>
20510
20511 * include/grub/ieee1275/ieee1275.h
20512 (grub_ieee1275_get_integer_property): New function prototype.
20513
20514 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20515 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 20516 grub_ieee1275_get_property() to handle endianness.
66a65807 20517
20518 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20519 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 20520 where appropriate.
66a65807 20521 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20522 (grub_map): Likewise.
20523 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20524
a83ccafd 205252008-01-15 Bean <bean123ch@gmail.com>
20526
20527 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20528 (grub_script_execute_cmdline): Reset grub_errno.
20529
20530 * normal/main.c (read_config_file): Reset grub_errno.
20531
20532 * normal/parse.y (script_init): New.
20533 (script): Move function and menuentry here.
20534 (delimiter): New.
20535 (command): Add delimiter at the end of command.
20536 (commands): Adjust to match the new command.
20537 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 20538 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 20539 (if): Use the new commands.
20540
20541 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20542
df6ecfc6 205432008-01-15 Robert Millan <rmh@aybabtu.com>
20544
20545 * normal/menu.c (run_menu): Move timeout message from here ...
20546 (print_timeout): ... to here.
20547 (run_menu): Use print_timeout() once during initial draw to print
20548 the whole message, and again in every clock tick to update only
20549 the number of seconds.
20550
87ae25eb 205512008-01-15 Robert Millan <rmh@aybabtu.com>
20552
20553 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20554 actual size of `available' from grub_ieee1275_get_property(), and
20555 restrict parsing to that bound.
20556
47bf09a4 205572008-01-15 Christian Franke <franke@computer.org>
20558
20559 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20560 (argp_program_version): Remove variable.
20561 (argp_program_bug_address): Likewise.
20562 (options): Convert from struct argp_option to struct option.
20563 (struct arguments): Remove.
20564 (parse_opt): Remove.
20565 (usage): New function.
20566 (main): Replace struct args members by simple variables.
20567 Replace argp_parse() by getopt_long().
20568 Add switch to evaluate options.
20569 Add missing "(...)" around root_dev in prefix string.
20570
c86f1469 205712008-01-14 Robert Millan <rmh@aybabtu.com>
20572
20573 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20574 for grub_ieee1275_exit(), in order to improve portability.
20575
e622c559 205762008-01-14 Robert Millan <rmh@aybabtu.com>
20577
20578 * util/grub.d/10_linux.in (prefix): Define.
20579 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20580
44cb1ec8 205812008-01-13 Pavel Roskin <proski@gnu.org>
20582
20583 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20584 grub_errno if no errors have been detected.
20585
1eb8c802 205862008-01-12 Robert Millan <rmh@aybabtu.com>
20587
20588 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20589 (grub_util_get_dev_abstraction): New function prototype.
20590
20591 * util/getroot.c: Include `<grub/util/getroot.h>'
20592 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20593 (grub_util_get_dev_abstraction): ... here (new function).
20594
20595 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20596 `PRINT_ABSTRACTION'.
20597 (probe): Probe for abstraction type when requested.
20598 (main): Understand `--target=abstraction'.
20599
20600 * util/i386/efi/grub-install.in: Add abstraction module to core
20601 image when it is found to be necessary.
20602 * util/i386/pc/grub-install.in: Likewise.
20603 * util/powerpc/ieee1275/grub-install.in: Likewise.
20604
20605 * util/update-grub_lib.in (font_path): Return system path without
20606 converting to GRUB path.
20607 * util/update-grub.in: Convert system path returned by font_path()
20608 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20609 abstraction module is needed for loading fonts (if any). Export
20610 that as `GRUB_PRELOAD_MODULES'.
20611 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20612 insmod commands).
20613
52bd3de9 206142008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20615
20616 Remove some unused code from reiserfs.
f19dbdb7 20617
52bd3de9 20618 * fs/reiserfs.c (struct grub_reiserfs_key)
20619 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20620 (struct grub_reiserfs_node_body): Removed.
20621 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20622 Likewise.
20623 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20624 Likewise.
20625 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20626 Likewise.
20627 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20628 Likewise.
20629 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20630 Likewise.
20631 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20632 Likewise.
20633 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20634 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20635 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20636
2f80039d 206372008-01-10 Robert Millan <rmh@aybabtu.com>
20638
20639 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20640 Determines if a file is garbage left by packaging systems, etc.
20641 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20642 for processing /etc/grub.d scripts.
20643 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20644 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20645 as a condition for processing Linux images.
20646
87888032 206472008-01-10 Pavel Roskin <proski@gnu.org>
20648
20649 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20650 to compile reiserfs.c on PowerPC.
20651
7e54fced 206522008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 20653
20654 * kern/device.c (grub_device_iterate): Do not abort device iteration
20655 when one of the devices cannot be opened.
20656 * kern/disk.c (grub_disk_open): Do not account previous failures of
20657 unrelated functions when grub_errno is checked for.
20658
5aa541e6 206592008-01-08 Robert Millan <rmh@aybabtu.com>
20660
20661 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20662 `! grub_linux_is_bzimage', change order of address comparison to make
20663 it more intuitive, and improve "too big zImage" error message.
20664
7076340d 206652008-01-08 Robert Millan <rmh@aybabtu.com>
20666
20667 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20668 `$(update-grub_DATA)'.
20669 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20670 targets.
20671
9ca70333 206722008-01-07 Robert Millan <rmh@aybabtu.com>
20673
20674 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20675 which instruction is modified by grub-setup during installation
20676 (since it wasn't obvious by only looking at this file).
20677
38ccf575 206782008-01-07 Robert Millan <rmh@aybabtu.com>
20679
20680 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20681 listing actual TODO items.
20682
f5db4291 206832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20684
868967cf 20685 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20686 correctly.
20687 (grub_reiserfs_get_key_offset): Likewise.
20688 (grub_reiserfs_set_key_offset): Likewise.
20689 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 20690 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 20691
20692 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20693 better to remove the bitfield version completely.
f19dbdb7 20694
868967cf 206952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20696
f5db4291 20697 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20698 allocated from the heap, due to the fshelp implementation.
20699 (grub_reiserfs_dir): Free NODE, due to the same reason.
20700
492e6d9d 207012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20702
20703 Mostly from Vincent Pelletier:
f19dbdb7 20704
492e6d9d 20705 * fs/reiserfs.c: New file.
f19dbdb7 20706
492e6d9d 20707 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20708 (reiserfs_mod_SOURCES): New variable.
20709 (reiserfs_mod_CFLAGS): Likewise.
20710 (reiserfs_mod_LDFLAGS): Likewise.
20711
20712 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20713 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20714 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20715 normal/color.c.
20716
9ce3e7c1 207172008-01-06 Robert Millan <rmh@aybabtu.com>
20718
20719 * normal/color.c: Remove `<grub/env.h>'.
20720
f3b58148 207212008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20722
20723 * include/grub/normal.h: Include <grub/env.h>.
20724
7ac3bcfa 207252008-01-05 Robert Millan <rmh@aybabtu.com>
20726
20727 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20728 usage example with `(hd0,1)'.
fb358190 20729 Reported by Samuel Thibault.
7ac3bcfa 20730
c8ee99d7 207312008-01-05 Robert Millan <rmh@aybabtu.com>
20732
20733 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20734 (grub_linux_boot_zimage): Rename to ...
20735 (grub_linux_boot): ... this.
20736 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20737 (grub_linux_boot_zimage): Conditionalize zImage copy.
20738
20739 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20740 (grub_linux_boot_bzimage): Remove prototype.
20741 (grub_linux_boot_zimage): Rename to ...
20742 (grub_linux_boot): ... this.
20743
20744 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20745 (grub_linux_boot): Remove function.
20746
0ece25b1 207472008-01-05 Robert Millan <rmh@aybabtu.com>
20748
20749 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20750 (grub_env_write_color_highlight): Likewise.
20751 (grub_wait_after_message): Likewise.
20752
20753 * normal/color.c: New file.
20754
20755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20756 (normal_mod_DEPENDENCIES): Likewise.
20757
20758 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20759 (normal_mod_DEPENDENCIES): Likewise.
20760
20761 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20762 (normal_mod_DEPENDENCIES): Likewise.
20763
20764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20765 (normal_mod_DEPENDENCIES): Likewise.
20766
20767 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20768 for waiting after a message is printed.
20769 * normal/main.c (read_config_file): Likewise.
20770 (grub_normal_init): Register grub_env_write_color_normal() and
20771 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20772 `color_highlight' variables as global.
20773
20774 * normal/menu.c (grub_wait_after_message): New function.
20775 (grub_color_menu_normal): New variable. Replaces ...
20776 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20777 (grub_color_menu_highlight): New variable. Replaces ...
20778 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20779 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20780 `GRUB_TERM_COLOR_STANDARD'.
20781 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20782 `normal_code' and `highlight_code' to `old_color_normal' and
20783 `old_color_highlight', respectively.
20784 (grub_menu_init_page): Update colors when drawing the menu, based on
20785 `menu_color_normal' and `menu_color_highlight' variables.
20786 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20787 a message is printed.
20788
182dd4e5 207892008-01-05 Robert Millan <rmh@aybabtu.com>
20790
20791 * kern/env.c (grub_env_context_open): Propagate hooks for global
20792 variables to new context.
20793
20794 * kern/main.c (grub_set_root_dev): Export `root' variable.
20795
ddf8f6ad 207962008-01-05 Robert Millan <rmh@aybabtu.com>
20797
20798 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 20799 discs unconditionally, since udev and others have options to provide
ddf8f6ad 20800 them.
20801
d8b43d9b 208022008-01-05 Robert Millan <rmh@aybabtu.com>
20803
20804 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20805
2bff2de3 208062008-01-04 Christian Franke <franke@computer.org>
20807
20808 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20809 of eisa_mmap.
20810
97eab917 208112008-01-03 Pavel Roskin <proski@gnu.org>
20812
20813 * kern/i386/linuxbios/init.c: Put "void" to all function
20814 declarations with no arguments.
20815 * kern/powerpc/ieee1275/init.c: Likewise.
20816 * term/i386/pc/at_keyboard.c: Likewise.
20817 * term/i386/pc/vga_text.c: Likewise.
20818 * util/grub-mkdevicemap.c: Likewise.
20819
b9416d00 208202008-01-02 Robert Millan <rmh@aybabtu.com>
20821
20822 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20823 message when loaded image is out of bounds.
20824 (grub_multiboot_load_elf64): Likewise.
20825
92695df9 208262008-01-02 Pavel Roskin <proski@gnu.org>
20827
20828 * util/grub.d/10_linux.in: Try version without ".old" when
20829 looking for initrd. It's better to use initrd from the newer
20830 kernel of the same version than no initrd at all.
20831
d98d9cad 208322008-01-01 Robert Millan <rmh@aybabtu.com>
20833
20834 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20835
dbfdce36 208362008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20837
f19dbdb7 20838 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 20839 grub_video_get_active_render_target.
20840 (grub_video_adapter): Added unmap_color and get_active_render_target.
20841
f19dbdb7 20842 * video/video.c: Added grub_video_unmap_color and
dbfdce36 20843 grub_video_get_active_render_target.
20844 (grub_video_get_info): Changed method to accept NULL pointer as an
20845 argument to allow detection of active video adapter.
20846
20847 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20848 grub_video_vbe_unmap_color_int.
20849 Added grub_video_vbe_unmap_color and
20850 grub_video_vbe_get_active_render_target.
20851 (grub_video_vbe_adapter): Added unmap_color and
20852 get_active_render_target.
20853
f19dbdb7 20854 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 20855 with grub_video_vbe_unmap_color_int.
20856
20857 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20858 (DEFAULT_NORMAL_COLOR): Likewise.
20859 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20860 (DEFAULT_FG_COLOR): Removed.
20861 (DEFAULT_BG_COLOR): Likewise.
20862 (DEFAULT_CURSOR_COLOR): Changed value.
20863 (grub_virtual_screen): Added standard_color_setting,
20864 normal_color_setting, highlight_color_setting and term_color.
20865 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20866 (bitmap_width): Added.
20867 (bitmap_height): Likewise.
20868 (bitmap): Likewise.
20869 (set_term_color): Likewise.
20870 (grub_virtual_screen_setup): Changed to use new terminal coloring
20871 settings.
20872 (grub_gfxterm_init): Added init for bitmap.
20873 (grub_gfxterm_fini): Added destroy for bitmap.
20874 (redraw_screen_rect): Updated to use background bitmap and new
20875 terminal coloring.
20876 (scroll_up): Added optimization for case when there is no bitmap.
20877 (grub_gfxterm_cls): Fixed to use correct background color.
20878 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20879 coloring.
20880 (grub_virtual_screen_setcolor): Likewise.
20881 (grub_virtual_screen_getcolor): Added.
20882 (grub_gfxterm_background_image_cmd): Likewise.
20883 (grub_video_term): Added setcolor and getcolor.
20884 (MOD_INIT): Added registration of background_image command.
20885 (MOD_TERM): Added unregistration for background_image command.
20886
c3c20931 208872007-12-30 Pavel Roskin <proski@gnu.org>
20888
20889 * loader/multiboot_loader.c: Fix multiboot command
20890 unregistration. Fix all typos in the word "multiboot".
20891
df266716 208922007-12-29 Pavel Roskin <proski@gnu.org>
94239199 20893
20894 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20895 support for initrd names used in Fedora.
20896
fc6e896c 208972007-12-26 Bean <bean123ch@gmail.com>
20898
20899 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20900 (cpio_mod_SOURCES): New variable.
20901 (cpio_mod_CFLAGS): Likewise.
20902 (cpio_mod_LDFLAGS): Likewise.
20903
20904 * fs/cpio.c: New file.
20905
20906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20907
20908 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20909
20910 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20911
20912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20913
533110ad 209142007-12-25 Robert Millan <rmh@aybabtu.com>
20915
20916 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20917 (grub_getcolor): New function.
20918
20919 * kern/term.c (grub_getcolor): New function.
20920 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20921 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20922 (print_entry): Set normal and highlight colors to
20923 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20924 respectively, before printing and restore them to old
20925 values afterwards.
20926 (grub_menu_init_page): Likewise. Fill an additional colored space
20927 that would otherwise be left blank.
20928
20929 * term/efi/console.c (grub_console_getcolor): New function.
20930 (struct grub_console_term.getcolor): New variable.
20931 * term/i386/pc/console.c (grub_console_getcolor): New function.
20932 (struct grub_console_term.getcolor): New variable.
20933 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20934 (struct grub_console_term.getcolor): New variable.
20935
20936 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20937 (struct grub_console_term.setcolor): Remove variable.
20938 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20939 (struct grub_console_term.setcolor): Remove variable.
20940 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20941 (struct grub_console_term.setcolor): Remove variable.
20942 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20943 (struct grub_console_term.setcolor): Remove variable.
20944
4931827f 209452007-12-25 Robert Millan <rmh@aybabtu.com>
20946
20947 * configure.ac: Search for possible unifont.hex locations, and
20948 define UNIFONT_HEX if found.
20949
20950 * Makefile.in (UNIFONT_HEX): Define variable.
20951 (DATA): Rename to ...
20952 (PKGLIB): ... this. Update all users.
20953 (PKGDATA): New variable.
20954 (pkgdata_IMAGES): Rename to ...
20955 (pkglib_IMAGES): ... this. Update all users.
20956 (pkgdata_MODULES): Rename to ...
20957 (pkglib_MODULES): ... this. Update all users.
20958 (pkgdata_PROGRAMS): Rename to ...
20959 (pkglib_PROGRAMS): ... this. Update all users.
20960 (pkgdata_DATA): Rename to ...
20961 (pkglib_DATA): ... this. Update all users.
20962 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20963 (unicode.pff, ascii.pff): New rules.
20964 (all-local): Add `$(PKGDATA)' dependency.
20965 (install-local): Process `$(PKGDATA)'.
20966
20967 * util/update-grub_lib.in (font_path): Search for *.pff files in
20968 a few more locations, including `${pkgdata}'.
20969
57e57e31 209702007-12-23 Robert Millan <rmh@aybabtu.com>
20971
20972 Patch from Bean <bean123ch@gmail.com>:
20973 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20974 `size'.
20975
4bc72aa9 209762007-12-21 Bean <bean123ch@gmail.com>
20977
20978 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20979 (ntfscomp_mod_SOURCES): New variable.
20980 (ntfscomp_mod_CFLAGS): Likewise.
20981 (ntfscomp_mod_LDFLAGS): Likewise.
20982
20983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20984 (grub_probe_SOURCES): Likewise.
20985 (grub_emu_SOURCES): Likewise.
20986
20987 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20988 (grub_emu_SOURCES): Likewise.
20989
20990 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20991 (grub_emu_SOURCES): Likewise.
20992
20993 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20994 (grub_emu_SOURCES): Likewise.
20995
20996 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20997 (read_run_list): Renamed to grub_ntfs_read_run_list.
20998 (decomp_nextvcn): Moved to ntfscomp.c.
20999 (decomp_getch): Likewise.
21000 (decomp_get16): Likewise.
21001 (decomp_block): Likewise.
21002 (read_block): Likewise.
21003 (read_data): Partially moved to ntfscomp.c.
21004 (fixup): Change unsigned to grub_uint16_t.
21005 (read_mft): Change unsigned long to grub_uint32_t.
21006 (read_attr): Likewise.
21007 (read_data): Likewise.
21008 (read_run_data): Likewise.
21009 (read_run_list): Likewise.
21010 (read_mft): Likewise.
21011
21012 * fs/ntfscomp.c: New file.
21013
21014 * include/grub/ntfs.h: New file.
21015
af680a87 210162007-12-16 Robert Millan <rmh@aybabtu.com>
21017
21018 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21019 IDE disk check, since Linux is known to support 20 IDE disks.
21020 Reported by Colin Watson.
21021
84be7599 210222007-12-15 Bean <bean123ch@gmail.com>
21023
21024 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21025 (lnxboot_img_SOURCES): New variable.
21026 (lnxboot_img_ASFLAGS): Likewise.
21027 (lnxboot_img_LDFLAGS): Likewise.
21028
21029 * boot/i386/pc/lnxboot.S: New file.
21030
6af9db01 210312007-11-24 Pavel Roskin <proski@gnu.org>
21032
21033 * configure.ac: Test if '--build-id=none' is supported by the
21034 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21035 objcopy to generate incorrect binary files (binutils
21036 2.17.50.0.18-1 as shipped by Fedora 8).
21037 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21038 linking, so that build ID doesn't break the test.
21039
7361cfe6 210402007-11-24 Pavel Roskin <proski@gnu.org>
21041
21042 * include/grub/i386/time.h: use "void" in the argument list
21043 of grub_cpu_idle().
21044 * include/grub/powerpc/time.h: Likewise.
21045 * include/grub/sparc64/time.h: Likewise.
21046
1593e10c 210472007-11-18 Christian Franke <franke@computer.org>
21048
21049 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21050 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21051 This fixes the problem that function keys did not work in grub-emu.
21052
3b8db1a8 210532007-11-18 Christian Franke <franke@computer.org>
21054
21055 * disk/host.c (grub_host_open): Remove attribute unused from
21056 name parameter. Add check for "host". This fixes the problem
21057 that grub-emu does not find partitions.
21058
2e29408d 210592007-11-18 Christian Franke <franke@computer.org>
21060
21061 * util/hostfs.c (is_dir): New function.
21062 (grub_hostfs_dir): Handle missing dirent.d_type case.
21063 (grub_hostfs_read): Add missing fseek().
21064 (grub_hostfs_label): Clear label pointer. This fixes a crash
21065 of grub-emu on "ls (host)".
21066
398cd047 210672007-11-18 Christian Franke <franke@computer.org>
21068
21069 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21070 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21071 to 64 bit boundary by default.
21072
c405c391 210732007-11-18 Bean <bean123ch@gmail.com>
21074
21075 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21076 (hexdump_mod_SOURCES): New variable.
21077 (hexdump_mod_CFLAGS): Likewise.
21078 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 21079
c405c391 21080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21081
21082 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21083
21084 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21085
21086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21087
21088 * include/grub/hexdump.h: New file.
21089
21090 * commands/hexdump.c: New file.
21091
5cced7fd 210922007-11-10 Robert Millan <rmh@aybabtu.com>
21093
21094 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21095 in grub_outb() calls.
21096 (beep_on): Likewise.
21097
8b714eb0 210982007-11-10 Christian Franke <franke@computer.org>
21099
21100 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21101 (grub_menu_run): Likewise.
21102
ce0f1839 211032007-11-10 Robert Millan <rmh@aybabtu.com>
21104
21105 * include/grub/i386/efi/machine.h: New file.
21106 * include/grub/i386/linuxbios/machine.h: Likewise.
21107 * include/grub/i386/pc/machine.h: Likewise.
21108 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21109 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21110
21111 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21112 (serial_hw_io_addr): New variable.
21113 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21114 instead of `(unsigned short *) 0x400'.
21115
270c237d 211162007-11-10 Bean <bean123ch@gmail.com>
21117
21118 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21119
a87783bf 211202007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21121
21122 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21123 (vga_mod_SOURCES): Added.
21124 (vga_mod_CFLAGS): Likewise.
21125 (vga_mod_LDFLAGS): Likewise.
21126
21127 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21128 grub_outb() calls.
21129 (set_map_mask): Likewise.
21130 (set_read_map): Likewise.
21131 (set_read_address): Likewise.
21132 (vga_font): Removed variable.
21133 (get_vga_glyph): Removed function.
21134 (invalidate_char): Likewise.
21135 (write_char): Changed to use grub_font_get_glyph() for font
21136 information.
21137 (grub_vga_putchar): Likewise.
21138 (grub_vga_getcharwidth): Likewise.
21139
6433b448 211402007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21141
21142 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21143 flags.
21144 (pxeboot_img_LDFLAGS): Likewise.
21145 (diskboot_img_LDFLAGS): Likewise.
21146 (kernel_img_LDFLAGS): Likewise.
21147
49178511 211482007-11-06 Robert Millan <rmh@aybabtu.com>
21149
21150 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21151 in grub_outb() calls.
21152 (serial_hw_init): Likewise.
21153
53b052de 211542007-11-05 Robert Millan <rmh@aybabtu.com>
21155
21156 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21157 spaces. Skip non-regular files.
21158
5ab33bba 211592007-11-05 Robert Millan <rmh@aybabtu.com>
21160
21161 * kern/disk.c (grub_disk_firmware_fini)
21162 (grub_disk_firmware_is_tainted): New variables.
21163
21164 * include/grub/disk.h (grub_disk_firmware_fini)
21165 (grub_disk_firmware_is_tainted): Likewise.
21166
21167 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21168 (grub_disk_biosdisk_fini): ... to here.
21169 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21170 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21171 is set. Register grub_disk_biosdisk_fini() in
21172 `grub_disk_firmware_fini'.
21173
21174 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21175 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21176 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21177 to finish existing firmware disk interface.
21178
21179 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21180 (ata_mod_SOURCES): New variable.
21181 (ata_mod_CFLAGS): Likewise.
21182 (ata_mod_LDFLAGS): Likewise.
21183
0149ab7c 211842007-11-05 Robert Millan <rmh@aybabtu.com>
21185
21186 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21187 (grub_ata_wait): Reimplement using grub_millisleep().
21188
21189 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21190 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21191
be7ac41e 211922007-11-03 Marco Gerards <marco@gnu.org>
21193
21194 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21195 (CRTC_ADDR_PORT): New macro.
21196 (CRTC_DATA_PORT): Likewise.
21197 (CRTC_CURSOR): Likewise.
21198 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21199 (CRTC_CURSOR_ADDR_LOW): Likewise.
21200 (update_cursor): New function.
21201 (grub_console_real_putchar): Call `update_cursor'.
21202 (grub_console_gotoxy): Likewise.
21203 (grub_console_cls): Set the default color when clearing the
21204 screen.
21205 (grub_console_setcursor): Implemented.
21206
bb06ab2e 212072007-11-03 Marco Gerards <marco@gnu.org>
21208
21209 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21210 become activate.
21211 (grub_ata_pio_write): Likewise.
21212
21213 (grub_atapi_identify): Wait after issuing an ATA command.
21214 (grub_atapi_packet): Likewise.
21215 (grub_ata_identify): Likewise.
21216 (grub_ata_readwrite): Likewise.
21217
cf8f780b 212182007-11-03 Marco Gerards <marco@gnu.org>
21219
21220 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21221 (grub_ata_pio_write): Likewise.
21222 (grub_ata_readwrite): Use `grub_error', instead of
21223 returning `grub_errno'.
21224
ed649e54 212252007-11-03 Marco Gerards <marco@gnu.org>
21226
21227 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21228 grub_ata_pio_write once for every single sector, instead of for
21229 multiple sectors.
21230
ca25d8f0 212312007-10-31 Robert Millan <rmh@aybabtu.com>
21232
21233 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21234
21235 * conf/i386-linuxbios.rmk: New file.
21236
21237 * kern/i386/pc/hardware.c: Likewise.
21238 * term/i386/pc/at_keyboard.c: Likewise.
21239 * term/i386/pc/vga_text.c: Likewise.
21240
21241 * include/grub/i386/linuxbios/boot.h: Likewise.
21242 * include/grub/i386/linuxbios/console.h: Likewise.
21243 * include/grub/i386/linuxbios/init.h: Likewise.
21244 * include/grub/i386/linuxbios/kernel.h: Likewise.
21245 * include/grub/i386/linuxbios/loader.h: Likewise.
21246 * include/grub/i386/linuxbios/memory.h: Likewise.
21247 * include/grub/i386/linuxbios/serial.h: Likewise.
21248 * include/grub/i386/linuxbios/time.h: Likewise.
21249
21250 * kern/i386/linuxbios/init.c: Likewise.
21251 * kern/i386/linuxbios/startup.S: Likewise.
21252 * kern/i386/linuxbios/table.c: Likewise.
21253
e911ecc1 212542007-10-31 Marco Gerards <marco@gnu.org>
21255
21256 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21257 (ata_mod_SOURCES): New variable.
21258 (ata_mod_CFLAGS): Likewise.
21259 (ata_mod_LDFLAGS): Likewise.
21260
21261 * disk/ata.c: New file.
21262
21263 * include/grub/disk.h (grub_disk_dev_id): Add
21264 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 21265
7f66d0e0 212662007-10-31 Robert Millan <rmh@aybabtu.com>
21267
21268 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21269 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21270
21271 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21272 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21273
21274 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21275 `<grub/types.h>'.
21276
21277 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21278
5cd7dd46 212792007-10-27 Robert Millan <rmh@aybabtu.com>
21280
3236ca65 21281 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 21282
2ebfc90f 212832007-10-22 Robert Millan <rmh@aybabtu.com>
21284
21285 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21286 `"../realmode.S"'.
21287 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21288
73fcb0f3 212892007-10-22 Robert Millan <rmh@aybabtu.com>
21290
21291 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21292 (pkgdata_MODULES): Add `biosdisk.mod'.
21293 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21294 variables.
21295
21296 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21297 (grub_biosdisk_init): Replace with ...
21298 (GRUB_MOD_INIT(biosdisk)): ... this.
21299 (grub_biosdisk_fini): Replace with ...
21300 (GRUB_MOD_FINI(biosdisk)): ... this.
21301
21302 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21303 (grub_machine_init): Remove call to grub_biosdisk_init().
21304 (grub_machine_fini): Remove call to grub_machine_fini().
21305
21306 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21307
3381d274 213082007-10-22 Robert Millan <rmh@aybabtu.com>
21309
21310 * include/grub/time.h: New file.
21311 * include/grub/i386/time.h: Likewise.
21312 * include/grub/powerpc/time.h: Likewise.
21313 * include/grub/sparc64/time.h: Likewise.
21314
21315 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21316 instances to ...
21317 (KERNEL_MACHINE_TIME_HEADER): ... this.
21318 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21319 instances to ...
21320 (KERNEL_MACHINE_TIME_HEADER): ... this.
21321 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21322 instances to ...
21323 (KERNEL_MACHINE_TIME_HEADER): ... this.
21324
21325 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21326 (grub_millisleep): New function.
21327 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21328 (grub_millisleep): New function.
21329 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21330 Remove `grub/machine/time.h' include.
21331 (grub_millisleep): New function.
21332 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21333 Remove `grub/machine/time.h' include.
21334 (grub_millisleep): New function.
21335
21336 * include/grub/misc.h (grub_div_roundup): New function.
21337
21338 * kern/misc.c: Include `<grub/time.h>'.
21339 (grub_millisleep_generic): New function.
21340
21341 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21342 Add `time.h'.
21343 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21344 Add `time.h'.
21345 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21346 `machine/time.h'. Add `time.h'.
21347 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21348
a39a0312 213492007-10-21 Robert Millan <rmh@aybabtu.com>
21350
21351 * include/grub/misc.h (grub_max): New function.
21352
2aad70e2 213532007-10-21 Robert Millan <rmh@aybabtu.com>
21354
21355 * util/misc.c (grub_util_info): Call fflush() before returning.
21356
54b71c4b 213572007-10-20 Robert Millan <rmh@aybabtu.com>
21358
21359 * genmk.rb (Image): Copy `extra_flags' from here ...
21360 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21361
21362 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21363 to `argc' and `args' arguments.
21364
a979f513 213652007-10-17 Robert Millan <rmh@aybabtu.com>
21366
21367 * kern/i386/loader.S: New file.
21368
21369 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21370 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21371 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21372 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21373 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21374 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21375 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21376 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21377 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21378 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21379 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21380 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21381 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21382 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21383
21384 * kern/i386/realmode.S: New file.
21385
21386 * kern/i386/pc/startup.S (protstack): Moved from here ...
21387 * kern/i386/realmode.S (protstack)... to here.
21388 * kern/i386/pc/startup.S (gdt): Moved from here ...
21389 * kern/i386/realmode.S (gdt)... to here.
21390 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21391 * kern/i386/realmode.S (prot_to_real)... to here.
21392
21393 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21394 `kern/i386/realmode.S'.
21395
825fc8fd 213962007-10-17 Robert Millan <rmh@aybabtu.com>
21397
21398 * include/grub/i386/loader.h: New file.
21399
21400 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21401 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21402 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21403 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21404 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21405 * include/grub/i386/loader.h (grub_linux_prot_size)
21406 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21407 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21408 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21409 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21410
21411 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21412
e179b2f4 214132007-10-15 Robert Millan <rmh@aybabtu.com>
21414
21415 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21416 filesystem when dev->disk is unset.
21417 Do probe for filesystem even when dev->disk->has_partitions is set.
21418 In case a filesystem is found, always report it.
21419 In case it isn't, if dev->disk->has_partitions is set, report that
21420 a partition table was found instead of reporting that no filesystem
21421 could be identified.
21422
5db82af6 214232007-10-12 Robert Millan <rmh@aybabtu.com>
21424
21425 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21426 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21427
68f6ac74 21428 * include/grub/types.h (grub_host_to_target16): New macro.
21429 (grub_host_to_target32): Likewise.
21430 (grub_host_to_target64): Likewise.
21431 (grub_target_to_host16): Likewise.
21432 (grub_target_to_host32): Likewise.
21433 (grub_target_to_host64): Likewise.
5db82af6 21434
21435 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21436 Renamed from to ...
21437 (GRUB_MOD_ALIGN): ...this. Update all users.
21438
68f6ac74 21439 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21440 grub_host_to_target32.
21441 Replace grub_be_to_cpu32 with grub_target_to_host32.
21442 (load_modules): Likewise.
21443 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21444 Replace grub_be_to_cpu32 with grub_target_to_host32.
21445 Replace grub_cpu_to_be16 with grub_host_to_target16.
21446 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 21447
3cf497cc 214482007-10-12 Robert Millan <rmh@aybabtu.com>
21449
21450 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21451 * util/elf/grub-mkimage.c: ... here.
21452
21453 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21454 `util/powerpc/ieee1275/grub-mkimage.c'.
21455
c8cc3692 214562007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 21457
c8cc3692 21458 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21459 and make it easier to figure out.
21460 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21461 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21462 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21463 leave us with less than HEAP_MIN_SIZE total heap.
21464 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 21465
5c58b791 214662007-10-03 Robert Millan <rmh@aybabtu.com>
21467
21468 * include/grub/i386/io.h: New file.
21469 * commands/i386/pc/play.c (inb): Removed.
21470 (outb): Removed.
21471 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21472 with grub_outb().
afcd2ef8 21473 * term/i386/pc/serial.c (inb): Removed.
21474 (outb): Removed.
21475 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21476 with grub_outb().
21477 * term/i386/pc/vga.c (inb): Removed.
21478 (outb): Removed.
21479 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21480 with grub_outb().
5c58b791 21481
1a477ed6 214822007-10-02 Robert Millan <rmh@aybabtu.com>
21483
21484 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21486 Reported by Marcin Kurek.
21487
6b5d80fa 214882007-09-07 Robert Millan <rmh@aybabtu.com>
21489
21490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21491 SmartFirmware version updates (as released by Sven Luther), and avoid
21492 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21493 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21494 known broken.
21495
5618afbf 214962007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21497
21498 From Hitoshi Ozeki:
21499 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21500 when merging two regions.
21501
6139dcd9 215022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21503
508e39ee 21504 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21505 * normal/completion.c (grub_normal_do_completion): Likewise.
21506 Reported by Hitoshi Ozeki.
21507
215082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21509
6139dcd9 21510 Do not use devices at boot in chainloading.
f19dbdb7 21511
6139dcd9 21512 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21513 (boot_part_addr): Likewise.
21514 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21515 with BOOT_DRIVE and BOOT_PART_ADDR.
21516 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21517 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21518
38da6516 215192007-08-29 Robert Millan <rmh@aybabtu.com>
21520
21521 Patch from Simon Peter <dn.tlp@gmx.net>:
21522 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21523 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21524 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21525 util/i386/pc/grub-setup.c_DEPENDENCIES.
21526 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21527 util/grub-probe.c_DEPENDENCIES.
21528 * conf/powerpc-ieee1275.rmk: Likewise.
21529
29d0928c 215302007-08-28 Robert Millan <rmh@aybabtu.com>
21531
21532 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21533 to tell grub-mkdevicemap how to name devices.
21534 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21535 feature).
21536
21537 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21538 util/i386/get_disk_name.c.
21539 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21540 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21541 util/ieee1275/get_disk_name.c.
21542
21543 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21544
21545 * DISTLIST: Add util/i386/get_disk_name.c and
21546 util/ieee1275/get_disk_name.c.
21547
21548 * util/grub-mkdevicemap.c: Replace device naming logic with
21549 grub_util_get_disk_name() calls.
21550
5a0d3cca 215512007-08-20 Robert Millan <rmh@aybabtu.com>
21552
21553 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21554 (so that it works for both plural and singular quantities).
21555
8b72db2f 215562007-08-05 Robert Millan <rmh@aybabtu.com>
21557
21558 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21559 so that [xz] isn't taken into account when determining order.
21560
352466bf 215612007-08-02 Marco Gerards <marco@gnu.org>
21562
21563 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21564 `include/multiboot2.h', `include/grub/elfload.h',
21565 `include/multiboot.h', `include/grub/multiboot.h',
21566 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21567 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21568 `kern/elf.c', `loader/multiboot_loader.c',
21569 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21570 `loader/i386/pc/multiboot2.c',
21571 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21572 `util/i386/pc/grub-mkrescue.in'. Remove
21573 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21574 `include/grub/i386/pc/util/biosdisk.h' and
21575 `include/grub/powerpc/ieee1275/multiboot.h'.
21576
8f096014 215772007-08-02 Bean <bean123ch@gmail.com>
21578
21579 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21580 (ntfs_mod_SOURCES): New variable.
21581 (ntfs_mod_CFLAGS): Likewise.
21582 (ntfs_mod_LDFLAGS): Likewise.
21583
21584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21585 (grub_probe_SOURCES): Likewise.
21586 (grub_emu_SOURCES): Likewise.
21587
21588 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21589 (grub_emu_SOURCES): Likewise.
21590
21591 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21592 (grub_emu_SOURCES): Likewise.
f19dbdb7 21593
8f096014 21594 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21595
21596 * fs/ntfs.c: New file.
21597
9959f7db 215982007-08-02 Bean <bean123ch@gmail.com>
21599
21600 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21601
21602 * file.h (grub_file): Likewise.
21603
21604 * fshelp.h (grub_fshelp_read_file): Likewise.
21605
21606 * util/i386/pc/grub-setup.c (setup): Likewise.
21607 (save_first_sector): Likewise.
21608 (save_blocklists): Likewise.
f19dbdb7 21609
9959f7db 21610 * fs/affs.c (grub_affs_read_file): Likewise.
21611
21612 * fs/ext2.c (grub_ext2_read_file): Likewise.
21613
21614 * fs/fat.c (grub_fat_read_data): Likewise.
21615
21616 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21617
21618 * fs/hfs.c (grub_hfs_read_file): Likewise.
21619
21620 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21621
21622 * fs/jfs.c (grub_jfs_read_file): Likewise.
21623
21624 * fs/minix.c (grub_minix_read_file): Likewise.
21625
21626 * fs/sfs.c (grub_sfs_read_file): Likewise.
21627
21628 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 21629
9959f7db 21630 * fs/xfs.c (grub_xfs_read_file): Likewise.
21631
21632 * command/blocklist.c (read_blocklist): Likewise.
21633 (print_blocklist): Likewise.
21634
0a203f83 216352007-08-02 Marco Gerards <marco@gnu.org>
21636
21637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21638 `util/hostfs.c'.
21639
21640 * disk/host.c: New file.
21641
21642 * util/hostfs.c: Likewise.
21643
21644 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21645 return `GRUB_ERR_BAD_FS'.
21646 * fs/sfs.c (grub_sfs_mount): Likewise.
21647 * fs/xfs.c (grub_xfs_mount): Likewise.
21648
21649 * include/grub/disk.h (enum grub_disk_dev_id): Add
21650 `GRUB_DISK_DEVICE_HOST_ID'.
21651
21652 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21653
e5dfe777 216542007-07-24 Jerone Young <jerone@gmail.com>
21655
f19dbdb7 21656 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 21657 modules for compilation.
21658 * conf/powerpc-ieee1275.rmk: Likewise.
21659
21660 * include/multiboot.h: Move multiboot definitions to one file. Rename
21661 many definitions to not get grub specific.
21662 * include/multiboot2.h: Create header with multiboot 2 definitions.
21663 * include/grub/multiboot.h: Header for grub specific function
21664 prototypes and definitions.
21665 * include/grub/multiboot2.h: Likewise.
21666 * include/grub/multiboot_loader.h: Likewise.
21667 * include/grub/i386/pc/multiboot.h: Removed.
21668 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21669
21670 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21671 and 2 to allow for one multiboot and module commands.
21672 * loader/multiboot2.c: Add multiboot2 functionality.
21673 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21674 and definition names.
21675 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21676 2 functions.
21677 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21678 ieee1275 specific multiboot2 code.
21679
21680 * kern/i386/pc/startup.S: Change headers and definition names for
21681 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21682
daf0f0ba 216832007-07-22 Robert Millan <rmh@aybabtu.com>
21684
21685 * geninitheader.sh: Process file specified in first parameter rather
21686 than hardcoding grub_modules_init.lst.
fe6b695a 21687 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 21688 than hardcoding grub_modules_init.h.
21689
21690 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21691 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21692 grub_probe_init.[ch] and grub_setup_init.[ch].
21693
21694 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21695 grub_modules_init.h with grub_emu_init.h.
21696 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21697 grub_probe_init.[ch] files.
21698 * conf/i386-efi.rmk: Likewise.
21699 * conf/i386-pc.rmk: Likewise.
21700 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21701 grub_setup_init.[ch] files.
21702
21703 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21704 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21705 to initialize modules rather than a list of hardcoded functions.
21706 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21707 grub_init_all() to initialize modules rather than a list of hardcoded
21708 functions.
21709
54cdc1cc 217102007-07-22 Robert Millan <rmh@aybabtu.com>
21711
21712 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21713 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21714
ad0686cc 217152007-07-22 Robert Millan <rmh@aybabtu.com>
21716
21717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21718 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21719 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21720 flag when running on SmartFirmware.
21721 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21722 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21723 was set.
21724
21725 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21726 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21727 rather than decreasing it.
21728
21729 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21730 there's not enough space to do it, fail in the same way as when it
21731 can't be done because there are no partitions.
21732
21733 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21734 when nvsetenv failed.
21735
969c02ec 217362007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21737
21738 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21739 because this rule is automatically generated.
21740 (grub-mkrescue): Removed for the same reason as above.
21741
5a79f472 217422007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21743
21744 Migrate to GNU General Public License Version 3.
f19dbdb7 21745
5a79f472 21746 * COPYING: Replaced with the plain text version of GPLv3.
21747
21748 * config.guess: Updated from gnulib.
21749 * config.sub: Likewise.
21750
21751 * geninit.sh: Output a GPLv3 copyright notice.
21752 * geninitheader.sh: Likewise.
21753 * genmodsrc.sh: Likewise.
21754 * gensymlist.sh.in: Likewise.
21755
21756 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21757 * boot/i386/pc/diskboot.S: Likewise.
21758 * boot/i386/pc/pxeboot.S: Likewise.
21759 * commands/blocklist.c: Likewise.
21760 * commands/boot.c: Likewise.
21761 * commands/cat.c: Likewise.
21762 * commands/cmp.c: Likewise.
21763 * commands/configfile.c: Likewise.
21764 * commands/echo.c: Likewise.
21765 * commands/help.c: Likewise.
21766 * commands/ls.c: Likewise.
21767 * commands/search.c: Likewise.
21768 * commands/terminal.c: Likewise.
21769 * commands/test.c: Likewise.
21770 * commands/videotest.c: Likewise.
21771 * commands/i386/cpuid.c: Likewise.
21772 * commands/i386/pc/halt.c: Likewise.
21773 * commands/i386/pc/play.c: Likewise.
21774 * commands/i386/pc/reboot.c: Likewise.
21775 * commands/i386/pc/vbeinfo.c: Likewise.
21776 * commands/i386/pc/vbetest.c: Likewise.
21777 * commands/ieee1275/halt.c: Likewise.
21778 * commands/ieee1275/reboot.c: Likewise.
21779 * commands/ieee1275/suspend.c: Likewise.
21780 * disk/loopback.c: Likewise.
21781 * disk/lvm.c: Likewise.
21782 * disk/raid.c: Likewise.
21783 * disk/efi/efidisk.c: Likewise.
21784 * disk/i386/pc/biosdisk.c: Likewise.
21785 * disk/ieee1275/ofdisk.c: Likewise.
21786 * font/manager.c: Likewise.
21787 * fs/affs.c: Likewise.
21788 * fs/ext2.c: Likewise.
21789 * fs/fat.c: Likewise.
21790 * fs/fshelp.c: Likewise.
21791 * fs/hfs.c: Likewise.
21792 * fs/hfsplus.c: Likewise.
21793 * fs/iso9660.c: Likewise.
21794 * fs/jfs.c: Likewise.
21795 * fs/minix.c: Likewise.
21796 * fs/sfs.c: Likewise.
21797 * fs/ufs.c: Likewise.
21798 * fs/xfs.c: Likewise.
21799 * hello/hello.c: Likewise.
21800 * include/grub/acorn_filecore.h: Likewise.
21801 * include/grub/arg.h: Likewise.
21802 * include/grub/bitmap.h: Likewise.
21803 * include/grub/boot.h: Likewise.
21804 * include/grub/cache.h: Likewise.
21805 * include/grub/device.h: Likewise.
21806 * include/grub/disk.h: Likewise.
21807 * include/grub/dl.h: Likewise.
21808 * include/grub/elfload.h: Likewise.
21809 * include/grub/env.h: Likewise.
21810 * include/grub/err.h: Likewise.
21811 * include/grub/file.h: Likewise.
21812 * include/grub/font.h: Likewise.
21813 * include/grub/fs.h: Likewise.
21814 * include/grub/fshelp.h: Likewise.
21815 * include/grub/gzio.h: Likewise.
21816 * include/grub/hfs.h: Likewise.
21817 * include/grub/kernel.h: Likewise.
21818 * include/grub/loader.h: Likewise.
21819 * include/grub/lvm.h: Likewise.
21820 * include/grub/misc.h: Likewise.
21821 * include/grub/mm.h: Likewise.
21822 * include/grub/net.h: Likewise.
21823 * include/grub/normal.h: Likewise.
21824 * include/grub/parser.h: Likewise.
21825 * include/grub/partition.h: Likewise.
21826 * include/grub/pc_partition.h: Likewise.
21827 * include/grub/raid.h: Likewise.
21828 * include/grub/rescue.h: Likewise.
21829 * include/grub/script.h: Likewise.
21830 * include/grub/setjmp.h: Likewise.
21831 * include/grub/symbol.h: Likewise.
21832 * include/grub/term.h: Likewise.
21833 * include/grub/terminfo.h: Likewise.
21834 * include/grub/tparm.h: Likewise.
21835 * include/grub/types.h: Likewise.
21836 * include/grub/video.h: Likewise.
21837 * include/grub/efi/api.h: Likewise.
21838 * include/grub/efi/chainloader.h: Likewise.
21839 * include/grub/efi/console.h: Likewise.
21840 * include/grub/efi/console_control.h: Likewise.
21841 * include/grub/efi/disk.h: Likewise.
21842 * include/grub/efi/efi.h: Likewise.
21843 * include/grub/efi/pe32.h: Likewise.
21844 * include/grub/efi/time.h: Likewise.
21845 * include/grub/i386/linux.h: Likewise.
21846 * include/grub/i386/setjmp.h: Likewise.
21847 * include/grub/i386/types.h: Likewise.
21848 * include/grub/i386/efi/kernel.h: Likewise.
21849 * include/grub/i386/efi/loader.h: Likewise.
21850 * include/grub/i386/efi/time.h: Likewise.
21851 * include/grub/i386/pc/biosdisk.h: Likewise.
21852 * include/grub/i386/pc/boot.h: Likewise.
21853 * include/grub/i386/pc/chainloader.h: Likewise.
21854 * include/grub/i386/pc/console.h: Likewise.
21855 * include/grub/i386/pc/init.h: Likewise.
21856 * include/grub/i386/pc/kernel.h: Likewise.
21857 * include/grub/i386/pc/loader.h: Likewise.
21858 * include/grub/i386/pc/memory.h: Likewise.
21859 * include/grub/i386/pc/multiboot.h: Likewise.
21860 * include/grub/i386/pc/serial.h: Likewise.
21861 * include/grub/i386/pc/time.h: Likewise.
21862 * include/grub/i386/pc/vbe.h: Likewise.
21863 * include/grub/i386/pc/vbeblit.h: Likewise.
21864 * include/grub/i386/pc/vbefill.h: Likewise.
21865 * include/grub/i386/pc/vbeutil.h: Likewise.
21866 * include/grub/i386/pc/vga.h: Likewise.
21867 * include/grub/ieee1275/ieee1275.h: Likewise.
21868 * include/grub/ieee1275/ofdisk.h: Likewise.
21869 * include/grub/powerpc/libgcc.h: Likewise.
21870 * include/grub/powerpc/setjmp.h: Likewise.
21871 * include/grub/powerpc/types.h: Likewise.
21872 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21873 * include/grub/powerpc/ieee1275/console.h: Likewise.
21874 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21875 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21876 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21877 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21878 * include/grub/powerpc/ieee1275/time.h: Likewise.
21879 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21880 * include/grub/sparc64/libgcc.h: Likewise.
21881 * include/grub/sparc64/setjmp.h: Likewise.
21882 * include/grub/sparc64/types.h: Likewise.
21883 * include/grub/sparc64/ieee1275/console.h: Likewise.
21884 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21885 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21886 * include/grub/sparc64/ieee1275/time.h: Likewise.
21887 * include/grub/util/biosdisk.h: Likewise.
21888 * include/grub/util/getroot.h: Likewise.
21889 * include/grub/util/lvm.h: Likewise.
21890 * include/grub/util/misc.h: Likewise.
21891 * include/grub/util/raid.h: Likewise.
21892 * include/grub/util/resolve.h: Likewise.
21893 * io/gzio.c: Likewise.
21894 * kern/device.c: Likewise.
21895 * kern/disk.c: Likewise.
21896 * kern/dl.c: Likewise.
21897 * kern/elf.c: Likewise.
21898 * kern/env.c: Likewise.
21899 * kern/err.c: Likewise.
21900 * kern/file.c: Likewise.
21901 * kern/fs.c: Likewise.
21902 * kern/loader.c: Likewise.
21903 * kern/main.c: Likewise.
21904 * kern/misc.c: Likewise.
21905 * kern/mm.c: Likewise.
21906 * kern/parser.c: Likewise.
21907 * kern/partition.c: Likewise.
21908 * kern/rescue.c: Likewise.
21909 * kern/term.c: Likewise.
21910 * kern/efi/efi.c: Likewise.
21911 * kern/efi/init.c: Likewise.
21912 * kern/efi/mm.c: Likewise.
21913 * kern/i386/dl.c: Likewise.
21914 * kern/i386/efi/init.c: Likewise.
21915 * kern/i386/efi/startup.S: Likewise.
21916 * kern/i386/pc/init.c: Likewise.
21917 * kern/i386/pc/lzo1x.S: Likewise.
21918 * kern/i386/pc/startup.S: Likewise.
21919 * kern/ieee1275/ieee1275.c: Likewise.
21920 * kern/powerpc/cache.S: Likewise.
21921 * kern/powerpc/dl.c: Likewise.
21922 * kern/powerpc/ieee1275/cmain.c: Likewise.
21923 * kern/powerpc/ieee1275/crt0.S: Likewise.
21924 * kern/powerpc/ieee1275/init.c: Likewise.
21925 * kern/powerpc/ieee1275/openfw.c: Likewise.
21926 * kern/sparc64/cache.S: Likewise.
21927 * kern/sparc64/dl.c: Likewise.
21928 * kern/sparc64/ieee1275/init.c: Likewise.
21929 * kern/sparc64/ieee1275/openfw.c: Likewise.
21930 * loader/efi/chainloader.c: Likewise.
21931 * loader/efi/chainloader_normal.c: Likewise.
21932 * loader/i386/efi/linux.c: Likewise.
21933 * loader/i386/efi/linux_normal.c: Likewise.
21934 * loader/i386/pc/chainloader.c: Likewise.
21935 * loader/i386/pc/chainloader_normal.c: Likewise.
21936 * loader/i386/pc/linux.c: Likewise.
21937 * loader/i386/pc/linux_normal.c: Likewise.
21938 * loader/i386/pc/multiboot.c: Likewise.
21939 * loader/i386/pc/multiboot_normal.c: Likewise.
21940 * loader/powerpc/ieee1275/linux.c: Likewise.
21941 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21942 * normal/arg.c: Likewise.
21943 * normal/cmdline.c: Likewise.
21944 * normal/command.c: Likewise.
21945 * normal/completion.c: Likewise.
21946 * normal/execute.c: Likewise.
21947 * normal/function.c: Likewise.
21948 * normal/lexer.c: Likewise.
21949 * normal/main.c: Likewise.
21950 * normal/menu.c: Likewise.
21951 * normal/menu_entry.c: Likewise.
21952 * normal/misc.c: Likewise.
21953 * normal/parser.y: Likewise.
21954 * normal/script.c: Likewise.
21955 * normal/i386/setjmp.S: Likewise.
21956 * normal/powerpc/setjmp.S: Likewise.
21957 * normal/sparc64/setjmp.S: Likewise.
21958 * partmap/acorn.c: Likewise.
21959 * partmap/amiga.c: Likewise.
21960 * partmap/apple.c: Likewise.
21961 * partmap/gpt.c: Likewise.
21962 * partmap/pc.c: Likewise.
21963 * partmap/sun.c: Likewise.
21964 * term/gfxterm.c: Likewise.
21965 * term/terminfo.c: Likewise.
21966 * term/efi/console.c: Likewise.
21967 * term/i386/pc/console.c: Likewise.
21968 * term/i386/pc/serial.c: Likewise.
21969 * term/i386/pc/vesafb.c: Likewise.
21970 * term/i386/pc/vga.c: Likewise.
21971 * term/ieee1275/ofconsole.c: Likewise.
21972 * util/biosdisk.c: Likewise.
21973 * util/console.c: Likewise.
21974 * util/genmoddep.c: Likewise.
21975 * util/getroot.c: Likewise.
21976 * util/grub-emu.c: Likewise.
21977 * util/grub-mkdevicemap.c: Likewise.
21978 * util/grub-probe.c: Likewise.
21979 * util/lvm.c: Likewise.
21980 * util/misc.c: Likewise.
21981 * util/raid.c: Likewise.
21982 * util/resolve.c: Likewise.
21983 * util/update-grub.in: Likewise.
21984 * util/update-grub_lib.in: Likewise.
21985 * util/grub.d/00_header.in: Likewise.
21986 * util/grub.d/10_hurd.in: Likewise.
21987 * util/grub.d/10_linux.in: Likewise.
21988 * util/i386/efi/grub-install.in: Likewise.
21989 * util/i386/efi/grub-mkimage.c: Likewise.
21990 * util/i386/pc/grub-install.in: Likewise.
21991 * util/i386/pc/grub-mkimage.c: Likewise.
21992 * util/i386/pc/grub-mkrescue.in: Likewise.
21993 * util/i386/pc/grub-setup.c: Likewise.
21994 * util/i386/pc/misc.c: Likewise.
21995 * util/powerpc/ieee1275/grub-install.in: Likewise.
21996 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21997 * util/powerpc/ieee1275/misc.c: Likewise.
21998 * video/bitmap.c: Likewise.
21999 * video/video.c: Likewise.
22000 * video/i386/pc/vbe.c: Likewise.
22001 * video/i386/pc/vbeblit.c: Likewise.
22002 * video/i386/pc/vbefill.c: Likewise.
22003 * video/i386/pc/vbeutil.c: Likewise.
22004 * video/readers/tga.c: Likewise.
22005
3572d015 220062007-07-02 Robert Millan <rmh@aybabtu.com>
22007
22008 * conf/i386-efi.rmk: Replace obsolete reference to
22009 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22010 with util/getroot.c.
22011 * conf/powerpc-ieee1275.rmk: Likewise.
22012 * conf/sparc64-ieee1275.rmk: Likewise.
22013
22014 * util/grub-emu.c (main): Fix unchecked pointer handling.
22015
2c2a681b 220162007-07-02 Robert Millan <rmh@aybabtu.com>
22017
22018 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22019 invocation to fail, in order to support partition-less media.
22020
22021 * util/i386/pc/grub-install.in: Likewise.
22022
22023 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22024 which fs or partmap modules are needed (akin to its sister scripts).
22025
22026 Also use grub-probe to get rid of unportable /proc/mounts check.
22027
22028 Print the same informational message that the other scripts do, before
fe6b695a 22029 exiting.
2c2a681b 22030
6193defe 220312007-06-23 Robert Millan <rmh@aybabtu.com>
22032
fe6b695a 22033 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 22034 a font file can be found and, if so, echo the GRUB path to it.
22035
22036 * util/update-grub.in: Handle multiple terminals depending on user
22037 input, platform availability and font file presence. Propagate
22038 variables of our findings to /etc/grub.d/ children.
22039
22040 * util/grub.d/00_header.in: Handle multiple terminals, based on
22041 environment setup by update-grub.
22042
eface1dc 220432007-06-23 Robert Millan <rmh@aybabtu.com>
22044
ba50d28f 22045 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 22046
bf697e28 220472007-06-21 Robert Millan <rmh@aybabtu.com>
22048
22049 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22050 indicate end of data section in kernel image.
22051 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22052 GRUB_KERNEL_MACHINE_DATA_END.
22053
22054 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22055 space for it.
22056 * kern/i386/efi/startup.S: Likewise.
22057
22058 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22059 during image generation. Implement --prefix option to override this
22060 patch.
22061 * util/i386/efi/grub-mkimage.c: Likewise.
22062
22063 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22064 code to make path relative to its root into a separate function.
22065
22066 * util/i386/pc/grub-install.in: Use newly provided
22067 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22068 pass the result to grub-install --prefix.
22069
baa574b4 220702007-06-13 Robert Millan <rmh@aybabtu.com>
22071
22072 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22073 DEFAULT_DEVICE_MAP.
22074 * util/grub-emu.c: Use above definitions from misc.h instead of
22075 defining them.
22076 * util/grub-mkdevicemap.c: Likewise.
22077 * util/i386/pc/grub-setup.c: Likewise.
22078 * util/grub-probe.c: Likewise.
22079 (probe): Abort with grub_util_error() when either
22080 grub_guess_root_device or grub_util_get_grub_dev fails.
22081
0215dcbf 220822007-06-12 Robert Millan <rmh@aybabtu.com>
22083
22084 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22085 "pager" assignment.
22086 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22087 "pcdata".
22088 * util/grub-probe.c (probe): Likewise for "drive_name".
22089
8af2ab7b 220902007-06-11 Robert Millan <rmh@aybabtu.com>
22091
22092 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22093 not just the cdrom one.
22094
59d31694 220952007-06-11 Robert Millan <rmh@aybabtu.com>
22096
22097 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22098 Add --pkglibdir=DIR option to override pkglibdir.
22099 Mention --image-type=TYPE in help output.
22100 Fix --grub-mkimage (it was a no-op).
fe6b695a 22101 Abort gracefully when no parameter is given.
59d31694 22102
7ee367e4 221032007-06-11 Robert Millan <rmh@aybabtu.com>
22104
22105 * util/i386/pc/grub-mkrescue.in: New file.
22106 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22107 * Makefile.in: Handle bin_SCRIPTS.
22108
29b0ed46 221092007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22110
22111 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22112 list of video modes.
22113
c0f90770 221142007-06-06 Robert Millan <rmh@aybabtu.com>
22115
22116 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22117 file doesn't exist, or if it is in a filesystem grub can't read.
22118
22119 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22120 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22121 header comment to fit in 80 columns when the variables are resolved.
22122
22123 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22124 could be identified by update-grub. Remove redundant check for
fe6b695a 22125 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 22126 handles that).
22127
fb36dc26 221282007-06-04 Robert Millan <rmh@aybabtu.com>
22129
22130 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22131
22132 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22133
22134 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22135
0c68c93e 221362007-06-04 Robert Millan <rmh@aybabtu.com>
22137
22138 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22139
22140 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22141 grub_apple_partition_map_fini.
22142
22143 * util/biosdisk.c
22144 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22145 to access >2 TiB disks).
22146
22147 Print disk->total_sectors with %llu instead of %lu, since this
22148 variable is always 64-bit (prevents wrong disk size from being displayed
22149 on either >2 TiB disk or big-endian CPU).
22150
22151 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22152 into a generic case that supports all (sane) partition maps.
22153
22154 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22155 breaks big-endian.
22156
22157 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22158 and grub_apple_partition_map_fini() after that.
22159
0f23eb74 221602007-06-01 Robert Millan <rmh@aybabtu.com>
22161
22162 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22163
22164 * util/grub.d/00_header.in: Only enable gfxterm when
22165 convert_system_path_to_grub_path() succeeds.
22166
42c71976 221672007-05-20 Robert Millan <rmh@aybabtu.com>
22168
22169 * util/update-grub_lib.in: New file.
22170 * DISTLIST: Add update-grub_lib.in.
22171 * conf/common.rmk: Generate update-grub_lib and install it in
22172 $(lib_DATA).
22173 * Makefile.in: Add install routine for $(lib_DATA).
22174
22175 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22176 function provided by update-grub_lib to support arbitrary paths of
22177 unifont.pff.
22178 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22179 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22180
5beb2291 221812007-05-19 Robert Millan <rmh@aybabtu.com>
22182
22183 * commands/i386/cpuid.c: New module.
22184 * DISTLIST: Add it.
22185 * conf/i386-efi.rmk: Enable cpuid.mod.
22186 * conf/i386-pc.rmk: Likewise.
22187
7262eca1 221882007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22189
22190 * kern/disk.c (grub_disk_read): Check return value of
22191 grub_realloc().
22192
260ba823 221932007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22194
22195 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22196 arrays.
22197 * disk/raid.c (grub_raid_open): Likewise.
22198
1ecb6cf2 221992007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22200
22201 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22202 stack instead of on the heap.
22203
22204 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22205 before doing a read on it.
22206
22207 * configure.ac: Only use -fno-stack-protector for the target
22208 environment.
f19dbdb7 22209
21c8cbb1 222102007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22211
22212 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22213 __attribute_ ((unused)) to mode_type argument.
22214
22215 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 22216
21c8cbb1 22217 * kern/misc.c (memcmp): Fix prototype.
22218
22219 * include/grub/partition.h [GRUB_UTIL]
22220 (grub_gpt_partition_map_init): Add prototype.
22221 (grub_gpt_partition_map_fini): Likewise.
22222
22223 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22224 at the right place.
22225
22226 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22227 (grub_fat_read_data): Likewise.
22228 (grub_fat_find_dir): Likewise.
22229
22230 * font/manager.c (find_glyph): Make table a const.
22231 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 22232
849d55d3 222332007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22234
22235 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22236 code, first search for device in /dev/mapper, then in /dev.
22237 (grub_util_get_grub_dev): New function.
22238 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22239 prototype.
22240 * util/grub-probe.c (probe): Remove check for RAID, call
22241 grub_util_get_grub_dev() instead of
22242 grub_util_biosdisk_get_grub_dev().
22243 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22244 grub_util_biosdisk_get_grub_dev().
22245 * util/i386/pc/grub-setup.c (main): Likewise.
22246
8fff7c2f 222472007-05-16 Robert Millan <rmh@aybabtu.com>
22248
22249 * DISTLIST: Update for the latest changes.
22250 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22251 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22252 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22253 grub/util/biosdisk.h.
22254 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22255 grub/util/biosdisk.h.
22256
48e12b52 222572007-05-16 Robert Millan <rmh@aybabtu.com>
22258
22259 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22260
46b9d128 222612007-05-16 Robert Millan <rmh@aybabtu.com>
22262
22263 * util/i386/efi/grub-install.in: New.
22264 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22265 newly added grub-install.
22266 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22267 include.
22268 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22269 grub/util/biosdisk.h.
22270 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22271 grub/util/biosdisk.h.
22272
2d1a40a9 222732007-05-16 Robert Millan <rmh@aybabtu.com>
22274
22275 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22276 * include/grub/util/biosdisk.h: ... here.
22277 * util/i386/pc/biosdisk.c: Moved to ...
22278 * util/biosdisk.c: ... here.
22279 * util/i386/pc/getroot.c: Moved to ...
22280 * util/getroot.c: ... here.
22281 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22282 * util/grub-mkdevicemap.c: ... here.
22283 * util/i386/pc/grub-probe.c: Moved to ...
22284 * util/grub-probe.c: ... here.
22285
9e26e3bc 222862007-05-15 Robert Millan <rmh@aybabtu.com>
22287
22288 * util/update-grub.in: Remove duplicated line in grub.cfg header
22289 message.
22290
57f96397 222912007-05-13 Robert Millan <rmh@aybabtu.com>
22292
22293 * util/update-grub.in: Fix a few assumptions about the devices holding
22294 /, /boot and /boot/grub being the same.
22295 * util/grub.d/00_header.in: Likewise.
22296 * util/grub.d/10_hurd.in: Likewise.
22297 * util/grub.d/10_linux.in: Likewise.
22298
22299 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22300 patterns. Use that to define the `.old' suffix as older than `'.
22301
22302 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22303
22304 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22305 the grub.cfg header message.
22306
2e610d62 223072007-05-11 Robert Millan <rmh@aybabtu.com>
22308
22309 * util/update-grub.in: Create device.map if it doesn't already exist,
22310 before attempting to run grub-probe.
22311 Check for grub-probe and grub-mkdevicemap with the same code
22312 grub-install is using.
22313 Remove test mode.
22314
3f6a10ef 223152007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22316
22317 * Makefile.in: Add the datarootdir autoconf variable.
22318
02e7b75e 223192007-05-09 Robert Millan <rmh@aybabtu.com>
22320
22321 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 22322 fail gracefully if dev->disk->partition == NULL.
02e7b75e 22323
75f396cc 223242007-05-07 Robert Millan <rmh@aybabtu.com>
22325
22326 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22327 determine partition map module.
22328 * util/i386/pc/grub-install.in: Use this feature to decide which
22329 partition module to load, instead of hardcoding pc and gpt.
22330
da65cb36 223312007-05-07 Robert Millan <rmh@aybabtu.com>
22332
22333 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22334 source directory differs from build directory.
22335
b57d6a91 223362007-05-05 Robert Millan <rmh@aybabtu.com>
22337
22338 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22339 initialisation.
22340
509d00f1 223412007-05-05 Robert Millan <rmh@aybabtu.com>
22342
22343 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22344
c48f23ef 223452007-05-05 Robert Millan <rmh@aybabtu.com>
22346
22347 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22348 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22349
20b97658 223502007-05-05 Robert Millan <rmh@aybabtu.com>
22351
22352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22353 (grub_probe_SOURCES): Likewise.
22354 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22355 GPT and initialize dos_part and bsd_part accordingly.
22356 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22357 install_bsd_part.
22358 (main): Activate gpt module for use during partition identification,
22359 and deactivate it afterwards.
22360 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22361 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22362 partition identification, and deactivate it afterwards.
22363
99123174 223642007-05-05 Robert Millan <rmh@aybabtu.com>
22365
22366 * term/i386/pc/console.c (grub_console_fini): Call
22367 grub_term_set_current() before grub_term_unregister().
22368
ebd97f6e 223692007-05-04 Robert Millan <rmh@aybabtu.com>
22370
22371 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22372 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22373 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22374 and update-grub_DATA.
22375 * conf/common.rmk: Build and install update-grub components.
22376 * conf/common.mk: Regenerate.
22377 * util/update-grub.in: New. Core of update-grub.
22378 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22379 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22380 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22381 * util/grub.d/README: New. Document grub.d directory layout.
22382
b06a264d 223832007-05-01 Robert Millan <rmh@aybabtu.com>
22384
22385 * util/grub-emu.c: Move initialization functions
22386 grub_util_biosdisk_init() and grub_init_all() before
22387 grub_util_biosdisk_get_grub_dev(), which relies on them.
22388
41f0050e 223892007-04-19 Robert Millan <rmh@aybabtu.com>
22390
22391 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22392 it is used later.
22393
04582bb3 223942007-04-18 Jerone Young <jerone@gmail.com>
22395
f19dbdb7 22396 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 22397 stanza.
22398
08db4632 223992007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 22400
08db4632 22401 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22402 continue on and look for device node with real device name.
22403
801b76be 224042007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 22405
fe6b695a 22406 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 22407 ability.
22408 * Makefile.in: Add autoconf package transformation code.
22409 * util/i386/pc/grub-install.in: Likewise.
22410 * util/powerpc/ieee1275/grub-install.in: Likewise.
22411
6795c4e1 224122007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22413
22414 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22415 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22416 (EXT2_REVISION): Likewise.
22417 (EXT2_INODE_SIZE): Likewise.
22418 (struct grub_ext2_block_group): Added a missing member
22419 "used_dirs".
22420 (grub_ext2_read_inode): Divide by the inode size in a superblock
22421 instead of 128 to obtain INODES_PER_BLOCK.
22422 Use the macro EXT2_INODE_SIZE instead of directly using
22423 SBLOCK->INODE_SIZE.
22424
d70af616 224252007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22426
22427 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22428 superblock instead of the structure size to compute an
22429 offset. This fixes the problem that GRUB could not read a
22430 filesystem when inode size is different from 128-byte.
22431
3b801603 224322007-03-05 Marco Gerards <marco@gnu.org>
22433
22434 * normal/main.c (read_config_file): When "menu" is not set, create
22435 an initial context.
22436
4785bfe4 224372007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22438
22439 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22440 (HEAP_LIMIT): New macro.
22441 (grub_claim_heap): Claim memory up to `heaplimit'.
22442
a0cbb023 224432007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22444
22445 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22446 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22447 (_start): Likewise.
22448 (grub_arch_modules_addr): Return address after `_end'.
22449 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22450 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22451 (add_segments): Calculate `_end' from phdr size and location.
22452 (ALIGN_UP): Moved to ...
22453 * include/grub/misc.h: here.
22454 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22455 New macro.
22456 (GRUB_IEEE1275_MODULE_BASE): Removed.
22457
fd7d8eba 224582007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22459
22460 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22461 loop boundary.
22462
9b09e6fc 224632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22464
22465 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22466 All users updated.
22467 (grub_elf64_load_hook_t): Likewise.
22468 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22469 debug output.
22470
3ce27299 224712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22472
22473 * kern/mm.c: Update copyright.
22474 (grub_mm_debug): Correct syntax error.
22475 (grub_mm_dump_free): New function.
22476 (grub_debug_free): Call `grub_free'.
22477 * include/grub/mm.h: Update copyright.
22478 (grub_mm_dump_free): Add declaration.
22479
077d5fee 224802007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22481
22482 * include/grub/ieee1275/ieee1275.h: Update copyright.
22483 * kern/powerpc/ieee1275/init.c: Likewise.
22484 * kern/powerpc/ieee1275/openfw.c: Likewise.
22485
22486 * loader/powerpc/ieee1275/linux.c: Likewise.
22487 * include/grub/elfload.h: Likewise.
22488 * kern/elf.c: Likewise.
22489 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22490 callers.
22491 (grub_elf64_load): Likewise.
22492 (grub_elf32_load_segment): Move to a nested function.
22493 (grub_elf64_load_segment): Likewise.
22494
dc946850 224952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22496
22497 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22498 prototype.
22499 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22500 (grub_heap_len): Likewise.
22501 (HEAP_SIZE): New macro.
22502 (grub_claim_heap): New function.
22503 (grub_machine_init): Don't claim heap directly. Call
22504 `grub_claim_heap'.
22505 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22506 (grub_available_iterate): New function.
22507
baa2a121 225082007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22509
22510 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22511 * configure.ac: Use it for testing the HOST and TARGET compilers.
22512
4fe9862e 225132006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22514
22515 * Makefile.in (enable_grub_emu): New variable.
22516 * configure.ac (--enable-grub-emu): New option.
22517 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22518 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22519 * conf/i386-pc.rmk: Likewise.
22520 * conf/powerpc-ieee1275.rmk: Likewise.
22521 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22522
a8aa5762 225232006-12-12 Marco Gerards <marco@gnu.org>
22524
22525 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22526
22527 * kern/env.c (grub_env_unset): Don't free the member `value' when
22528 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22529 pointer.
22530
22531 * normal/main.c (current_menu): Removed.
22532 (free_menu): Unset the `menu' environment variable.
22533 (grub_normal_menu_addentry): Make use of the environment variable
22534 `menu', instead of using the global `current_menu'. Allocate
22535 memory for the sourcecode of this entry.
22536 (read_config_file): New argument `nested', changed all callers.
22537 Only in the case of a new context, initialize a new menu. Set the
22538 `menu' environment variable.
22539 (grub_normal_execute): Don't set and unset the environment
22540 variable `menu' here anymore. Only free the menu when leaving the
22541 context.
22542
22543 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22544 leak.
22545
957b3a3e 225462006-12-11 Marco Gerards <marco@gnu.org>
22547
22548 * normal/menu_entry.c (run): Fix off by one bug so the last line
22549 is executed. Move the loader check to outside the loop.
22550
ef875714 225512006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22552
22553 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22554
4e739985 225552006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22556
22557 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22558 the number of sectors. Reported by Andrey Shuvikov
22559 <mr_hyro@yahoo.com>.
f19dbdb7 22560
790707f2 225612006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22562
22563 * kern/disk.c (grub_disk_read): When there is a read error, always
22564 try to read only the necessary data.
f19dbdb7 22565
790707f2 22566 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22567 disk/raid.c.
22568 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22569 prototype.
22570 [GRUB_UTIL] (grub_raid_fini): Likewise.
22571 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 22572 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 22573 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22574 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22575 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22576 and grub_raid_fini().
f19dbdb7 22577
03e58196 225782006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22579
22580 * include/grub/types.h (__unused): Rename to UNUSED.
22581 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22582 (grub_elf64_size): Likewise.
f19dbdb7 22583
ae4f23bf 225842006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22585
22586 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22587 grub_error_push and grub_error_pop in the error-handling path.
22588 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22589 length.
22590
2166cc83 225912006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22592
22593 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22594 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22596 (kernel_elf_SOURCES): Likewise.
22597 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22598 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22599 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22600 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22601 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22602 (elf_mod_SOURCES): New variable.
22603 (elf_mod_CFLAGS): Likewise.
22604 (elf_mod_LDFLAGS): Likewise.
22605 * include/grub/types.h (__unused): New macro.
22606 * include/grub/elfload.h: New file.
22607 * kern/elf.c: Likewise.
22608 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22609 (ELF32_LOADMASK): New macro.
22610 (ELF64_LOADMASK): Likewise.
22611 (vmlinux): Removed.
22612 (grub_linux_load32): New function.
22613 (grub_linux_load64): Likewise.
22614 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22615 Use grub_elf_t instead of grub_file_t.
22616
a09d5aa5 226172006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22618
22619 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22620 `catch_result' to struct set_color_args.
22621
d976fc51 226222006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22623
22624 * normal/menu.c: Include grub/script.h.
22625 * normal/menu_entry.c: Likewise.
22626 * include/grub/normal.h: Do not include grub/script.h.
22627
67507549 226282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22629
22630 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22631
69203a99 226322006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22633
22634 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22635 disk.
22636 (grub_disk_close): Print debug messages when closing a disk.
22637 (grub_disk_read): Print debug messages when disk read fails.
22638 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22639 filesystem type.
22640 * kern/partition.c: Include misc.h.
22641 (grub_partition_iterate): Print debug messages when detecting
22642 partition type.
22643
e2b8278c 226442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22645
22646 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22647 is negative.
22648 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22649
97b2f2ff 226502006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22651
22652 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22653 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22654
6555d655 226552006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22656
22657 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22658 instead of sizeof(lv). Patch by Michael Guntsche.
22659
4d42b77f 226602006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22661
22662 * disk/lvm.c: Rename VGS to VG_LIST.
22663 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22664 (grub_lvm_open): Likewise.
22665 Thanks to Michael Guntsche for finding this bug.
22666
5d74d927 226672006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22668
22669 * configure.ac (AC_INIT): Bumped to 1.95.
22670
a1bb27e4 226712006-10-14 Robert Millan <rmh@aybabtu.com>
22672
22673 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22674 with "/dev/.static/dev/md".
22675
e0994b8b 226762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22677
22678 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22679 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22680 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22681 DRIVE_NAME are always freed.
22682
22683 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22684 DOS_PART, as a DOS partition is counted from one instead of zero
22685 now. Reported by Robert Millan.
22686
ddd5cee9 226872006-10-14 Robert Millan <rmh@aybabtu.com>
22688
22689 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22690 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22691 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22692 string returned by grub_guess_root_device.
22693 * util/i386/pc/grub-setup.c: Likewise.
22694 * util/i386/pc/grub-probefs.c: Likewise.
22695
22696 * util/i386/pc/grub-probefs.c: Rename to ...
22697 * util/i386/pc/grub-probe.c: ... this.
22698 * DISTLIST: Remove grub-probefs, add grub-probe.
22699 * conf/i386-efi.rmk: Likewise.
22700 * conf/i386-pc.rmk: Likewise.
22701 * util/i386/pc/grub-install.in: Likewise.
22702
22703 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22704 choose which information we want to print.
22705
2b002173 227062006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22707
22708 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22709 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22710 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22711 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22712 video/readers/tga.c and video/i386/pc/vbeutil.c.
22713
227142006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22715
22716 Added support for RAID and LVM.
f19dbdb7 22717
2b002173 22718 * disk/lvm.c: New file.
22719 * disk/raid.c: Likewise.
22720 * include/grub/lvm.h: Likewise.
f19dbdb7 22721 * include/grub/raid.h: Likewise.
2b002173 22722 * include/grub/util/lvm.h: Likewise.
22723 * include/grub/util/raid.h: Likewise.
22724 * util/lvm.c: Likewise.
22725 * util/raid.c: Likewise.
22726
22727 * include/grub/disk.h (grub_disk_dev_id): Add
22728 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22729 (grub_disk_get_size): New prototype.
22730 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22731 returns a partition.
22732 (grub_disk_get_size): New function.
f19dbdb7 22733
2b002173 22734 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22735 verbatim if grub_install_dos_part is -2.
22736
22737 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22738 and LVM devices.
22739
22740 * util/i386/pc/grub-setup.c (setup): New argument
22741 MUST_EMBED. Force embedding of GRUB when the argument is
22742 true. Close FILE before returning.
22743 (main): Add support for RAID and LVM.
f19dbdb7 22744
2b002173 22745 * conf/common.rmk: Add RAID and LVM modules.
22746 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22747 util/lvm.c.
22748 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22749
22750 * kern/misc.c (grub_strstr): New function.
22751 * include/grub/misc.h (grub_strstr): New prototype.
22752
050548d0 227532006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22754
22755 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22756
da849d2d 227572006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22758
22759 * kern/misc.c (grub_strtoull): Guess the base only if not
22760 specified.
22761
97b2f2ff 227622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 22763
22764 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22765 PowerMac support.
22766
97b2f2ff 227672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 22768
22769 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22770
22771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22772 Remove `flags' argument. All callers changed.
22773 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22774 (IEEE1275_IHANDLE_INVALID): New variable.
22775 (IEEE1275_CELL_INVALID): New variable.
22776 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22777 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22778 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22779 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22780 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22781 codes from Open Firmware. All callers updated.
22782 (grub_ieee1275_next_property): Directly return Open Firmware return
22783 code.
22784 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22785 Standardize error checking from `grub_ieee1275_get_property'.
22786 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22787 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22788
97b2f2ff 227892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 22790
22791 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22792 `instance_to_package_args' to `instance_to_path_args'.
22793
22794 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22795 `grub_ieee1275_chosen'.
22796
22797 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22798 `grub_ieee1275_interpret'.
22799
97b2f2ff 228002006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 22801
22802 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22803
97b2f2ff 228042006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 22805
22806 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22807 (__cmpdi): Likewise.
22808
22809 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22810 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22811 `grub_ssize_t'.
22812
02bb8acc 22813 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 22814
22815 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22816 to type `grub_ssize_t'.
22817 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22818
7f9a8531 228192006-09-22 Marco Gerards <marco@gnu.org>
22820
22821 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22822 newlines.
22823
b5ef1102 228242006-09-22 Marco Gerards <marco@gnu.org>
22825
22826 * commands/echo.c: New file.
22827
22828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22829
22830 * conf/common.rmk (echo_mod_SOURCES): New variable.
22831 (echo_mod_CFLAGS): Likewise.
22832 (echo_mod_LDFLAGS): Likewise.
22833
2cff3677 228342006-09-22 Marco Gerards <marco@gnu.org>
22835
22836 * normal/main.c (get_line): Malloc memory instead of using
22837 preallocated memory. Removed the arguments `cmdline' and
22838 `max_len'. Updated all callers.
22839
6ba4688b 228402006-09-22 Marco Gerards <marco@gnu.org>
22841
22842 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22843 (normal_mod_DEPENDENCIES): Likewise.
22844
22845 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22846 (normal_mod_DEPENDENCIES): Likewise.
22847
22848 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22849
e02ac02c 228502006-09-22 Johan Rydberg <jrydberg@gnu.org>
22851
22852 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22853 programs.
22854 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22855 (normal_mod_DEPENDENCIES): Likewise.
22856 * conf/i386-pc.mk: Regenerate.
22857 * conf/i386-efi.mk: Likewise
22858 * conf/common.mk: Likewise.
22859 * conf/powerpc-ieee1275.mk: Likewise.
22860 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 22861
8d252e44 228622006-09-22 Robert Millan <rmh@aybabtu.com>
22863
22864 Sync with i386 version.
22865 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22866 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22867
209bf7ac 228682006-09-21 Robert Millan <rmh@aybabtu.com>
22869
22870 Import from GRUB Legacy (lib/device.c):
22871 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22872 (init_device_map) [__linux__]: Add support for I2O devices.
22873
6b146090 228742006-09-14 Marco Gerards <marco@gnu.org>
22875
22876 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22877 `-melf_i386'.
22878
e38600a8 228792006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 22880
22881 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22882 /boot/grub/*.lst.
78fa1790 22883
2952da5d 22884 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 22885
2952da5d 22886 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22887 before adding it to device.map.
22888
01b82a64 228892006-08-15 Johan Rydberg <jrydberg@gnu.org>
22890
fe6b695a 22891 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 22892 compiles a file; using the -MD option.
22893 * conf/common.mk: Regenerate.
22894 * conf/i386-pc.mk: Likewise.
22895 * conf/i386-efi.mk: Likewise.
22896 * conf/powerpc-ieee1275.mk: Likewise.
22897 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 22898
1064790d 228992006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22900
22901 Move the prototypes of grub_setjmp and grub_longjmp to
22902 cpu/setjmp.h, so that each architecture may specify different
22903 attributes.
f19dbdb7 22904
1064790d 22905 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22906 (grub_longjmp): Likewise.
22907 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22908 (grub_longjmp): Likewise.
22909 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22910 (grub_longjmp): Likewise.
22911
22912 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22913 [!GRUB_UTIL] (grub_longjmp): Removed.
22914
29dda3ed 229152006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22916
22917 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22918 "color!" method does not return any value.
22919
ad2a06ed 229202006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22921
22922 * include/grub/bitmap.h: New file.
22923
22924 * include/grub/i386/pc/vbeutil.h: Likewise.
22925
22926 * video/bitmap.c: Likewise.
22927
22928 * video/readers/tga.c: Likewise.
22929
22930 * video/i386/pc/vbeutil.c: Likewise.
22931
22932 * commands/videotest.c: Code cleanup and updated to reflect to new
22933 video API.
22934
22935 * term/gfxterm.c: Likewise.
22936
22937 * video/video.c: Likewise.
22938
22939 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22940 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22941 (bitmap_mod_SOURCES): New entry.
22942 (bitmap_mod_CFLAGS): Likewise.
22943 (bitmap_mod_LDFLAGS): Likewise.
22944 (tga_mod_SOURCES): Likewise.
22945 (tga_mod_CFLAGS): Likewise.
22946 (tga_mod_LDFLAGS): Likewise.
22947
22948 * include/grub/video.h (grub_video_blit_operators): New enum type.
22949 (grub_video_render_target): Changed as forward declaration and moved
22950 actual definition to be video driver specific.
22951 (grub_video_adapter.blit_bitmap): Added blitting operator.
22952 (grub_video_adapter.blit_render_target): Likewise.
22953 (grub_video_blit_bitmap): Likewise.
22954 (grub_video_blit_render_target): Likewise.
22955
22956 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22957 driver specific render target definition.
22958 (grub_video_vbe_map_rgba): Added driver internal helper.
22959 (grub_video_vbe_unmap_color): Updated to use
22960 grub_video_i386_vbeblit_info.
22961 (grub_video_vbe_get_video_ptr): Likewise.
22962
22963 * include/grub/i386/pc/vbeblit.h
22964 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22965 grub_video_i386_vbeblit_info.
22966 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22967 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22970 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22971 (grub_video_i386_vbeblit_index_index): Likewise.
22972 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22974 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22975 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22976 operator.
22977 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22978 operator.
22979
22980 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22981 include/grub/i386/pc/vbeblit.h.
22982
22983 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22984 Updated to use grub_video_i386_vbeblit_info.
22985 (grub_video_i386_vbefill_R8G8B8): Likewise.
22986 (grub_video_i386_vbefill_index): Likewise.
22987 (grub_video_i386_vbefill): Added generic filler.
22988
22989 * video/i386/pc/vbefill.c: Updated to reflect changes on
22990 include/grub/i386/pc/vbefill.h.
22991
22992 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22993 grub_video_i386_vbeblit_info.
22994 (grub_video_vbe_unmap_color): Likewise.
22995 (grub_video_vbe_blit_glyph): Likewise.
22996 (grub_video_vbe_scroll): Likewise.
22997 (grub_video_vbe_draw_pixel): Removed function.
22998 (grub_video_vbe_get_pixel): Likewise.
22999 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23000 updated code to use it.
23001 (common_blitter): Added common blitter for render target and bitmap.
23002 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23003 (grub_video_vbe_blit_render_target): Likewise.
23004
bc8c036d 230052006-07-30 Johan Rydberg <jrydberg@gnu.org>
23006
23007 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23008 is in text mode if there is no console control protocol instance
23009 available.
23010
684a8eff 230112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23012
23013 * include/grub/video.h: Code cleanup.
23014
23015 * include/grub/i386/pc/vbe.h: Likewise.
23016
23017 * video/i386/pc/vbe.c: Likewise.
23018
23019 * video/i386/pc/vbeblit.c: Likewise.
23020
23021 * video/i386/pc/vbefill.c: Likewise.
23022
23023 * video/video.c: Likewise. Also added more comments.
23024
5915059b 230252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23026
23027 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23028 (struct grub_biosdisk_dap): Likewise.
23029
23030 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23031 linkage settings for all functions.
23032
90ce5d56 230332006-07-12 Marco Gerards <marco@gnu.org>
23034
23035 * configure.ac (--enable-mm-debug): Fix typo.
23036
23037 * genkernsyms.sh.in: Use proper quoting for `CC'.
23038
43e7f879 230392006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23040
23041 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23042 (normal_mod_ASFLAGS): Remove "-m32".
23043
4889bdec 230442006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23045
23046 * util/misc.c: Include config.h.
23047 [!HAVE_MEMALIGN]: Do not include malloc.h.
23048 (grub_memalign): Use posix_memalign, if present. Then, use
23049 memalign, if present. Otherwise, emit an error.
23050
23051 * util/grub-emu.c: Do not include malloc.h.
23052
23053 * include/grub/util/misc.h: Include unistd.h. This is required for
23054 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23055 D. Eades III <hde@foobar-qux.org>.
23056
23057 * configure.ac (AC_GNU_SOURCE): Added.
23058 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23059 type.
23060
fd39d4da 230612006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23062
23063 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23064 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23065
b786f3b5 230662006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23067
23068 * include/grub/types.h (grub_host_addr_t): Rename to
23069 grub_target_addr_t.
23070 (grub_host_off_t): Rename to grub_target_off_t.
23071 (grub_host_size_t): Rename to grub_target_size_t.
23072 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23073 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23074
23075 * include/grub/kernel.h (struct grub_module_header): Change type
23076 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23077 (grub_module_info): Likewise.
f19dbdb7 23078
051988bb 230792006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23080
23081 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23082 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23083 Velazquez <jesus.velazquez@gmail.com>.
23084
deae281b 230852006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23086
23087 Count partitions from 1 instead of 0 in the string representation
23088 of partitions. Still use 0-based internally.
f19dbdb7 23089
deae281b 23090 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23091 (sun_partition_map_iterate): Use grub_partition_t instead of
23092 struct grub_partition *. Cast DESC->START_CYLINDER to
23093 grub_uint64_t after converting the endian.
23094 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23095 (sun_partition_map_get_name): Add 1 to P->INDEX.
23096
23097 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23098 PCDATA->DOS_PART.
23099 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23100
23101 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23102 zero instead of one.
23103 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23104 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23105
23106 * partmap/apple.c (apple_partition_map_iterate): Change the type
23107 of POS to unsigned.
23108 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23109 (apple_partition_map_get_name): Add 1 into P->INDEX.
23110
23111 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23112 of POS to unsigned.
23113 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23114 calculate the offset of a partition.
23115 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23116 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23117
23118 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23119 SECTOR to grub_disk_addr_t.
23120 (acorn_partition_map_iterate): Likewise.
23121 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23122 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23123 top.
23124 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23125
23126 * kern/i386/pc/init.c (make_install_device): Add 1 into
23127 GRUB_INSTALL_DOS_PART.
23128
23129 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23130 conditional.
23131
524a1e6a 231322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23133
23134 Clean up the code to support 64-bit addressing in disks and
23135 files. This change is not enough for filesystems yet.
f19dbdb7 23136
524a1e6a 23137 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23138 type of "start" to grub_uint64_t.
23139 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23140 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23141 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23142 convert addresses.
23143
23144 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23145 to grub_disk_addr_t.
23146
23147 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23148 string.
23149
23150 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23151
23152 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23153 to char *.
23154
23155 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23156
23157 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23158
23159 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23160
23161 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23162 to grub_off_t, to detect an error from grub_file_seek.
23163 (grub_multiboot_load_elf32): Likewise.
23164
23165 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23166 maximum unsigned long value when an overflow is detected.
23167 (grub_strtoull): New function.
23168 (grub_divmod64): Likewise.
23169 (grub_lltoa): use grub_divmod64.
23170
23171 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23172 grub_disk_addr_t.
23173 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23174 the pointer to next character. Use grub_strtoull instead of
23175 grub_strtoul.
23176 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23177 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23178 respectively.
23179
fe6b695a 23180 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 23181 return value is signed.
23182 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23183 test if OFFSET is less than zero, as OFFSET is unsigned now.
23184
23185 * kern/disk.c (struct grub_disk_cache): Change the type of
23186 "sector" to grub_disk_addr_t.
23187 (grub_disk_cache_get_index): Change the type of SECTOR to
23188 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23189 unsigned after shifting.
23190 (grub_disk_cache_invalidate): Change the type of SECTOR to
23191 grub_disk_addr_t.
23192 (grub_disk_cache_unlock): Likewise.
23193 (grub_disk_cache_store): Likewise.
23194 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23195 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23196 grub_disk_addr_t and grub_uint64_t, respectively.
23197 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23198 body, as the value of OFFSET is tweaked by
23199 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23200 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23201 respectively.
23202 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23203 body, as the value of OFFSET is tweaked by
23204 grub_disk_check_range. Change the types of LEN and N to
23205 grub_size_t.
23206
23207 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23208 and "saved_offset" to grub_off_t.
23209 (test_header): Cast BUF to char *.
23210 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23211 to char *.
23212 (grub_gzio_read): Change the types of OFFSET and SIZE to
23213 grub_off_t and grub_size_t, respectively.
23214
23215 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23216 Removed.
23217 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23218 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23219 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23220 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23221 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23222
23223 * include/grub/types.h (grub_off_t): Unconditionally set to
23224 grub_uint64_t.
23225 (grub_disk_addr_t): Changed to grub_uint64_t.
23226
23227 * include/grub/partition.h (struct grub_partition): Change the
23228 types of "start", "len" and "offset" to grub_disk_addr_t,
23229 grub_uint64_t and grub_disk_addr_t, respectively.
23230 (grub_partition_get_start): Return grub_disk_addr_t.
23231 (grub_partition_get_len): Return grub_uint64_t.
23232
23233 * include/grub/misc.h (grub_strtoull): New prototype.
23234 (grub_divmod64): Likewise.
23235
23236 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23237 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23238 grub_off_t, respectively.
23239 All callers and references changed.
23240
23241 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23242 grub_size_t in "read".
23243 All callers and references changed.
23244
23245 * include/grub/file.h (struct grub_file): Change the types of
23246 "offset" and "size" to grub_off_t and grub_off_t,
23247 respectively. Change the type of SECTOR to grub_disk_addr_t in
23248 "read_hook".
23249 (grub_file_read): Change the type of LEN to grub_size_t.
23250 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23251 grub_off_t.
23252 (grub_file_size): Return grub_off_t.
23253 (grub_file_tell): Likewise.
23254 All callers and references changed.
23255
23256 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23257 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23258 "write".
23259 (struct grub_disk): Change the type of "total_sectors" to
23260 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 23261 "read_hook".
524a1e6a 23262 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23263 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23264 (grub_disk_write): Likewise.
23265 All callers and references changed.
23266
23267 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23268 char * for grub_strncmp to silence gcc.
23269 (grub_iso9660_mount): Likewise.
23270 (grub_iso9660_mount): Likewise.
23271 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23272 return statement.
23273 (grub_iso9660_iterate_dir): Likewise.
23274 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23275
23276 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23277 LEN to grub_disk_addr_t and grub_size_t, respectively.
23278
23279 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23280
23281 * fs/jfs.c (grub_jfs_read_file): Likewise.
23282
23283 * fs/minix.c (grub_jfs_read_file): Likewise.
23284
23285 * fs/sfs.c (grub_jfs_read_file): Likewise.
23286
23287 * fs/ufs.c (grub_jfs_read_file): Likewise.
23288
23289 * fs/xfs.c (grub_jfs_read_file): Likewise.
23290
23291 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23292 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23293 respectively.
23294
23295 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23296 BLKNR to -1 instead of returning GRUB_ERRNO.
23297 (grub_ext2_read_file): Change the types of SECTOR and
23298 LEN to grub_disk_addr_t and grub_size_t, respectively.
23299
23300 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23301 LEN to grub_disk_addr_t and grub_size_t, respectively.
23302
23303 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23304 grub_file_read.
23305
23306 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23307 string. Do not cast SECTOR explicitly.
23308
23309 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23310 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23311 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23312 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23313 over 2TB and LBA mode is not supported, raise an error.
23314 (get_safe_sectors): New function.
23315 (grub_biosdisk_read): Use get_safe_sectors.
23316 (grub_biosdisk_write): Likewise.
23317
23318 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23319 (grub_efidisk_write): Likewise.
23320
23321 * disk/loopback.c (delete_loopback): Cosmetic changes.
23322 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23323 correctly.
23324 (grub_loopback_open): Likewise.
23325 (grub_loopback_read): Likewise. Also, change the type of POS to
23326 grub_off_t, and fix the usage of grub_memset.
23327
23328 * commands/i386/pc/play.c: Include grub/machine/time.h.
23329
23330 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23331 print FILE->SIZE.
23332
23333 * commands/configfile.c: Include grub/env.h.
23334
23335 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23336 GRUB_ERRNO directly instead. Change the type of POS to
23337 grub_off_t. Follow the coding standard.
23338
23339 * commands/blocklist.c: Include grub/partition.h.
23340 (grub_cmd_blocklist): Return an error if the underlying device is
23341 not a disk. Take the starting sector of a partition into account,
23342 if a partition is used.
23343
23344 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23345 a length field.
23346 (lba_mode): Support 64-bit addresses.
23347 (chs_mode): Likewise.
23348 (copy_buffer): Adapted to the new offsets of a length field and a
23349 segment field.
23350 (blocklist_default_start): Allocate 64-bit space.
23351
23352 * boot/i386/pc/boot.S (force_lba): Removed.
23353 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 23354 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 23355 space.
23356 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23357 is useless.
23358 (lba_mode): Refactored to support a 64-bit address. More size
23359 optimization.
23360 (setup_sectors): Likewise.
23361
53af98ad 233622006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23363
23364 * DISTLIST: Added include/grub/i386/linux.h. Removed
23365 include/grub/i386/pc/linux.h
23366
23367 * configure.ac (AC_INIT): Bumped to 1.94.
23368
23369 * config.guess: Updated from gnulib.
23370 * config.sub: Likewise.
23371 * install-sh: Likewise.
23372 * mkinstalldirs: Likewise.
23373
b4c1940a 233742006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23375
23376 * conf/common.rmk (grub_modules_init.lst): Depended on
23377 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23378 MODSRCFILES.
23379
23380 * genmk.rb (PModule::rule): Reverted the previous change.
23381
cfca1cfd 233822006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23383
23384 * conf/common.rmk (grub_modules_init.lst): Depends on
23385 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23386 that the target does not exist before producing.
23387 (grub_modules_init.h): Remove the target before generating.
23388 (grub_emu_init.c): Likewise.
23389
23390 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23391
aa6d7826 233922006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23393
23394 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23395 for the target-specific tests. Make sure that we also have the
23396 up-to-date target variables for those tests.
23397
26c607b9 233982006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23399
23400 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23401 (PModule::rule): Likewise.
23402
0162321a 234032006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23404
23405 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23406 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23407 target-specific flags should be prefixed.
23408 (PModule::rule): Likewise.
23409
6c826348 234102006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23411
23412 * configure.ac (CMP): Check if cmp is available explicitly.
23413
b977bf01 234142006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23415
23416 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23417 (target_cpu): New variable.
23418 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 23419
b977bf01 23420 * util/i386/pc/grub-install.in (host_cpu): Removed.
23421 (target_cpu): New variable.
23422 (pkglibdir): Use target_cpu instead of host_cpu.
23423
23424 * util/genmoddep.c: Removed.
f19dbdb7 23425
b977bf01 23426 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23427 instead of GRUB_HOST_SIZEOF_VOID_P.
23428 * kern/dl.c: Likewise.
23429
23430 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23431 ...
23432 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23433 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23434 (GRUB_TARGET_SIZEOF_LONG): ... this.
23435 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23436 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23437 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23438 to ...
23439 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23440 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23441 (GRUB_TARGET_SIZEOF_LONG): ... this.
23442 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23443 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23444 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23445 to ...
23446 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23447 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23448 (GRUB_TARGET_SIZEOF_LONG): ... this.
23449 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23450 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23451
23452 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23453 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23454 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23455 instead of GRUB_HOST_SIZEOF_LONG.
23456 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23457 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23458 GRUB_CPU_WORDS_BIGENDIAN.
23459 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23460 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23461 grub_host_ssize_t.
23462
23463 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23464 (genmoddep_SOURCES): Likewise.
23465 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23466 (genmoddep_SOURCES): Likewise.
23467 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23468 (genmoddep_SOURCES): Likewise.
23469 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23470 Likewise.
23471 (genmoddep_SOURCES): Likewise.
23472
23473 * genmoddep.awk: New file.
23474
23475 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23476 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23477 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23478 (PModule::rule): Likewise.
23479 (Program::rule): Likewise.
23480 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23481 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23482 respectively.
23483
23484 * configure.ac: Rewritten intensively to use host and target
23485 instead of build and host, respectively.
23486
23487 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23488 (host_cpu): Removed.
23489 (target_cpu): New variable.
23490 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23491 (BUILD_CC): Removed.
23492 (BUILD_CFLAGS): Likewise.
23493 (BUILD_CPPFLAGS): Likewise.
23494 (TARGET_CC): New variable.
23495 (TARGET_CFLAGS): Likewise.
23496 (TARGET_CPPFLAGS): Likewise.
23497 (TARGET_LDFLAGS): Likewise.
23498 (AWK): Likewise.
23499 (include): Use target_cpu instead of host_cpu.
23500 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 23501
b977bf01 23502 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23503
f09771a1 235042006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23505
23506 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23507 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23508 field 'false' to 'exec_on_false'.
23509 (grub_script_create_cmdif): Renamed argument names to reflect above
23510 changes.
23511
23512 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23513
23514 * normal/script.c (grub_script_create_cmdif): Likewise.
23515
118f4fb3 235162006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23517
23518 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23519 top.
23520 (grub_hfsplus_btree_recptr): Likewise.
23521 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23522 FILEBLOCK both to pass a block number and store next block
23523 number.
23524 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23525 overflow file correctly. Specify errors appropriately, because
23526 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23527 grub_hfsplus_btree_recptr to get the pointer to a found key.
23528 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23529 is found.
23530
23531 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23532 linux.mod.
23533 (_linux_mod_SOURCES): New variable.
23534 (_linux_mod_CFLAGS): Likewise.
23535 (_linux_mod_LDFLAGS): Likewise.
23536 (linux_mod_SOURCES): Likewise.
23537 (linux_mod_CFLAGS): Likewise.
23538 (linux_mod_LDFLAGS): Likewise.
23539
23540 * DISTLIST: Added loader/i386/efi/linux.c,
23541 loader/i386/efi/linux_normal.c and
23542 include/grub/i386/efi/loader.h.
23543
23544 * loader/i386/efi/linux.c: New file.
23545 * loader/i386/efi/linux_normal.c: Likewise.
23546 * include/grub/i386/efi/loader.h: Likewise.
23547
89a7d726 235482006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23549
23550 * commands/blocklist.c: New file.
23551
23552 * DISTLIST: Added commands/blocklist.c.
23553
23554 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 23555 color for the background, and a darker color for the foreground.
89a7d726 23556 (grub_console_checkkey): Return READ_KEY.
23557 (grub_console_cls): Set the background to
23558 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23559
23560 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23561
23562 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23563 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23564
23565 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23566 prototype.
23567
23568 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23569 BG. The spec is wrong again.
23570
23571 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23572 prototype.
23573 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23574
23575 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23576 commands/blocklist.c.
23577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 23578
89a7d726 23579 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23580 (blocklist_mod_SOURCES): New variable.
23581 (blocklist_mod_CFLAGS): Likewise.
23582 (blocklist_mod_LDFLAGS): Likewise.
23583
75c8f258 235842006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23585
23586 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23587 duplication.
23588 (lba_mode): Use %eax more intensively to reduce the code size.
23589
da2eb181 235902006-05-20 Marco Gerards <marco@gnu.org>
23591
23592 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23593
23594 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23595 for `menuentry'.
23596 (script): Accept leading newlines.
23597 (newlines): New rule to describe 0 or more newlines.
23598 (commands): Accept `command' with trailing newline. Fixed the
23599 order in which arguments were passed to `grub_script_add_cmd'.
23600 Accept commands separated by newlines.
23601 (function): Changed to accept newlines.
23602 (menuentry) Rewritten.
23603
23604 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23605 front of the list, instead of to the end.
23606
577b4050 236072006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23608
23609 * util/i386/pc/grub-install.in (bindir): New variable.
23610 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23611 Shaver <lbgwjl@gmail.com>.
23612
0d6e1189 236132006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23614
23615 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23616 grub/machine/linux.h
23617 * loader/i386/pc/linux.c: Likewise.
23618
23619 * include/grub/i386/pc/linux.h: Moved to ...
23620 * include/grub/i386/linux.h: ... here.
23621
23622 * include/grub/i386/linux.h (struct linux_kernel_params): New
23623 struct.
f19dbdb7 23624
31b86e9f 236252006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23626
23627 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23628 checking.
23629 (grub_video_vbe_blit_glyph): Likewise.
23630 (grub_video_vbe_blit_bitmap): Likewise.
23631 (grub_video_vbe_blit_render_target): Likewise.
23632
83b984de 236332006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23634
23635 * configure.ac (--with-platform): Properly quote the square
23636 brackets.
23637
5f0413bd 236382006-05-08 Marco Gerards <marco@gnu.org>
23639
23640 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23641 this...
23642 (kernel_elf_HEADERS): ...to this. Updated all users.
23643 (grubof_symlist.c): Renamed from this...
23644 (kernel_elf_symlist.c): ...to this. Updated all users.
23645 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23646 (grubof_SOURCES): Renamed from this...
23647 (kernel_elf_SOURCES): ...to this.
23648 (grubof_HEADERS): Renamed from this...
23649 (kernel_elf_HEADERS): ...to this.
23650 (grubof_CFLAGS): Renamed from this...
23651 (kernel_elf_CFLAGS): ...to this.
23652 (grubof_ASFLAGS): Renamed from this...
23653 (kernel_elf_ASFLAGS): ...to this.
23654 (grubof_LDFLAGS): Renamed from this...
23655 (kernel_elf_LDFLAGS): ...to this.
23656
23657 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23658 this...
23659 (kernel_elf_HEADERS): ...to this. Updated all users.
23660 (grubof_symlist.c): Renamed from this...
23661 (kernel_elf_symlist.c): ...to this. Updated all users.
23662 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23663 (grubof_SOURCES): Renamed from this...
23664 (kernel_elf_SOURCES): ...to this.
23665 (grubof_HEADERS): Renamed from this...
23666 (kernel_elf_HEADERS): ...to this.
23667 (grubof_CFLAGS): Renamed from this...
23668 (kernel_elf_CFLAGS): ...to this.
23669 (grubof_ASFLAGS): Renamed from this...
23670 (kernel_elf_ASFLAGS): ...to this.
23671 (grubof_LDFLAGS): Renamed from this...
23672 (kernel_elf_LDFLAGS): ...to this.
23673
23674 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23675 `kernel.elf' instead of `grubof'.
23676
05568c2e 236772006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23678
23679 Add --with-platform to configure. Use pkglibdir instead of
23680 pkgdatadir. This is reported by Roger Leigh.
23681
23682 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23683 (host_vendor): Likewise.
23684 (host_os): Likewise.
23685 (pkgdatadir): Likewise.
23686 (platform): New variable.
23687 (pkglibdir): Likewise.
23688 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 23689
05568c2e 23690 * util/i386/pc/grub-install.in (datadir): Removed.
23691 (host_vendor): Likewise.
23692 (host_os): Likewise.
23693 (pkgdatadir): Likewise.
23694 (platform): New variable.
23695 (pkglibdir): Likewise.
23696 Use PKGLIBDIR instead of PKGDATADIR.
23697
23698 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23699 instead of GRUB_DATADIR.
23700 (main): Likewise.
23701 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23702 (main): Likewise.
23703 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23704 (main): Likewise.
23705
23706 * configure.ac (--with-platform): New option.
23707 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23708
23709 * Makefile.in: Include a makefile based on PLATFORM instead of
23710 HOST_VENDOR.
23711 (pkgdatadir): Not appended by the machine type.
23712 (pkglibdir): Appended by the machine type.
23713 (host_vendor): Removed.
23714 (platform): New variable.
23715 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23716 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23717 (uninstall): Likewise.
23718
4e93851c 237192006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23720
23721 Use the environment context in the menu. Remove the commands
23722 "default" and "timeout", and use variables instead.
f19dbdb7 23723
4e93851c 23724 * normal/menu.c: Include grub/env.h.
23725 (print_entry): Cast TITLE to silence gcc.
23726 (get_timeout): New function.
23727 (set_timeout): Likewise.
23728 (get_entry_number): Likewise.
23729 (run_menu): Use a default entry, a fallback entry and a timeout
23730 in the environment variables "default", "fallback" and
23731 "timeout". Also, tweak the default entry if it is not within the
23732 current menu entries.
23733 (grub_menu_run): Use a fallback entry in the environment variable
23734 "fallback".
23735
23736 * normal/main.c (read_config_file): Do not initialize
23737 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23738 NEWMENU->TIMEOUT.
23739 (grub_normal_execute): Use a data slot to store the menu.
23740
23741 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23742 fallback_entry and timeout.
23743 (struct grub_menu_list): Removed.
23744 (grub_menu_list_t): Likewise.
23745 (struct grub_context): Likewise.
23746 (grub_context_t): Likewise.
23747 (grub_context_get): Likewise.
23748 (grub_context_get_current_menu): Likewise.
23749 (grub_context_push_menu): Likewise.
23750 (grub_context_pop_menu): Likewise.
23751 (grub_default_init): Likewise.
23752 (grub_default_fini): Likewise.
23753 (grub_timeout_init): Likewise.
23754 (grub_timeout_fini): Likewise.
23755
23756 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23757 and timeout.mod.
23758 (normal_mod_SOURCES): Removed normal/context.c.
23759
23760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23761 commands/default.c, commands/timeout.c and normal/context.c.
23762 (normal_mod_SOURCES): Removed normal/context.c.
23763
23764 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23765 commands/timeout.c and normal/context.c.
23766 (normal_mod_SOURCES): Removed normal/context.c.
23767
23768 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23769 commands/default.c, commands/timeout.c and normal/context.c.
23770 (normal_mod_SOURCES): Removed normal/context.c.
23771
23772 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23773 timeout.mod.
23774 (default_mod_SOURCES): Removed.
23775 (default_mod_CFLAGS): Likewise.
23776 (default_mod_LDFLAGS): Likewise.
23777 (timeout_mod_SOURCES): Removed.
23778 (timeout_mod_CFLAGS): Likewise.
23779 (timeout_mod_LDFLAGS): Likewise.
23780
23781 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23782 normal/context.c.
23783
23784 * commands/default.c: Removed.
23785 * commands/timeout.c: Likewise.
23786 * normal/context.c: Likewise.
23787
1eb9cc1d 237882006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23789
23790 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23791
385bd9c1 237922006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23793
23794 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23795 "next" to "prev" for readability.
23796 (struct grub_env_sorted_var): New struct.
23797 (grub_env_context): Renamed to ...
23798 (initial_context): ... this.
23799 (grub_env_var_context): Renamed to ...
23800 (current_context): ... this.
23801 (grub_env_find): Look only at CURRENT_CONTEXT.
23802 (grub_env_context_open): Rewritten to copy exported variables from
23803 previous context.
23804 (grub_env_context_close): Rewritten according to the new
23805 scheme. Also, add an assertion to prevent the initial context from
23806 removed.
23807 (grub_env_insert): Removed the code for the sorted list.
23808 (grub_env_remove): Likewise.
23809 (grub_env_export): Simply mark the variable with
23810 GRUB_ENV_VAR_GLOBAL.
23811 (grub_env_set): A cosmetic change for naming consistency.
23812 (grub_env_get): Likewise.
23813 (grub_env_unset): Likewise.
23814 (grub_env_iterate): Rewritten to sort variables within this
23815 function.
23816 (grub_register_variable_hook): Fixed for naming consistency. Call
23817 grub_env_find again, only if NAME is not found at the first time.
23818 (mangle_data_slot_name): New function.
23819 (grub_env_set_data_slot): Likewise.
23820 (grub_env_get_data_slot): Likewise.
23821 (grub_env_unset_data_slot): Likewise.
23822
23823 * include/grub/env.h (grub_env_var_type): New enum.
23824 (GRUB_ENV_VAR_LOCAL): New constant.
23825 (GRUB_ENV_VAR_GLOBAL): Likewise.
23826 (GRUB_ENV_VAR_DATA): Likewise.
23827 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23828 "type".
23829 (grub_env_set): Replace VAR with NAME for consistency.
23830 (grub_register_variable_hook): Likewise.
23831 (grub_env_export): Specify the name of the argument.
23832 (grub_env_set_data_slot): New prototype.
23833 (grub_env_get_data_slot): Likewise.
23834 (grub_env_unset_data_slot): Likewise.
23835
7f362539 238362006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23837
23838 Extend the loader so that GRUB can accept a loader which comes
23839 back to GRUB when a loaded image exits. Also, this change adds
23840 support for a chainloader on EFI.
f19dbdb7 23841
7f362539 23842 * term/efi/console.c: Include grub/misc.h.
23843 (grub_console_checkkey): Display a scan code on the top for
23844 debugging. This will be removed once the EFI port gets stable.
23845 Correct the scan code mapping.
23846
23847 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23848 allocate memory from larger regions, in order to reduce the number
23849 of allocated regions. Otherwise, the MacOSX loader panics.
23850 (filter_memory_map): Avoid less than 1MB for compatibility with
23851 other loaders.
23852 (add_memory_regions): Allocate from the tail of a region, if
23853 possible, to avoid allocating a region near to 1MB, for the MacOSX
23854 loader.
23855
23856 * kern/efi/init.c (grub_efi_set_prefix): Specify
23857 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23858
23859 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23860 argument IMAGE_HANDLE and specify it to get a loaded image.
23861 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23862 grub_efi_get_loaded_image.
fe6b695a 23863 (grub_efi_get_filename): Divide the length by the size of
7f362539 23864 grub_efi_char16_t.
23865 (grub_efi_get_device_path): New function.
23866 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23867 the length by the size of grub_efi_char16_t for a file path device
23868 path node.
23869
23870 * kern/loader.c (grub_loader_noreturn): New variable.
23871 (grub_loader_set): Accept a new argument NORETURN. Set
23872 GRUB_LOADER_NORETURN to NORETURN.
23873 All callers changed.
23874 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23875 grub_machine_fini.
23876
23877 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23878 prototype.
23879 (grub_efi_get_loaded_image): Take an argument to specify an image
23880 handle.
23881
23882 * include/grub/loader.h (grub_loader_set): Added one more argument
23883 NORETURN.
23884
23885 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23886 instead of grub_efi_open_protocol.
23887 (grub_efidisk_get_device_name): Likewise.
23888 (grub_efidisk_close): Print a newline.
23889 (grub_efidisk_get_device_handle): Fixed to use
23890 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23891 GRUB_EFI_DEVICE_PATH_TYPE.
23892
23893 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23894 * kern/efi/efi.c (device_path_guid): ... here.
23895
23896 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23897 chain.mod.
23898 (kernel_mod_HEADERS): Added efi/disk.h.
23899 (_chain_mod_SOURCES): New variable.
23900 (_chain_mod_CFLAGS): Likewise.
23901 (_chain_mod_LDFLAGS): Likewise.
23902 (chain_mod_SOURCES): Likewise.
23903 (chain_mod_CFLAGS): Likewise.
23904 (chain_mod_LDFLAGS): Likewise.
23905
23906 * DISTLIST: Added include/grub/efi/chainloader.h,
23907 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23908
23909 * include/grub/efi/chainloader.h: New file.
23910 * loader/efi/chainloader.c: Likewise.
23911 * loader/efi/chainloader_normal.c: Likewise.
23912
c0111d6e 239132006-04-30 Marco Gerards <marco@gnu.org>
23914
23915 * commands/configfile.c (grub_cmd_source): New function.
23916 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23917 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23918
df5341da 239192006-04-30 Marco Gerards <marco@gnu.org>
23920
23921 * normal/execute.c (grub_script_execute_cmd): Change the return
23922 type to `grub_err_t'. Correctly return the error.
23923 (grub_script_execute_cmdline): In case a command line is not a
23924 command or a function, try to interpret it as an assignment.
23925
f85934bd 239262006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23927
23928 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23929 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23930 skip a node whose name is obviously invalid as UTF-16,
23931 i.e. contains a NUL character. Stop the iteration when the last
23932 directory entry is found. Instead of using the return value of
23933 grub_hfsplus_btree_iterate_node, store the value in RET and use
23934 it, because the iterator can be stopped by the last directory
23935 entry.
23936
8f8a2cf8 239372006-04-30 Marco Gerards <marco@gnu.org>
23938
23939 * include/grub/env.h (grub_env_export): New prototype. Reported
23940 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23941
a27e84ce 239422006-04-30 Marco Gerards <marco@gnu.org>
23943
23944 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23945 size of the extents in a catalog file record.
23946
eaef0553 239472006-04-29 Marco Gerards <marco@gnu.org>
23948
23949 * commands/configfile.c (grub_cmd_configfile): Execute the
23950 configfile within its own context.
23951
23952 * include/grub/env.h (grub_env_context_open): New prototype.
23953 (grub_env_context_close): Likewise.
23954
23955 * kern/env.c (grub_env): Removed.
23956 (grub_env_sorted): Likewise.
23957 (grub_env_context): New variable.
23958 (grub_env_var_context): Likewise.
23959 (grub_env_find): Search both the active context and the global
23960 context.
23961 (grub_env_context_open): New function.
23962 (grub_env_context_close): Likewise.
23963 (grub_env_insert): Likewise.
23964 (grub_env_remove): Likewise.
23965 (grub_env_export): Likewise.
23966 (grub_env_set): Changed to use helper functions to avoid code
23967 duplication.
23968 (grub_env_iterate): Rewritten so both the current context and the
23969 global context are being used.
23970
23971 * normal/command.c (export_command): New function.
23972 (grub_command_init): Register the `export' function.
23973
7b455f4d 239742006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23975
23976 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23977 explicitly to suppress gcc's warnings.
23978 * fs/fat.c (grub_fat_find_dir): Likewise.
23979 (grub_fat_label): Likewise.
23980 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23981 (grub_xfs_mount): Likewise.
23982 (grub_xfs_label): Likewise.
23983 * fs/affs.c (grub_affs_mount): Likewise.
23984 (grub_affs_label): Likewise.
23985 (grub_affs_iterate_dir): Likewise.
23986 * fs/sfs.c (grub_sfs_mount): Likewise.
23987 (grub_sfs_iterate_dir): Likewise.
23988 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23989 * fs/hfs.c (grub_hfs_mount): Likewise.
23990 (grub_hfs_cmp_catkeys): Likewise.
23991 (grub_hfs_find_dir): Likewise.
23992 (grub_hfs_dir): Likewise.
23993 (grub_hfs_label): Likewise.
23994 * fs/jfs.c (grub_jfs_mount): Likewise.
23995 (grub_jfs_opendir): Likewise.
23996 (grub_jfs_getent): Likewise.
23997 (grub_jfs_lookup_symlink): Likewise.
23998 (grub_jfs_label): Likewise.
23999 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24000 (grub_hfsplus_iterate_dir): Likewise.
24001 (grub_hfsplus_btree_iterate_node): Made static.
24002
24003 * util/grub-emu.c (prefix): New variable.
24004 (grub_machine_set_prefix): New function.
24005 (main): Do not set the environment variable "prefix" here. Only
24006 set PREFIX, which is used later by grub_machine_set_prefix.
24007
24008 * include/grub/video.h: Do not include grub/symbol.h.
24009 (grub_video_register): Not exported. This symbol is not defined in
24010 the kernel.
24011 (grub_video_unregister): Likewise.
24012 (grub_video_iterate): Likewise.
24013 (grub_video_setup): Likewise.
24014 (grub_video_restore): Likewise.
24015 (grub_video_get_info): Likewise.
24016 (grub_video_get_blit_format): Likewise.
24017 (grub_video_set_palette): Likewise.
24018 (grub_video_get_palette): Likewise.
24019 (grub_video_set_viewport): Likewise.
24020 (grub_video_get_viewport): Likewise.
24021 (grub_video_map_color): Likewise.
24022 (grub_video_map_rgb): Likewise.
24023 (grub_video_map_rgba): Likewise.
24024 (grub_video_fill_rect): Likewise.
24025 (grub_video_blit_glyph): Likewise.
24026 (grub_video_blit_bitmap): Likewise.
24027 (grub_video_blit_render_target): Likewise.
24028 (grub_video_scroll): Likewise.
24029 (grub_video_swap_buffers): Likewise.
24030 (grub_video_create_render_target): Likewise.
24031 (grub_video_delete_render_target): Likewise.
24032 (grub_video_set_active_render_target): Likewise.
24033
24034 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24035 Undefined.
24036 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24037
24038 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24039 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24040 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24041 instead of $(srcdir)/genkernsyms.sh.
24042
24043 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24044 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24045 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24046 instead of $(srcdir)/genkernsyms.sh.
24047
24048 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24049 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24050 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24051 instead of $(srcdir)/genkernsyms.sh.
24052
24053 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24054 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24055 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24056 instead of $(srcdir)/genkernsyms.sh.
24057
24058 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24059 genkernsyms.sh.
24060
24061 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24062 genkernsyms.sh.
24063 (gensymlist.sh): New target.
24064 (genkernsyms.sh): Likewise.
24065
24066 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24067 genkernsyms.sh.in and gensymlist.sh.in.
24068
24069 * genkernsyms.sh: Removed.
24070 * gensymlist.sh: Likewise.
f19dbdb7 24071
7b455f4d 24072 * genkernsyms.sh.in: New file.
24073 * gensymlist.sh.in: Likewise.
24074
1885bb27 240752006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24076
24077 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24078 clobber "prefix", since we may have already set it manually.
24079
71538dff 240802006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24081
24082 * kern/misc.c (abort): New alias for grub_abort.
24083
2965c7cc 240842006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24085
24086 A new machine-specific function "grub_machine_set_prefix" is
24087 defined. This is called after loading modules, so that a prefix
24088 initialization can use modules. Also, this change adds an
24089 intensive debugging feature for the memory manager via the
24090 configure option "--enable-mm-debug".
f19dbdb7 24091
2965c7cc 24092 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24093 PART.LEN.
24094
24095 * kern/sparc64/ieee1275/init.c (abort): Removed.
24096 (grub_stop): Likewise.
24097 (grub_exit): New function.
24098 (grub_set_prefix): Renamed to ...
24099 (grub_machine_set_prefix): ... this.
24100 (grub_machine_init): Do not call grub_set_prefix.
24101
24102 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24103 (grub_machine_set_prefix): ... this.
24104 (grub_machine_init): Do not call grub_set_prefix.
24105
24106 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24107 (grub_machine_init): Do not set the prefix here.
24108
24109 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24110
24111 * kern/efi/init.c: Include grub/mm.h.
24112 (grub_efi_set_prefix): New function.
24113
24114 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24115 (grub_efi_get_filename): New function.
24116 (grub_print_device_path): Renamed to ...
24117 (grub_efi_print_device_path): ... this.
24118
24119 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24120 [MM_DEBUG] (grub_realloc): Likewise.
24121 [MM_DEBUG] (grub_free): Likewise.
24122 [MM_DEBUG] (grub_memalign): Likewise.
24123 [MM_DEBUG] (grub_mm_debug): New variable.
24124 [MM_DEBUG] (grub_debug_malloc): New function.
24125 [MM_DEBUG] (grub_debug_free): New function.
24126 [MM_DEBUG] (grub_debug_realloc): New function.
24127 [MM_DEBUG] (grub_debug_memalign): New function.
24128
24129 * kern/misc.c (grub_abort): Print a newline to distinguish
24130 the message.
24131
24132 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24133 grub_set_root_dev after loading modules. This is necessary when
24134 setting a prefix depends on modules.
24135
24136 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24137 (grub_efi_print_device_path): ... this.
24138 (grub_efi_get_filename): New prototype.
24139 (grub_efi_set_prefix): Likewise.
24140
24141 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24142 and grub/disk.h.
24143 (grub_efidisk_get_device_handle): New prototype.
24144 (grub_efidisk_get_device_name): Likewise.
24145
24146 * include/grub/mm.h: Include config.h.
24147 (MM_DEBUG): Removed.
24148 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24149 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24150 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24151 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24152 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24153 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24154 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24155 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24156 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24157
24158 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24159
24160 * disk/efi/efidisk.c: Include grub/partition.h.
24161 (iterate_child_devices): New function.
24162 (add_device): First, compare only last device path nodes, so that
24163 devices are sorted by the types.
24164 (grub_efidisk_get_device_handle): New function.
24165 (grub_efidisk_get_device_name): Likewise.
24166
24167 * configure.ac (--enable-mm-debug): New option to enable the
24168 memory manager debugging feature. This makes the binary much
24169 bigger, so is disabled by default.
24170
9cacaa17 241712006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24172
24173 Use grub_abort instead of grub_stop, and grub_exit must be
24174 define in each architecture now. Also, this change adds support
24175 for EFI disks.
f19dbdb7 24176
9cacaa17 24177 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24178 (grub_getkey): New function.
24179 (grub_term_get_current): Likewise.
24180
24181 * util/i386/pc/grub-setup.c: Include grub/term.h.
24182 (grub_getkey): New function.
24183 (grub_term_get_current): Likewise.
24184
24185 * util/misc.c (grub_stop): Renamed to ...
24186 (grub_exit): ... this.
24187
24188 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24189 (grub_exit): ... this.
24190 (grub_machine_init): Use grub_abort instead of abort.
24191 (grub_stop): Removed.
24192
24193 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24194 abort.
24195
24196 * kern/i386/pc/startup.S (grub_exit): New function.
24197 (cold_reboot): New label.
24198
24199 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24200 (grub_efi_init): Call grub_efidisk_init.
24201 (grub_efi_fini): Call grub_efidisk_fini.
24202
24203 * kern/efi/efi.c: Include grub/mm.h.
24204 (grub_efi_console_control_guid): Renamed to ...
24205 (console_control_guid): ... this.
24206 (grub_efi_loaded_image_guid): Renamed to ...
24207 (loaded_image_guid): ... this.
24208 (grub_efi_locate_handle): New function.
24209 (grub_efi_open_protocol): Likewise.
24210 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24211 GRUB_EFI_CONSOLE_CONTROL_GUID.
24212 (grub_efi_exit): Removed.
24213 (grub_stop): Likewise.
24214 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24215 (grub_exit): New function.
24216 (grub_print_device_path): Likewise.
24217
24218 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24219 (grub_enter_rescue_mode): Register "exit".
24220
24221 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24222 (grub_abort): New function.
24223
24224 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24225
24226 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24227
24228 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24229
24230 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24231 (grub_print_device_path): New prototype.
24232 (grub_efi_locate_handle): Likewise.
24233 (grub_efi_open_protocol): Likewise.
24234
24235 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24236 * disk/efi/efidisk.c: Likewise.
24237
24238 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24239
24240 * include/grub/efi/console_control.h
24241 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24242
24243 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24244 last 8 bytes as an array.
24245 (GRUB_EFI_DISK_IO_GUID): New macro.
24246 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24247 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24248 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24249 grub_uint8_t.
24250 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24251 (struct grub_efi_device_path): Rename the member "sub_type" to
24252 "subtype".
24253 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24254 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24255 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24256 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24257 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24258 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24259 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24260 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24261 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24262 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24263 (struct grub_efi_pci_device_path): New structure.
24264 (grub_efi_pci_device_path_t): New type.
24265 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24266 (struct grub_efi_pccard_device_path): New structure.
24267 (grub_efi_pccard_device_path_t): New type.
24268 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24269 (struct grub_efi_memory_mapped_device_path): New structure.
24270 (grub_efi_memory_mapped_device_path_t): New type.
24271 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24272 (struct grub_efi_vendor_device_path): New structure.
24273 (grub_efi_vendor_device_path_t): New type.
24274 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24275 (struct grub_efi_controller_device_path): New structure.
24276 (grub_efi_controller_device_path_t): New type.
24277 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24278 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24279 (struct grub_efi_acpi_device_path): New structure.
24280 (grub_efi_acpi_device_path_t): New type.
24281 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24282 (struct grub_efi_expanded_acpi_device_path): New structure.
24283 (grub_efi_expanded_acpi_device_path_t): New type.
24284 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24285 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24286 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24287 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24288 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24289 (struct grub_efi_atapi_device_path): New structure.
24290 (grub_efi_atapi_device_path_t): New type.
24291 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24292 (struct grub_efi_fibre_channel_device_path): New structure.
24293 (grub_efi_fibre_channel_device_path_t): New type.
24294 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24295 (struct grub_efi_1394_device_path): New structure.
24296 (grub_efi_1394_device_path_t): New type.
24297 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24298 (struct grub_efi_usb_device_path): New structure.
24299 (grub_efi_usb_device_path_t): New type.
24300 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24301 (struct grub_efi_usb_class_device_path): New structure.
24302 (grub_efi_usb_class_device_path_t): New type.
24303 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24304 (struct grub_efi_i2o_device_path): New structure.
24305 (grub_efi_i2o_device_path_t): New type.
24306 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24307 (struct grub_efi_mac_address_device_path): New structure.
24308 (grub_efi_mac_address_device_path_t): New type.
24309 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24310 (struct grub_efi_ipv4_device_path): New structure.
24311 (grub_efi_ipv4_device_path_t): New type.
24312 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24313 (struct grub_efi_ipv6_device_path): New structure.
24314 (grub_efi_ipv6_device_path_t): New type.
24315 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24316 (struct grub_efi_infiniband_device_path): New structure.
24317 (grub_efi_infiniband_device_path_t): New type.
24318 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24319 (struct grub_efi_uart_device_path): New structure.
24320 (grub_efi_uart_device_path_t): New type.
24321 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24322 (struct grub_efi_vendor_messaging_device_path): New structure.
24323 (grub_efi_vendor_messaging_device_path_t): New type.
24324 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24325 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24326 (struct grub_efi_hard_drive_device_path): New structure.
24327 (grub_efi_hard_drive_device_path_t): New type.
24328 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24329 (struct grub_efi_cdrom_device_path): New structure.
24330 (grub_efi_cdrom_device_path_t): New type.
24331 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24332 (struct grub_efi_vendor_media_device_path): New structure.
24333 (grub_efi_vendor_media_device_path_t): New type.
24334 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24335 (struct grub_efi_file_path_device_path): New structure.
24336 (grub_efi_file_path_device_path_t): New type.
24337 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24338 (struct grub_efi_protocol_device_path): New structure.
24339 (grub_efi_protocol_device_path_t): New type.
24340 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24341 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24342 (struct grub_efi_bios_device_path): New structure.
24343 (grub_efi_bios_device_path_t): New type.
24344 (struct grub_efi_disk_io): New structure.
24345 (grub_efi_disk_io_t): New type.
24346 (struct grub_efi_block_io_media): New structure.
24347 (grub_efi_block_io_media_t): New type.
24348 (struct grub_efi_block_io): New structure.
24349 (grub_efi_block_io_t): New type.
24350
24351 * include/grub/misc.h (grub_stop): Removed.
24352 (grub_exit): New prototype.
24353 (grub_abort): Likewise.
24354
24355 * include/grub/disk.h (enum grub_disk_dev_id): Added
24356 GRUB_DISK_DEVICE_EFIDISK_ID.
24357
24358 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24359 disk/efi/efidisk.c.
24360 (kernel_syms.lst): Remove the target if an error occurs.
24361
49986a9f 243622006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24363
24364 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24365 as it was simply too buggy.
24366
970d3b8a 243672006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24368
24369 * kern/misc.c (grub_lltoa): New function.
24370 (grub_vsprintf): Added support for the long long suffix,
24371 i.e. "ll".
24372
ff04ec24 243732006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24374
24375 * Makefile.in (LDFLAGS): Add variable.
24376 (LD): Remove variable.
24377 * configure.ac: Add -m32 to LDFLAGS.
24378 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24379 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24380 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24381 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24382 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24383 variables.
24384 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24385 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24386 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24387
37e5e1a4 243882006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24389
24390 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24391 length for unknown glyph.
24392
c352d8dd 243932006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24394
2eab1c0d 24395 Add support for pre-loaded modules into the EFI port.
f19dbdb7 24396
2eab1c0d 24397 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24398 completely. Accept one more argument DIR. The caller has changed.
24399
24400 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24401
24402 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24403 (grub_efi_loaded_image_guid): New variable.
24404 (grub_efi_get_loaded_image): New function.
24405 (grub_arch_modules_addr): Likewise.
24406
24407 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24408 prototype.
24409
24410 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24411 (struct grub_efi_loaded_image): New structure.
24412 (grub_efi_loaded_image_t): New type.
24413
244142006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24415
c352d8dd 24416 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24417 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24418 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24419
6d01d6b4 244202006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24421
24422 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24423
976a4ea0 244242006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24425
24426 * DISTLIST: Added include/grub/efi/console.h,
24427 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24428 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24429
24430 * include/grub/efi/console.h: New file.
24431 * include/grub/efi/time.h: Likewise.
24432 * include/grub/i386/efi/kernel.h: Likewise.
24433 * kern/efi/init.c: Likewise.
24434 * kern/efi/mm.c: Likewise.
24435 * term/efi/console.c: Likewise.
f19dbdb7 24436
976a4ea0 24437 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24438 (grub_stop): Removed.
24439 (grub_get_rtc): Likewise.
24440 (grub_machine_init): Simply call grub_efi_init.
24441 (grub_machine_fini): Call grub_efi_fini.
24442
24443 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24444 (grub_efi_output_string): Removed.
24445 (grub_efi_stall): New function.
24446 (grub_stop): Likewise.
24447 (grub_get_rtc): Likewise.
24448
24449 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24450 (grub_efi_stall): New prototype.
24451 (grub_efi_allocate_pages): Likewise.
24452 (grub_efi_free_pages): Likewise.
24453 (grub_efi_get_memory_map): Likewise.
24454 (grub_efi_mm_init): Likewise.
24455 (grub_efi_mm_fini): Likewise.
24456 (grub_efi_init): Likewise.
24457 (grub_efi_fini): Likewise.
24458
24459 * include/grub/i386/efi/time.h: Do not include
24460 grub/symbol.h. Include grub/efi/time.h.
24461 (GRUB_TICKS_PER_SECOND): Removed.
24462 (grub_get_rtc): Likewise.
24463
24464 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24465 Added padding. The EFI spec is buggy.
24466 (GRUB_EFI_BLACK): New macro.
24467 (GRUB_EFI_BLUE): Likewise.
24468 (GRUB_EFI_GREEN): Likewise.
24469 (GRUB_EFI_CYAN): Likewise.
24470 (GRUB_EFI_RED): Likewise.
24471 (GRUB_EFI_MAGENTA): Likewise.
24472 (GRUB_EFI_BROWN): Likewise.
24473 (GRUB_EFI_LIGHTGRAY): Likewise.
24474 (GRUB_EFI_BRIGHT): Likewise.
24475 (GRUB_EFI_DARKGRAY): Likewise.
24476 (GRUB_EFI_LIGHTBLUE): Likewise.
24477 (GRUB_EFI_LIGHTGREEN): Likewise.
24478 (GRUB_EFI_LIGHTCYAN): Likewise.
24479 (GRUB_EFI_LIGHTRED): Likewise.
24480 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24481 (GRUB_EFI_YELLOW): Likewise.
24482 (GRUB_EFI_WHITE): Likewise.
24483 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24484 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24485 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24486 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24487 (GRUB_EFI_BACKGROUND_RED): Likewise.
24488 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24489 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24490 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24491 (GRUB_EFI_TEXT_ATTR): Likewise.
24492
24493 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24494 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24495 (kernel_mod_HEADERS): Added efi/time.h.
24496
83709125 244972006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24498
24499 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24500 include/grub/efi/api.h, include/grub/efi/console_control.h,
24501 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24502 include/grub/i386/efi/time.h, kern/efi/efi.c,
24503 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24504 and util/i386/efi/grub-mkimage.c.
24505
24506 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24507
24508 * genmk.rb (PModule#rule): Do not export symbols if
24509 #{prefix}_EXPORTS is set to "no".
24510
24511 * conf/i386-efi.mk: New file.
24512 * conf/i386-efi.rmk: Likewise.
24513 * include/grub/efi/api.h: Likewise.
24514 * include/grub/efi/console_control.h: Likewise.
24515 * include/grub/efi/efi.h: Likewise.
24516 * include/grub/efi/pe32.h: Likewise.
24517 * include/grub/i386/efi/time.h: Likewise.
24518 * kern/efi/efi.c: Likewise.
24519 * kern/i386/efi/init.c: Likewise.
24520 * kern/i386/efi/startup.S: Likewise.
24521 * util/i386/efi/grub-mkimage.c: Likewise.
24522
245232006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 24524
24525 * include/grub/script.h: Include <grub/parser.h> and
24526 "grub_script.tab.h".
24527 (struct grub_lexer_param): New struct.
24528 (struct grub_parser_param): Likewise.
24529 (grub_script_create_arglist): Pass the state in an argument.
24530 (grub_script_add_arglist): Likewise.
24531 (grub_script_create_cmdline): Likewise.
24532 (grub_script_create_cmdblock): Likewise.
24533 (grub_script_create_cmdif): Likewise.
24534 (grub_script_create_cmdmenu): Likewise.
24535 (grub_script_add_cmd): Likewise.
24536 (grub_script_arg_add): Likewise.
24537 (grub_script_lexer_ref): Likewise.
24538 (grub_script_lexer_deref): Likewise.
24539 (grub_script_lexer_record_start): Likewise.
24540 (grub_script_lexer_record_stop): Likewise.
24541 (grub_script_mem_record): Likewise.
24542 (grub_script_mem_record_stop): Likewise.
24543 (grub_script_malloc): Likewise.
24544 (grub_script_yylex): Likewise.
24545 (grub_script_yyparse): Likewise.
24546 (grub_script_yyerror): Likewise.
24547 (grub_script_yylex): Likewise.
24548 (grub_script_lexer_init): Return the state.
24549
24550 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24551 (grub_script_lexer_done): Likewise.
24552 (grub_script_lexer_getline): Likewise.
24553 (grub_script_lexer_refs): Likewise.
24554 (script): Likewise.
24555 (newscript): Likewise.
24556 (record): Likewise.
24557 (recording): Likewise.
24558 (recordpos): Likewise.
24559 (recordlen): Likewise.
24560 (grub_script_lexer_init): Return the state instead of setting
24561 global variables.
24562 (grub_script_lexer_ref): Use the newly added argument for state
24563 instead of globals.
24564 (grub_script_lexer_deref): Likewise.
24565 (grub_script_lexer_record_start): Likewise.
24566 (grub_script_lexer_record_stop): Likewise.
24567 (recordchar): Likewise.
24568 (nextchar): Likewise.
24569 (grub_script_yylex2): Likewise.
24570 (grub_script_yylex): Likewise.
24571 (grub_script_yyerror): Likewise.
24572
24573 * normal/parser.y (func_mem): Removed variable.
24574 (menu_entry): Likewise.
24575 (err): Likewise.
24576 (%lex-param): New parser option.
24577 (%parse-param): Likewise.
24578 (script): Always return the AST.
24579 (argument): Pass the state around.
24580 (arguments): Likewise.
24581 (grubcmd): Likewise.
24582 (commands): Likewise.
24583 (function): Likewise.
24584 (menuentry): Likewise.
24585 (if_statement): Likewise.
24586 (if): Likewise.
24587
24588 * normal/script.c (grub_script_memused): Removed variable.
24589 (grub_script_parsed): Likewise.
24590 (grub_script_malloc): Added a state argument. Use that instead of
24591 global variables.
24592 (grub_script_mem_record): Likewise.
24593 (grub_script_mem_record_stop): Likewise.
24594 (grub_script_arg_add): Likewise.
24595 (grub_script_add_arglist): Likewise.
24596 (grub_script_create_cmdline): Likewise.
24597 (grub_script_create_cmdif): Likewise.
24598 (grub_script_create_cmdmenu): Likewise.
24599 (grub_script_add_cmd): Likewise.
24600 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 24601
e2a8c904 246022006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 24603
24604 * normal/command.c (grub_command_init): Remove the title command.
24605
24606 * normal/lexer.c (grub_script_yylex): Renamed from this...
24607 (grub_script_yylex2): ... to this.
24608 (grub_script_yylex): New function. Temporary
24609 introduced to filter some tokens.
24610 (grub_script_yyerror): Print a newline.
24611
24612 * normal/main.c (read_config_file): Output information about the
24613 lines that contain errors. Wait for a key after all lines have
24614 been processed. Don't return an empty menu.
24615
24616 * normal/parser.y (func_mem): Don't initialize.
24617 (menu_entry): Likewise.
24618 (err): New variable.
24619 (script): Don't return anything when an error was encountered.
24620 (ws, returns): Removed rules.
24621 (argument): Disabled concatenated variable support.
24622 (arguments): Remove explicit separators.
24623 (grubcmd): Likewise.
24624 (function): Likewise.
24625 (menuentry): Likewise.
24626 (if): Likewise.
24627 (commands): Likewise. Add error handling.
24628
24629 * normal/script.c (grub_script_create_cmdline): If
24630 `grub_script_parsed' is 0, assume the parser encountered an error.
24631
c9a86192 246322006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24633
24634 * configure.ac: Add support for EFI. Fix the typo
24635 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24636
70f3b243 246372006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24638
24639 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24640 foreign multibyte characters should be shown correctly.
24641
65f201ad 246422006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24643
24644 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24645 calculation.
24646 (read_config_file): Made it to close file before returning.
24647
b4b93674 246482006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24649
24650 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24651 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24652 video/i386/pc/vbefill.c.
24653
24654 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24655 video/i386/pc/vbefill.c.
24656
24657 * include/grub/video.h (grub_video_blit_format): New enum.
24658 (grub_video_mode_info): Added new member blit_format.
24659 (grub_video_get_blit_format): New function prototype.
24660
24661 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24662 function prototype.
24663 (grub_video_vbe_map_rgb): Likewise.
24664 (grub_video_vbe_unmap_color): Likewise.
24665
24666 * include/grub/i386/pc/vbeblit.h: New file.
24667
24668 * include/grub/i386/pc/vbefill.h: New file.
24669
24670 * video/video.c (grub_video_get_blit_format): New function.
24671 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24672 (grub_video_vbe_map_rgb): Likewise.
24673 (grub_video_vbe_unmap_color): Likewise.
24674
24675 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24676 optimized fills.
24677 (grub_video_vbe_blit_render_target): Changed to use more optimized
24678 blits.
24679 (grub_video_vbe_setup): Added detection for optimized settings.
24680 (grub_video_vbe_create_render_target): Likewise.
24681
24682 * video/i386/pc/vbeblit.c: New file.
24683
24684 * video/i386/pc/vbefill.c: New file.
24685
c2379b9c 246862006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24687
24688 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24689 here...
24690
24691 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24692 parsing to support both hex and dec ranges. If filename was missing
24693 show usage information.
24694
bd0d7896 246952006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24696
24697 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24698 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24699
24700 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24701 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24702 (video_mod_SOURCES): Added.
24703 (video_mod_CFLAGS): Likewise.
24704 (video_mod_LDFLAGS): Likewise.
24705 (gfxterm_mod_SOURCES): Likewise.
24706 (gfxterm_mod_CFLAGS): Likewise.
24707 (gfxterm_mod_LDFLAGS): Likewise.
24708 (videotest_mod_SOURCES): Likewise.
24709 (videotest_mod_CFLAGS): Likewise.
24710 (videotest_mod_LDFLAGS): Likewise.
24711 (vesafb_mod_SOURCES): Removed.
24712 (vesafb_mod_CFLAGS): Likewise.
24713 (vesafb_mod_LDFLAGS): Likewise.
24714 (vga_mod_SOURCES): Likewise.
24715 (vga_mod_CFLAGS): Likewise.
24716 (vga_mod_LDFLAGS): Likewise.
24717
24718 * commands/videotest.c: New file.
24719
24720 * font/manager.c (fill_with_default_glyph): Modified to use
24721 grub_font_glyph.
24722 (grub_font_get_glyph): Likewise.
24723 (fontmanager): Renamed from this...
24724 (font_manager): ... to this.
24725
24726 * include/grub/font.h (grub_font_glyph): Added new structure.
24727 (grub_font_get_glyph): Modified to use grub_font_glyph.
24728
24729 * include/grub/misc.h (grub_abs): Added as inline function.
24730
24731 * include/grub/video.h: New file.
24732
24733 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24734 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24735 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24736 (grub_vbe_get_controller_info): Renamed from this...
24737 (grub_vbe_bios_get_controller_info): ... to this.
24738 (grub_vbe_get_mode_info): Renamed from this...
24739 (grub_vbe_bios_get_mode_info): ... to this.
24740 (grub_vbe_set_mode): Renamed from this...
24741 (grub_vbe_bios_set_mode): ... to this.
24742 (grub_vbe_get_mode): Renamed from this...
24743 (grub_vbe_bios_get_mode): ... to this.
24744 (grub_vbe_set_memory_window): Renamed from this...
24745 (grub_vbe_bios_set_memory_window): ... to this.
24746 (grub_vbe_get_memory_window): Renamed from this...
24747 (grub_vbe_bios_get_memory_window): ... to this.
24748 (grub_vbe_set_scanline_length): Renamed from this...
24749 (grub_vbe_set_scanline_length): ... to this.
24750 (grub_vbe_get_scanline_length): Renamed from this...
24751 (grub_vbe_bios_get_scanline_length): ... to this.
24752 (grub_vbe_set_display_start): Renamed from this...
24753 (grub_vbe_bios_set_display_start): ... to this.
24754 (grub_vbe_get_display_start): Renamed from this...
24755 (grub_vbe_bios_get_display_start): ... to this.
24756 (grub_vbe_set_palette_data): Renamed from this...
24757 (grub_vbe_bios_set_palette_data): ... to this.
24758 (grub_vbe_set_pixel_rgb): Removed.
24759 (grub_vbe_set_pixel_index): Likewise.
24760
24761 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24762 from this...
24763 (grub_vbe_bios_get_controller_info): ... to this.
24764 (grub_vbe_get_mode_info): Renamed from this...
24765 (grub_vbe_bios_get_mode_info): ... to this.
24766 (grub_vbe_set_mode): Renamed from this...
24767 (grub_vbe_bios_set_mode): ... to this.
24768 (grub_vbe_get_mode): Renamed from this...
24769 (grub_vbe_bios_get_mode): ... to this.
24770 (grub_vbe_set_memory_window): Renamed from this...
24771 (grub_vbe_bios_set_memory_window): ... to this.
24772 (grub_vbe_get_memory_window): Renamed from this...
24773 (grub_vbe_bios_get_memory_window): ... to this.
24774 (grub_vbe_set_scanline_length): Renamed from this...
24775 (grub_vbe_set_scanline_length): ... to this.
24776 (grub_vbe_get_scanline_length): Renamed from this...
24777 (grub_vbe_bios_get_scanline_length): ... to this.
24778 (grub_vbe_set_display_start): Renamed from this...
24779 (grub_vbe_bios_set_display_start): ... to this.
24780 (grub_vbe_get_display_start): Renamed from this...
24781 (grub_vbe_bios_get_display_start): ... to this.
24782 (grub_vbe_set_palette_data): Renamed from this...
24783 (grub_vbe_bios_set_palette_data): ... to this.
24784 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24785 getting corrupted after calling it. Added more pushes and pops.
24786 (grub_vbe_bios_set_mode): Likewise.
24787 (grub_vbe_bios_get_mode): Likewise.
24788 (grub_vbe_bios_get_memory_window): Likewise.
24789 (grub_vbe_bios_set_scanline_length): Likewise.
24790 (grub_vbe_bios_get_scanline_length): Likewise.
24791 (grub_vbe_bios_get_display_start): Likewise.
24792 (grub_vbe_bios_set_palette_data): Likewise.
24793
24794 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24795 (cl_insert): Likewise.
24796 (cl_delete): Likewise.
24797
24798 * term/gfxterm.c: New file.
24799
24800 * term/i386/pc/vesafb.c: Removed file.
24801
24802 * video/video.c: New file.
24803
24804 * video/i386/pc/vbe.c (real2pm): Added new function.
24805 (grub_video_vbe_draw_pixel): Likewise.
24806 (grub_video_vbe_get_video_ptr): Likewise.
24807 (grub_video_vbe_get_pixel): Likewise
24808 (grub_video_vbe_init): Likewise.
24809 (grub_video_vbe_fini): Likewise.
24810 (grub_video_vbe_setup): Likewise.
24811 (grub_video_vbe_get_info): Likewise.
24812 (grub_video_vbe_set_palette): Likewise.
24813 (grub_video_vbe_get_palette): Likewise.
24814 (grub_video_vbe_set_viewport): Likewise.
24815 (grub_video_vbe_get_viewport): Likewise.
24816 (grub_video_vbe_map_color): Likewise.
24817 (grub_video_vbe_map_rgb): Likewise.
24818 (grub_video_vbe_map_rgba): Likewise.
24819 (grub_video_vbe_unmap_color): Likewise.
24820 (grub_video_vbe_fill_rect): Likewise.
24821 (grub_video_vbe_blit_glyph): Likewise.
24822 (grub_video_vbe_blit_bitmap): Likewise.
24823 (grub_video_vbe_blit_render_target): Likewise.
24824 (grub_video_vbe_scroll): Likewise.
24825 (grub_video_vbe_swap_buffers): Likewise.
24826 (grub_video_vbe_create_render_target): Likewise.
24827 (grub_video_vbe_delete_render_target): Likewise.
24828 (grub_video_vbe_set_active_render_target): Likewise.
24829 (grub_vbe_set_pixel_rgb): Remove function.
24830 (grub_vbe_set_pixel_index): Likewise.
24831 (index_color_mode): Remove static variable.
24832 (active_mode): Likewise.
24833 (framebuffer): Likewise.
24834 (bytes_per_scan_line): Likewise.
24835 (grub_video_vbe_adapter): Added new static variable.
24836 (framebuffer): Likewise.
24837 (render_target): Likewise.
24838 (initial_mode): Likewise.
24839 (mode_in_use): Likewise.
24840 (mode_list): Likewise.
24841
5f97350b 248422006-03-10 Marco Gerards <marco@gnu.org>
24843
24844 * configure.ac (AC_INIT): Bumped to 1.93.
24845
24846 * DISTLIST: Added `include/grub/hfs.h'.
24847
a3c5c6f8 248482006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24849
24850 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24851 18H, which might help the BIOS falling back to next boot media.
24852
6de53d26 248532006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24854
24855 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24856 Poe Chen <poe.poechen@gmail.com>.
24857
77c4a393 248582006-01-17 Marco Gerards <marco@gnu.org>
24859
24860 * include/grub/normal.h: Include <grub/script.h>.
24861 (grub_command_list): Removed struct.
24862 (grub_command_list_t): Removed type.
24863 (grub_menu_entry): Remove members `num' and `command_list'. Add
24864 members `commands' and `sourcecode'.
24865 * include/grub/script.h: Add inclusion guards.
24866 (grub_script_cmd_menuentry): New struct.
24867 (grub_script_execute_menuentry): New prototype.
24868 (grub_script_lexer_record_start): Likewise.
24869 (grub_script_lexer_record_stop): Likewise.
24870 * normal/execute.c (grub_script_execute_menuentry): New function.
24871 * normal/lexer.c (record, recording, recordpos, recordlen): New
24872 variables.
24873 (grub_script_lexer_record_start): New function.
24874 (grub_script_lexer_record_stop): Likewise.
24875 (recordchar): Likewise.
24876 (nextchar): Likewise.
24877 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24878 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24879 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24880 (current_menu): New variable.
24881 (free_menu): Mainly rewritten.
24882 (grub_normal_menu_addentry): New function.
24883 (read_config_file): Rewritten.
24884 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 24885 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 24886 the menu entry.
24887 (run): Mainly rewritten.
24888 * normal/parser.y (menu_entry): New variable.
24889 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24890 (menuentry): New rule.
24891 (command): Add `menuentry'.
24892 (if_statement): Allow additional returns before `fi'.
24893 * normal/script.c (grub_script_create_cmdmenu): New function.
24894
144f1f98 248952006-01-03 Marco Gerards <marco@gnu.org>
24896
24897 * INSTALL: GNU Bison is required.
24898 * configure.ac: Rewritten the test to detect Bison.
24899 * Makefile.in (YACC): New variable. Reported by Xun Sun
24900 <xun.sun.cn@gmail.com>.
24901
af4b2d89 249022006-01-03 Marco Gerards <marco@gnu.org>
24903
24904 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24905 the HFS+ filesystem to filesystem blocks.
24906 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24907 GCC warning is silenced.
24908
15643b71 249092006-01-03 Marco Gerards <marco@gnu.org>
24910
24911 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24912 read from disk from big endian to host byte order.
24913
00905879 249142006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24915
24916 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24917 documentation.
24918 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24919 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24920 embedded HFS+ filesystem.
24921 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24922 (grub_hfs_sblock): Move from here...
24923 * include/grub/hfs.h: To here... New file.
24924 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24925 documentation.
24926 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24927 New macros.
24928 (grub_hfsplus_volheader): Change type of member `magic' to
24929 `grub_uint16_t'.
24930 (grub_hfsplus_data): Add new member `embedded_offset'.
24931 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24932 returned block.
24933 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24934 Calculate the offset.
24935
8899bc3e 249362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24937
24938 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24939 Removed.
24940 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24941
ae8c0277 249422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24943
24944 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24945 ENV->NAME is NULL after allocating ENV->VALUE.
24946
07084456 249472005-12-25 Marco Gerards <marco@gnu.org>
24948
24949 * kern/env.c (grub_env_set): Rewritten the error handling code.
24950
4750f5f1 249512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24952
24953 * geninit.sh: Made more robust, and more portable.
24954
50214199 249552005-12-25 Marco Gerards <marco@gnu.org>
24956
24957 Add support for Apple HFS+ filesystems.
f19dbdb7 24958
50214199 24959 * fs/hfsplus.c: New file.
24960
24961 * DISTLIST: Added `fs/hfsplus.c'.
24962
24963 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24964 (hfsplus_mod_SOURCES): New variable.
24965 (hfsplus_mod_CFLAGS): Likewise.
24966 (hfsplus_mod_LDFLAGS): Likewise.
24967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24968 (grub_setup_SOURCES): Likewise.
24969 (grub_mkdevicemap_SOURCES): Likewise.
24970 (grub_emu_SOURCES): Likewise.
24971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24972
24973 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24974
24975 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24976
befaed6c 249772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24978
24979 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24980 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24981 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24982 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24983 normal/lexer.c, normal/parser.y, normal/script.c, and
24984 partmap/gpt.c.
24985 Removed kern/sparc64/cache.c.
24986
24987 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24988 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24989 grub_emu_init.c.
24990
24991 * configure.ac (AC_INIT): Bumped to 1.92.
24992
6a124103 249932005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24994
24995 * kern/err.c (grub_error_push): Added new function to support error
24996 stacks.
24997 (grub_error_pop): Likewise.
24998 (grub_error_stack_items): New local variable to support error stacks.
24999 (grub_error_stack_pos): Likewise.
25000 (grub_error_stack_assert): Likewise.
25001 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25002 stack depth.
25003 (grub_print_error): Added support to print errors from error stack.
25004
25005 * include/grub/err.h (grub_error_push): Added function prototype.
25006 (grub_error_pop): Likewise.
25007
be973c1b 250082005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25009
25010 * configure.ac: Accept `powerpc64' as host_cpu.
25011 (amd64): Rename to `biarch32'.
25012
25013 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25014 non-cacheline-aligned addresses.
25015
25016 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25017 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25018 if `size' is non-zero.
25019
b04216ab 250202005-12-03 Marco Gerards <mgerards@xs4all.nl>
25021
25022 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25023 and `cd' to make sure the filename is not prefixed with a
25024 directory name.
25025 (pkgdata_MODULES): Add `gpt.mod'.
25026 (gpt_mod_SOURCES): New variable.
25027 (gpt_mod_CFLAGS): Likewise.
25028 (gpt_mod_LDFLAGS): Likewise.
25029
25030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25031
25032 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25033 New macro.
25034
25035 * partmap/gpt.c: New file.
25036
25037 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25038 GPT partition map is detected.
25039
41730ed9 250402005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25041
25042 * commands/i386/pc/play.c: New file.
25043 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25044 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25045 macros.
f19dbdb7 25046
95dc3643 250472005-11-27 Marco Gerards <mgerards@xs4all.nl>
25048
25049 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25050 ((unused))' to silence gcc warning.
25051
1569ec51 250522005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25053
25054 * configure.ac: Correct `AC_PROG_YACC' test.
25055
9abde152 250562005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25057
25058 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25059 check before installing files.
25060
44b83271 250612005-11-22 Mike Small <smallm@panix.com>
25062
25063 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25064 number regex so multidigit numbers are recognized correctly.
25065
250662005-11-22 Mike Small <smallm@panix.com>
25067
25068 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25069 debugging message before attempting to claim memory.
25070 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25071 multiple addresses in case of failure.
25072
9c12956b 250732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25074
25075 * term/tparm.c (get_space): Remove empty `if' statement.
25076
25077 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25078
25079 * kern/parser.c (check_varstate): Rename `state' to 's'.
25080
aeaf81d9 250812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25082
25083 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25084 variable definitions to the beginning of each function. Sort stack
25085 variables by size.
25086 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25087 `buf' argument to `char *'.
25088
79bbb63f 250892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25090
25091 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25092 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25093 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 25094 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25095 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25096 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25097 configfile.mod, search.mod, gzio.mod and test.mod.
25098 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25099 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25100 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25101 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25102 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25103 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25104 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25105 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25106 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25107 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25108 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25109 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25110 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25111 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25112 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25113 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25114 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25115 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25116 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25117 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25118 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25119 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25120 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25121
25122 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25123 `grep --include'.
25124 (pkgdata_MODULES): Add test.mod.
25125
233b1628 251262005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25127
25128 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25129 appending to variables with "+=".
25130 (PModule): Use full pathname to generate *.lst filenames.
25131
25132 * Makefile.in: Fixed list rules moved from genmk.rb.
25133 (.DELETE_ON_ERROR): New special target.
25134 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25135
25136 * conf/i386-pc.rmk: Include conf/common.mk.
25137 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 25138 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 25139 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25140 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25141 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25142 configfile.mod, search.mod, gzio.mod and test.mod.
25143 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25144 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25145 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25146 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25147 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25148 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25149 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25150 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25151 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25152 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25153 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25154 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25155 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25156 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25157 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25158 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25159 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25160 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25161 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25162 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25163 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25164 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25165 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25166 here...
25167 * conf/common.rmk: ... to here. New file.
25168
25169 * conf/common.mk: New file.
25170
16f820c8 251712005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25172
25173 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25174 (grub_script.tab.c): ... here.
25175
25176 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25177 (grub_script.tab.c): ... here.
25178
25179 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25180 (grub_script.tab.c): ... here.
25181
25182 * normal/command.c (grub_command_find): Fixed a memory leak of
25183 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25184
63ba1554 251852005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25186
25187 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25188 "@" which marks the start of a comment on ARM.
25189 (VARIABLE): Likewise.
25190
7f67dc13 251912005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25192
79bbb63f 25193 Add support for Linux/ADFS partition tables.
7f67dc13 25194
25195 * partmap/acorn.c: New file.
25196
25197 * include/grub/acorn_filecore.h: Likewise.
25198
25199 * DISTLIST: Added `partmap/acorn.c' and
25200 `include/grub/acorn_filecore.h'.
f19dbdb7 25201
7f67dc13 25202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25203 `partmap/acorn.c'.
25204 (pkgdata_MODULES): Add `acorn.mod'.
25205 (acorn_mod_SOURCES): New variable.
25206 (acorn_mod_CFLAGS): Likewise.
25207
25208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25209 `partmap/acorn.c'.
25210 (pkgdata_MODULES): Add `acorn.mod'.
25211 (acorn_mod_SOURCES): New variable.
25212 (acorn_mod_CFLAGS): Likewise.
25213
25214 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25215 (pkgdata_MODULES): Add `acorn.mod'.
25216 (acorn_mod_SOURCES): New variable.
25217 (acorn_mod_CFLAGS): Likewise.
25218 (acorn_mod_LDFLAGS): Likewise.
25219
25220 * include/types.h (grub_disk_addr_t): New typedef.
25221
6d099807 252222005-11-13 Marco Gerards <mgerards@xs4all.nl>
25223
25224 * geninit.sh: New file.
25225
25226 * geninitheader.sh: Likewise.
25227
25228 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25229 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25230 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25231 * commands/configfile.c (grub_configfile_init)
25232 (grub_configfile_fini): Likewise.
25233 * commands/default.c (grub_default_init, grub_default_fini):
25234 Likewise.
25235 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25236 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25237 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25238 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25239 Likewise.
25240 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25241 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25242 Likewise.
25243 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 25244 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 25245 Likewise.
25246 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25247 Likewise.
fe6b695a 25248 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 25249 Likewise.
25250 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25251 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25252 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25253 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25254 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25255 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25256 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25257 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25258 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25259 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25260 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25261 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25262 * partmap/amiga.c (grub_amiga_partition_map_init)
25263 (grub_amiga_partition_map_fini): Likewise.
25264 * partmap/apple.c (grub_apple_partition_map_init)
25265 (grub_apple_partition_map_fini): Likewise.
25266 * partmap/pc.c (grub_pc_partition_map_init)
25267 (grub_pc_partition_map_fini): Likewise.
25268 * partmap/sun.c (grub_sun_partition_map_init,
25269 grub_sun_partition_map_fini): Likewise.
25270 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25271 Likewise.
25272
25273 * util/grub-emu.c: Include <grub_modules_init.h>.
25274 (main): Don't initialize and de-initialize any modules directly,
25275 use `grub_init_all' and `grub_fini_all' instead.
25276
25277 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25278 `grub_vesafb_mod_init'.
25279 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25280 all users.
25281 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25282 `grub_vga_mod_init'. Updated all users.
25283 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 25284
6d099807 25285 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25286 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25287 rules.
25288
25289 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25290 Generate a function to initialize the module in utilities.
25291 Updated all callers.
25292 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25293 initialize the module in utilities. Updated all callers.
25294
9046bcf0 252952005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25296
25297 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25298 escape sequence and a literal ^L to clear the screen.
25299
25300 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25301 when returning from Open Firmware.
25302
d13ea639 253032005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25304
25305 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25306 (grub_ofconsole_height): Likewise.
25307 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25308 manually insert a '\n'.
25309 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25310 `grub_ofconsole_height'. Return early if these are already set.
25311
a8fcf206 253122005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25313
25314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25315 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25316 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25317 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25318 and `normal/script.c'.
25319 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25320 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25321 (test_mod_SOURCES): New variable.
25322 (test_mod_CFLAGS): Likewise.
25323 (test_mod_LDFLAGS): Likewise.
25324 (pkgdata_MODULES): Add `test.mod'.
25325 (grub_script.tab.c): New rule.
25326 (grub_script.tab.h): Likewise.
25327
b6b32745 253282005-11-07 Marco Gerards <mgerards@xs4all.nl>
25329
25330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25331 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25332 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25333 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25334 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25335 (test_mod_SOURCES): New variable.
25336 (test_mod_CFLAGS): Likewise.
25337 (pkgdata_MODULES): Add `test.mod'.
25338 (grub_script.tab.c): New rule.
25339 (grub_script.tab.h): Likewise.
25340
daac212a 253412005-11-06 Marco Gerards <mgerards@xs4all.nl>
25342
25343 Add initial scripting support.
25344
25345 * commands/test.c: New file.
25346 * include/grub/script.h: Likewise.
25347 * normal/execute.c: Likewise.
25348 * normal/function.c: Likewise.
25349 * normal/lexer.c: Likewise.
25350 * normal/parser.y: Likewise.
25351 * normal/script.c: Likewise.
25352
25353 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 25354
daac212a 25355 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25356 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25357 `normal/function.c' and `normal/script.c'.
25358 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25359 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 25360 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25361 variables.
daac212a 25362 (pkgdata_MODULES): Add `test.mod'.
25363 (grub_script.tab.c): New rule.
25364 (grub_script.tab.h): Likewise.
25365
25366 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25367
25368 * include/grub/normal.h (grub_test_init): New prototype.
25369 (grub_test_fini): Likewise.
f19dbdb7 25370
daac212a 25371 * normal/command.c: Include <grub/script.h>.
25372 (grub_command_execute): Rewritten.
f19dbdb7 25373
daac212a 25374 * util/grub-emu.c (main): Call `grub_test_init' and
25375 `grub_test_fini'.
25376
77500b2b 253772005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25378
25379 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25380 to 0.
25381 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25382 there are no pending characters.
25383
e45deb9e 253842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25385
25386 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25387 `grub_strndup' to drop device arguments. Replace unnecessary
25388 `grub_strndup' with `grub_strdup'.
25389
4ce32619 253902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25391
25392 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25393 `debug' environment variable has been set.
25394
253952005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 25396
4ce32619 25397 * Makefile.in (install-local): Use $(DATA).
25398 (uninstall): Likewise.
25399 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25400 (sbin_UTILITIES): ... to here.
25401 (sbin_SCRIPTS): New variable.
25402 (grub_install_SOURCES): New variable.
25403 * util/powerpc/ieee1275/grub-install.in: New file.
25404 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25405 variable.
25406 (add_segments): Call `grub_util_get_path'.
25407
25fe6f03 254082005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25409
25410 From Timothy Baldwin:
25411 * commands/ls.c (grub_ls_list_files): Close FILE with
25412 grub_file_close.
25413 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25414
04ccf3ec 254152005-10-24 Marco Gerards <mgerards@xs4all.nl>
25416
25417 * include/grub/parser.h: New file.
25418
25419 * kern/parser.c: Likewise.
25420
25421 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25422 (grub_setup_SOURCES): Likewise.
25423 (grub_probefs_SOURCES): Likewise.
25424 (grub_emu_SOURCES): Likewise.
25425 (kernel_img_HEADERS): Add `parser.h'.
25426
25427 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25428 (grub_emu_SOURCES): Add `kern/parser.c'.
25429 (grubof_SOURCES): Likewise.
25430
25431 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25432 (grubof_SOURCES): Add `kern/parser.c'.
25433
25434 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25435
25436 * kern/misc.c (grub_split_cmdline): Removed function.
25437
25438 * kern/rescue.c: Include <grub/parser.h>.
25439 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25440 of `grub_split_cmdline'.
25441
25442 * normal/command.c: Include <grub/parser.h>.
25443 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25444 of `grub_split_cmdline'.
25445
25446 * normal/completion.c: Include <grub/parser.h>.
25447 (cmdline_state): New variable.
25448 (iterate_dir): End the filename with a quote depending on the
25449 command line state.
25450 (get_state): new function.
25451 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25452 split the arguments and determine the current argument. When the
25453 argument string is not quoted, escape all spaces.
25454
6d8f4b0e 254552005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25456
25457 * normal/sparc64/setjmp.S: New file.
25458
15cf03ed 254592005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25460
25461 * include/grub/sparc64/libgcc.h: New file.
25462 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25463 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25464 normal/sparc64/setjmp.c.
25465
03e8661a 254662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25467
25468 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25469 * kern/sparc64/cache.S: New file.
25470 * kern/sparc64/cache.c: Removed.
25471 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25472 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25473 -mtune=ultrasparc.
25474 (COMMON_LDFLAGS): Add -melf64_sparc.
25475 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25476 (grubof_SOURCES): Use cache.S instead of cache.c.
25477 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25478 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25479 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25480 commented though.
25481 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25482 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25483 (linux_mod_CFLAGS): Commented out.
25484 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25485 out because module isn't built.
25486 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25487 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25488 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25489 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25490 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25491 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25492 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25493 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25494 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25495 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25496 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25497 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25498 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25499 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25500
34eeec8a 255012005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25502
25503 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25504 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25505 longer, because HFS should not be used on PC.
25506
708367a3 255072005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25508
25509 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25510 consistently within the loop.
25511
6fa1251a 255122005-10-15 Marco Gerards <mgerards@xs4all.nl>
25513
25514 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25515 directory can not be read.
25516
4801580b 255172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25518
25519 * configure.ac (AC_INIT): Increase the version number to 1.91.
25520
25521 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25522 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25523 term/i386/pc/serial.c.
25524
219ad426 255252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25526
25527 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25528 file size must be permitted.
25529
25530 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25531 between %ah and %al.
25532
688e5699 255332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25534
25535 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25536 grub_uint64_t.
25537 Call the hook with a NUL-terminated filename.
25538 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25539 grub_cpu_to_be32.
25540
25541 * kern/term.c (cursor_state): New variable.
25542 (grub_term_set_current): Reset the cursor state on a new
25543 terminal.
25544 (grub_setcursor): Rewritten to use CURSOR_STATE.
25545 (grub_getcursor): New function.
25546
25547 * include/grub/term.h (grub_getcursor): New prototype.
25548
25549 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25550 integers on ARM. Reported by Timothy Baldwin
25551 <T.E.Baldwin99@members.leeds.ac.uk>.
25552
bb34586c 255532005-10-11 Marco Gerards <mgerards@xs4all.nl>
25554
25555 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25556 allocated.
25557 (grub_sfs_dir): Likewise.
25558
9a909877 255592005-10-09 Marco Gerards <mgerards@xs4all.nl>
25560
25561 Add support for the SFS filesystem.
25562
25563 * fs/sfs.c: New file.
25564
25565 * DISTLIST: Added `fs/sfs.c'.
25566
25567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25568 (grub_probefs_SOURCES): Likewise.
25569 (grub_emu_SOURCES): Likewise.
25570 (pkgdata_MODULES): Add `sfs.mod'.
25571 (sfs_mod_SOURCES): New variable.
25572 (sfs_mod_CFLAGS): Likewise.
25573 (sfs_mod_LDFLAGS): Likewise.
25574
25575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25576 (pkgdata_MODULES): Add `sfs.mod'.
25577 (sfs_mod_SOURCES): New variable.
25578 (sfs_mod_CFLAGS): Likewise.
25579
25580 * util/grub-emu.c (main): Call `grub_sfs_init' and
25581 `grub_sfs_fini'.
25582
25583 * include/grub/fs.h (grub_sfs_init): New prototype.
25584 (grub_sfs_fini): Likewise.
25585
57bdbde3 255862005-10-07 Marco Gerards <mgerards@xs4all.nl>
25587
25588 Add support for the AFFS filesystem.
25589
25590 * fs/affs.c: New file.
25591
25592 * DISTLIST: Added `fs/affs.c'.
25593
25594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25595 (grub_probefs_SOURCES): Likewise.
25596 (grub_emu_SOURCES): Likewise.
25597 (pkgdata_MODULES): Add `affs.mod'.
25598 (affs_mod_SOURCES): New variable.
25599 (affs_mod_CFLAGS): Likewise.
25600 (affs_mod_LDFLAGS): Likewise.
25601
25602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25603 (pkgdata_MODULES): Add `affs.mod'.
25604 (affs_mod_SOURCES): New variable.
25605 (affs_mod_CFLAGS): Likewise.
25606
25607 * util/grub-emu.c (main): Call `grub_affs_init' and
25608 `grub_affs_fini'.
25609
25610 * include/grub/fs.h (grub_affs_init): New prototype.
25611 (grub_affs_fini): Likewise.
25612
047b67e0 256132005-10-01 Marco Gerards <mgerards@xs4all.nl>
25614
25615 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25616
59b8208a 256172005-10-01 Marco Gerards <mgerards@xs4all.nl>
25618
25619 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25620 `-m32' to CFLAGS.
25621
25622 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25623 linking.
f19dbdb7 25624
59b8208a 25625 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25626 (COMMON_LDFLAGS): New variable.
25627 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25628 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25629 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25630 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25631 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25632 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25633 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25634 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25635 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25636 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25637 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25638 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25639 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25640 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25641 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25642 variables.
25643 (normal_mod_ASFLAGS): Add `-m32'.
25644
25645 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25646 (grub_host_size_t, grub_host_ssize_t): New types.
25647 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 25648 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 25649 `GRUB_HOST_SIZEOF_VOID_P'.
25650
25651 * include/grub/kernel.h (struct grub_module_header): Type of
25652 member offset changed to `grub_host_off_t'. Type of member size
25653 changed to `grub_host_size_t'.
25654 (struct grub_module_info): Type of member offset changed to
25655 `grub_host_off_t'. Type of member size changed to
25656 `grub_host_size_t'.
25657
b4093103 256582005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25659
25660 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 25661
b4093103 25662 * kern/i386/pc/startup.S (multiboot_header): New label.
25663 (multiboot_entry): Likewise.
25664 (multiboot_trampoline): Likewise.
25665
25666 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25667 Increased to 0x4A0.
25668
25669 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25670 put parentheses after a question mark.
25671 [!GRUB_UTIL] (my_mod): New variable.
25672
25673 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25674
b2499b29 256752005-09-28 Marco Gerards <mgerards@xs4all.nl>
25676
25677 Adds support for the XFS filesystem. Btrees are not supported
25678 yet.
25679
25680 * fs/xfs.c: New file.
25681
25682 * DISTLIST: Added `fs/xfs.c'.
25683
25684 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25685 (grub_probefs_SOURCES): Likewise.
25686 (grub_emu_SOURCES): Likewise.
25687 (pkgdata_MODULES): Add `xfs.mod'.
25688 (xfs_mod_SOURCES): New variable.
25689 (xfs_mod_CFLAGS): Likewise.
25690
25691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25692 (pkgdata_MODULES): Add `xfs.mod'.
25693 (xfs_mod_SOURCES): New variable.
25694 (xfs_mod_CFLAGS): Likewise.
25695
25696 * util/grub-emu.c (main): Call `grub_xfs_init' and
25697 `grub_xfs_fini'.
25698
25699 * include/grub/fs.h (grub_xfs_init): New prototype.
25700 (grub_xfs_fini): Likewise.
25701
f19dbdb7 25702
83d37a62 257032005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25704
25705 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25706 color modes, allow greater than 16 colors to be configured as
25707 a default palette.
25708
47d2d65e 257092005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25710
25711 * normal/completion.c (complete_arguments): Add the qualifier
25712 const into OPTIONS.
25713
25714 From Omniflux <omniflux+lists@omniflux.com>:
25715 * include/grub/terminfo.h: New file.
25716 * include/grub/tparm.h: Likewise.
25717 * include/grub/i386/pc/serial.h: Likewise.
25718 * term/terminfo.c: Likewise.
25719 * term/tparm.c: Likewise.
25720 * term/i386/pc/serial.c: Likewise.
25721 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25722 serial.mod.
25723 (terminfo_mod_SOURCES): New variable.
25724 (terminfo_mod_CFLAGS): Likewise.
25725 (serial_mod_SOURCES): Likewise.
25726 (serial_mod_CFLAGS): Likewise.
25727
48b671ff 257282005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25729
25730 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25731 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25732 and kern/powerpc/ieee1275/cmain.c, respectively.
25733
25734 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25735 * kern/powerpc/ieee1275/crt0.S: ... here.
25736
25737 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25738 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 25739
48b671ff 25740 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25741 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25742 instead of boot/powerpc/ieee1275/crt0.S and
25743 boot/powerpc/ieee1275/cmain.c, respectively.
25744
25745 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25746 sectors. It was not used anyway.
25747
09fc77a7 257482005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25749
25750 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25751 `unused parameter' warning.
25752
003789c7 257532005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25754
25755 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25756 function.
25757 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25758 getcharwidth.
25759
67f44c86 257602005-08-28 Marco Gerards <metgerards@student.han.nl>
25761
25762 * include/grub/normal.h (enum grub_completion_type): Added
25763 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25764
25765 * normal/cmdline.c (print_completion): Handle
25766 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25767 * normal/menu_entry.c (store_completion): Likewise.
25768
25769 * normal/completion.c (complete_arguments): New function.
25770 (grub_normal_do_completion): Call `complete_arguments' when the
25771 current words start with a dash.
25772
0b5abe02 257732005-08-27 Marco Gerards <metgerards@student.han.nl>
25774
25775 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25776 `gzio.mod' instead of `io.mod').
25777
d9864ee1 257782005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25779
25780 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25781 (DISTDIRS): Added io and video.
25782 Rewrite the search routine to make an output consistently.
25783
25784 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25785 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25786 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25787 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25788 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25789 util/powerpc/ieee1275/misc.c.
f19dbdb7 25790
d9864ee1 25791 * include/grub/gzio.h: New file.
25792 * io/gzio.c: Likewise.
f19dbdb7 25793
d9864ee1 25794 * kern/file.c (grub_file_close): Call grub_device_close only if
25795 FILE->DEVICE is not NULL.
25796
25797 * include/grub/mm.h [!NULL] (NULL): New macro.
25798
25799 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25800
25801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25802 (pkgdata_MODULES): Added gzio.mod.
25803 (gzio_mod_SOURCES): New variable.
25804 (gzio_mod_CFLAGS): Likewise.
25805
25806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25807 (pkgdata_MODULES): Added gzio.mod.
25808 (gzio_mod_SOURCES): New variable.
25809 (gzio_mod_CFLAGS): Likewise.
25810
25811 * commands/cat.c: Include grub/gzio.h.
25812 (grub_cmd_cat): Use grub_gzfile_open instead of
25813 grub_file_open.
f19dbdb7 25814
d9864ee1 25815 * commands/cmp.c: Include grub/gzio.h.
25816 (grub_cmd_cmp): Use grub_gzfile_open instead of
25817 grub_file_open.
25818
25819 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25820 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25821 grub_file_open.
25822 (grub_rescue_cmd_module): Likewise.
25823
fa46f4b5 258242005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25825
25826 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25827 kern/sparc64/ieee1275/init.c because it contains _start.
25828 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25829
e9211b5d 258302005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25831
25832 * configure.ac: Add support for sparc64 host with ieee1275
25833 firmware.
25834 * configure: Generated from configure.ac.
25835 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25836 instead of int.
25837 (grub_ofdisk_read): Likewise.
25838 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25839 pointers as (void *) to remove a warning.
25840 (grub_ofdisk_close): Likewise.
25841 (grub_ofdisk_read): Likewise.
25842 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25843 returns, so make it return void to remove a warning.
25844 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25845 Corresponding prototype change.
25846 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25847 values, and cast the pointers as (void *) to remove a warning.
25848 (grub_mm_dump): Likewise.
25849 * conf/sparc64-ieee1275.mk: New file.
25850 * conf/sparc64-ieee1275.rmk: Likewise.
25851 * include/grub/sparc64/setjmp.h: Likewise.
25852 * include/grub/sparc64/types.h: Likewise.
25853 * include/grub/sparc64/ieee1275/console.h: Likewise.
25854 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25855 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25856 * include/grub/sparc64/ieee1275/time.h: Likewise.
25857 * kern/sparc64/cache.c: Likewise.
25858 * kern/sparc64/dl.c: Likewise.
25859 * kern/sparc64/ieee1275/init.c: Likewise.
25860 * kern/sparc64/ieee1275/openfw.c: Likewise.
25861
385c6a92 258622005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25863
25864 * util/console.c (grub_ncurses_putchar): If C is greater than
25865 0x7f, set C to a question mark.
25866 (grub_ncurses_getcharwidth): New function.
25867 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25868 getcharwidth.
25869
25870 * normal/menu.c (print_entry): Made aware of Unicode. First,
25871 convert TITLE to UCS-4, and predict the cursor position by
25872 grub_getcharwidth.
25873
25874 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25875 const to SRC.
25876 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25877
16ccb8b1 258782005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25879
25880 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25881 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25882 grub_strcat.
25883
25884 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25885 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25886 grub_strcpy and grub_strlen. Take it into account that a space
25887 character is inserted as a delimiter.
25888
6a85ce79 258892005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25890
25891 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 25892 invalid magic in the error.
6a85ce79 25893
25894 * commands/search.c: New file.
f19dbdb7 25895
6a85ce79 25896 * util/grub-emu.c (main): Call grub_search_init and
25897 grub_search_fini.
25898
25899 * kern/rescue.c (grub_rescue_print_disks): Removed.
25900 (grub_rescue_print_devices): New function.
25901 (grub_rescue_cmd_ls): Use grub_device_iterate with
25902 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25903 grub_rescue_print_disks.
25904
25905 * kern/partition.c (grub_partition_iterate): Return the result of
25906 PARTMAP->ITERATE instead of GRUB_ERRNO.
25907
25908 * kern/device.c: Include grub/partition.h.
25909 (grub_device_iterate): New function.
25910
25911 * include/grub/partition.h (grub_partition_iterate): Return int
25912 instead of grub_err_t.
25913
25914 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25915 prototype.
25916 [GRUB_UTIL] (grub_search_fini): Likewise.
25917
25918 * include/grub/device.h (grub_device_iterate): New prototype.
25919
25920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25921 commands/search.c.
25922 (pkgdata_MODULES): Added search.mod.
25923 (search_mod_SOURCES): New variable.
25924 (search_mod_CFLAGS): Likewise.
25925
25926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25927 (pkgdata_MODULES): Added search.mod.
25928 (search_mod_SOURCES): New variable.
25929 (search_mod_CFLAGS): Likewise.
25930
25931 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25932 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25933 All callers changed.
25934
25935 * DISTLIST: Added commands/search.c.
25936
ef095434 259372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25938
25939 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25940 conversion.
25941 (grub_getcharwidth): New function.
25942
25943 * kern/misc.c (grub_utf8_to_ucs4): New function.
25944
25945 * include/grub/term.h (struct grub_term): Added a new member
25946 "getcharwidth".
25947 (grub_getcharwidth): New prototype.
25948
25949 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25950
25951 * term/i386/pc/console.c (map_char): New function. Segregated from
25952 grub_console_putchar.
25953 (grub_console_putchar): Use map_char.
25954 (grub_console_getcharwidth): New function.
25955 (grub_console_term): Specified grub_console_getcharwidth as
25956 getcharwidth.
25957
25958 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25959 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25960
25961 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25962 GRUB_ERRNO.
25963 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25964 on grub_strtoul completely.
25965 (write_char): Declare local variables in the beginning of the
25966 function.
25967 (grub_vesafb_getcharwidth): New function.
25968 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25969 getcharwidth.
25970
1f0a95e4 259712005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25972
25973 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25974 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25975 commands/i386/pc/vbetest.c.
25976
25977 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25978 call grub_vbe_get_controller_info again, because the returned
25979 information is volatile.
25980 (grub_vbe_set_video_mode): Mostly rewritten.
25981 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25982 grub_vbe_status_t correctly.
25983 (grub_vbe_get_video_mode_info): Likewise.
25984 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25985 several if statements.
25986
25987 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25988 * commands/i386/pc/vbeinfo.c: ... this.
25989
25990 * commands/i386/pc/vbe_test.c: Renamed to ...
25991 * commands/i386/pc/vbetest.c: ... this.
25992
25993 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25994 ...
25995 (grub_cmd_vbeinfo): ... this. Save video modes before
25996 iterating. Skip a video mode, if it is not available, not enough
25997 information is given or it is monochrome. Show the memory
25998 model. Leave the interpretation of MODEVAR to grub_strtoul
25999 completely.
26000 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26001 (GRUB_MOD_FINI): Likewise.
26002
26003 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26004 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26005 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26006 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26007 grub_strtoul completely.
26008 (real2pm): Removed.
26009 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26010 (GRUB_MOD_FINI): Likewise.
26011
26012 * normal/misc.c: Include grub/mm.h.
26013
26014 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26015 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26016 (vbe_list_modes_mod_SOURCES): Removed.
26017 (vbe_list_modes_mod_CFLAGS): Likewise.
26018 (vbe_test_mod_SOURCES): Likewise.
26019 (vbe_test_mod_CFLAGS): Likewise.
26020 (vbeinfo_mod_SOURCES): New variable.
26021 (vbeinfo_mod_CFLAGS): Likewise.
26022 (vbetest_mod_SOURCES): Likewise.
26023 (vbetest_mod_CFLAGS): Likewise.
26024
992ffbbe 260252005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26026
26027 * normal/misc.c: New file.
26028
26029 * DISTLIST: Added normal/misc.c.
f19dbdb7 26030
992ffbbe 26031 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26032 DISK to HOOK. Call HOOK with DISK.
26033 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26034 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26035 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26036
26037 * normal/menu_entry.c (struct screen): Added a new member
26038 "completion_shown".
26039 (completion_buffer): New global variable.
26040 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26041 (store_completion): New function.
26042 (complete): Likewise.
26043 (clear_completions): Likewise.
26044 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26045 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26046 a tab, call complete.
26047
26048 * normal/completion.c (disk_dev): Removed.
26049 (print_simple_completion): Likewise.
26050 (print_partition_completion): Likewise.
26051 (print_func): New global variable.
26052 (add_completion): Do not take the arguments WHAT or PRINT any
26053 longer. Added a new argument TYPE. Instead of printing directly,
26054 call PRINT_FUNC if not NULL.
26055 All callers changed.
26056 (complete_device): Use a local variable DEV instead of
26057 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26058 (grub_normal_do_completion): Take a new argument HOOK. Do not
26059 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26060 empty string, return NULL instead.
26061 All callers changed.
26062
26063 * normal/cmdline.c (print_completion): New function.
26064
26065 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26066 to HOOK.
26067 All callers changed.
26068
26069 * kern/disk.c (grub_print_partinfo): Removed.
26070
26071 * include/grub/partition.h (struct grub_partition_map): Add a new
26072 argument DISK into HOOK of ITERATE.
26073 (grub_partition_iterate): Add a new argument DISK to HOOK.
26074
26075 * include/grub/normal.h (enum grub_completion_type): New enum.
26076 (grub_completion_type_t): New type.
26077 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26078 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26079 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26080 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26081 (grub_normal_do_completion): Added a new argument HOOK.
26082 (grub_normal_print_device_info): New prototype.
26083
26084 * include/grub/disk.h (grub_print_partinfo): Removed.
26085
26086 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26087 (normal_mod_SOURCES): Likewise.
26088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26089 (normal_mod_SOURCES): Likewise.
26090
26091 * commands/ls.c (grub_ls_list_disks): Use
26092 grub_normal_print_device_info instead of grub_print_partinfo. Free
26093 PNAME.
26094 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26095 duplicating the code.
26096
0bd41162 260972005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26098
26099 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 26100 follow GCS more precisely.
26101 * commands/i386/pc/vbe_test.c: Likewise.
26102 * include/grub/i386/pc/vbe.h: Likewise.
26103 * term/i386/pc/vesafb.c: Likewise.
26104 * video/i386/pc/vbe.c: Likewise.
0bd41162 26105
6323696a 261062005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26107
26108 * DISTLIST: Added term/i386/pc/vesafb.c
26109 DISTLIST: Added video/i386/pc/vbe.c
26110 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26111 DISTLIST: Added commands/i386/pc/vbe_test.c.
26112 * commands/i386/pc/vbe_list_modes.c: New file.
26113 * commands/i386/pc/vbe_test.c: Likewise.
26114 * term/i386/pc/vesafb.c: Likewise.
26115 * video/i386/pc/vbe.c: Likewise.
26116 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26117 (grub_vbe_probe) Added prototype.
26118 (grub_vbe_set_video_mode) Likewise.
26119 (grub_vbe_get_video_mode) Likewise.
26120 (grub_vbe_get_video_mode_info) Likewise.
26121 (grub_vbe_set_pixel_rgb) Likewise.
26122 (grub_vbe_set_pixel_index) Likewise.
26123 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26124 (pkgdata_MODULES): Added vesafb.mod.
26125 (pkgdata_MODULES): Added vbe_list_modes.mod.
26126 (pkgdata_MODULES): Added vbe_test.mod.
26127 (vbe_mod_SOURCES): Added.
26128 (vbe_mod_CFLAGS): Likewise.
26129 (vesafb_mod_SOURCES): Likewise.
26130 (vesafb_mod_CFLAGS): Likewise.
26131 (vbe_list_modes_mod_SOURCES): Likewise.
26132 (vbe_list_modes_mod_CFLAGS): Likewise.
26133 (vbe_test_mod_SOURCES): Likewise.
26134 (vbe_test_mod_CFLAGS): Likewise.
26135
0a74e62f 261362005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26137
0a74e62f 26138 * normal/command.c (grub_command_execute): If INTERACTIVE is
26139 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26140 CMDLINE. Disable the pager if INTERACTIVE is true.
26141 All callers are changed.
26142
26143 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26144 before reading a config file.
26145 * normal/main.c (read_config_file): Even if a command is not
26146 found, register it if it is within an entry.
26147
26148 * util/grub-emu.c: Include sys/types.h and unistd.h.
26149 (options): Added --hold.
26150 (struct arguments): Added a new member "hold".
26151 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26152 missing.
26153 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26154 cleared by a debugger, if it is not zero.
26155
26156 * include/grub/normal.h (grub_command_execute): Add an argument
26157 INTERACTIVE.
26158
e51f85ae 261592005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26160
26161 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26162
e9c6f39b 261632005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26164
26165 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26166 program with another one, because the old one didn't detect a bug
26167 in gcc-3.4. Always use regparm 2, because the new test is still
26168 not enough for gcc-4.0. Someone must investigate a simple test
26169 case which detects a bug in gcc-4.0.
26170
8de3495c 261712005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26172
26173 * DISTLIST: Added normal/completion.c.
26174
26175 * normal/completion.c: New file.
f19dbdb7 26176
8de3495c 26177 * term/i386/pc/console.c (grub_console_getwh): New function.
26178 (grub_console_term): Assign grub_console_getwh to getwh.
26179
26180 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26181 function is defined in normal/completion.c as
26182 grub_normal_do_completion.
26183 (grub_cmdline_get): Use grub_normal_do_completion instead of
26184 grub_tab_complete.
26185
26186 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26187 returns non-zero, otherwise return 0.
26188 (grub_partition_iterate): First, probe the partition map. Then,
26189 call ITERATE only for this partition map.
26190
26191 * kern/misc.c (grub_strncmp): Rewritten.
26192
26193 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26194 returns non-zero. Otherwise return 0.
26195
26196 * include/grub/partition.h (grub_partition_map_iterate): Return
26197 int instead of void.
26198
26199 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26200
26201 * include/grub/misc.h (grub_strncmp): Change the type of N to
26202 grub_size_t.
26203
26204 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26205 of void.
26206
26207 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 26208 unsigned explicitly before comparing it with I.
8de3495c 26209
26210 * kern/main.c (grub_env_write_root): Add the attribute unused into
26211 VAR.
26212
26213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26214 normal/completion.c.
26215 (normal_mod_SOURCES): Likewise.
26216 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26217 (normal_mod_SOURCES): Likewise.
26218
26219 * normal/command.c (grub_iterate_commands): If ITERATE returns
26220 non-zero, return one immediately.
26221
e85e144b 262222005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26223
26224 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26225 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26226 descriptions.
26227 (grub_vbe_get_controller_info): New function.
26228 (grub_vbe_get_mode_info): Likewise.
26229 (grub_vbe_set_mode): Likewise.
26230 (grub_vbe_get_mode): Likewise.
26231 (grub_vbe_set_memory_window): Likewise.
26232 (grub_vbe_get_memory_window): Likewise.
26233 (grub_vbe_set_scanline_length): Likewise.
26234 (grub_vbe_get_scanline_length): Likewise.
26235 (grub_vbe_set_display_start): Likewise.
26236 (grub_vbe_get_display_start): Likewise.
26237 (grub_vbe_set_palette_data): Likewise.
26238 * include/grub/i386/pc/vbe.h: New file.
26239
c46153d2 262402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26241
26242 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26243 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26244 * DISTLIST: Likewise.
26245 * kern/ieee1275/of.c: Moved to ...
26246 * kern/ieee1275/ieee1275.c: ... here.
26247
0cb90c45 262482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26249
26250 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26251 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26252 Pass 0 as `end' parameter to grub_strtoul().
26253
a19fb360 262542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26255
26256 * include/grub/powerpc/ieee1275/console.h: Do not include
26257 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26258 ifdef.
26259 (grub_console_cur_color): Remove i386-specific prototype.
26260 (grub_console_real_putchar): Likewise.
26261 (grub_console_checkkey): Likewise.
26262 (grub_console_getkey): Likewise.
26263 (grub_console_getxy): Likewise.
26264 (grub_console_gotoxy): Likewise.
26265 (grub_console_cls): Likewise.
26266 (grub_console_setcursor): Likewise.
26267 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26268 Include <grub/machine/console.h>.
26269 * term/ieee1275/ofconsole.c: Likewise.
26270
4ac9bd04 262712005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26272
26273 * Makefile.in (LIBLZO): New variable.
26274
26275 * configure.ac: Check for LZO version 2.
26276
26277 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26278 lzo/lzo1x.h instead of lzo1x.h.
26279
26280 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26281 of -llzo.
26282
26283 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26284 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26285
26286 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26287 copying the data from PARTITION to P.
26288
f4917dfd 262892005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26290
26291 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26292 negative, unload the module.
26293
26294 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26295 map is "pc_partition_map" but not "pc".
26296 (usage): Fix the description. The options are --boot-image and
26297 --core-image but not --boot-file or --core-file.
26298 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26299 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26300 DEFAULT_DIRECTORY.
26301
26302 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26303 --core-file. Specify INSTALL_DEVICE as an argument.
26304
26305 * util/console.c: Include config.h.
26306 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26307 [HAVE_NCURSES_H]: Include ncurses.h.
26308 [HAVE_CURSES_H]: Include curses.h.
26309 [!A_NORMAL] (A_NORMAL): Defined as zero.
26310 [!A_STANDOUT] (A_STANDOUT): Likewise.
26311
26312 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26313 -lncurses.
26314 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26315
26316 * configure.ac: Check for curses libraries and headers.
26317
26318 * Makefile.in (LIBCURSES): New variable.
26319
26320 * genmk.rb (Script::rule): Set the executable bits.
26321
26322 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26323 name of the PC partition map is "pc_partition_map" but not "pc".
26324
0e143073 263252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26326
26327 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26328 (modules): Likewise.
26329 (usage): Added descriptions for --modules and --grub-probefs.
26330 Handle --modules and --grub-probefs. Save the arguments in MODULES
26331 and GRUB_PROBEFS, respectively.
26332 Auto-detect a filesystem module against GRUBDIR. If the result is
26333 empty and modules are not specified explicitly, abort the
26334 installation. Add the result to MODULES.
26335
26336 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26337 disk/powerpc/ieee1275/ofdisk.c,
26338 include/grub/powerpc/ieee1275/init.h and
26339 term/powerpc/ieee1275/ofconsole.c.
26340 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26341 term/ieee1275/ofconsole.c.
26342
26343 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26344
26345 * COPYING: Upgraded to the latest version. Only the address of the
26346 FSF office has changed.
f19dbdb7 26347
efd6e6d5 263482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26349
26350 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26351 kern/ieee1275.c with kern/ieee1275/of.c.
26352
26353 * kern/ieee1275.c: Moved to ...
26354 * kern/ieee1275/of.c: ... here.
26355
8ceafda2 263562005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26357
26358 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 26359 readability.
8ceafda2 26360
26361 * config.guess: Updated to the latest version from gnulib.
26362 * config.sub: Likewise.
26363 * install.sh: Likewise.
26364 * mkinstalldirs: Likewise.
26365
26366 * include/grub/console.h: Removed. This file is arch-specific. Do
26367 not put this in include/grub.
26368
26369 * include/grub/i386/pc/console.h: Resurrected.
26370
26371 * util/console.c: Include grub/machine/console.h instead of
26372 grub/console.h.
26373 * util/grub-emu.c: Likewise.
26374
267f6cd9 263752005-08-04 Marco Gerards <metgerards@student.han.nl>
26376
26377 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26378 hardcoded value.
f19dbdb7 26379
267f6cd9 26380 From Vincent Pelletier <subdino2004@yahoo.fr>
26381 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26382 Redefined to use grub_getwh.
26383 (grub_term): New member named getwh.
26384 (grub_getwh): New prototype.
26385 * kern/term.c (grub_getwh): New function.
26386 * term/i386/pc/console.c (grub_console_getwh): New function.
26387 (grub_console_term): New member `getwh'.
26388 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26389 (grub_vga_term): New member `getwh'.
0b5abe02 26390 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 26391 grub_ssize_t.
26392 (grub_ofconsole_getw): New function.
26393 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26394 (grub_ofconsole_term): New field named getwh and new initial
26395 value.
26396
3be7266d 263972005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26398
26399 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26400 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26401 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26402 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26403 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26404 of <grub/machine/ieee1275.h>.
26405 * commands/ieee1275/reboot.c: Likewise.
26406 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26407 * kern/ieee1275.c: ... to here. All users updated. Change all
26408 parameter structs to use new type `grub_ieee1275_cell_t'.
26409 * term/powerpc/ieee1275/ofconsole.c: Move ...
26410 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26411 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26412 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26413 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26414 to return int.
26415 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26416 Remove unused prototypes. All users updated.
26417 * include/grub/powerpc/ieee1275/console.h: Removed.
26418 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26419 `grub_ieee1275_cell_t'.
26420 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26421 Cast comparisons with -1 to the correct type.
26422 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26423 type to match `grub_ieee1275_entry_fn'.
26424
8b5f3938 264252005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26426
26427 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26428
26429 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26430 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26431 partmap/sun.c.
26432 (grub_probefs_SOURCES): New variable.
26433
26434 * util/i386/pc/grub-probefs.c: New file.
26435
26436 * util/i386/pc/grub-setup.c (main): Call
26437 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26438 grub_hfs_init and grub_jfs_init to initialize the system. Call
26439 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26440 grub_pc_partition_map_fini to finish the system.
26441
ea409713 264422005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26443
26444 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26445 function.
26446 (grub_multiboot_load_elf32): Likewise.
26447 (grub_multiboot_is_elf64): Likewise.
26448 (grub_multiboot_load_elf64): Likewise.
26449 (grub_multiboot_load_elf): Likewise.
26450 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26451 an ELF32 or ELF64 file.
26452 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26453
26454 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26455 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26456 NULL before calling FS->LABEL.
26457 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26458 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26459 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26460 before calling FS->LABEL.
26461
141a288b 264622005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26463
26464 * util/i386/pc/grub-install.in (datadir): New variable.
26465 (libdir): Removed.
26466 (pkgdatadir): New variable.
26467 (pkglibdir): Removed.
26468
0d5f8a54 264692005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26470
26471 * DISTLIST: Added util/i386/pc/grub-install.in.
26472
26473 * util/i386/pc/grub-install.in: New file.
26474
26475 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26476 (grub_install_SOURCES): Likewise.
26477
26478 * genmk.rb: Added support for scripts.
26479 (Script): New class.
26480 (scripts): New variable.
26481
26482 * Makefile.in (install-local): Install sbin_SCRIPTS by
26483 INSTALL_SCRIPT.
26484 (uninstall): Remove sbin_SCRIPTS.
26485
26486 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26487 device, try to get a GRUB device by
26488 grub_util_biosdisk_get_grub_dev.
26489 Free DEST_DEV.
26490
26491 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26492 description for --device-map.
26493
5f968e1e 264942005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26495
26496 Change the semantics of variable hooks. They now return strings
26497 instead of error values.
f19dbdb7 26498
5f968e1e 26499 * util/i386/pc/grub-setup.c: Include grub/env.h.
26500 (setup): Use grub_device_set_root instead of grub_env_set.
26501
26502 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26503 grub_env_get instead of grub_device_set_root and
26504 grub_device_get_root, respectively.
26505
26506 * kern/main.c (grub_env_write_root): New function.
26507 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26508 grub_env_set instead of grub_device_set_root.
26509
26510 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26511 many variables.
26512 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26513 rather than calling ENV->WRITE_HOOK afterwards.
26514 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26515 passing a pointer of a pointer.
26516 (grub_register_variable_hook): Change the types of "read_hook" and
26517 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26518 respectively.
26519 Allocate the default empty string on the heap, because this string
26520 may be freed later.
26521
26522 * kern/device.c: Include grub/env.h.
26523 (grub_device_set_root): Removed.
26524 (grub_device_get_root): Likewise.
26525 (grub_device_open): Use grub_env_get instead of
26526 grub_device_get_root.
26527
26528 * include/grub/env.h (grub_env_read_hook_t): New type.
26529 (grub_env_write_hook_t): Likewise.
26530 (grub_env_var): Change the types of "read_hook" and "write_hook"
26531 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26532 (grub_register_variable_hook): Likewise.
26533
26534 * include/grub/device.h (grub_device_set_root): Removed.
26535 (grub_device_set_root): Likewise.
26536
26537 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26538 make sure that DIRNAME terminates with '/', so that
26539 grub_fat_find_dir will fail if PATH is not a directory.
26540
26541 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26542 from DIRNAME.
26543 Use the qualifier auto for print_files and print_files_long.
26544 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26545 as a regular file.
26546 Put a newline only if there is no error.
26547 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26548 used.
26549
896f0afd 265502005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26551
26552 * kern/partition.c (grub_partition_probe): Initialize PART to
26553 NULL. Otherwise, when no partition map is registered, this returns
26554 a garbage.
26555
b28b81b2 265562005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26557
26558 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26559 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26560 valid.
26561
5f3607e0 265622005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26563
26564 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26565 information on each device, if it does not have partitions. Print
26566 "Device" instead of "Disk", because this function is not specific
26567 to disk devices.
26568
26569 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26570 static to ensure that it is put on the memory rather than a
26571 register.
26572
502c87e8 265732005-07-17 Yoshinori Okuji <okuji@enbug.org>
26574
26575 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26576 (grub_cat_init): Likewise.
26577 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26578 (options): Likewise.
26579 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26580 (grub_configfile_init): Likewise.
26581 * font/manager.c (GRUB_MOD_INIT): Likewise.
26582 * commands/help.c (GRUB_MOD_INIT): Likewise.
26583 (grub_help_init): Likewise.
26584 * normal/command.c (grub_command_init): Likewise.
26585 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26586 * disk/loopback.c (grub_loop_init): Likewise.
26587 (GRUB_MOD_INIT): Likewise.
26588 * commands/ls.c (grub_ls_init): Likewise.
26589 (GRUB_MOD_INIT): Likewise.
26590 (options): Likewise.
26591 * commands/boot.c (grub_boot_init): Likewise.
26592 (GRUB_MOD_INIT): Likewise.
26593 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26594 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26595 (GRUB_MOD_INIT): Likewise.
26596 * commands/cmp.c (grub_cmp_init): Likewise.
26597 (GRUB_MOD_INIT): Likewise.
26598
26599 * normal/arg.c: Use <> instead of "" to include header files.
26600 (SHORT_ARG_HELP): New macro.
26601 (SHORT_ARG_USAGE): Likewise.
26602 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26603 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26604 descriptions.
26605 (find_short): Check if C is 'h' or 'u' explicitly.
26606 (grub_arg_show_help): Use space characters instead of tabs. Treat
26607 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26608 are shown with --help and --usage only if they are not used for
26609 the command itself.
26610 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26611 'h' and 'u'.
26612
26613 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26614 const into "longarg". Change the type of "shortarg" to int.
26615
f806d18e 266162005-07-17 Yoshinori Okuji <okuji@enbug.org>
26617
26618 * boot/i386/pc/boot.S (boot_drive_check): New label.
26619
26620 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26621 macro.
26622
26623 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26624 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26625
e293232b 266262005-07-17 Yoshinori Okuji <okuji@enbug.org>
26627
26628 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26629 When turning off Gate A20, skip the check and return immediately,
26630 because this is not fatal usually.
26631
ebedfd00 266322005-07-17 Yoshinori Okuji <okuji@enbug.org>
26633
26634 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26635 be 0x7C00 instead of 0x8000.
26636
26637 * boot/i386/pc/pxeboot.S: Rewritten.
26638
26639 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26640 EXT_C.
26641 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26642 result.
26643
654fc59f 266442005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26645
26646 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26647 robustness. This routine now supports a BIOS call and System
26648 Control Port A to modify the gate A20.
26649
26650 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26651 Increased to 0x440.
26652
09f9923f 266532005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26654
26655 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26656 device path and resulting ihandle.
26657 (grub_ofdisk_close): dprintf the ihandle being closed.
26658 (grub_ofdisk_read): dprintf function parameters.
26659 * kern/mm.c (grub_mm_init_region): Likewise.
26660 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26661 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26662 size, and boot arguments.
26663 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26664 before loading into memory.
26665 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26666 before loading into memory.
26667
7ef504d8 266682005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26669
26670 * kern/mm.c: Added much documentation.
26671 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26672 8, set to 5 instead of 8.
26673
e0f050c2 266742005-07-10 Yoshinori Okuji <okuji@enbug.org>
26675
26676 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26677
26678 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26679 (grub_mkdevicemap_SOURCES): New variable.
26680
26681 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26682 lib/device.c of GRUB Legacy.
26683
7224189a 266842005-07-10 Yoshinori Okuji <okuji@enbug.org>
26685
26686 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26687 instead of PATH is NULL.
26688
68c864eb 266892005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26690
26691 * commands/cmp.c (BUFFER_SIZE): New macro.
26692 (grub_cmd_cmp): Close the right file at the right time. Compare
26693 only data just read. Don't report files of different size as
26694 identical. Dynamically allocate buffers. Move variable
26695 declarations at the beginning of function.
26696
e6f3e614 266972005-07-09 Yoshinori Okuji <okuji@enbug.org>
26698
26699 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26700 reverse.
26701
f8f1559a 267022004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26703
26704 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26705 when backspace is pressed at beginning of line.
26706
39c9d41d 267072005-07-03 Yoshinori Okuji <okuji@enbug.org>
26708
26709 * DISTLIST: Added genfslist.sh.
26710
26711 * normal/main.c (fs_module_list): New variable.
26712 (autoload_fs_module): New function.
26713 (read_fs_list): Likewise.
26714 (grub_normal_execute): Call read_fs_list.
26715
26716 * kern/fs.c (grub_fs_autoload_hook): New variable.
26717 (grub_fs_probe): Added support for auto-loading.
26718
26719 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26720 (grub_fs_module_list_t): New type.
26721
26722 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26723 (grub_fs_autoload_hook): New prototype.
26724
26725 * genfslist.sh: New file.
f19dbdb7 26726
39c9d41d 26727 * genmk.rb: Added a rule to generate a filesystem list.
26728
121c1d83 267292005-06-30 Marco Gerards <metgerards@student.han.nl>
26730
26731 * configure.ac: Fix the test for cross-compiling.
26732
26733 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26734 define GRUB_UTIL anymore.
26735
26736 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26737 so this function works on other systems than just big endian.
26738 (load_modules): Likewise.
26739 (add_segments): Likewise.
26740
e75d76e1 267412005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26742
26743 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26744 contains `l' modifier, get a long from va_arg().
26745
50b5a0a7 267462005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26747
26748 * kern/mm.c (grub_free): If the next free block which is being
26749 merged is the first free block, set the first block to the block
26750 being freed.
26751 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26752
89371b20 267532005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26754
26755 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26756 `grub_ieee1275_chosen'.
26757
168d6e58 267582005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26759
26760 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26761 (grub_ieee1275_chosen): New variable.
26762 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26763 `chosen'.
26764 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26765 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26766 Rename first argument to `phandle' for consistency.
26767 (grub_ieee1275_get_property_length): Likewise.
26768 (grub_ieee1275_next_property): Likewise. Change type of first argument
26769 to grub_ieee1275_phandle_t.
26770 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26771 Move export next to declaration.
26772 (grub_ieee1275_chosen): New variable.
26773 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26774 Correct cosmetic typo.
26775 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26776 `grub_ieee1275_chosen'.
26777 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26778 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26779 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26780 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26781 `grub_ieee1275_chosen'.
26782
ca5baa3f 267832005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26784
26785 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26786 /chosen/bootargs.
26787 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26788 /chosen/bootargs as "variable=value" pairs.
26789
708b345f 267902005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26791
26792 * include/grub/misc.h (grub_dprintf): New macro.
26793 (grub_real_dprintf): New prototype.
26794 (grub_strword): Likewise.
26795 (grub_iswordseparator): Likewise.
26796 * kern/misc.c (grub_real_dprintf): New function.
26797 (grub_strword): Likewise.
26798 (grub_iswordseparator): Likewise.
26799
f4c5e67c 268002005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26801
26802 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26803 (roundup): Remove macro.
26804 (grub_ieee1275_flags): Make static.
26805 (grub_ieee1275_realmode): Remove.
26806 (grub_ieee1275_test_flag): New function.
26807 (grub_ieee1275_set_flag): Likewise.
26808 (find_options): Rename to `grub_ieee1275_find_options'; update
26809 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26810 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26811 (cmain): New prototype.
26812 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26813 `grub_ieee1275_flags' directly.
26814 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26815 machine/biosdisk.h.
26816 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26817 Don't include grub/machine/init.h.
26818 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26819 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26820 Remove prototype.
26821 (grub_ieee1275_realmode): Likewise.
26822 (grub_ieee1275_flag): New enum.
26823 (grub_ieee1275_test_flag): New prototype.
26824 (grub_ieee1275_set_flag): New prototype.
26825 * include/grub/powerpc/ieee1275/init.h: Remove file.
26826 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26827 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26828 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26829 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26830 comment.
26831 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26832 `grub_ieee1275_test_flag'.
26833 (grub_ieee1275_encode_devname): Likewise.
26834
ed16607e 268352005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26836
26837 * include/grub/powerpc/ieee1275/ieee1275.h
26838 (grub_ieee1275_encode_devname): New prototype.
26839 (grub_ieee1275_get_filename): Likewise.
26840 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26841 function.
26842 (grub_set_prefix): Likewise.
26843 (grub_machine_init): Call grub_set_prefix.
26844 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26845 (grub_parse_type): New enum.
26846 (grub_ieee1275_get_devargs): New function.
26847 (grub_ieee1275_get_devname): Likewise.
26848 (grub_ieee1275_parse_args): Likewise.
26849 (grub_ieee1275_get_filename): Likewise.
26850 (grub_ieee1275_encode_devname): Likewise.
26851
be369920 268522005-03-30 Marco Gerards <metgerards@student.han.nl>
26853
26854 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26855 `grub_loader_unset'.
26856
a5ce3a4a 268572005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26858
26859 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26860 instead of grub_ieee1275_interpret.
26861 (grub_halt_init): New function.
26862 (grub_halt_fini): Likewise.
26863 (GRUB_MOD_INIT): Correct message grammar.
26864 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26865 instead of grub_ieee1275_interpret.
26866 (grub_reboot_init): New function.
26867 (grub_reboot_fini): Likewise.
26868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26869 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26870 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26871 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26873 function.
26874 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26875 Add prototype.
26876 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26877 prototype.
26878 (grub_halt): Likewise.
26879 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26880 (cmain): Remove __attribute__((unused)).
26881 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26882 (grub_heap_len): Likewise.
26883 (grub_machine_fini): New function.
26884 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26885 (grub_halt): Likewise.
26886 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26887 function.
26888 * util/powerpc/ieee1275/misc.c: New file.
26889
0058f771 268902005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26891
26892 * DISTLIST: New file.
26893 * gendistlist.sh: Likewise.
f19dbdb7 26894
0058f771 26895 * Makefile.in (COMMON_DISTFILES): Removed.
26896 (BOOT_DISTFILES): Likewise.
26897 (CONF_DISTFILES): Likewise.
26898 (DISK_DISTFILES): Likewise.
26899 (FS_DISTFILES): Likewise.
26900 (INCLUDE_DISTFILES): Likewise.
26901 (KERN_DISTFILES): Likewise.
26902 (LOADER_DISTFILES): Likewise.
26903 (TERM_DISTFILES): Likewise.
26904 (UTIL_DISTFILES): Likewise.
26905 (DISTFILES): Likewise.
26906 (uninstall): Uninstall files in $(pkgdata_DATA).
26907 (DISTLIST): New target.
26908 (distdir): Use the contents of the file DISTLIST to get a list of
26909 distributed files.
26910
46b3b8a5 269112005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26912
26913 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26914 descriptor. This is ported from GRUB Legacy.
26915
26916 * gencmdlist.sh: Added an extra semicolon to make it work with
26917 old sed versions. Reported by Robert Bihlmeyer
26918 <robbe@orcus.priv.at>.
26919
5822ff87 269202005-03-08 Yoshinori Okuji <okuji@enbug.org>
26921
26922 Automatic loading of commands is supported.
f19dbdb7 26923
5822ff87 26924 * normal/main.c (read_command_list): New function.
26925 (grub_normal_execute): Call read_command_list.
26926
26927 * normal/command.c (grub_register_command): Return zero or CMD.
26928 Allocate CMD->NAME from the heap.
26929 Initialize CMD->MODULE_NAME to zero.
26930 Find the same name as well. If the same command is found and it is
26931 a dummy command, overwrite members. If it is not a dummy command,
26932 return zero.
26933 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26934 (grub_command_find): If a dummy command is found, load a module
26935 and retry to find a command only once.
26936
26937 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26938 make sure that each command is loaded.
26939
26940 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26941 macro.
26942 (struct grub_command): Remove const from the member `name'.
26943 Add a new member `module_name'.
26944 (grub_register_command): Return grub_command_t.
26945
26946 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26947 sure that each command is loaded.
26948
26949 * genmk.rb (PModule::rule): Specify a module name without the
26950 suffix ".mod" to gencmdlist.sh.
26951
7b1f4b57 269522005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26953
26954 * gencmdlist.sh: New file.
f19dbdb7 26955
7b1f4b57 26956 * genmk.rb (PModule::rule): Generate a rule for a command list.
26957 Clean command.lst.
26958 Generate command.lst from $(COMMANDFILES).
26959
26960 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26961 (DATA): Added $(pkgdata_DATA).
26962 (install-local): Install files in $(pkgdata_DATA).
26963
062aaf39 269642005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26965
26966 * term/i386/pc/vga.c (debug_command): Removed.
26967 (GRUB_MOD_INIT): Do not register the command "debug".
26968
26969 From Hollis Blanchard:
26970 * commands/configfile.c: New file.
26971 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26972 commands/configfile.c.
26973 (pkgdata_MODULES): Added configfile.mod.
26974 (configfile_mod_SOURCES): New variable.
26975 (configfile_mod_CFLAGS): Likewise.
26976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26977 commands/configfile.c.
26978 (pkgdata_MODULES): Added configfile.mod.
26979 (configfile_mod_SOURCES): New variable.
26980 (configfile_mod_CFLAGS): Likewise.
26981 * util/grub-emu.c (main): Call grub_configfile_init and
26982 grub_configfile_fini.
26983 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26984 prototype.
26985 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 26986
cee01aa6 269872005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26988
26989 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26990 address.
26991
26992 * commands/help.c (grub_cmd_help): Do not print newlines after
26993 the last command in print_command_help.
26994
93f3a1d8 269952005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26996
26997 * commands/default.h: New file.
26998 * commands/timeout.h: Likewise.
26999 * normal/context.c: Likewise.
f19dbdb7 27000
93f3a1d8 27001 * util/misc.c: Do not include sys/times.h.
27002 Include sys/time.h and grub/machine/time.h.
27003 (grub_get_rtc): Rewritten with gettimeofday.
27004
27005 * util/grub-emu.c (main): Call grub_default_init and
27006 grub_timeout_init before grub_normal_init, and call
27007 grub_timeout_fini and grub_default_fini after grub_main.
27008
27009 * util/console.c (grub_ncurses_checkkey): Return the read
27010 character or -1.
27011
27012 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27013 timeouts.
27014
27015 * normal/main.c (read_config_file): Push MENU. If this fails,
27016 print an error and wait for a user input.
27017 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27018 If a menu is empty or an error occurs, pop MENU.
27019 (grub_normal_execute): Pop and free MENU after grub_menu_run
27020 returns.
27021
27022 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27023
27024 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27025 include time.h.
27026 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27027 without GRUB_UTIL.
27028 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27029 time.h.
27030 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27031 without GRUB_UTIL.
27032
27033 * include/grub/normal.h (struct grub_menu_list): New struct.
27034 (grub_menu_list_t): New type.
27035 (struct grub_context): New struct.
27036 (grub_context_t): New type.
27037 (grub_register_command): Got rid of EXPORT_FUNC.
27038 (grub_unregister_command): Likewise.
27039 (grub_context_get): New prototype.
27040 (grub_context_get_current_menu): Likewise.
27041 (grub_context_push_menu): Likewise.
27042 (grub_context_pop_menu): Likewise.
27043 [GRUB_UTIL] (grub_default_init): Likewise.
27044 [GRUB_UTIL] (grub_default_fini): Likewise.
27045 [GRUB_UTIL] (grub_timeout_init): Likewise.
27046 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27047
27048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27049 commands/timeout.c and normal/context.c.
27050 (pkgdata_MODULES): Added default.mod and timeout.mod.
27051 (normal_mod_SOURCES): Added normal/context.c.
27052 (default_mod_SOURCES): New variable.
27053 (default_mod_CFLAGS): Likewise.
27054 (timeout_mod_SOURCES): Likewise.
27055 (timeout_mod_CFLAGS): Likewise.
27056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27057 conf/i386-pc.rmk.
27058 (pkgdata_MODULES): Added default.mod and timeout.mod.
27059 (normal_mod_SOURCES): Added normal/context.c.
27060 (default_mod_SOURCES): New variable.
27061 (default_mod_CFLAGS): Likewise.
27062 (timeout_mod_SOURCES): Likewise.
27063 (timeout_mod_CFLAGS): Likewise.
27064
27065 * Makefile.in (all-local): Added $(MKFILES).
27066
4ed2e1dd 270672005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27068
27069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27070 (grub_emu_SOURCES): Likewise.
27071 (pkgdata_MODULES): Add `sun.mod'.
27072 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27074 `partmap/sun.c'.
27075 (pkgdata_MODULES): Add `sun.mod'.
27076 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27077 * include/grub/partition.h (grub_sun_partition_map_init): New
27078 prototype.
27079 (grub_sun_partition_map_fini): Likewise.
27080 * partmap/sun.c: New file.
27081 * util/grub-emu.c (main): Initialize and de-initialize the sun
27082 partitionmap support.
27083
4d4e372e 270842005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27085
27086 This implements an Emacs-like menu entry editor.
f19dbdb7 27087
4d4e372e 27088 * normal/menu_entry.c: New file.
f19dbdb7 27089
4d4e372e 27090 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27091 characters to ASCII.
27092 (saved_char): New variable.
27093 (grub_ncurses_checkkey): Rewritten completely.
27094 (grub_ncurses_getkey): Likewise.
27095 (grub_ncurses_init): Call raw instead of cbreak.
27096
27097 * normal/menu.c (print_entry): Do not put a space.
27098 (init_page): Renamed to ...
27099 (grub_menu_init_page): ... this. All callers changed.
27100 (edit_menu_entry): Removed.
27101 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27102
27103 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27104
27105 * kern/misc.c (grub_vprintf): Call grub_refresh.
27106
27107 * normal/menu.c (DISP_LEFT): Renamed to ...
27108 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27109 * normal/menu.c (DISP_UP): Renamed to ...
27110 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27111 * normal/menu.c (DISP_RIGHT): Renamed to ...
27112 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27113 * normal/menu.c (DISP_DOWN): Renamed to ...
27114 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27115 * normal/menu.c (DISP_HLINE): Renamed to ...
27116 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27117 * normal/menu.c (DISP_VLINE): Renamed to ...
27118 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27119 * normal/menu.c (DISP_UL): Renamed to ...
27120 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27121 * normal/menu.c (DISP_UR): Renamed to ...
27122 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27123 * normal/menu.c (DISP_LL): Renamed to ...
27124 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27125 * normal/menu.c (DISP_LR): Renamed to ...
27126 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27127 * normal/menu.c (TERM_WIDTH): Renamed to ...
27128 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27129 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27130 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27131 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27132 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27133 * normal/menu.c (TERM_MARGIN): Renamed to ...
27134 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27135 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27136 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27137 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27138 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27139 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27140 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27141 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27142 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27143 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27144 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27145 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27146 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27147 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27148 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27149 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27150 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27151 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27152 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27153 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27154 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27155 All callers changed.
27156
27157 * include/grub/normal.h: New prototype.
27158
27159 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27160 normal/menu_entry.c.
27161 (normal_mod_SOURCES): Likewise.
27162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27163 (normal_mod_SOURCES): Likewise.
27164
e6b92c8a 271652005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27166
27167 * include/grub/normal.h (grub_halt_init): New prototype.
27168 (grub_halt_fini): Likewise.
27169 (grub_reboot_init): Likewise.
27170 (grub_reboot_fini): Likewise.
27171
27172 * util/grub-emu.c: Include signal.h.
27173 (main_env): New global variable.
27174 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27175 catch C-c.
27176 (grub_machine_fini): New function.
27177 (main): Call grub_halt_init and grub_reboot_init before
27178 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27179 Call setjmp with MAIN_ENV to go back afterwards.
27180 Call grub_machine_fini right before return.
27181
27182 * include/grub/util/misc.h: Include setjmp.h.
27183 (main_env): New prototype.
27184
27185 * include/grub/kernel.h (grub_machine_fini): New prototype.
27186 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27187 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27188
27189 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27190 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27191 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 27192
e6b92c8a 27193 * util/i386/pc/misc.c: New file.
f19dbdb7 27194
e6b92c8a 27195 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27196 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27197 commands/i386/pc/reboot.c.
27198
c642636f 271992005-02-14 Guillem Jover <guillem@hadrons.org>
27200
27201 * include/grub/dl.h (grub_dl_check_header): New prototype.
27202 (grub_arch_dl_check_header): Change return type to grub_err_t,
27203 remove size parameter and export function. Update all callers.
27204 * kern/dl.c (grub_dl_check_header): New function.
27205 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27206 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27207 are inside the core.
27208 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27209 independent ELF header checks.
27210 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27211 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27212 `grub_dl_check_header' instead of explicit checks. Check for the
27213 ELF type.
27214 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27215 `grub_dl_check_header' instead of explicit checks. Remove arch
27216 specific ELF header checks.
27217
e6b92c8a 27218 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27219 argument SIZE.
27220
5eabe94b 272212005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27222
27223 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27224 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27225
1b14a681 272262005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27227
27228 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 27229 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 27230 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 27231 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 27232 * partmap/amiga.c (amiga_partition_map_iterate): Return
27233 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27234 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27235
aca108aa 272362005-02-01 Guillem Jover <guillem@hadrons.org>
27237
27238 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27239 help info.
27240
c9f9c556 272412005-01-31 Marco Gerards <metgerards@student.han.nl>
27242
27243 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27244 Removed prototype.
27245 (grub_rescue_cmd_linux): New prototype.
27246 (grub_rescue_cmd_initrd): Likewise.
27247 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27248 `bi_rec'.
27249 (grub_linux_release_mem): Release the memory for the initrd.
27250 (grub_load_linux): Renamed from this...
27251 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27252 Changed `entry' not to be static. Loop over memory regions to
27253 find another one when the default fails.
27254 (grub_rescue_cmd_initrd): New function.
27255 (grub_linux_init): Remove function.
27256 (grub_linux_fini): Likewise.
27257 (GRUB_MOD_INIT): Register `initrd'.
27258 (GRUB_MOD_FINI): Unregister `initrd'.
27259 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27260 Function removed.
27261 (grub_linux_normal_fini): Likewise.
27262 (GRUB_MOD_INIT): Register `initrd'.
27263 (GRUB_MOD_FINI): Unregister `initrd'.
27264
990cf3aa 272652005-01-31 Marco Gerards <metgerards@student.han.nl>
27266
27267 * commands/help.c: New file.
27268 * normal/arg.c (show_help): Renamed to...
27269 (grub_arg_show_help): ... this.
27270 * commands/i386/pc/halt.c: New file.
27271 * commands/i386/pc/reboot.c: Likewise.
27272 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27273 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27274 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27275 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27276 variables.
27277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27278 `commands/help.c'.
27279 (pkgdata_MODULES): Add `help.mod'.
27280 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27281 * grub/i386/pc/init.h (grub_reboot): New prototype.
27282 (grub_halt): Likewise.
27283 * include/grub/normal.h (grub_arg_show_help): New prototype.
27284 (grub_help_init): Likewise.
27285 (grub_help_fini): Likewise.
27286 * util/grub-emu.c (main): Initialize and deinitialize the help
27287 command.
27288
27289 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27290
27291 * normal/command.c (grub_command_init): Fixed the description of
27292 the `set' and `unset' commands.
27293
272942005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 27295
27296 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27297 function.
27298 * commands/ieee1275/halt.c: New file.
27299 * commands/ieee1275/reboot.c: Likewise.
27300 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27301 `__attribute__ ((unused))'. Some GCS related fixed.
27302 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27303 (grub_suspend_fini): Likewise.
27304 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27305 and `halt.mod'.
27306 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27307 (halt_mod_CFLAGS): New variables.
27308 * include/grub/powerpc/ieee1275/ieee1275.h
27309 (grub_ieee1275_interpret): New prototype.
27310
1ab09cc7 273112005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27312
27313 * include/grub/misc.h (memmove): New prototype.
27314 (memcpy): Likewise.
27315
8b8cbdb2 273162005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27317
27318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27319 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27320
e3741a27 273212005-01-22 Marco Gerards <metgerards@student.han.nl>
27322
27323 * kern/misc.c (grub_strndup): Function rewritten.
27324
776bd780 273252005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27326
27327 * normal/menu.c (TERM_WIDTH): Macro redefined.
27328 (TERM_TOP_BORDER_Y): Likewise.
27329 (draw_border): Replaced while-loop by a for-loop. Make the number
27330 of lines consistent with the number of lines displayed in
27331 print_entries. Added a margin below the rectangle.
27332 (print_entry): Make the entry fit in the rectangle.
27333 (print_entries): Display the scroll arrows next to the right
27334 border.
27335
78026bce 273362005-01-21 Marco Gerards <metgerards@student.han.nl>
27337
27338 * fs/minix.c (grub_minix_find_file): Reserve more space for
27339 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27340 `grub_strncpy' to copy `path' into it.
27341
67bbaf0f 273422005-01-21 Marco Gerards <metgerards@student.han.nl>
27343
27344 Add the loopback device, a device via which files can be accessed
27345 as devices.
f19dbdb7 27346
67bbaf0f 27347 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27348 (pkgdata_MODULES): Add loopback.mod.
27349 (loopback_mod_SOURCES): New variable.
27350 (loopback_mod_CFLAGS): Likewise.
27351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27352 `disk/loopback.c'.
27353 (pkgdata_MODULES): Add loopback.mod.
27354 (loopback_mod_SOURCES): New variable.
27355 (loopback_mod_CFLAGS): Likewise.
27356 * disk/loopback.c: new file.
27357 * include/grub/normal.h (grub_loop_init): New prototype.
27358 (grub_loop_fini): New prototype.
27359 * util/grub-emu.c (main): Initialize and de-initialize loopback
27360 support.
27361 * include/grub/disk.h (grub_disk_dev_id): Add
27362 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27363
6f1c18bd 273642005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27365
27366 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27367 function.
27368 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27369 (suspend_mod_SOURCES): New variable.
27370 (suspend_mod_CFLAGS): Likewise.
27371 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27372 New prototype.
27373 * commands/ieee1275/suspend.c: New file.
27374
b38551da 273752005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27376
27377 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 27378 ((unused))' to `__attribute__ ((used))'.
b38551da 27379 (GRUB_MOD_FINI): Likewise.
27380 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27381 * genmk.rb (PModule): Assign space to common symbols when linking
27382 modules.
27383
777aff39 273842005-01-20 Marco Gerards <metgerards@student.han.nl>
27385
27386 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27387 `unsigned' arguments to `grub_size_t'.
27388 (grub_malloc): Likewise.
27389 (grub_realloc): Likewise.
27390 (grub_memalign): Likewise.
27391 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27392 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27393 * util/misc.c (grub_malloc): Likewise.
27394 (grub_realloc): Likewise.
27395 * kern/mm.c (get_header_from_pointer): Change the casts to
27396 `unsigned' into a cast to `grub_size_t'.
27397
27398 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27399 point to `currnode' when `currnode' is changed.
27400
27401 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27402 Schottelius <nico-linux@schottelius.org>.
27403
d0ff18e1 274042005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27405
27406 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27407 (note_path): Remove variable.
27408 (GRUB_IEEE1275_NOTE_NAME): New macro.
27409 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27410 (grub_ieee1275_note_hdr): New structure.
27411 (grub_ieee1275_note_desc): Likewise.
27412 (grub_ieee1275_note): Likewise.
27413 (load_note): Remove `dir' argument. All callers updated. Remove
27414 `note_img' and `path'. Do not load a file from `note_path'.
27415 Initialize a struct grub_ieee1275_note and write that to `out'.
27416 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27417
4ca7004c 274182005-01-05 Marco Gerards <metgerards@student.han.nl>
27419
27420 * util/misc.c (grub_util_read_image): Revert last change. It
27421 called `grub_util_read_at', which seeks from the beginning of the
27422 file.
27423
0b412211 274242005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27425
27426 * TODO: Add note about endianness in grub-mkimage.
27427 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27428 section.
27429 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27430 (grub_mkimage_SOURCES): New target.
27431 * include/grub/kernel.h (grub_start_addr): Remove variable.
27432 (grub_end_addr): Likewise.
27433 (grub_total_module_size): Likewise.
27434 (grub_kernel_image_size): Likewise.
27435 (GRUB_MODULE_MAGIC): New constant.
27436 (grub_module_info): New structure.
27437 (grub_arch_modules_addr): New prototype.
27438 (grub_get_end_addr): Remove prototype.
27439 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27440 * include/grub/powerpc/ieee1275/kernel.h: New file.
27441 * include/grub/util/misc.h (grub_util_get_fp_size): New
27442 prototype.
27443 (grub_util_read_at): Likewise.
27444 (grub_util_write_image_at): Likewise.
27445 * kern/main.c (grub_get_end_addr): Remove function.
27446 (grub_load_modules): Call grub_arch_modules_addr instead of using
27447 grub_end_addr. Look for a grub_module_info struct in memory. Use
27448 the grub_module_info fields instead of calling grub_get_end_addr
27449 as loop conditions. Move grub_add_unused_region code here.
27450 (grub_add_unused_region): Remove function.
27451 * kern/i386/pc/init.c: Include grub/cache.h.
27452 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27453 one call to add_mem_region.
27454 (grub_arch_modules_addr): New function.
27455 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27456 (grub_total_module_size): Likewise.
27457 Include grub/machine/kernel.h.
27458 (grub_arch_modules_addr): New function.
27459 * util/grub-emu.c (grub_end_addr): Remove variable.
27460 (grub_total_module_size): Likewise.
27461 (grub_arch_modules_addr): New function.
27462 * util/misc.c: Include unistd.h.
27463 (grub_util_get_fp_size): New function.
27464 (grub_util_read_at): Likewise.
27465 (grub_util_write_image_at): Likewise.
27466 (grub_util_read_image): Call grub_util_read_at.
27467 (grub_util_write_image): Call grub_util_write_image_at.
27468 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27469 additional memory in kernel_img for a struct grub_module_info.
27470 Fill in that grub_module_info.
27471 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27472
458786f8 274732005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27474
27475 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27476 New function.
27477 * include/grub/powerpc/ieee1275/ieee1275.h
27478 (grub_ieee1275_milliseconds): New prototype.
27479 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27480 Change to 1000.
27481 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27482 grub_ieee1275_milliseconds.
27483
ac507d1b 274842005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27485
27486 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27487 variable.
27488 (find_options): New function.
27489 (cmain): Call find_options.
27490 * include/grub/powerpc/ieee1275/ieee1275.h
27491 (grub_ieee1275_realmode): New extern variable.
27492 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27493 grub_map if grub_ieee1275_realmode is false.
27494
6b8fd1c4 274952004-12-29 Marco Gerards <metgerards@student.han.nl>
27496
27497 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27498 lines are inserted and make it work like readline. Reported by
27499 Vincent Pelletier <subdino2004@yahoo.fr>.
27500
8514a1e0 275012004-12-28 Marco Gerards <metgerards@student.han.nl>
27502
27503 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27504
27505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27506 `kern/powerpc/cache.S'.
27507
924b6140 275082004-12-27 Marco Gerards <metgerards@student.han.nl>
27509
27510 * genmk.rb: Handle the `Program' class in the main loop. Written
27511 by Johan Rydberg <jrydberg@gnu.org>.
27512 (Program): New class.
27513 (programs): New variable.
27514 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27515 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27516 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27517 (help_arch): Function removed.
27518 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27519 `powerpc/libgcc.h' and `loader.h'.
27520 (pkgdata_PROGRAMS): New variable.
27521 (sbin_UTILITIES): Variable removed.
27522 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27523 (grubof_SOURCES): Variable re-defined so it only includes the
27524 core functionality.
27525 (grubof_CFLAGS): Remove `-DGRUBOF'.
27526 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27527 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27528 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27529 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27530 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27531 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27532 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27533 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27534 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27535 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27536 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27537 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27538 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27539 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27540 (pc_mod_CFLAGS): New variables.
27541 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27542 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27543 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27544 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27545 Moved from here...
27546 * include/grub/i386/pc/init.h (grub_os_area_addr)
27547 (rub_os_area_size): ... to here.
27548 * include/grub/powerpc/ieee1275/ieee1275.h
27549 (grub_ieee1275_entry_fn): Export symbol.
27550 * include/grub/powerpc/ieee1275/init.h: New file.
27551 * include/grub/powerpc/libgcc.h: Likewise.
27552 * include/grub/cache.h: Likewise.
27553 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27554 <hollis@penguinppc.org>.
27555 * kern/dl.c: Include <grub/cache.h>.
27556 (grub_dl_flush_cache): New function.
27557 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27558 for this module.
27559 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27560 (grub_console_init): Removed prototypes.
27561 (grub_machine_init): Don't initialize the modules anymore.
27562 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27563 static.
27564 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27565 Macro undef removed.
27566 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27567 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27568 relocation `R_PPC_REL32'. Return an error when the relocation is
27569 unknown.
27570 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27571 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27572 * util/misc.c (grub_arch_sync_caches): Likewise.
27573
e4b47e0c 275742004-12-19 Marco Gerards <metgerards@student.han.nl>
27575
27576 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27577 `symlist.c', add `grubof_symlist.c'.
27578 (symlist.c): Variable removed.
27579 (grubof_HEADERS): Variable added.
27580 (grubof_symlist.c): New target.
27581 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27582 `kernel_img_HEADERS'.
27583 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27584 * kern/powerpc/dl.c: New file.
27585 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27586 Function removed.
27587 (grub_arch_dl_relocate_symbols): Likewise.
27588 (grub_register_exported_symbols): Likewise.
27589
4ceb3636 275902004-12-13 Marco Gerards <metgerards@student.han.nl>
27591
27592 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27593 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27594 to fail instead. Reported by Vincent Pelletier
27595 <subdino2004@yahoo.fr>.
27596
27597 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27598 it is not allocated. Reported by Vincent Pelletier
27599 <subdino2004@yahoo.fr>.
27600
27601 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27602 output so the output looks better.
f19dbdb7 27603
3f1578fe 276042004-12-04 Marco Gerards <metgerards@student.han.nl>
27605
27606 Modulize the partition map support and add support for the amiga
27607 partition map.
f19dbdb7 27608
3f1578fe 27609 * commands/ls.c: Include <grub/partition.h> instead of
27610 <grub/machine/partition.h>.
27611 * kern/disk.c: Likewise.
27612 * kern/rescue.c: Likewise.
27613 * loader/i386/pc/chainloader.c: Likewise.
27614 * normal/cmdline.c: Likewise.
27615 * kern/powerpc/ieee1275/init.c: Likewise.
27616 (grub_machine_init): Call `grub_pc_partition_map_init',
27617 `grub_amiga_partition_map_init' and
27618 `grub_apple_partition_map_init'.
27619 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27620 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27621 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27622 `partition.h' and `pc_partition.h'.
27623 (grub_setup_SOURCES): Remove
27624 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27625 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27626 (grub_emu_SOURCES): Likewise.
27627 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27628 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27629 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27631 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27632 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27633 (grubof_SOURCES): Likewise.
27634 * disk/i386/pc/partition.c: File removed.
27635 * disk/powerpc/ieee1275/partition.c: Likewise.
27636 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27637 * include/grub/i386/pc/partition.h: Likewise.
27638 * kern/partition.c: New file.
27639 * partmap/amiga.c: Likewise.
27640 * partmap/apple.c: Likewise.
27641 * partmap/pc.c: Likewise.
27642 * include/grub/partition.h: Likewise..
27643 * include/grub/pc_partition.h: Likewise.
27644 * util/grub-emu.c: Include <grub/partition.h> instead of
27645 <grub/machine/partition.h>.
27646 (main): Call `grub_pc_partition_map_init',
27647 `grub_amiga_partition_map_init' and
27648 `grub_apple_partition_map_init' and deinitialize afterwards.
27649 * util/i386/pc/biosdisk.c: Include `#include
27650 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27651 `<grub/machine/partition.h>'.
27652 * util/i386/pc/grub-setup.c: Likewise.
27653 * util/i386/pc/biosdisk.c: Likewise.
27654 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27655 partition information in case of a PC partition.
27656 * util/i386/pc/grub-setup.c: Include `#include
27657 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27658 `<grub/machine/partition.h>'.
27659 (setup): Only access the PC specific partition information in case
27660 of a PC partition.
27661
0ef4ced9 276622004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 27663
0ef4ced9 27664 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27665 (grub_longjmp): Likewise.
27666 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27667 20.
27668 * normal/powerpc/setjmp.S: New file.
27669 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27670 `normal/powerpc/setjmp.S'.
27671 (grubof_CFLAGS): Add `-DGRUBOF'.
27672 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27673 [GRUB_UTIL && !GRUBOF].
f19dbdb7 27674
19950e29 276752004-11-16 Marco Gerards <metgerards@student.han.nl>
27676
27677 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27678 property named `name'. Correctly handle the error returned by
27679 `grub_ieee1275_finddevice' if a device can not be opened.
27680
a2fea427 276812004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27682
27683 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27684 `actual' for negativity.
27685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27686 kern/fshelp.c.
27687
41ea0ea3 276882004-11-01 Marco Gerards <metgerards@student.han.nl>
27689
27690 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27691 (PAGE_OFFSET): New macro.
27692 (CRTC_ADDR_PORT): Likewise.
27693 (CRTC_DATA_PORT): Likewise.
27694 (START_ADDR_HIGH_REGISTER): Likewise.
27695 (START_ADDR_LOW_REGISTER): Likewise.
27696 (GRAPHICS_ADDR_PORT): Likewise.
27697 (GRAPHICS_DATA_PORT): Likewise.
27698 (READ_MAP_REGISTER): Likewise.
27699 (INPUT_STATUS1_REGISTER): Likewise.
27700 (INPUT_STATUS1_VERTR_BIT): Likewise.
27701 (page): New variable.
27702 (wait_vretrace): New function.
27703 (set_read_map): Likewise.
27704 (set_start_address): Likewise.
27705 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27706 the right page.
27707 (check_vga_mem): Take the page into account.
27708 (write_char): Likewise.
27709 (write_cursor): Likewise.
27710 (scroll_up): Likewise. Copy the page to the page that is not
27711 shown and switch between both pages.
27712 (grub_vga_putchar): Fix off by one error.
27713 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27714 account.
27715
ad0bd20b 277162004-11-01 Marco Gerards <metgerards@student.han.nl>
27717
27718 Add support for iso9660 (including rockridge).
f19dbdb7 27719
ad0bd20b 27720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27721 (iso9660_mod_SOURCES): New variable.
27722 (iso9660_mod_CFLAGS): Likewise.
27723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27724 * include/grub/fs.h (grub_iso9660_init): New prototype.
27725 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27726 * fs/iso9660.c: New file.
27727
27728 * include/grub/misc.h (grub_strncat): New prototype.
27729 * kern/misc.c (grub_strncat): New function.
f19dbdb7 27730
ad0bd20b 27731 * fs/hfs.c (grub_hfs_mount): Translate the error
27732 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27733 * fs/jfs.c (grub_jfs_mount): Likewise.
27734 * fs/ufs.c (grub_ufs_mount): Likewise.
27735
a5477a59 277362004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27737
27738 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27739 which initialized BAT registers.
27740 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27741 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27742 Move from here...
27743 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27744 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27745 ... to here.
27746 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27747 (grub_mapclaim): Likewise.
27748 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27749 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27750 hand.
27751
9304c1f8 277522004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27753
27754 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27755 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27756 -ffreestanding and -msoft-float.
27757
86f4ae25 277582004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27759
27760 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27761 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27762 set in grub_ieee1275_flags.
27763
38912228 277642004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27765
27766 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27767 prototype.
27768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27769 grub_console_init first.
27770 Change the memory range used for grub_ieee1275_claim and
27771 grub_mm_init_region.
27772 Print an error message if the claim fails.
27773 Include <grub/misc.h>.
27774
d1923dc8 277752004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27776
27777 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27778 Call grub_children_iterate for device nodes of type `scsi',
27779 `ide', or `ata'.
27780 (grub_ofdisk_open): Remove manual device alias resolution.
27781 Fix memory leak when device cannot be opened.
f19dbdb7 27782 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 27783 (grub_children_iterate): New prototype.
27784 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27785 New function.
27786 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27787 Return -1 if args.size was -1.
27788
4512e4f3 277892004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27790
27791 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27792 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27793 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27794 Open Firmware's memory for it; claim memory from _start to _end.
27795 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27796 (_end): New extern.
27797 (_start): Zero BSS from __bss_start to _end.
27798 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27799 New extern.
27800 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27801
4d61feb0 278022004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27803
ad0bd20b 27804 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27805 -1 if args.base was -1.
4d61feb0 27806
026fa2f9 278072004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27808
27809 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27810 escape sequence instead of a literal ^L. Also call
27811 grub_ofconsole_gotoxy.
27812
9f2220ef 278132004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27814
27815 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27816 void * arguments to grub_addr_t. All callers updated. Also make
27817 the `result' argument optional.
27818 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27819 All callers updated.
27820
8a572cd7 278212004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27822
27823 * commands/ls.c (grub_ls_list_files): Use the string following the
27824 initial ')', if present, as the filesystem path.
27825 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27826
27827 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27828
18aa81f2 278292004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27830
27831 Make the source code of the menu interface more readable.
f19dbdb7 27832
18aa81f2 27833 * normal/menu.c: Include grub/mm.h.
27834 (TERM_WIDTH): New macro.
27835 (TERM_HEIGHT): Likewise.
27836 (TERM_INFO_HEIGHT): Likewise.
27837 (TERM_MARGIN): Likewise.
27838 (TERM_SCROLL_WIDTH): Likewise.
27839 (TERM_TOP_BORDER_Y): Likewise.
27840 (TERM_LEFT_BORDER_X): Likewise.
27841 (TERM_BORDER_WIDTH): Likewise.
27842 (TERM_MESSAGE_HEIGHT): Likewise.
27843 (TERM_BORDER_HEIGHT): Likewise.
27844 (TERM_NUM_ENTRIES): Likewise.
27845 (TERM_FIRST_ENTRY_Y): Likewise.
27846 (TERM_ENTRY_WIDTH): Likewise.
27847 (TERM_CURSOR_X): Likewise.
27848 (draw_border): Use macros instead of magic numbers.
27849 (print_entry): Likewise.
27850 (print_entries): Likewise.
27851 (run_menu): Likewise. Also, handle the key 'e'.
27852 (run_menu_entry): Ignore empty command lines.
27853 (print_message): Added a new argument EDIT. If EDIT is true,
27854 print a different message.
27855 (init_page): Likewise.
27856 (edit_menu_entry): New function. Not implemented yet.
27857
b47efe30 278582004-09-17 Marco Gerards <metgerards@student.han.nl>
27859
27860 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27861 can be loaded from normal mode.
f19dbdb7 27862
b47efe30 27863 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27864 `multiboot.mod'.
27865 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27866 (multiboot_mod_CFLAGS): New variables.
27867 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 27868 * loader/i386/pc/multiboot_normal.c: Likewise.
27869
b47efe30 27870 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27871 attribute `unused'.
f19dbdb7 27872
b47efe30 27873 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27874 `fdiro' to read the mode information from instead of `diro'.
27875
27876 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27877 looking up a symlink.
27878
27879 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27880 macro.
27881 * normal/command.c (grub_command_execute): Don't parse the
27882 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27883 flags of the command.
27884
27885 * normal/menu.c (grub_menu_run): Fix typo.
27886
da75ac71 278872004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27888
27889 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27890
27891 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27892 `y + 1' instead of `y - 1'.
27893
27894 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 27895
062b24c2 278962004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27897
27898 From Hollis Blanchard <hollis@penguinppc.org>:
27899 * kern/misc.c (memmove): New alias for grub_memmove.
27900 (memcmp): New alias for grub_memcmp.
27901 (memset): New alias for grub_memset.
f19dbdb7 27902 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 27903 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 27904 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 27905 (grub_ieee1275_get_property): Likewise.
f19dbdb7 27906
8ddad845 279072004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27908
27909 Added normal mode command `chainloader' as module chain.mod, which
27910 depends on normal.mod and _chain.mod.
f19dbdb7 27911
8ddad845 27912 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27913 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27914 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27915 Deleted prototype.
27916 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27917 but arguments parsing moved to ...
27918 (grub_chainloader_cmd): ... here. New function.
27919 * include/grub/i386/pc/chainloader.h: New file.
27920 * loader/i386/pc/chainloader_normal.c: Likewise.
27921
2c1f4ce3 279222004-09-11 Marco Gerards <metgerards@student.han.nl>
27923
27924 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27925 (grub_mkimage_LDFLAGS): Likewise.
27926 (grub_emu_SOURCES): Likewise.
27927 (kernel_img_HEADERS): Added fshelp.h.
27928 * fs/ext2.c: Include <grub/fshelp.h>.
27929 (FILETYPE_REG): New macro.
27930 (FILETYPE_INO_REG): Likewise.
27931 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27932 Changed all users.
27933 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27934 all users.
27935 (grub_fshelp_node): New struct.
27936 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27937 to a pointer.
27938 (grub_ext2_get_file_block): Removed function.
27939 (grub_ext2_read_block): New function.
27940 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27941 This function was written.
27942 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27943 (grub_ext2_find_file): Removed function.
27944 (grub_ext2_read_symlink): New function.
27945 (grub_ext2_iterate_dir): Likewise.
27946 (grub_ext2_open): Rewritten.
27947 (grub_ext2_dir): Rewritten.
27948 * include/grub/fshelp.h: New file.
27949 * fs/fshelp.c: Likewise.
27950
3c52136a 279512004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27952
27953 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27954 (print_message): Add a missing newline.
27955 (run_menu): Added timeout support.
27956 (run_menu_entry): New local function.
27957 (grub_menu_run): Added support for booting.
27958
27959 * kern/loader.c (grub_loader_is_loaded): New function.
27960
27961 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27962 (grub_get_rtc): Exported.
27963
27964 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27965 (grub_get_rtc): Exported.
27966
27967 * include/grub/normal.h (struct grub_command_list): Remove
27968 constant from the member `command'.
27969
27970 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27971
27972 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27973
27974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27975
aa033560 279762004-08-28 Marco Gerards <metgerards@student.han.nl>
27977
27978 Add support for the JFS filesystem.
27979
27980 * fs/jfs.c: New file.
27981 * include/grub/fs.h (grub_jfs_init): New prototype.
27982 (grub_jfs_fini): New prototype.
27983 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27984 (grub_emu_SOURCES): Likewise.
27985 (pkgdata_MODULES): Add jfs.mod.
27986 (jfs_mod_SOURCES): New variable.
27987 (jfs_mod_CFLAGS): Likewise.
27988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27989 (grubof_SOURCES): Likewise.
27990 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27991
27992 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27993 endian to the host endian.
27994 (grub_fat_utf16_to_utf8): Move function from there...
27995 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 27996 the endianness of the source string anymore.
aa033560 27997 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27998
94bc45af 279992004-08-24 Marco Gerards <metgerards@student.han.nl>
28000
28001 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28002 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28003 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28004 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 28005
94bc45af 28006 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28007 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28008 for `node_found' and `it_dir'.
28009 (grub_hfs_dir): Add prototype for `dir_hook'.
28010
28011 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28012 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28013 and `indir32' to silence a gcc warning.
28014
28015 * include/grub/fs.h (grub_hfs_init): New prototype.
28016 (grub_hfs_fini): Likewise.
f19dbdb7 28017
28018
97543f08 280192004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28020
28021 Each disk device has its own id now. This is useful to make use
28022 of multiple disk devices.
f19dbdb7 28023
97543f08 28024 * include/grub/disk.h (grub_disk_dev_id): New enum.
28025 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28026 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28027
28028 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28029 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28030
28031 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28032 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28033
28034 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28035 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28036
28037 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28038 "id" which is used by the cache manager.
28039
28040 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28041 of just "GRUB".
28042
64372eb4 280432004-08-18 Marco Gerards <metgerards@student.han.nl>
28044
28045 * fs/hfs.c: New file.
28046 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28047 (grub_emu_SOURCES): Likewise.
28048 (pkgdata_MODULES): Add hfs.mod.
28049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28050 (grubof_SOURCES): Likewise.
28051 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28052
28053 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28054 * kern/misc.c (grub_strncasecmp): Add function.
28055
cc61b58f 280562004-08-14 Marco Gerards <metgerards@student.han.nl>
28057
28058 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28059 with parentheses.
28060
28061 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28062 (grub_ext2_dir): In case the directory entry type is unknown, read
28063 it from the inode.
28064
0ef123f6 280652004-08-02 Peter Bruin <pjbruin@dds.nl>
28066
28067 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28068 grub_load_linux instead of grub_rescue_cmd_linux as second
28069 argument of grub_rescue_register_command.
28070
28071 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28072
a447c5df 280732004-07-27 Marco Gerards <metgerards@student.han.nl>
28074
28075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28076 function.
28077 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28078 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28079 `loader/powerpc/ieee1275/linux.c',
28080 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28081 * include/grub/powerpc/ieee1275/ieee1275.h
28082 (grub_ieee1275_release): New prototype.
28083 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28084 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28085 normal, boot, linux and linux_normal.
28086 * loader/powerpc/ieee1275/linux.c: New file.
28087 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28088
5a9e3546 280892004-07-12 Marco Gerards <metgerards@student.han.nl>
28090
28091 * normal/arg.c (grub_arg_parse): Correct error handling after
28092 reallocating the argumentlist (check if `argl' is not null instead
28093 of checking if `args' is not null).
28094 * kern/mm.c (grub_realloc): Return the same pointer when using the
28095 same region, instead of returning the header address.
28096
e15199cb 280972004-07-11 Marco Gerards <metgerards@student.han.nl>
28098
28099 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28100 one block instead of two when looking for the initial partition.
28101 (grub_partition_probe): Initialize the local variable `p' with 0.
28102 Use base 10 for the grub_strtoul call.
28103 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28104 need for one local variable.
28105 (grub_strtoul): Don't add the new value to `num', instead of that
28106 just assign it.
28107
020616c2 281082004-07-11 Marco Gerards <metgerards@student.han.nl>
28109
28110 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28111 (pxeboot_img_SOURCES): New variable.
28112 (pxeboot_img_ASFLAGS): Likewise.
28113 (pxeboot_img_LDFLAGS): Likewise.
28114 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28115 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28116 <lode_leroy@hotmail.com>.
28117
6c51eb64 281182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28119
28120 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28121 there was no input.
28122
cfb12aff 281232004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28124
28125 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28126 the history buffer logic.
28127
6eabba74 281282004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28129
28130 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28131 (FILETYPE_INO_SYMLINK): New macros.
28132 (grub_ext2_find_file): Check if the node is a directory using the
28133 inode stat information instead of using the filetype in the
28134 dirent. Exclude the first character of an absolute symlink.
28135 (grub_ext2_dir): Mask out the filetype part of the mode member of
28136 the inode.
28137
66e19ef8 281382004-05-24 Marco Gerards <metgerards@student.han.nl>
28139
28140 Add support for UFS version 1 and 2. Add support for the minix
28141 filesystem version 1 and 2, both the variants with 14 and 30 long
28142 filenames.
f19dbdb7 28143
66e19ef8 28144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28145 fs/minix.c.
28146 (grub_emu_SOURCES): Likewise.
28147 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28148 (ufs_mod_SOURCES): New variable.
28149 (ufs_mod_CFLAGS): Likewise.
28150 (minix_mod_SOURCES): Likewise.
28151 (minix_mod_CFLAGS): Likewise.
28152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28153 fs/minix.c.
28154 (grubof_SOURCES): Likewise.
28155 * fs/ufs.c: New file.
28156 * fs/minix.c: New file.
28157 * include/grub/fs.h (grub_ufs_init): New prototype.
28158 (grub_ufs_fini): Likewise.
28159 (grub_minix_init): Likewise.
28160 (grub_minix_fini): Likewise.
28161 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28162 minix fs.
28163
cc2e748a 281642004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28165
28166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28167 commands/ls.c, commands/terminal.c, commands/boot.c,
28168 commands/cmp.c and commands/cat.c.
28169 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28170
28171 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28172 "env.h"
28173
4b13b216 281742004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28175
28176 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28177 and grub_, respectively. Because the conversion is trivial and
28178 mechanical, I omit the details here. Please refer to the CVS
28179 if you need more information.
28180
6a142551 281812004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28182
28183 * include/pupa: Renamed to ...
28184 * include/grub: ... this.
28185 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28186 * util/i386/pc/grub-mkimage.c: ... this.
28187 * util/i386/pc/pupa-setup.c: Renamed to ...
28188 * util/i386/pc/grub-setup.c: ... this.
28189 * util/pupa-emu.c: Renamed to ...
28190 * util/grub-emu.c: ... this.
28191
e56cdf21 281922004-03-29 Marco Gerards <metgerards@student.han.nl>
28193
28194 Add support for the newworld apple macintosh (PPC). This has been
28195 tested on the powerbook 2000 only. It only adds support for
28196 generic ieee1275 functions, console and disk support. This should
28197 be easy to port to other architectures with support for Open
28198 Firmware.
f19dbdb7 28199
e56cdf21 28200 * configure.ac: Accept the powerpc as host_cpu. In the case of
28201 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28202 specific tests are only executed while building for the i386.
28203 Inverse test for crosscompile.
28204 * genmk.rb (Utility): Allow assembler files.
28205 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28206 * conf/powerpc-ieee1275.rmk: New file.
28207 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28208 * disk/powerpc/ieee1275/partition.c: Likewise.
28209 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28210 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28211 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28212 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28213 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28214 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28215 * include/pupa/powerpc/ieee1275/loader.h
28216 * include/pupa/powerpc/setjmp.h: Likewise.
28217 * include/pupa/powerpc/types.h: Likewise.
28218 * kern/powerpc/ieee1275/init.c: Likewise.
28219 * kern/powerpc/ieee1275/openfw.c: Likewise.
28220 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28221
28222 These files were written by Johan Rydberg
28223 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 28224
e56cdf21 28225 * boot/powerpc/ieee1275/cmain.c: New file.
28226 * boot/powerpc/ieee1275/crt0.S: Likewise.
28227 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28228 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28229
8c8cc205 282302004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28231
28232 * Makefile.in: Update copyright.
28233 * genmodsrc.sh: Likewise.
28234 * gensymlist.sh: Likewise.
28235 * term/i386/pc/vga.c: Indent correctly.
28236
28237 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28238 bugreporting address.
28239 * util/i386/pc/pupa-setup.c (usage): Likewise,
28240 (main): Call pupa_ext2_init and pupa_ext2_fini.
28241
f19dbdb7 28242 * fs/fat.c (log2): Renamed to ...
8c8cc205 28243 (fat_log2): ... this.
28244 All callers changed.
28245 * kern/misc.c (memcpy): Alias to pupa_memmove.
28246 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28247 lvalue cast.
28248 * util/console.c (pupa_ncurses_fini): Return 0.
28249
28250 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28251 Move fail label here.
28252 [__GNU__]: Don't warn when using stat.
28253 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28254 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28255 long int. Use strtol instead of strtoul.
f19dbdb7 28256
db1771cf 282572004-03-14 Marco Gerards <metgerards@student.han.nl>
28258
28259 * commands/boot.c: New file.
28260 * commands/cat.c: Likewise.
28261 * commands/cmp.c: Likewise.
28262 * commands/ls.c: Likewise.
28263 * commands/terminal.c: Likewise.
28264 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28265 (pupa_register_command): Changed interface to match the new
28266 argument parser.
28267 (pupa_command_execute): Changed (almost rewritten) so it uses
28268 pupa_split_command. Added support for setting variables using the
28269 syntax `foo=bar'.
28270 (rescue_command): Changed to work with the new argument parser.
28271 (terminal_command): Moved from here to commands/terminal.c.
28272 (set_command): New function.
28273 (unset_command): New function.
28274 (insmod_command): New function.
28275 (rmmod_command): New function.
28276 (lsmod_command): New function.
28277 (pupa_command_init): Don't initialize the command terminal
28278 anymore. Initialize the commands set, unset, insmod, rmmod and
28279 lsmod.
28280 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28281 (kernel_img_HEADERS): Add arg.h and env.h.
28282 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28283 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28284 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28285 normal/arg.c.
28286 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28287 terminal.mod.
28288 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28289 (boot_mod_SOURCES): New variable.
28290 (terminal_mod_SOURCES): Likewise.
28291 (ls_mod_SOURCES): Likewise.
28292 (cmp_mod_SOURCES): Likewise.
28293 (cat_mod_SOURCES): Likewise.
28294
28295 * normal/arg.c: New file.
28296 * kern/env.c: Likewise.
28297 * include/pupa/arg.h: Likewise.
28298 * include/pupa/env.h: Likewise.
28299 * font/manager.c (font_command): Changed to match argument parsing
28300 interface changes.
28301 (PUPA_MOD_INIT): Likewise.
28302 * hello/hello.c (pupa_cmd_hello): Likewise.
28303 (PUPA_MOD_INIT): Likewise.
28304 * include/pupa/disk.h: Include <pupa/device.h>.
28305 (pupa_print_partinfo): New prototype.
28306 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28307 (pupa_dl_get_prefix): Likewise.
28308 * include/pupa/misc.h: Include <pupa/err.h>.
28309 (pupa_isgraph): New prototype.
28310 (pupa_isdigit): Likewise.
28311 (pupa_split_cmdline): Likewise.
28312 * include/pupa/normal.h: Include <pupa/arg.h>.
28313 (pupa_command): Changed the prototype of the member `func' to
28314 match the argument parsing interface. Added member `options'.
28315 (pupa_register_command): Updated to match function.
28316 (pupa_arg_parse): New prototype.
28317 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28318 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28319 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28320 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28321 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28322 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28323 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28324 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28325 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28326 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28327 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28328 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28329 * kern/disk.c: Include <pupa/file.h>.
28330 (pupa_print_partinfo): New function.
28331 * kern/dl.c: Include <pupa/env.h>.
28332 (pupa_dl_dir): Variable removed.
28333 (pupa_dl_load): Use the environment variable `prefix' instead of
28334 the variable pupa_dl_dir.
28335 (pupa_dl_set_prefix): Function removed.
28336 (pupa_dl_get_prefix): Likewise.
28337 * kern/i386/pc/init.c: Include <pupa/env.h>.
28338 (pupa_machine_init): Use the environment variable `prefix' instead of
28339 using pupa_dl_set_prefix to set the prefix.
28340 * kern/main.c: Include <pupa/env.h>.
28341 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28342 using pupa_dl_get_prefix to get the prefix.
28343 * kern/misc.c: Include <pupa/env.h>.
28344 (pupa_isdigit): New function.
28345 (pupa_isgraph): Likewise.
28346 (pupa_ftoa): Likewise.
28347 (pupa_vsprintf): Added support for printing values of the type
28348 `double'. Make it possible to format variable output when using
28349 formatting like `%1.2%f'.
28350 (pupa_split_cmdline): New function.
28351 * kern/rescue.c: Include <pupa/env.h>.
28352 (next_word): Removed function.
28353 (pupa_rescue_cmd_prefix): Likewise.
28354 (pupa_rescue_cmd_set): New function.
28355 (pupa_rescue_cmd_unset): New function.
28356 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28357 split the command line instead of splitting it here. Added
28358 support for setting variables using the syntax `foo=bar'. Don't
28359 initialize the prefix command anymore. Initialized the set and
28360 unset commands.
28361 * normal/cmdline.c: Include <pupa/env.h>.
28362 (pupa_tab_complete): Added prototypes for print_simple_completion,
28363 print_partition_completion, add_completion, iterate_commands,
28364 iterate_dev, iterate_part and iterate_dir. Moved code to print
28365 partition information from here to kern/disk.c.
fe6b695a 28366 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 28367 * normal/main.c: Include <pupa/env.h>.
28368 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28369 instead of using pupa_dl_get_prefix to get the prefix.
28370 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28371 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28372 warning.
28373 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28374 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28375 ((unused))' to silence a gcc warning.
28376 (pupa_vga_setcolor): Likewise.
28377 (debug_command): Changed to match argument parsing
28378 interface changes.
28379 * util/pupa-emu.c: Include <pupa/env.h>.
28380 (options): Added 0's for unused fields to silence a gcc warning.
28381 (argp): Likewise.
28382 (main): Use the environment variable `prefix' instead of using
28383 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28384 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28385 and terminal.
28386
28387 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28388 * util/misc.c: Include <malloc.h>.
28389 (pupa_malloc): Rewritten so errors are correctly reported.
28390 (pupa_realloc): Likewise.
28391 (pupa_memalign): Likewise.
28392 (pupa_mm_init_region): Declare unused variables with
28393 `__attribute__ ((unused))' to silence a gcc warning.
28394 * normal/i386/setjmp.S: Remove tab at the end of the file to
28395 silence a gcc warning.
28396 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28397 variables with `__attribute__ ((unused))' to silence a gcc
28398 warning.
28399 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28400 local variable i unsigned to silence a gcc warning.
28401
28402 * kern/term.c: Include <pupa/misc.h>.
28403 (pupa_more_lines): New variable.
28404 (pupa_more): Likewise.
28405 (pupa_putcode): When the pager is active pause at the end of every
28406 screen.
28407 (pupa_set_more): New function.
28408 * include/pupa/term.h (pupa_set_more): New prototype.
28409
28410
3b1139cb 284112004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28412
28413 Now this project is GRUB 2 rather than PUPA. The location of
28414 the CVS repository was moved to GRUB's.
f19dbdb7 28415
3b1139cb 28416 * configure.ac: Use bug-grub as the reporting address.
28417 Use GRUB instead of PUPA.
28418 Change the version number to 1.90.
28419
8367695c 284202004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28421
28422 * genkernsyms.sh: Updated copyright information.
28423 * genmk.rb: Likewise.
28424 * genmodsrc.sh: Likewise.
28425 * gensymlist.sh: Likewise.
28426 * boot/i386/pc/boot.S: Likewise.
28427 * boot/i386/pc/diskboot.S: Likewise.
28428 * disk/i386/pc/biosdisk.c: Likewise.
28429 * disk/i386/pc/partition.c: Likewise.
28430 * font/manager.c: Likewise.
28431 * fs/ext2.c: Likewise.
28432 * fs/fat.c: Likewise.
28433 * include/pupa/boot.h: Likewise.
28434 * include/pupa/device.h: Likewise.
28435 * include/pupa/disk.h: Likewise.
28436 * include/pupa/dl.h: Likewise.
28437 * include/pupa/elf.h: Likewise.
28438 * include/pupa/err.h: Likewise.
28439 * include/pupa/file.h: Likewise.
28440 * include/pupa/font.h: Likewise.
28441 * include/pupa/fs.h: Likewise.
28442 * include/pupa/kernel.h: Likewise.
28443 * include/pupa/loader.h: Likewise.
28444 * include/pupa/misc.h: Likewise.
28445 * include/pupa/mm.h: Likewise.
28446 * include/pupa/net.h: Likewise.
28447 * include/pupa/normal.h: Likewise.
28448 * include/pupa/rescue.h: Likewise.
28449 * include/pupa/setjmp.h: Likewise.
28450 * include/pupa/symbol.h: Likewise.
28451 * include/pupa/term.h: Likewise.
28452 * include/pupa/types.h: Likewise.
28453 * include/pupa/i386/setjmp.h: Likewise.
28454 * include/pupa/i386/types.h: Likewise.
28455 * include/pupa/i386/pc/biosdisk.h: Likewise.
28456 * include/pupa/i386/pc/boot.h: Likewise.
28457 * include/pupa/i386/pc/console.h: Likewise.
28458 * include/pupa/i386/pc/init.h: Likewise.
28459 * include/pupa/i386/pc/kernel.h: Likewise.
28460 * include/pupa/i386/pc/linux.h: Likewise.
28461 * include/pupa/i386/pc/loader.h: Likewise.
28462 * include/pupa/i386/pc/memory.h: Likewise.
28463 * include/pupa/i386/pc/multiboot.h: Likewise.
28464 * include/pupa/i386/pc/partition.h: Likewise.
28465 * include/pupa/i386/pc/time.h: Likewise.
28466 * include/pupa/i386/pc/vga.h: Likewise.
28467 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28468 * include/pupa/util/getroot.h: Likewise.
28469 * include/pupa/util/misc.h: Likewise.
28470 * include/pupa/util/resolve.h: Likewise.
28471 * kern/device.c: Likewise.
28472 * kern/disk.c: Likewise.
28473 * kern/dl.c: Likewise.
28474 * kern/err.c: Likewise.
28475 * kern/file.c: Likewise.
28476 * kern/fs.c: Likewise.
28477 * kern/loader.c: Likewise.
28478 * kern/main.c: Likewise.
28479 * kern/misc.c: Likewise.
28480 * kern/mm.c: Likewise.
28481 * kern/rescue.c: Likewise.
28482 * kern/term.c: Likewise.
28483 * kern/i386/dl.c: Likewise.
28484 * kern/i386/pc/init.c: Likewise.
28485 * kern/i386/pc/lzo1x.S: Likewise.
28486 * kern/i386/pc/startup.S: Likewise.
28487 * loader/i386/pc/chainloader.c: Likewise.
28488 * loader/i386/pc/linux.c: Likewise.
28489 * loader/i386/pc/multiboot.c: Likewise.
28490 * normal/cmdline.c: Likewise.
28491 * normal/command.c: Likewise.
28492 * normal/main.c: Likewise.
28493 * normal/menu.c: Likewise.
28494 * normal/i386/setjmp.S: Likewise.
28495 * term/i386/pc/console.c: Likewise.
28496 * term/i386/pc/vga.c: Likewise.
28497 * util/console.c: Likewise.
28498 * util/genmoddep.c: Likewise.
28499 * util/misc.c: Likewise.
28500 * util/pupa-emu.c: Likewise.
28501 * util/resolve.c: Likewise.
28502 * util/unifont2pff.rb: Likewise.
28503 * util/i386/pc/biosdisk.c: Likewise.
28504 * util/i386/pc/getroot.c: Likewise.
28505 * util/i386/pc/pupa-mkimage.c: Likewise.
28506 * util/i386/pc/pupa-setup.c: Likewise.
28507
e6eced71 285082004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28509
28510 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28511 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28512 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28513 reading and reset it after reading.
28514 (pupa_ext2_close): Return PUPA_ERR_NONE.
28515
28516 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28517 Correct value.
28518 (struct linux_kernel_header): Add kernel_version and
28519 initrd_addr_max.
28520 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28521 pupa_file_read succeeds.
28522 (pupa_rescue_cmd_initrd): Implement.
28523
5aded270 285242003-12-03 Marco Gerards <metgerards@student.han.nl>
28525
28526 * fs/ext2.c (pupa_ext2_label): New function.
28527 (pupa_ext2_fs): Added label.
28528 * fs/fat.c (pupa_fat_label): New function.
28529 (pupa_fat_fs): Added label.
28530 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28531
28532 * kern/misc.c (pupa_strndup): New function.
28533 * include/pupa/misc.h (pupa_strndup): New prototype.
28534
28535 * include/pupa/normal.h: Include <pupa/err.h>.
28536 (pupa_set_history): New prototype.
28537 (pupa_iterate_commands): New prototype.
28538 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28539 <pupa/disk.h>, <pupa/file.h>.
28540 (hist_size): New variable.
28541 (hist_lines): Likewise.
28542 (hist_end): Likewise.
28543 (hist_used): Likewise.
28544 (pupa_set_history): New function.
28545 (pupa_history_get): Likewise.
28546 (pupa_history_add): Likewise.
28547 (pupa_history_replace): Likewise.
28548 (pupa_tab_complete): Likewise.
28549 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28550 completion shows partitionnames while completing partitions, this
28551 feature was suggested by Jeff Bailey.
28552 * normal/command.c (pupa_iterate_commands): New function.
28553 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28554 (pupa_normal_init): Initialize history buffer.
28555 (PUPA_MOD_INIT): Likewise.
28556 (pupa_normal_fini): Free the history buffer.
28557 (PUPA_MOD_FINI): Likewise.
28558
28559 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28560 key.
28561
28562 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28563 * configure.ac [i386]: Check for regparam bug.
28564 (NESTED_FUNC_ATTR) [! i386]: Defined.
28565
1f7315a3 285662003-11-17 Marco Gerards <metgerards@student.han.nl>
28567
28568 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28569 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28570 (pupa_emu_SOURCES): New variable.
28571 (pupa_emu_LDFLAGS): Likewise.
28572 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28573 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28574 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28575 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28576 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28577 (pupa_jmp_buf): New typedef.
28578 (pupa_setjmp) [PUPA_UTIL]: New macro.
28579 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28580 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28581 (pupa_refresh): New prototype.
28582 * include/pupa/util/getroot.h: New file.
28583 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28584 it.
28585 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28586 (pupa_rescue_cmd_cat): Likewise.
28587 (pupa_rescue_cmd_ls): Likewise.
28588 (pupa_rescue_cmd_testload): Likewise.
28589 (pupa_rescue_cmd_lsmod): Likewise.
28590 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28591 * normal/menu.c (run_menu): Likewise.
28592 * kern/term.c (pupa_cls): Likewise.
28593 (pupa_refresh): New function.
28594 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28595 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28596 * util/console.c: New file.
f19dbdb7 28597
1f7315a3 28598 * util/i386/pc/getroot.c: New file.
28599 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28600 (pupa_putchar): New function.
28601 (pupa_refresh): Likewise.
28602 (xgetcwd): Function moved to ...
28603 (strip_extra_slashes): Likewise.
28604 (get_prefix): Likewise.
f19dbdb7 28605 * util/i386/pc/getroot.c: ... here.
1f7315a3 28606 (find_root_device): Function moved and renamed to...
28607 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28608 Changed all callers.
28609 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28610 and renamed to...
28611 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28612 Changed all callers.
28613 * util/misc.c (pupa_memalign): New function.
28614 (pupa_mm_init_region): Likewise.
28615 (pupa_register_exported_symbols): Likewise.
28616 (pupa_putchar): Function removed.
28617 * util/pupa-emu.c: New file.
28618
9a5c1ade 286192003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28620
28621 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28622 (_multiboot_mod_SOURCES): New variable.
28623 (_multiboot_mod_CFLAGS): Likewise.
28624 * loader/i386/pc/multiboot.c: New file.
28625 * include/pupa/i386/pc/multiboot.h: Likewise.
28626 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28627 (pupa_multiboot_real_boot): New function.
28628 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28629 (pupa_multiboot_real_boot): New prototype.
28630 (pupa_rescue_cmd_multiboot): Likewise
28631 (pupa_rescue_cmd_module): Likewise.
28632
28633 * kern/loader.c (pupa_loader_set): Continue when
28634 pupa_loader_unload_func() fails.
28635 (pupa_loader_unset): New function.
28636 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28637
28638 * kern/misc.c (pupa_stpcpy): New function.
28639 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28640
8e72a9c0 286412003-11-12 Marco Gerards <metgerards@student.han.nl>
28642
28643 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28644 for available extensions.
28645
28646 * include/pupa/i386/pc/time.h: New file.
28647 * kern/disk.c: Include <pupa/machine/time.h>.
28648 (PUPA_CACHE_TIMEOUT): New macro.
28649 (pupa_last_time): New variable.
28650 (pupa_disk_open): Flush the cache when there was a timeout.
28651 (pupa_disk_close): Reset the timer.
28652 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28653 pupa_currticks.
28654 * util/misc.c: Include <sys/times.h>
28655 (pupa_get_rtc): New function.
28656
c4adbd32 286572003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28658
28659 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28660 as blocks.
28661 (pupa_ext2_get_file_block): Use blocks member.
28662
28663 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28664 first block. Return -1 instead of pupa_errno on error.
28665
bfd30f06 286662003-10-27 Marco Gerards <metgerards@student.han.nl>
28667
28668 * README: In the pupa-mkimage example use _chain instead of chain
28669 and ext2 instead of fat.
28670 * TODO: Replace ext2fs with jfs as an example. Add an item for
28671 adding journal playback for ext2fs.
28672 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28673 (pkgdata_MODULES): Added ext2.mod.
28674 (ext2_mod_SOURCES): New variable.
28675 (ext2_mod_CFLAGS): Likewise.
28676 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28677 * include/pupa/misc.h (pupa_strncpy): New prototype.
28678 (pupa_strcat): Likewise.
28679 (pupa_strncmp): Likewise.
28680 * kern/misc.c (pupa_strcat): Enable function.
28681 (pupa_strncpy): New function.
28682 (pupa_strncmp): Likewise.
28683 * fs/ext2.c: New file.
f19dbdb7 28684
bfd30f06 28685 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28686 when the read failed before retrying.
28687 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28688 (_FILE_OFFSET_BITS): Likewise.
28689 * configure.ac: Added AC_SYS_LARGEFILE.
28690
98d15063 286912003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28692
28693 * genmk.rb (PModule#rule): Make sure to get only symbol names
28694 from the output of nm.
59cad637 28695 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 28696
18d9c7cd 286972003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28698
28699 I forgot to check in these changes for a long time. This adds
28700 incomplete support for VGA console, and this is still very
28701 buggy. Also, a lot of consideration is required for I18N,
28702 UNICODE, and VGA font issues. Therefore, assume that this is
28703 such that "better than nothing".
f19dbdb7 28704
18d9c7cd 28705 * font/manager.c: New file.
28706 * include/pupa/font.h: Likewise.
28707 * include/pupa/i386/pc/vga.h: Likewise.
28708 * term/i386/pc/vga.c: Likewise.
28709 * util/unifont2pff.rb: Likewise.
28710
28711 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28712 (pkgdata_MODULES): Added vga.mod and font.mod.
28713 (vga_mod_SOURCES): New variables.
28714 (vga_mod_CFLAGS): Likewise.
28715 (font_mod_SOURCES): Likewise.
28716 (font_mod_CFLAGS): Likewise.
28717
28718 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28719
28720 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 28721 (struct pupa_term): Added init and fini.
18d9c7cd 28722 Changed the argument of putchar to pupa_uint32_t.
28723
28724 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28725 (pupa_console_real_putchar): New prototype.
28726 (pupa_console_putchar): Removed.
28727 (pupa_console_checkkey): Exported.
28728 (pupa_console_getkey): Likewise.
28729
28730 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28731 characters.
28732
28733 * kern/term.c (pupa_term_set_current): Rewritten.
28734 (pupa_putchar): Likewise.
28735 (pupa_putcode): New function.
28736
28737 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28738 (pupa_console_real_putchar): ... this.
28739 (pupa_vga_set_mode): New function.
28740 (pupa_vga_get_font): Likewise.
28741
28742 * normal/command.c: Include pupa/term.h.
28743 (terminal_command): New function.
28744 (pupa_command_init): Register the command "terminal".
28745
28746 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28747 (DISP_UP): Likewise.
28748 (DISP_RIGHT): Likewise.
28749 (DISP_DOWN): Likewise.
28750 (DISP_HLINE): Likewise.
28751 (DISP_VLINE): Likewise.
28752 (DISP_UL): Likewise.
28753 (DISP_UR): Likewise.
28754 (DISP_LL): Likewise.
28755 (DISP_LR): Likewise.
28756
28757 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 28758
977329f5 287592003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28760
28761 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28762 FIX. Reverse the path_list.
28763
28764 * include/pupa/normal.h: Export pupa_register_command and
28765 pupa_unregister_command.
28766
28767 * hello/hello.c (pupa_cmd_hello): New module.
28768 * conf/i386-pc.rmk: Added hello.mod.
28769
1f5ab428 287702003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28771
28772 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 28773
1f5ab428 28774 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28775 (compress_kernel): New variable.
28776 (generate_image): Heavily modified to support compressing a
28777 large part of the core image.
28778
28779 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28780 leak.
28781 (pupa_util_load_image): New function.
28782
28783 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28784 (pupa_compressed_size): New variable.
28785 (codestart): Enable Gate A20 here.
28786 Decompress the compressed part of the core image.
28787 Rearrange the code to put functions and variables which are
28788 required for initialization in the non-compressed part.
28789 Include lzo1x.S.
28790
28791 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28792 here.
28793
28794 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28795
f19dbdb7 28796 * include/pupa/i386/pc/kernel.h
1f5ab428 28797 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28798 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28799 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28800 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28801 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28802
28803 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28804
28805 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28806 (Utility#rule): Likewise.
28807
28808 * configure.ac: Check if LZO is available.
28809
ce5bf700 288102003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28811
28812 * include/pupa/normal.h: New file.
28813 * include/pupa/setjmp.h: Likewise.
28814 * include/pupa/i386/setjmp.h: Likewise.
28815 * normal/cmdline.c: Likewise.
28816 * normal/command.c: Likewise.
28817 * normal/main.c: Likewise.
28818 * normal/menu.c: Likewise.
28819 * normal/i386/setjmp.S: Likewise.
f19dbdb7 28820
ce5bf700 28821 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28822 (pupa_rescue_cmd_initrd): Likewise.
28823
28824 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28825 Likewise.
28826
28827 * kern/i386/pc/startup.S (translation_table): New variable.
28828 (translate_keycode): New function.
28829 (pupa_console_getkey): Call translate_keycode.
28830
28831 * kern/rescue.c (attempt_normal_mode): New function.
28832 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28833 it failed, print a message.
28834
28835 * kern/mm.c (pupa_real_malloc): Print more information when a
28836 free magic is broken.
28837 (pupa_free): If the first free header is not free actually, set
28838 it to P.
28839
28840 * kern/main.c (pupa_load_normal_mode): Just load the module
28841 "normal".
28842 (pupa_main): Don't print the message
28843 "Entering into rescue mode..." here.
28844
28845 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28846 Declared.
28847 (pupa_rescue_cmd_initrd): Likewise.
28848 (pupa_rescue_cmd_initrd): Likewise.
28849
28850 * include/pupa/symbol.h (FUNCTION): Specify the type.
28851 (VARIABLE): Likewise.
28852
28853 * include/pupa/err.h (pupa_err_t): Added
28854 PUPA_ERR_UNKNOWN_COMMAND.
28855
28856 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28857 (pupa_dl_get_prefix): Likewise.
28858
28859 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28860 Added _chain.mod and _linux.mod instead of chain.mod and
28861 linux.mod.
28862 (chain_mod_SOURCES): Renamed to ...
28863 (_chain_mod_SOURCES): ... this.
28864 (chain_mod_CFLAGS): Renamed to ...
28865 (_chain_mod_CFLAGS): ... this.
28866 (linux_mod_SOURCES): Renamed to ...
28867 (_linux_mod_SOURCES): ... this.
28868 (linux_mod_CFLAGS): Renamed to ...
28869 (_linux_mod_CFLAGS): ... this.
28870 (normal_mod_SOURCES): New variable.
28871 (normal_mod_CFLAGS): Likewise.
28872 (normal_mod_ASFLAGS): Likewise.
28873
288742003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28875
28876 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28877 possible.
28878
fe6b695a 28879 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 28880 recursively.
28881 (pupa_dl_unref): Unrefer depending modules recursively.
28882 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28883 a module is unloaded before one depending on that module is
28884 unloaded.
28885 (pupa_dl_unload): Unload depending modules explicitly,
28886 if possible.
28887
c04da074 288882003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28889
28890 * include/pupa/i386/pc/linux.h: New file.
28891 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 28892
c04da074 28893 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28894 Removed.
28895 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28896 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28897 of PUPA_CHAINLOADER_BOOT_SECTOR.
28898
28899 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28900 (pupa_linux_prot_size): New variable.
28901 (pupa_linux_tmp_addr): Likewise.
28902 (pupa_linux_real_addr): Likewise.
28903 (pupa_linux_boot_zimage): New function.
28904 (pupa_linux_boot_bzimage): Likewise.
28905
28906 * kern/i386/pc/init.c (struct mem_region): New structure.
28907 (MAX_REGIONS): New macro.
28908 (mem_regions): New variable.
28909 (num_regions): Likewise.
28910 (pupa_os_area_addr): Likewise.
28911 (pupa_os_area_size): Likewise.
28912 (pupa_lower_mem): Likewise.
28913 (pupa_upper_mem): Likewise.
28914 (add_mem_region): New function.
28915 (compact_mem_regions): Likewise.
28916 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28917 the size of the conventional memory and that of so-called upper
28918 memory (before the first memory hole).
28919 Instead of adding each found region to free memory, use
28920 add_mem_region and add them after removing overlaps.
28921 Also, add only 1/4 of the upper memory to free memory. The rest
28922 is used for loading OS images. Maybe this is ad hoc, but this
28923 makes it much easier to relocate OS images when booting.
28924
28925 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28926 (pupa_enter_rescue_mode): Don't register initrd and module.
28927
28928 * kern/mm.c: Include pupa/dl.h.
28929
28930 * kern/main.c: Include pupa/file.h and pupa/device.h.
28931
28932 * kern/loader.c (pupa_loader_load_module_func): Removed.
28933 (pupa_loader_load_module): Likewise.
28934
28935 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28936 ``.o''.
28937
28938 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28939 (pupa_linux_tmp_addr): Likewise.
28940 (pupa_linux_real_addr): Likewise.
28941 (pupa_linux_boot_zimage): Likewise.
28942 (pupa_linux_boot_bzimage): Likewise.
28943
28944 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28945 (pupa_upper_mem): Likewise.
28946 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28947 module is too dangerous.
28948
28949 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28950 (pupa_os_area_size): Likewise.
28951 (pupa_loader_set): Remove the first argument. Loader doesn't
28952 manage modules or initrd any longer.
28953 (pupa_loader_load_module): Removed.
28954
28955 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28956 (linux_mod_SOURCES): New variable.
28957 (linux_mod_CFLAGS): Likewise.
28958
a13f9237 289592003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28960
28961 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28962 the length of a blocklist correctly.
28963
28964 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28965 Use ioctl only if the OS file is a block device.
28966 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28967 not very useful for normal files.
28968
28969 * kern/main.c (pupa_set_root_dev): New function.
28970 (pupa_load_normal_mode): Likewise.
28971 (pupa_main): Call those above.
28972
28973 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28974 pupa_uint16_t.
28975
28976 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28977
a5ffe966 289782003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28979
28980 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28981 (setup): Configure the installed partition information and the
28982 dl prefix.
28983
28984 * loader/i386/pc/chainloader.c (my_mod): New variable.
28985 (pupa_chainloader_unload): New function.
28986 (pupa_rescue_cmd_chainloader): Refer itself.
28987 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28988
28989 * kern/i386/pc/startup.S (install_partition): Removed.
28990 (version_string): Likewise.
28991 (config_file): Likewise.
28992 (pupa_install_dos_part): New variable.
28993 (pupa_install_bsd_part): Likewise.
28994 (pupa_prefix): Likewise.
28995 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28996
28997 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28998 and pupa/misc.h.
28999 (make_install_device): New function.
29000 (pupa_machine_init): Set the dl prefix.
29001
29002 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29003 (buf): Renamed to ...
29004 (linebuf): ... this.
29005 (pupa_rescue_cmd_prefix): New function.
29006 (pupa_rescue_cmd_insmod): Likewise.
29007 (pupa_rescue_cmd_rmmod): Likewise.
29008 (pupa_rescue_cmd_lsmod): Likewise.
29009 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29010 rmmod and lsmod.
29011
29012 * kern/mm.c (pupa_memalign): If failed even after invalidating
29013 disk caches, unload unneeded modules and retry.
29014
29015 * kern/misc.c (pupa_memmove): New function.
29016 (pupa_memcpy): Removed.
29017 (pupa_strcpy): New function.
29018 (pupa_itoa): Made static.
29019
29020 * kern/dl.c (pupa_dl_iterate): New function.
29021 (pupa_dl_ref): Likewise.
29022 (pupa_dl_unref): Likewise.
29023 (pupa_dl_unload): Return if succeeded or not.
29024 (pupa_dl_unload_unneeded): New function.
29025 (pupa_dl_unload_all): Likewise.
29026 (pupa_dl_init): Renamed to ...
29027 (pupa_dl_set_prefix): ... this.
29028 (pupa_dl_get_prefix): New function.
29029
29030 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29031 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29032 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29033 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29034 (pupa_install_dos_part): Declared.
29035 (pupa_install_bsd_part): Likewise.
29036 (pupa_prefix): Likewise.
29037 (pupa_boot_drive): Likewise.
29038
29039 * include/pupa/types.h: Fix a typo.
29040
29041 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29042 pupa_memmove.
29043 (pupa_memmove): Declared.
29044 (pupa_strcpy): Likewise.
29045
29046 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29047 pupa_mod_init takes one argument, its own module.
29048 (pupa_dl_unload_unneeded): Declared.
29049 (pupa_dl_unload_all): Likewise.
29050 (pupa_dl_ref): Likewise.
29051 (pupa_dl_unref): Likewise.
29052 (pupa_dl_iterate): Likewise.
29053 (pupa_dl_init): Renamed to ...
29054 (pupa_dl_set_prefix): ... this.
29055 (pupa_dl_get_prefix): Declared.
29056
29057 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 29058 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 29059 unloaded.
29060 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29061 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29062
29063 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29064 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29065
012d7999 290662003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29067
29068 * util/i386/pc/pupa-setup.c (setup): Define the internal
29069 function find_first_partition_start at the top level, because GCC
29070 3.0.x cannot compile internal functions in deeper scopes
29071 correctly.
29072 (find_root_device): Use lstat instead of stat.
29073 Don't follow symbolic links.
29074 Fix the path-constructing code.
29075
29076 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29077 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29078 by a BLKGETSIZE ioctl first, because block devices don't fill
29079 the member st_mode of the structure stat on Linux.
29080 [__linux__] (linux_find_partition): Use a temporary buffer
29081 REAL_DEV for the working space. Copy it to DEV before returning.
29082 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29083 buffer cache consistent.
29084 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29085 strncmp. The previous value was merely wrong.
29086 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29087
29088 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29089 FAT size is 12. The previous value was merely wrong.
29090
29091 * kern/main.c (pupa_main): Don't split the starting message from
29092 newlines.
29093
29094 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29095 LF, because BIOS goes crazy about character attributes in this
29096 case.
29097
1cc73a62 290982003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29099
29100 * include/i386/pc/util/biosdisk.h: New file.
29101 * util/i386/pc/biosdisk.c: Likewise.
29102 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 29103
1cc73a62 29104 * Makefile.in (INCLUDE_DISTFILES): Added
29105 include/pupa/i386/pc/util/biosdisk.h.
29106 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29107 directory util/i386/pc.
29108 (install-local): Added a rule for sbin_UTILITIES.
29109 (uninstall): Likewise.
29110
29111 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29112
29113 * util/misc.c (xrealloc): New function.
29114 (pupa_malloc): Likewise.
29115 (pupa_free): Likewise.
29116 (pupa_realloc): Likewise.
29117 (pupa_stop): Likewise.
29118 (pupa_putchar): Likewise.
29119
29120 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29121
29122 * include/pupa/util/misc.h (xrealloc): Declared.
29123
29124 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29125 macro.
29126 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29127 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29128
29129 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29130 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29131
29132 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29133 way should be implemented.
29134 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29135
29136 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29137 the size of NAME for safety.
29138 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29139 0x88.
29140
29141 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29142 (pupa_setup_SOURCES): Likewise.
29143
29144 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29145
08b70fe8 291462002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29147
29148 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29149 bunch of pushl's from pusha, because this destroys the return
29150 value.
29151
62ddcc8f 291522002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29153
29154 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29155 This means that any missing prototypes could be fatal. Also, you
29156 must take care when writing assembly code. See the comments at
29157 the beginning of startup.S, for more details.
f19dbdb7 29158
62ddcc8f 29159 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29160 compilation mechanism.
29161 (pupa_chainloader_real_boot): Likewise.
29162 (pupa_biosdisk_rw_int13_extensions): Likewise.
29163 (pupa_biosdisk_rw_standard): Likewise.
29164 (pupa_biosdisk_check_int13_extensions): Likewise.
29165 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29166 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29167 (pupa_get_memsize): Likewise.
29168 (pupa_get_mmap_entry): Likewise.
29169 (pupa_console_putchar): Likewise.
29170 (pupa_console_setcursor): Likewise.
29171 (pupa_getrtsecs): Use pushl instead of push.
29172
29173 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29174 memory instead of the stack for a mmap entry, because some
29175 BIOSes may ignore the maximum size and overflow.
29176
29177 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29178
29179 * genmk.rb (PModule#rule): Compile automatically generated
29180 sources with module-specific CFLAGS as well as other sources.
29181
9962ed99 291822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29183
29184 * configure.ac: Check ld.
29185 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29186 respectively, before checking endianness and sizes.
29187
29188 * Makefile.in (LD): New variable.
f19dbdb7 29189
abdfc3c5 291902002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29191
29192 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29193
6a161fa9 291942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29195
29196 * Changelog: New file.
29197